- 19 Nov, 2021 9 commits
-
-
PiperOrigin-RevId: 411041225
tonihei committed -
This requires some plumbing through DashMediaPeriod and DashChunkSource. PiperOrigin-RevId: 411012115
tonihei committed -
PiperOrigin-RevId: 411010270
kimvde committed -
PiperOrigin-RevId: 411006397
ibaker committed -
This requires some plumbing through HlsMediaPeriod and HlsChunkSource. PiperOrigin-RevId: 411004283
tonihei committed -
Currently, DrmSessionManager takes player specific values (= the playback looper) through (pre)acquireSession calls and requires the caller to pass in the same values every time. Instead, we can configure the DrmSessionManager for playback with a player once before it's being used. We can't simply extend the prepare() method as prepare may be called before the player is created to prewarm the DrmSessionManager. The new method also takes a PlayerId which is bound to the lifetime of the player similar to the playback looper. To avoid breakage of custom MediaSources with DRM, we can keep the old the SampleQueue.createWithDrm method as deprecated. PiperOrigin-RevId: 410998240
tonihei committed -
There has been many issue recently about tunneling that have no obvious solutions and we don't have the bandwidth to dive into the platform root cause. - https://github.com/google/ExoPlayer/issues/9661 - https://github.com/google/ExoPlayer/issues/9133 - https://github.com/google/ExoPlayer/issues/9317 - https://github.com/google/ExoPlayer/issues/9502 PiperOrigin-RevId: 410834262
krocard committed -
tonihei committed
-
r2.16.1
tonihei committed
-
- 18 Nov, 2021 29 commits
-
-
PiperOrigin-RevId: 410819003
tonihei committed -
The `SefSlowMotionVideoSampleTransformer` drops frames by setting `buffer.data = null` and updates the timestamps of the frames it keeps. However, these buffers with dropped frames are still used in the pipeline as they may contain other useful information, specifically whether the end of the input has been reached. So, the timestamps should also be updated for the buffers where frames are dropped. PiperOrigin-RevId: 410797678
hschlueter committed -
https://github.com/google/ExoPlayertonihei committed
-
https://github.com/google/ExoPlayertonihei committed
-
https://github.com/google/ExoPlayertonihei committed
-
tonihei committed
-
tonihei committed
-
PiperOrigin-RevId: 410507648
ibaker committed -
StyledPlayerControlView can't really be used on its own (like PlayerControlView was used here), so we instead use the same StyledPlayerView instance for both local and casted playback, replacing the content with a cast icon while casting. PiperOrigin-RevId: 410764338
ibaker committed -
The GL program needs to be used before accessing its attributes. #minor-release PiperOrigin-RevId: 410768017
andrewlewis committed -
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 -
PiperOrigin-RevId: 410770666
andrewlewis committed -
The GL program needs to be used before accessing its attributes. #minor-release PiperOrigin-RevId: 410768017
andrewlewis committed -
PiperOrigin-RevId: 410766492
tonihei committed -
StyledPlayerControlView can't really be used on its own (like PlayerControlView was used here), so we instead use the same StyledPlayerView instance for both local and casted playback, replacing the content with a cast icon while casting. PiperOrigin-RevId: 410764338
ibaker committed -
In the near future, we will be able to specify which tests run on this target explicitly, at which point this ignore will be removed. PiperOrigin-RevId: 410758785
samrobinson committed -
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 -
The `GlUtil` wrappers for attributes/uniforms allocate buffers that are passed into OpenGL, and it seems that the distorted output was caused by these buffers being garbage collected. The issue was difficult to reproduce manually. Add a test that does repeated transcodes in a loop (marked `@Ignore` for now because it runs for a long time and requires network access so may be flaky) to make it easier to run many transcodes and look for inconsistent output. For now the consistency check is just based on the file size which is very likely to change if the actual video frames change. Verified that the test fails before, and passes once the attributes and uniforms are stored in fields as in this CL. PiperOrigin-RevId: 410581706
andrewlewis committed -
This change merges `TransformerMuxingVideoRenderer` and `TransformerTranscodingVideoRenderer` into `TransformerVideoRenderer`. Besides all features supported by `TransformerTranscodingVideoRenderer` the new merged `TransformerVideoRenderer` also supports SEF slow motion flatting without re-encoding like the `TransformerMuxingVideoRenderer`. To do this, it uses a `SefSlowMotionVideoSampleTransformer` with the `PassthroughPipeline`. PiperOrigin-RevId: 410531478
hschlueter committed -
This mime type is technically for the Muxer, and determines the container used. In the context of the transformer, this can be thought of more as a container mime type, to avoid confusion with the video mime type and audio mime type. Deprecates setOutputMimeType(). PiperOrigin-RevId: 410530707
huangdarwin committed -
Issue: google/ExoPlayer#9697 Before, the `MAX_SEQUENCE_NUMBER` is 65535, such that the logic to get the next sequence number: `previousSeqNumber + 1 % MAX_SEQUENCE_NUMBER` yields 0 when `previousSeqNumber` is 65534. However, the next sequence number should be 65535. PiperOrigin-RevId: 410530098
claincly committed -
PiperOrigin-RevId: 410516082
tonihei committed -
This requires forwarding the PlayerId to the AudioSink. PiperOrigin-RevId: 410509605
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 -
PiperOrigin-RevId: 410507648
ibaker 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 #minor-release PiperOrigin-RevId: 410495676
christosts committed
-
- 16 Nov, 2021 2 commits