media/library
andrewlewis ee2ef1c3d5 Use correct last timestamp for C2 MP3 workaround
The C2 MP3 decoder produces an extra output buffer when draining after
end-of-stream is queued. This output buffer has a later timestamp than the last
queued input buffer so we need to calculate its timestamp to detect a stream
change in the correct position.

Before this CL we used the original input buffer timestamp as the largest
queued timestamp, which caused the stream change to be detected at the correct
position because the original input buffer timestamp was slightly larger than
the actual last output buffer timestamp. After this change we use exact
calculated timestamp as the largest queued timestamp. I manually verified
gapless continues to work on a device using the C2 MP3 decoder by comparing
output of the MP3 gapless and MP3 gapless stripped playlists in the demo app,
and that the last buffer timestamp now matches.

#exofixit

PiperOrigin-RevId: 395428928
2021-09-16 14:49:31 +01:00
..
all Include RTSP module in gradle project 2021-05-10 23:41:50 +01:00
common ID3: Fix end-of-string detection for UTF-16 2021-09-16 14:40:45 +01:00
core Use correct last timestamp for C2 MP3 workaround 2021-09-16 14:49:31 +01:00
dash Minor javadoc fix in BaseUrlExclusionList 2021-09-16 13:47:51 +01:00
extractor Duration readers: Return TIME_UNSET rather than a negative value 2021-09-16 14:30:42 +01:00
hls Set HlsSampleStreamWrapper.trackType for audio-only playlists 2021-08-04 19:02:50 +01:00
rtsp Handle when additional spaces are in SDP's RTPMAP atrribute 2021-09-16 14:36:40 +01:00
smoothstreaming Set StreamIndex Name as format.label in SS 2021-08-05 12:44:20 +01:00
transformer Remove ExoPlaybackException factory method that doesn't take errorCode 2021-07-09 09:10:19 +01:00
ui Update PlayerView's UI when available commands change 2021-09-16 14:48:55 +01:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +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.