media/libraries
tonihei d8498f3ecb Set signal on renderer once it's allowed to render start of stream
When a renderer is pre-enabled (while another playback is still
ongoing), we pass mayRenderStartOfStream=false to Renderer.enable.
This ensures we don't show any first frames while the previous media
is still playing.

Currently, we never tell the renderer when we actually stop playing
the previous media so that it could render the start of the stream,
because we allow this as soon as the renderer is in STATE_STARTED and
we assume that we have to be in STATE_STARTED to make this stream
transition.

While this assumption is true, there are also cases where we can't
start the renderers because they are not ready yet and the video
renderer can't become ready because it didn't render its first frame.
This effectively blocks playback forever.

The most direct way of solving this, is to tell the renderer that
playback has transitioned and that it is now allowed to render the
start of the stream. This means it can never get blocked as described
above.

PiperOrigin-RevId: 547727347
2023-07-13 15:59:00 +01:00
..
cast Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
common Add support for extracting Vorbis audio in MP4 2023-07-13 15:53:55 +01:00
container Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
database Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource Remove unnecessary final on DefaultHttpDataSource.Factory method 2023-06-29 23:09:14 +00:00
datasource_cronet Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource_okhttp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
datasource_rtmp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
decoder Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_av1 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_ffmpeg Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_flac Add more data to e2etest dumps 2023-07-13 15:33:33 +01:00
decoder_midi Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_opus Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_vp9 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
effect Compositor: Add support for multiple bitmaps, and add testrunner 2023-07-13 15:45:30 +01:00
exoplayer Set signal on renderer once it's allowed to render start of stream 2023-07-13 15:59:00 +01:00
exoplayer_dash Add fields streaming format(sf), stream type(st) and version(v) 2023-07-13 15:50:16 +01:00
exoplayer_hls Add fields streaming format(sf), stream type(st) and version(v) 2023-07-13 15:50:16 +01:00
exoplayer_ima Make MediaItems updateable 2023-07-13 15:26:30 +01:00
exoplayer_rtsp Make MediaItems updateable 2023-07-13 15:26:30 +01:00
exoplayer_smoothstreaming Add fields streaming format(sf), stream type(st) and version(v) 2023-07-13 15:50:16 +01:00
exoplayer_workmanager Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
extractor Add support for extracting Vorbis audio in MP4 2023-07-13 15:53:55 +01:00
muxer Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
session Prevent the creation of CommandButtons without commands. 2023-07-13 15:56:43 +01:00
test_data Add more data to e2etest dumps 2023-07-13 15:33:33 +01:00
test_exoplayer_playback Add android.namespace to all build.gradle files 2023-05-19 17:19:15 +01:00
test_session_common Add custom layout to the state of the MediaController 2023-07-13 15:47:50 +01:00
test_session_current Add custom layout to the state of the MediaController 2023-07-13 15:47:50 +01:00
test_utils Compositor: Add support for multiple bitmaps, and add testrunner 2023-07-13 15:45:30 +01:00
test_utils_robolectric Set signal on renderer once it's allowed to render start of stream 2023-07-13 15:59:00 +01:00
transformer Add basic SingleInputVideoGraph by wrapping DefaultVideoFrameProcessor 2023-07-13 15:57:47 +01:00
ui Update build.gradle dependencies for lib-ui tests 2023-07-05 14:01:47 +00:00
ui_leanback Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00