media/library
tonihei a02c8d855c Ensure output format is updated in sync with stream changes.
MediaCodecRenderer currently has two independent paths to trigger
events at stream changes:
 1. Detection of the last output buffer of the old stream to trigger
    onProcessedStreamChange and setting the new output stream offset.
 2. Detection of the first input buffer of the new stream to trigger
    onOutputFormatChanged.
Both events are identical for most media. However, there are two
problematic cases:
  A. (1) happens after (2). This may happen if the declared media
     duration is shorter than the actual last sample timestamp.
  B. (2) is too late and there are output samples between (1) and (2).
     This can happen if the new media outputs samples with a timestamp
     less than the first input timestamp.

This can be made more robust by:
 - Keeping a separate formatQueue for each stream to avoid case A.
 - Force outputting the first format after a stream change to
   avoid case B.

Issue: google/ExoPlayer#8594

#minor-release

PiperOrigin-RevId: 512586838
2023-02-27 19:00:22 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Do not specify export flags for protected system broadcasts. 2023-02-27 18:08:18 +00:00
core Ensure output format is updated in sync with stream changes. 2023-02-27 19:00:22 +00:00
dash Merge pull request #248 from lemondoglol:update-segment-size 2023-02-08 15:38:48 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Merge pull request #10959 from balachandarlinks:handle-sql-exception-in-cached-content-index 2023-02-14 16:10:55 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Allow video format change. 2023-02-27 18:38:52 +00:00
extractor Encapsulate Opus frames in Ogg during audio offload 2023-02-08 15:54:41 +00:00
hls Update SampleQueue.sourceId to be a long rather than an int. 2023-02-14 16:06:47 +00:00
rtsp Catch IllegalArgumentExceptions in RTSP Response parsing 2023-02-13 14:18:53 +00:00
smoothstreaming Merge pull request #248 from lemondoglol:update-segment-size 2023-02-08 15:38:48 +00:00
transformer Allow video format change. 2023-02-27 18:38:52 +00:00
ui Tweak UI behavior when commands are missing. 2023-02-01 14:03:50 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.