- 18 Apr, 2023 26 commits
-
-
The overrides specified by a MediaController may not use the exact same TrackGroup instances as known to the Player because the groups have been bundled to and from the controller. This bundling may alter the instance slightly depending on the version used on each side of the communication and the fields set (e.g. Format.metadata is not supported for bundling). This issue can be solved by creating unique track group ids for each group on the session side before bundling. On the way back, the groups in the track selection parameters can be mapped backed to their original instances based on this id. Issue: androidx/media#296 PiperOrigin-RevId: 523986626 (cherry picked from commit 1c557e2f)
tonihei committed -
This change selects the best suited media button receiver component and pending intent when creating the legacy session. This is important to ensure that a service can be started with a media button event from BT headsets after the app has been terminated. The `MediaSessionLegacyStub` selects the best suited receiver to be passed to the `MediaSessionCompat` constructor. 1. When the app has declared a broadcast receiver for `ACTION_MEDIA_BUTTON` in the manifest, this broadcast receiver is used. 2. When the session is housed in a service, the service component is used as a fallback. 3. As a last resort a receiver is created at runtime. When the `MediaSessionLegacyStub` is released, the media button receiver is removed unless the app has provided a media button receiver in the manifest. In this case we assume the app supports resuming when the BT play intent arrives at `MediaSessionService.onStartCommand`. Issue: androidx/media#167 Issue: androidx/media#27 Issue: androidx/media#314 PiperOrigin-RevId: 523638051 (cherry picked from commit e54a9343)
bachinger committed -
Change what format is logged from MediaCodecAudioRenderer when AudioSink throws InitializationException. We printed the AudioSink's format, which most of the times is audio/raw (PCM) and not the renderer's format. With this change both formats are logged. #minor-release Issue: google/ExoPlayer#11066 PiperOrigin-RevId: 523456840 (cherry picked from commit baf1aa1c)
christosts committed -
MediaItems are not meant to be unique in a playlist. If a legacy session publishes multiple items that get converted to equal MediaItems, the current code fails because we look up queue ids in a Map (that doesn't allow duplicate entries). Fix this by storing a simple list of items with additional data. Issue: androidx/media#290 PiperOrigin-RevId: 521993802 (cherry picked from commit 219967c5)
tonihei committed -
As most classes are used via interface only and people depending on it locally can always find the Javadoc in Android Studio directly, we don't plan to add Javadocs for these extensions module in developer.android.com. PiperOrigin-RevId: 521993756 (cherry picked from commit e4cb583a)
rohks committed -
The check currently relies on the default value of 0 returned if the Bundle doesn't define a pid. But in some cases, like Robolectric unit tests, 0 is a possible pid. The check can be improved by directly asserting that the value is defined. PiperOrigin-RevId: 521414649 (cherry picked from commit 694d690b)
tonihei committed -
The media3-hosted versions of these SVGs were removed due to a change in the way the reference docs are generated. While work on getting them hosted on developer.android.com, this change simply links to the (identical) exoplayer2 versions in order to fix the media3 docs. #minor-release PiperOrigin-RevId: 520647905 (cherry picked from commit 2e4f49fe)
ibaker committed -
`DefaultDrmSession(Manager)` expect most of their methods to be called on the 'playback thread'. There isn't a playback thread in the case of `OfflineLicenseHelper`, but in that case it's the thread backing `DefaultDrmSessionManager.playbackLooper`, which is `OfflineLicenseHelper.handlerThread`. PiperOrigin-RevId: 520053006 (cherry picked from commit 376bddef)
ibaker committed -
When MediaCodecRenderer is given an empty sample stream, it puts its output format change tracking in a bad state where we never process future stream changes because we are waiting for a sample that doesn't exist. We can fix this by: - Looping the pending output stream changes to see if we processed more than one change at once (this fixes the tracking for empty sample streams that are not the first in the queue). - Checking if none of the previous streams queued any samples in onStreamChanged to handle this in the same way as the case where we already output all samples (this fixes the problem when the empty sample stream comes first in the queue). - Also calling onProcessedStreamChange for the case above, which was missing previously. #minor-release PiperOrigin-RevId: 519226637 (cherry picked from commit b9790e69)
tonihei committed -
PiperOrigin-RevId: 518953648 (cherry picked from commit dc3481fc)
Tianyi Feng committed -
If RTSP Setup Request with UDP receives HTTP Error Status 461 UnsupportedTransport, then client will retry with TCP. Issue: google/ExoPlayer#11069 PiperOrigin-RevId: 518807829 (cherry picked from commit ecf4d8b8)
michaelkatz committed -
PiperOrigin-RevId: 517128752 (cherry picked from commit 0e3f407e)
Rohit Singh committed -
PiperOrigin-RevId: 517067549 (cherry picked from commit 49d85d62)
Rohit Singh committed -
The `@CallSuper` annotation should help catch cases where subclasses are calling `delegate.addListener` instead of `super.addListener` but it will also (unintentionally) prevent subclasses from either completely no-opping the listener registration, or implementing it themselves in a very custom way. I think that's probably OK, since these cases are probably unusual, and they should be able to suppress the warning/error. Issue: androidx/media#258 #minor-release PiperOrigin-RevId: 513848402 (cherry picked from commit 5d23a929)
ibaker committed
-
- 31 Mar, 2023 2 commits
-
- 22 Mar, 2023 2 commits
- 14 Mar, 2023 8 commits
-
-
- The ExoPlayer docs will link to the media3 ones (for now, we can permanently redirect once no further stand-alone ExoPlayer release is published). - Contibuting issues and PRs should only happen on the media3 repo. - The media3 README is updated to remove any pre-release status information. PiperOrigin-RevId: 516234594 (cherry picked from commit bc873536)
tonihei committed -
Andrew Lewis committed
-
Andrew Lewis committed
- 03 Mar, 2023 1 commit
-
-
1.0.0-rc02
tonihei committed
-
- 02 Mar, 2023 1 commit
-