Skip to content

Tunneling: Support selection of non-primary tunneling video codecs #3100

@alfonsoramosa

Description

@alfonsoramosa

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions