media/library/core
andrewlewis d3933e5cac 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-10-30 08:52:05 +00:00
..
src Recreate Opus decoder for stream change 2019-10-30 08:52:05 +00:00
build.gradle Use constant to define androidx annotation version 2019-09-05 10:45:08 +01:00
proguard-rules.txt Extract vpx code used for GL rendering to common classes 2019-10-02 21:27:27 +01:00
README.md Use new exoplayer.dev domain everywhere. 2019-04-16 15:25:27 +01:00

ExoPlayer core library module

The core of the ExoPlayer library.

  • Javadoc: Note that this Javadoc is combined with that of other modules.