media/library
andrewlewis f4b9042bf0 Recreate Opus decoder for stream change
The framework opus decoder discards some samples after a call to
flush(). Because we flush a decoder that is being retained across an
input format change, this means that the start of audio gets truncated
when transitioning to a new opus stream. See also
https://android.googlesource.com/platform/frameworks/av/+/refs/heads/android10-release/media/libstagefright/codecs/opus/dec/SoftOpus.cpp.

Avoid this by recreating opus decoders instead of flushing them. It
seems fine to do this for all opus decoders as reinitialization should
be cheap, OEM-provided implementations may also discard samples and
playback shouldn't be interrupted on reinitialization due to the
downstream AudioTrack buffer.

PiperOrigin-RevId: 277458759
2019-11-05 17:37:12 +00:00
..
all Use new exoplayer.dev domain everywhere. 2019-04-16 15:25:27 +01:00
core Recreate Opus decoder for stream change 2019-11-05 17:37:12 +00:00
dash Fix DashManifestParserTest in release branch 2019-10-14 17:14:41 +01:00
hls Enable ID3-in-EMSG for HLS streams 2019-10-13 12:37:08 +01:00
smoothstreaming Avoid retrying fatal errors 2019-09-18 15:28:19 -07:00
ui Define default colors as constants 2019-10-13 12:19:04 +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.