media/libraries
bachinger ab2505d1a9 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
(cherry picked from commit 17ee5277d5)
2023-07-26 16:14:39 +01:00
..
cast Implement Player.replaceMediaItem(s) 2023-05-26 13:25:10 +00:00
common Expand @UnstableApi javadoc with how to request stable API additions 2023-07-11 11:57:13 +01:00
container Add support for passing custom metadata via transformer 2023-06-12 09:15:53 +00:00
database Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
datasource Fix missing equals sign in inline-comment parameter names 2023-06-22 16:09:57 +00:00
datasource_cronet Fix missing equals sign in inline-comment parameter names 2023-06-22 16:09:57 +00:00
datasource_okhttp Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
datasource_rtmp Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00
decoder Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_av1 Remove Javadoc TODO from README of decoder extensions 2023-04-05 15:48:58 +01:00
decoder_ffmpeg Remove FfmpegVideoRenderer from 1.1.0 release 2023-05-18 18:04:45 +00:00
decoder_flac Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_opus Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
decoder_vp9 Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
effect Rollback of a66f08ba97 2023-06-12 09:15:55 +00:00
exoplayer Fix ms to us conversion bug in DecoderVideoRenderer 2023-07-26 09:43:03 +01:00
exoplayer_dash Add field measured throughput (mtp) 2023-07-19 19:10:56 +01:00
exoplayer_hls Add field measured throughput (mtp) 2023-07-19 19:10:56 +01:00
exoplayer_ima Fix splitting ad playback state for partial ad group when joining 2023-06-12 09:15:54 +00:00
exoplayer_rtsp Use base Uri from the RTSP DESCRIBE response header for relative paths 2023-05-26 13:25:10 +00:00
exoplayer_smoothstreaming Add field measured throughput (mtp) 2023-07-19 19:10:56 +01:00
exoplayer_workmanager Remove deprecated WorkManagerScheduler constructor 2023-05-18 16:07:51 +00:00
extractor Add comment about out-of-order timestamps in AtomParsers.parseStbl 2023-07-24 18:05:04 +01:00
muxer Enable nullness checker for Muxer module androidTest library 2023-06-12 09:15:53 +00:00
session Only use result.sendError where supported by legacy media library 2023-07-26 16:14:39 +01:00
test_data Prepend Ogg ID and Comment Header Pages to offloaded Opus stream 2023-07-14 11:41:56 +01:00
test_exoplayer_playback Update dependencies to latest versions 2023-04-26 15:49:57 +01:00
test_session_common Add custom layout to the state of the MediaController 2023-07-11 20:59:01 +01:00
test_session_current Only use result.sendError where supported by legacy media library 2023-07-26 16:14:39 +01:00
test_utils Add nanoTime method to Clock to support overriding System.nanoTime() 2023-07-03 16:29:13 +00:00
test_utils_robolectric Move MdtaMetadataEntry class into container module 2023-05-26 13:25:07 +00:00
transformer Factor out video decoding and fix two minor issues 2023-06-12 11:05:08 +00:00
ui Fix dependencies for UI module 2023-07-14 10:12:32 +01:00
ui_leanback Use Util method for common UI play/pause button logic. 2023-04-26 15:52:50 +01:00