- 23 Aug, 2019 18 commits
-
-
The error is closely related to the playback state IDLE and should be updated in sync with the state to prevent unexpected event ordering and/or keeping the error after re-preparation. Issue:#5407 PiperOrigin-RevId: 265014630
tonihei committed -
Update comment to indicate correct int value of "FLAG_ALLOW_CACHE_FRAGMENTATION" in ExoPlayer2 upstream DataSpec Currently the value of FLAG_ALLOW_CACHE_FRAGMENTATION is defined as "1 << 4" but commented as "8". Either the value of FLAG_ALLOW_CACHE_FRAGMENTATION should be "1 << 3", or the comment should be 16. Here I am modifying the comment since it does not affect any current behavior. PiperOrigin-RevId: 265011839
olly committed -
The app is able to pass a more specialized array type, so the Arrays.copyOf call produces an array into which it's not valid to store arbitrary AudioProcessors. Create a new array and copy into it to avoid this problem. PiperOrigin-RevId: 264779164
andrewlewis committed -
Any seek before the first timeline becomes available will result in a NPE. Change it to handle that case gracefully. Issue:#5831 PiperOrigin-RevId: 264603061
tonihei committed -
This situation happens if the first chunk to load is already behind the end of the stream. In this case, the preparation never completes because HlsSampleStreamWrapper gets stuck in a prepared=false and loadingFinished=true state. Gracefully handle this situation by attempting to load the last chunk if still unprepared to ensure that track information is obtained as far as possible. Otherwise, it wouldn't be possible to play anything even when seeking back. Issue:#6314 PiperOrigin-RevId: 264599465
tonihei committed -
Extract supplemental data from block additions in WebM/Matroska. Allow storing supplemental data alongside samples in the SampleQueue and write it as a separate field in DecoderInputBuffers. Handle supplemental data in the VP9 extension by propagating it to the output buffer. Handle supplemental data for HDR10+ in MediaCodecVideoRenderer by passing it to MediaCodec.setParameters, if supported by the component. PiperOrigin-RevId: 264582805
andrewlewis committed -
AdsMediaSource posts AdsLoader.start to the main thread during preparation, but the app may call AdsLoader.setPlayer(null) before it actually runs (e.g., if initializing then quickly backgrounding the player). This is valid usage of the API so handle this case instead of asserting. Because not calling setPlayer at all is a pitfall of the API, track whether setPlayer has been called and still assert that in AdsLoader.start. PiperOrigin-RevId: 264329632
andrewlewis committed -
Both values are needed to set-up the ExoPlayer instances for playlists. PiperOrigin-RevId: 264146052
tonihei committed -
https://developer.apple.com/documentation/http_live_streaming/about_the_common_media_application_format_with_http_live_streaming PiperOrigin-RevId: 264126140
ibaker committed -
There is no point in having this parameter as the tag should always be a single immutable object instantiated at the time the Timeline is created or earlier. So there is no preformance benefit and it's error-prone in case people forget to set setTag=true. PiperOrigin-RevId: 264117041
tonihei committed -
This solves various issues around event association for buffering and error throwing around period discontinuities. The main changes are: - Logic around being "ready" at the end of a period no longer checks if the next period is prepared. - Advancing the playing period no longer checks if the next one is prepared. - Prepare errors are always thrown for the playing period. This changes the semantics and assumptions about the "playing" period: 1. The playing period can no longer assumed to be prepared. 2. We no longer have a case where the queue is non-empty and the playing or reading periods are unassigned (=null). Most other code changes ensure that these changed assumptions are handled. Issue:#5407 PiperOrigin-RevId: 263776304tonihei committed -
PiperOrigin-RevId: 263768428
ibaker committed -
This field is used in .equals(), so it makes sense to include it in toString() too. PiperOrigin-RevId: 263768329
ibaker committed -
This matches the documentation on MetadataDecoder.decode: "@return The decoded metadata object, or null if the metadata could not be decoded." PiperOrigin-RevId: 263767144
ibaker committed -
Most users are likely to be only interested in the playlist items. So put the Window definition first and explicitly mention that this is a playlist item. PiperOrigin-RevId: 263764515
tonihei committed -
https://github.com/google/ExoPlayer/commit/9f55045eeb07120d5c001db48ef7c7c622089cbd
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/bbe681a904d58fe1f84f6c7c6e3390d932c86249 *** Original commit *** PiperOrigin-RevId: 263736897
tonihei committed -
PiperOrigin-RevId: 263718527
andrewlewis committed -
PiperOrigin-RevId: 263552552
aquilescanta committed
-
- 15 Aug, 2019 22 commits
-
-
Currently we fail silently for high bit depth output when using ANativeWindow output mode. PiperOrigin-RevId: 263549384
andrewlewis committed -
Initially this supports ID3-in-EMSG, but can also be used to support SCTE35-in-EMSG too. PiperOrigin-RevId: 263535925
ibaker committed -
PiperOrigin-RevId: 263534628
sofijajvc committed -
PiperOrigin-RevId: 263532499
aquilescanta committed -
I removed the buffer.flip() call because it seems incompatible with the way MetadataRenderer deals with the Stream - it calls flip() itself on line 126. Tests fail with flip() here, and pass without it... PiperOrigin-RevId: 263381799
ibaker committed -
We are not planning to use them in the near future, so remove the experimental flags and related features. PiperOrigin-RevId: 263356590
tonihei committed -
PiperOrigin-RevId: 263356275
aquilescanta committed -
The builder takes renderers instead of using a factory. PiperOrigin-RevId: 263354003
andrewlewis committed -
The current ExoPlayerFactory is growing too big and usage becomes increasingly complicated because it's not possible to set individual components without specifying many other defaults. Adding new builder classes makes building easier and more future-proof. PiperOrigin-RevId: 263339078
tonihei committed -
entries are used in .equals(), so it's good to have them printed in toString() too (for test failures) and it makes logging easier too. PiperOrigin-RevId: 263335503
ibaker committed -
This field is used in .equals(), we should print it in toString() too PiperOrigin-RevId: 263335432
ibaker committed -
The current max video buffer is 13MB which is too small for high quality streams and doesn't allow the DefaultLoadControl to buffer up to its default max buffer time of 50 seconds. Also move util method and constants only used by DefaultLoadControl into this class. PiperOrigin-RevId: 263328088
tonihei committed -
Required for propagation of HlsMetadataEntry's in chunkless preparation. PiperOrigin-RevId: 263324345
aquilescanta committed -
PiperOrigin-RevId: 263317893
sofijajvc committed -
PiperOrigin-RevId: 263312721
sofijajvc committed -
Add @Nullable annotation in the LibvpxVideoRenderer. PiperOrigin-RevId: 263150736
sofijajvc committed -
And add missing some missing annotations to the publicly visible API of these packages. PiperOrigin-RevId: 263134804
tonihei committed -
PiperOrigin-RevId: 263104935
sofijajvc committed -
PiperOrigin-RevId: 263046027
olly committed -
This fixes the errors that prevent the JavaDoc generation with the Gradle script to run through. PiperOrigin-RevId: 262930857
tonihei committed -
This renderer will be extended by both vp9 and av1 renderers. PiperOrigin-RevId: 262900391
sofijajvc committed -
PiperOrigin-RevId: 262886490
tonihei committed
-