
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
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
, overrideDefaultRenderersFactory.buildAudioProcessors
to return aGvrAudioProcessor
. - If constructing renderers directly, pass a
GvrAudioProcessor
toMediaCodecAudioRenderer
's constructor.
Links
- Javadoc: Classes matching
com.google.android.exoplayer2.ext.gvr.*
belong to this module.