andrewlewis a81149d962 Fix audio processor draining for reconfiguration
When transitioning to a new stream in a different format, the audio
processors are reconfigured. After this, they are drained and then
flushed so that they are ready to handle data in updated formats for the
new stream.

Before this change, some audio processors made the assumption that after
reconfiguration no more input would be queued in their old input format,
but this assumption is not correct: during draining more input may be
queued. Fix this behavior so that the new configuration is not referred
to while draining and only becomes active once flushed.

Issue: #6601
PiperOrigin-RevId: 282515359
2019-11-27 22:29:07 +00:00
..
2019-10-30 08:47:06 +00:00

ExoPlayer GVR extension

DEPRECATED - If you still need this extension, please contact us by filing an issue on our issue tracker.

The GVR extension wraps the Google VR SDK for Android. It provides a GvrAudioProcessor, which uses GvrAudioSurround to provide binaural rendering of surround sound and ambisonic soundfields.

Getting the extension

The easiest way to use the extension is to add it as a gradle dependency:

implementation 'com.google.android.exoplayer:extension-gvr:2.X.X'

where 2.X.X is the version, which must match the version of the ExoPlayer library being used.

Alternatively, you can clone the ExoPlayer repository and depend on the module locally. Instructions for doing this can be found in ExoPlayer's top level README.

Using the extension

  • If using DefaultRenderersFactory, override DefaultRenderersFactory.buildAudioProcessors to return a GvrAudioProcessor.
  • If constructing renderers directly, pass a GvrAudioProcessor to MediaCodecAudioRenderer's constructor.
  • Javadoc: Classes matching com.google.android.exoplayer2.ext.gvr.* belong to this module.