- 18 Nov, 2021 4 commits
-
-
The local tracks variable was used to assign the initial subtext for the current track selection in the menu, but the new value was only assigned after the subtext has been evaluated. Assign the local variable first, so that the remaining accesses the latest value. Issue: google/ExoPlayer#9698 PiperOrigin-RevId: 410750396
tonihei committed -
We verified there is a race condition in the AsynchronousMediaCodecAdapter when flushing the adapter multiple times. The race condition results in calling MediaCodec.start() and MediaCodec.flush() in parallel and that makes the MediaCodec raise an exception. This changes the default behavior to call MediaCodec.start() on the same thread after MediaCodec.flush() to avoid the race condition. #minor-release PiperOrigin-RevId: 410509388
christosts committed -
Issue: google/ExoPlayer#9608 PiperOrigin-RevId: 410236626
olly committed -
Populate ICY headers into MediaMetadata so that they can propagate to the app via AnalyticsListener#onMediaMetadataChanged(). This change copies IcyHeaders.name into MediaMetadata.description and IcyHeaders.genre into MediaMetadata.genre. Note: MediaItem.metadata maintain their precedence and overwrite any ICY headers parsed. Issue: google/ExoPlayer#9677 PiperOrigin-RevId: 410495676
christosts committed
-
- 16 Nov, 2021 3 commits
-
-
PiperOrigin-RevId: 410255281
tonihei committed -
When selecting an explicit track or "Auto", we need to remove any existing track type disabling. Otherwise the track override won't work. Issue: google/ExoPlayer#9692 PiperOrigin-RevId: 410250313
tonihei committed -
PiperOrigin-RevId: 410021183
tonihei committed
-
- 15 Nov, 2021 6 commits
-
-
And make related release notes updates. PiperOrigin-RevId: 409991879
tonihei committed -
We already parse essential and supplemental properties from the Representation, but don't add them to our Representation class so that they can be accessed by users. Issue: google/ExoPlayer#9579 PiperOrigin-RevId: 409961990
tonihei committed -
The main point of the IDLE state is that the player is not holding resources. Clarify this in the documentation of STATE_IDLE, prepare and stop. PiperOrigin-RevId: 409950785
tonihei committed -
Creating a new set of overrides removes previously set overrides that should be kept. Issue: google/ExoPlayer#9690 PiperOrigin-RevId: 409933541
tonihei committed -
- Unnecessary deprecation suppressions - Dead code - Broken Javadoc PiperOrigin-RevId: 409357884
olly committed -
Note: Updating androidxTestTruthVersion is required tot arget API level 31. PiperOrigin-RevId: 409167744
olly committed
-
- 11 Nov, 2021 23 commits
-
-
PiperOrigin-RevId: 409129177
tonihei committed -
If the number of samples changes, the sizes will help us to verify whether they are just split differently or extra data was added. PiperOrigin-RevId: 407346280
hschlueter committed -
Currently, TrackSelectionOverrides are documented as being applied per track type, meaning that one override for a type disables all other selections for the same track type. However, the actual implementation only applies it per track group, relying on the track selector to never select another renderer of the same type. This change fixes DefaultTrackSelector to fully adhere to the TrackSelectionsOverride definition. This solves problems when overriding tracks for extension renderers (see Issue: google/ExoPlayer#9675) and also simplifies a workaround added to StyledPlayerView. #minor-release PiperOrigin-RevId: 409121711
tonihei committed -
The asynchronous MediaCodec adapter queues input buffers in a background thread. If a codec queueuing operation throws an exception, the buffer enqueuer will store it as a pending exception and re-throw it the next time the adapter will attempt to queue another input buffer. The buffer enqueuer's flush() and shutdown() may throw an exception if the pending error is set. This is subject to a race-condition in which the pending error can be set while the adapter is flushing/shutting down the enqueuer, e.g., if an input buffer is still being queued and the codec throws an exception. As a result, the adapter cannot flush or shutdown gracefully. This change makes the buffer enqueuer to ignore any pending error when flushing/shuttinf down so that the adapter can flush/release gracefully even if a queueing error was detected. PiperOrigin-RevId: 409113054
christosts committed -
When operating the MediaCodec in asynchronous mode, after a MediaCodec.flush(), we start MediaCodec in the callback thread, which might trigger errors in some platforms. This change adds an experimental flag to move the call to MediaCodec.start() back to the playback thread. PiperOrigin-RevId: 407801013
christosts committed -
Add protected method DefaultRenderersFactory.getCodecAdapter(), so that subclasses of DefaultRenderersFactory that override buildVideoRenderers() or buildAudioRenderers() can access the DefaultRenderersFactory codec adapter factory and pass it to MediaCodecRenderer instances they may create. PiperOrigin-RevId: 407345431
christosts committed -
This method is helpful when iterating the list of track overrides to figure out which type the override applies to. Issue: google/ExoPlayer#9665 PiperOrigin-RevId: 409108977
tonihei committed -
We only had some documentation for a custom shuffle mode, but none for generic repeat or shuffle modes. #minor-release Issue: google/ExoPlayer#9611 PiperOrigin-RevId: 409089623
tonihei committed -
The Javadoc of DefaultTrackSelector can be shortened as it's not the right place to document detailed options of the Player track selection parameters. The documentation page about track selection is updated to the new APIs and extended with most relevant options and information needed to work with ExoPlayer's track selection API. #minor-release PiperOrigin-RevId: 409088989
tonihei committed -
HTTP header names are case-insensitive, but all the others in this file are 'correctly' cased, so we might as well be consistent. PiperOrigin-RevId: 408840566
ibaker committed -
PiperOrigin-RevId: 408840409
ibaker committed -
Robolectric uses the JRE HttpURLConnection [1], while real Android devices and emulators use OkHttp to implement HttpURLConnection. This can lead to important differences in behaviour, so it's better to use instrumentation tests when specific HTTP behaviour is important. [1] https://github.com/robolectric/robolectric/issues/6769#issuecomment-943556156 PiperOrigin-RevId: 408840295
ibaker committed -
#minor-release PiperOrigin-RevId: 408825328
ibaker committed -
The setters in the Builder are already deprecated and using the old getter is error-prone as they only return the overrides set with the deprecated setters. Issue: google/ExoPlayer#9665 PiperOrigin-RevId: 408817640
tonihei committed -
PiperOrigin-RevId: 408816643
tonihei committed -
#minor-release PiperOrigin-RevId: 408550935
kimvde committed -
#minor-release PiperOrigin-RevId: 408331834
ibaker committed -
https://github.com/google/ExoPlayer/commit/95e6db931a047775c1aa792c452be7996167a08f
*** Original commit *** Add link to annual media developer survey. This will be removed after the survey has closed in ~1 month. *** PiperOrigin-RevId: 408327757
ibaker committed -
#minor-release Issue: google/ExoPlayer#9660 PiperOrigin-RevId: 408323173
tonihei committed -
This is needed to ensure the deprecation warning appears on usages in Android Studio and in javadoc. #minor-release PiperOrigin-RevId: 408319182
ibaker committed -
PiperOrigin-RevId: 408311942
ibaker committed -
Each test exercises one of the setters. Together they assert that both setters set both fields. PiperOrigin-RevId: 408309207
ibaker committed -
#minor-release PiperOrigin-RevId: 408304187
ibaker committed
-
- 08 Nov, 2021 4 commits
-
-
PiperOrigin-RevId: 407635099
christosts committed -
PiperOrigin-RevId: 407540705
olly committed -
And in a couple of related places. This is for consistency with the rest of the codebase where we exclusively use indices. #minor-release PiperOrigin-RevId: 408273372
tonihei committed -
#minor-release PiperOrigin-RevId: 408269341
tonihei committed
-