Exoplayer enable tunneling.
I’m in the process of updating from ExoPlayer v2.
Exoplayer enable tunneling e. While playing the video, AV is playing fine and audio is on bt speaker. Is there a way I can avoid the problem? Thanks in advance for any help! [REQUIRED] Reproduction steps ExoPlayer demo app version release-v2 (2. The following log snippet were captured when the problem occurred, printing playback positions every se Jul 26, 2017 · 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? If I force it to use the tunneled one the playback starts. 7. 2. 16. 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? Apr 21, 2020 · This one was produced for 5. Jul 20, 2016 · Is there any plans on adding tunneling support to ExoPlayer? Several Android devices (especially for Android TV) contain video decoders with tunneling support but it doesn't look like ExoPlayer attempts to take advantage of them yet. After upgrading Exoplayer library to the latest version 2. isTunnelingEnabled to check if tunneling is enabled for the currently selected tracks (#2518). 6. FEATURE_TunneledPlayback feature is supported. - google/ExoPlayer#9661 - google/ExoPlayer#9133 - google/ExoPlayer#9317 - google/ExoPlayer#9502 PiperOrigin-RevId: 410834262 May 8, 2018 · Hi , I enable on the fly tunnel mode on 2. But when I press the Mute button, It wont go for mute Aug 19, 2021 · There has been many issue recently about tunneling that have no obvious solutions and we don't have the bandwidth to dive into the platform root cause. I also couldn't find a simple documentation This project is deprecated and stale. Sep 28, 2020 · Issue description sound of video is occur after video frame displayed 14 seconds when i opened tunneling video playback, and video also discontinuity, stuck. xml file. isTunnelingEnabled to query the tunneling state of the currently selected tracks. Audio part is handled Sep 12, 2018 · I am working on an Android TV application and I want to enable tunneling for the video playback to improve performance. 1 Android : AOSP 10 Custom Streaming application Using our own OMEX implementation App is in tunneling mode I have been trying to debug an issue where where video continues playing for 54 sec and audio continues f Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android - kairusds/media3 Issue description When I play a live DASH stream in tunneling mode on an AndroidTV STB, it always ignores the STB volume (i. Jun 18, 2025 · The exoplayer library even in its latest version seems to assume that audio is required to enable video-tunneling. Disabling tunneling - fixes the issue. With tunneling this seems to be particularly problematic because so much is left up to the device OEM and verifying behavior programmatically via an automated test is difficult. For example, the device advertises these two components supporting avc, one without and one with tunneling support: ExoPlayer isn't able to select the tunneled version Add ExoPlayer. The. 2 (Tunnel Feb 7, 2021 · I’m using Exoplayer in my streaming app for Android TV, I have Nvidia Shield Pro 2019 as testing device, Android TV v. This usually sets the output path in a different mode where the decoding and frame release logic is entirely handled by the TV itself. 5. 1 48kHz AAC track, when tunneling was enabled. This new Jun 1, 2023 · When the tunneling is turned on, the AudioTrack is set the flag AUDIO_OUTPUT_FLAG_HW_AV_SYNC, and further because of this flag, it is forced the flag AUDIO_OUTPUT_FLAG_DIRECT. I have checked on Exoplayer Demo app with DASH/HLS materials, but all of them did not stopped at the end of the stream (timestamp was still increaasing). onTracksChanged to get notified when tracks (and potentially this value) change. 3 to v2. Enhancements Performance Increases Kodi Update Exoplayer to v2. Do you have any idea w Feb 17, 2021 · With exoplayer demo app v2. Steps to reproduce the issue: Enable tunneling in exoplayer. Sep 13, 2024 · The default timeout for calls to ExoPlayer. The latest ExoPlayer code is available in https://github. Feb 28, 2017 · So i cloned lattest ExoPlayer, enable tunneling in Demo app with your line from above, but i am getting that video renderer in function rendererSupportsTunneling does not support tunneling. [REQUIRED] Link to test content Nov 7, 2022 · Is it possible to enable the this workaround without having to import all the exoplayer code into the app and changing this function? Not easily unless you depend on a local copy of ExoPlayer to be able to edit the code directly. 4 version with HEVC content over DASH without DRM encrypted , while enable the video tunnel and try to play the content I can not see video but only hear May 6, 2020 · The current tunnel mode of exoplayer needs to be turned on by myself, or if exoplayer detects that the tunnel mode is satisfied, the mode is enabled on the mobile phone. Jan 7, 2018 · Issue description If I activate tunneled playback on standard exoplayer 2. 13. 1 Device (s) and version (s) of Android being used Philips QM164E (model 32PFS6402/12) running Android TV 5. I am Context I'm creating an Android application playing Media Source Extensions streams using Multimedia Tunneling. setTunnelingAudioSessionId( C. It will be available in 0. More specifically, the stream starts playing, but after a few seconds the following exception is thrown: For example, it would be interesting to know whether you've enabled tunneling on this device because the AV sync is handled in very different places if tunneling is enabled. Jun 11, 2025 · Track selection is the responsibility of a TrackSelector, an instance of which can be provided whenever an ExoPlayer is built and later obtained with ExoPlayer. Feb 2, 2018 · Link to test content See the ExoPlayer demo app with above changes to enable tunneling. 0, and during testing I discovered that a particular DASH live stream does not work when tunneling is enabled (it works fine with v2. setForegroundMode (boolean), in milliseconds. Jul 30, 2024 · When in tunneling mode seekTo (duration) is called ExoPlayer submits no input buffers (including no EOS buffer) to the audio decoder but does submit video buffers starting from the last keyframe. 3 and before. 1, enable "Request multimeddia tunneling" Play video under SmoothStreaming -> Super Speed While video is playing go to SELECT TRACKS, under "VIDEO" select any track to trigger a video track change. Please tell me how to avoid the following issue Jul 28, 2023 · We are seeing quite a few HLS live streams that get stuck on ExoPlayer renderer when we enable tunneling mode using ExoPlayer 2. Device: 2020 Sony TV w/ Android 9 Dec 26, 2023 · Support for tunneling and audio offloading is added to the old playback engine in #3268. I guess a difference is that hasOutputBuffer() always returns false in tunneling mode. Add ExoPlayer. The AudioTrack allows to write data only in multiples of the audio track frame size and because ExoPlayer attempts to fully write the header before writing the payload, it is therefore mandatory that the header size be a multiple of the frame-size. I think we should just add these devices to the list if you can confirm it fixes the problem. 12. com/google-exoplayer/tunneled-video-playback-in-exoplayer-84f084a8094d I have added hardware decoder support in the media_codec. Jun 9, 2022 · How to implement MediaSessionService and build a very simple audioplayback app with media3? I tried it, but unsuccessfully. Add WrappingMediaSource to simplify wrapping a single MediaSource (#7279). 8), enable "Request Jun 15, 2021 · In exoplayer demo app v2. Changes in available tracks can occur during playback transitions, affecting codec selection [8]. Version of ExoPlayer being used 2. 11. Q: So, what is designed way to handle this kind of behavior from perspective of player->exoplayer? It looks like, player should retry, with no-tunneling fallback option. 2 Devices that reproduce the issue Model: TalkTalk STB Os: Android Version: 10 Devices that do not reproduce the issue Fire TV Stick (2nd Gen) running Fire OS 5. Compared to Android's MediaPlayer API, it adds additional conveniences such as support for multiple streaming protocols, default audio and video renderers, and components that handle media buffering. Thanks! Feb 20, 2019 · In our particular device which has media tunneling support, ExoPlayer is unable to list and select the tunneling decoder properly. 2, we enabled video tunneling feature. 18. 0 I’ve noticed that HLS streams are not playing smoothly while same streams with same settings on the same device played smoothly with 2. I checked #2761 but it does not look like the same. 4. Sep 13, 2024 · * Determines whether tunneling can be enabled, replacing {@link RendererConfiguration}s in {@code * rendererConfigurations} with configurations that enable tunneling on the appropriate renderers Feb 4, 2020 · [REQUIRED] Reproduction steps ExoPlayer demo app version 2. release () and ExoPlayer. And connected with BT speaker (Bose speaker). java, I enabled tunnelling as below. You can listen to Player. 17. Simple and lightweight, yet polished and powerful Android video player based on ExoPlayer - TestersNightmare/GoPlayer Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android - androidx/media Jan 5, 2024 · ExoPlayer is the default implementation of this interface in Media3. I'm using the API call flow as provided by the documentation. generateAudioSessionIdV21( this ) ); called just after The tunneling audio header version 1 has a fixed header-size of 16 bytes. Scrolling news tickers are much smoother, and the micro stutter I was getting on some channels has disappeared. Tunneling is known to have many device specific issues and limitations. 1. 17 (either via the new or old playback code). plays at 100% volume) until I increase or decrease the STB volume. Dec 7, 2022 · ExoPlayer Version 2. Automatic tunneling of video playback is managed by ExoPlayer, which may disable and re-enable tunneling based on conditions [7]. Jun 6, 2024 · Exoplayer Version: 2. It looks to me like the MediaCodec. Jan 27, 2020 · [REQUIRED] Issue description I am getting a video freeze from time to time while playing Widevine DASH streams with tunneling enabled, the playback does not recover and it stays like this until next playback start. 1 Enable tunneling video in Exo Increase compile SDK to Android 12 Settings Hide links containing phrases Redesign Link Resolve Action Menu Enable Play With Tunneling will only be enabled if it's supported by the audio and video renderers for the selected tracks. Any way, It works fine, if tunnel mode off in this case. getDecoderInfosInternal() and verified that CodecCapabilities. Observe that the video is frozen. We should consider whether we want to have it enabled by default from some API level. 4 with following line: trackSelector. Listener. 12). 681 5131 21183 E bomx_video_decoder: FifoEmptyEvent: the video source FIFO becomes empty during normal decode We also contacted the device provider and they suggested that the problem is coming from the app/Exoplayer. Sample size of 1 here, but turning-on 'Tunneled Playback' has made a noticeable improvement for me. Custom components in ExoPlayer should follow the existing model for reconfiguration during playback [6]. I have also included the tunneling feature in the xml file as mentioned below. Aug 23, 2021 · More Details about Tunnel Mode Playback For more details refer to the Tunnel Mode Playback implementation in Exoplayer 2: Enable tunneling end-to-end Support tunneling in video renderer Report tunneling support via RendererCapabilities API Plumbing to enable tunneling on AudioTrack from renderers Limitations of Tunneled Mode Jan 5, 2024 · ExoPlayer is the default implementation of this interface in Media3. May 2, 2017 · Hi, I am working on an Android TV application and i want to enable tunneling for the video playback to improve performance. after first 14 seconds every thing is o Jul 18, 2023 · Hi, I am using ExoPlayer in my Shield TV Pro 2019 device. But I encountered a problem by using set speed when I set tunnel mode on. I’m in the process of updating from ExoPlayer v2. 3. Some 4K streams are almost impossible to play properly without Apr 9, 2019 · So i cloned lattest ExoPlayer, enable tunneling in Demo app with your line from above, but i am getting that video renderer in function rendererSupportsTunneling does not support tunneling. Can I enable Tunneled playback? I am not sure if Shield supports it or not so thought of clarifying. 1 A full bug report captured from the device Stepping through with the debugger, I can see it being enabled in MappingTrackSelector# Jul 4, 2024 · If supported by the TV, you can try to enable tunneling. Is it correct? 2 days ago · Multimedia tunneling enables compressed video data to tunnel through a hardware video decoder directly to a display, without being processed by app code or Android framework code. Worth playing with this setting to see what you get (provided your device supports it). Simple and lightweight, yet polished and powerful Android video player based on ExoPlayer - yugimaster/JustPlayer Jul 20, 2020 · Issue description There is no STATE_ENDED while playing video in tunneling mode. Jan 17, 2017 · A/V tunneling is now supported on AndroidTV. Nov 8, 2021 · I added some debug logs in MediaCodecUtil. As i know enabling it should be just setting the audio session id with: t Jan 31, 2018 · I have made changes in the exo-player code to support tunneling mode as suggested in the below link. https://medium. The codec2 framework allows video-only tunneling as it has introduced the sync-mode REALTIME as the fallback mode when neither of the parameters audio-hw-sync or hw-av-sync-id are present. thanks! Jun 22, 2017 · Issue description Tunneled playback does not start on (at least some) API >= 23 Devices and the player stays in buffering state. OnFrameRenderedListener that is u Feb 21, 2022 · The problem is reproducible only when tunneling is enabled and when it happens I can see many logs with this error: 02-21 16:53:03. In PlayerActivity. getTrackSelector(). 9 installed. 9. Sep 11, 2020 · When I play a video in tunneling mode, the playback stays stalled on STATE_BUFFERING, but the playback without tunneling mode works well. 5. Nov 25, 2024 · Android ExoPlayer3 Customization Create HLS and playback videos using ExoPlayer3 with custom controls Over the years ExoPlayer2 has joined forces with Android Media to create Media3. 1 tunneling mode enabled, playback fails if unplug the HDMI #8599 New issue Closed Sasikumartech Jan 16, 2019 · As a general point: I think this is not really about adapting devices to ExoPlayer, but instead implementing the APIs provided by the Android framework in a consistent way. com/androidx/media - ExoPlayer/library/core/src/main/java/com/google Jun 11, 2025 · It's highly advisable to test your media streams on the specific TV devices where you intend to enable tunneling to verify it is reliable enough for your use case. Mar 6, 2020 · When tunneling is enabled, renderedOutputBufferCount is 0 renderedOutputBufferCount of decoderCounters works fine to report number of buffers rendered for video and audio tracks but when tunneling Feb 28, 2017 · We added a method ExoPlayer.