The officially official Devuan Forum!

You are not logged in.

#1 2025-10-23 14:41:02

igorzwx
Member
Registered: 2024-05-06
Posts: 342  

How to debug Firefox to detect resampling

Configuration Editor for Firefox
_https://support.mozilla.org/en-US/kb/about-config-editor-firefox

Firefox's hidden preferences
URL: about:config

media.resampling.enabled	false

You can easily debug Firefox audio playback with a secret command.

Reference media files:

Hi-Res Music 32 Bit - Greatest Audiophile Collection - Natural Beat Records
_https://rutube.ru/video/b54c962301787eb1f2758ac8ba97f5bf/

Best Audiophile Vocal 24 bit - Hi-Res Music 2025 - Audiophile Voices
_https://www.youtube.com/watch?v=uO6jfQ5tQHM
_https://youtu.be/uO6jfQ5tQHM

$ youtube-dl -F "https://youtu.be/uO6jfQ5tQHM" | grep "audio only"
249          webm       audio only audio_quality_low   54k , webm_dash container, opus  (48000Hz), 30.39MiB
250          webm       audio only audio_quality_low   71k , webm_dash container, opus  (48000Hz), 39.87MiB
140          m4a        audio only audio_quality_medium  129k , m4a_dash container, mp4a.40.2 (44100Hz), 72.39MiB
251          webm       audio only audio_quality_medium  137k , webm_dash container, opus  (48000Hz), 76.97MiB
YouTube with Firefox [ALSA only]
mkdir Cubeb_LOGs
cd Cubeb_LOGs
MOZ_LOG="MediaDecoder:5,cubeb:5" firefox 2>&1 youtu.be/uO6jfQ5tQHM | tee firefox_youtube.log
$ cat firefox_youtube.log | grep "Input" -m3 -A3
Input:  44100 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1764
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  44100 --> 48000 (J: 0.00%, T: FFT, W: Vorbis)
Ok.
--
Input:  48000 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1920
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  48000 --> 48000 (J: 0.00%, T: None, W: Planar)
Ok.
$ cat firefox_youtube.log | grep "rate=44100" -m3
[Child 9639: Main Thread]: D/MediaDecoder MediaDecoder[7f121756ba00] MetadataLoaded, channels=1 rate=44100 hasAudio=1 hasVideo=0
[Child 9639: Main Thread]: D/MediaDecoder MediaDecoder[7f1216ea9000] MetadataLoaded, channels=1 rate=44100 hasAudio=1 hasVideo=0
[Child 9639: Main Thread]: D/MediaDecoder MediaDecoder[7f1216e86a00] MetadataLoaded, channels=1 rate=44100 hasAudio=1 hasVideo=0
$ cat firefox_youtube.log | grep "rate=48000" -m3
[Child 9639: Main Thread]: D/MediaDecoder MediaDecoder[7f1216ea9300] MetadataLoaded, channels=2 rate=48000 hasAudio=1 hasVideo=1
[Child 9639: Main Thread]: D/MediaDecoder MediaDecoder[7f1216ea9300] FirstFrameLoaded, channels=2 rate=48000 hasAudio=1 hasVideo=1 mPlayState=PLAY_STATE_LOADING transportSeekable=1

CONCLUSION:
[ALSA only] Firefox does not resample anything, but it is switching between two available audio formats in YouTube.

RuTube with Firefox [ALSA only]
MOZ_LOG="MediaDecoder:5,cubeb:5" firefox 2>&1 rutube.ru/video/b54c962301787eb1f2758ac8ba97f5bf | tee firefox_rutube.log
$ cat firefox_rutube.log | grep "Input" -m3 -A3
Input:  44100 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1764
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  44100 --> 48000 (J: 0.00%, T: FFT, W: Vorbis)
Ok.
--
Input:  44100 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1764
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  44100 --> 48000 (J: 0.00%, T: FFT, W: Vorbis)
Ok.
$ cat firefox_rutube.log | grep "rate=44100" -m3
[Child 10956: Main Thread]: D/MediaDecoder MediaDecoder[7f2c0b2af800] MetadataLoaded, channels=2 rate=44100 hasAudio=1 hasVideo=1
[Child 10956: Main Thread]: D/MediaDecoder MediaDecoder[7f2c0b2af800] FirstFrameLoaded, channels=2 rate=44100 hasAudio=1 hasVideo=1 mPlayState=PLAY_STATE_LOADING transportSeekable=1
$ cat firefox_rutube.log | grep "rate=48000" -m3
<nothing>

CONCLUSION:
[ALSA only] Firefox does not resample anything. Only rate=44100 is available.

One may test Firefox with apulse

Last edited by igorzwx (2025-10-25 00:43:47)

Offline

Board footer