media/libraries
bachinger 17ee5277d5 Only use result.sendError where supported by legacy media library
`MediaLibraryServiceLegacyStub` handles various edge cases by calling
`result.sendError(null)` with the intention to send back an error to
the legacy browser [1].

`MediaBrowserServiceCompat` of the legacy media1 Compat library has an
inner base class `Result` that has a default implementation of
`onErrorSent` that throws an `UnsupportedOperationException` [2].
However, most anonymous inner classes for `Result` created in
`MediaBrowserServiceCompat` do not override `onErrorSent` [3].

Hence Media3 must not call `sendError` in these cases. Instead we call
`sendResult(null)` according to what the default implementation of
the callbacks in `MediaBrowserServiceCompat` do ([4] as an example).

Issue: androidx/media#78
Issue: androidx/media#334

[1] https://github.com/androidx/media/blob/release/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java#L200
[2] https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:media/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java;l=872
[3] https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:media/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java;l=578-604?q=MediaBrowserServiceCompat&ss=androidx
[4] https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:media/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java;l=1395

PiperOrigin-RevId: 551210137
2023-08-01 14:11:08 +01:00
..
cast Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
common Fix some mal formatted TODOs 2023-08-01 13:51:58 +01:00
container Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
database Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource Remove unnecessary final on DefaultHttpDataSource.Factory method 2023-06-29 23:09:14 +00:00
datasource_cronet Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource_okhttp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
datasource_rtmp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
decoder Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_av1 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_ffmpeg Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_flac Add more data to e2etest dumps 2023-07-13 15:33:33 +01:00
decoder_midi Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_opus Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_vp9 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
effect Rewrite tracing to be more flexible and provide more info. 2023-08-01 13:59:51 +01:00
exoplayer Fix ms to us conversion bug in DecoderVideoRenderer 2023-08-01 14:09:56 +01:00
exoplayer_dash Add field measured throughput (mtp) 2023-07-20 10:34:32 +01:00
exoplayer_hls Add field measured throughput (mtp) 2023-07-20 10:34:32 +01:00
exoplayer_ima Make MediaItems updateable 2023-07-13 15:26:30 +01:00
exoplayer_rtsp Make MediaItems updateable 2023-07-13 15:26:30 +01:00
exoplayer_smoothstreaming Add field measured throughput (mtp) 2023-07-20 10:34:32 +01:00
exoplayer_workmanager Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
extractor Add comment about out-of-order timestamps in AtomParsers.parseStbl 2023-08-01 13:57:36 +01:00
muxer Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
session Only use result.sendError where supported by legacy media library 2023-08-01 14:11:08 +01:00
test_data Integrate AudioMixer for audio export. 2023-08-01 14:03:22 +01:00
test_exoplayer_playback Add android.namespace to all build.gradle files 2023-05-19 17:19:15 +01:00
test_session_common Use MediaUtils.intersect in MediaControllerImplBase 2023-08-01 13:54:11 +01:00
test_session_current Only use result.sendError where supported by legacy media library 2023-08-01 14:11:08 +01:00
test_utils Save to TestStorage when saving Bitmap 2023-07-20 10:15:47 +01:00
test_utils_robolectric Set signal on renderer once it's allowed to render start of stream 2023-07-13 15:59:00 +01:00
transformer Update Composition javadoc for expanded audio support. 2023-08-01 14:08:46 +01:00
ui Fix dependencies for UI module 2023-07-14 10:24:15 +01:00
ui_leanback Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00