Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Firefox] Modify audio while playback takes too long (around 5 seconds) #4582

Closed
5 tasks done
testeur-990 opened this issue Oct 1, 2024 · 1 comment
Closed
5 tasks done

Comments

@testeur-990
Copy link

Environment

Link to playable MPD file: the issue can be reproduced easyly with your test stream :
https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/manifest.mpd
Dash.js version: 4.7.4 master
Browser name/version: Firefox

Steps to reproduce

1-Open http://reference.dashif.org/dash.js/latest/samples/dash-if-reference-player/index.html on firefox
2- Play https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/manifest.mpd
3- Change audio track

Observed behavior

The audio takes around 5 seconds to change, and this issue only happens on Firefox

Console output
[2684015][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-fr-audio-fr-mp4a.mp4 , Range:6178730-6276225 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2684240][Stream] Stream -  Process track changed at current time 316.665395 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2684889][AbrController] [audio] switching from buffer occupancy to throughput ABR rule (buffer: 0.000). [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2684889][StreamProcessor][audio] Buffer is empty! Stalling! [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685262][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:0-821 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685263][StreamProcessor][audio] [audio] lastInitializedRepresentationInfo changed to 0 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685376][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5143445-5242488 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685436][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5242489-5341189 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685508][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5341190-5440026 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685508][AbrController] [audio] switching from throughput to buffer occupancy ABR rule (buffer: 12.074). [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685585][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5440027-5539557 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685656][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5539558-5638796 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685748][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5638797-5737366 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685814][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5737367-5836463 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685866][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5836464-5935143 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685918][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:5935144-6035206 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2685981][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:6035207-6134191 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2686050][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/audio-en-audio-en-mp4a.mp4 , Range:6134192-6232168 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
[2686899][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://media.axprod.net/TestVectors/Cmaf/clear_1080p_h264/video-H264-1080-3000k-video-avc1.mp4 , Range:134891653-137156837 [Debug.js:169:25](webpack://dashjs/src/core/Debug.js)
.............
Expected behavior

The audio should change immediately on Firefox, just like on other browsers (Chrome and Edge).
PS: I tested the same stream on the Shaka Player demo page, and the audio changed immediately.

@testeur-990
Copy link
Author

Hello @dsilhavy ,
We were able to fix this issue by enabling the Dash.js configuration option flushBufferAtTrackSwitch. Therefore, I will close this ticket.
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants