-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
I'm trying to enable tunneling on an Android Tv device.
As i know enabling it should be just setting the audio session id with: trackSelector.setTunnelingAudioSessionId(C.generateAudioSessionIdV21(this));
but unfortunately, it won't start the tunneling just by setting this id in this device.
I can find the video_decoder.tunnel.secure decoder when debugging the MediaCodecUtil class. But when requesting the info at: mediacodec.MediaCodecUtil#getDecoderInfo it always returns the first item/decoder from the list which in my case will be video_decoder.secure (not the tunneling one, because it is on the index 1 in the list).
If I force it to use the tunneled one the playback starts.
Is it possible to improve Exoplayer algorithm to select the codec and go through the list of codecs until it finds a codec that supports tunneling instead of supposing that the first one supports tunneling?
The codec that supports tunneling has this tag on the media_codecs.xml file
<Feature name="tunneled-playback" required="true" />
Thanks!
Exoplayer version: 2.2.0
Android version: 7.0