GNOME Bugzilla – Bug 791311
AAC-sbr+ps audio playback failed: only glitches are observed
Last modified: 2018-11-03 15:24:19 UTC
Dear Members, I am trying to play one AAC (sbr+ps) (mp4a.40.29, mp4a.40.5) content through gstreamer version 1.12.0 , and i only observe audio glitches and silence. I am able to play normal AAC codec content (mp4a.40.2). I am using Qtdemux for demuxing part. Working content:-(mp4a.40.2) https://www.dropbox.com/s/99adkfmu5f0mbvo/Spring_3000k_track2_dashinit.mp4?dl=0 Non working content:- (mp4a.40.5) https://www.dropbox.com/s/88qia0qpz2h73dy/tearsofsteel_audio_32K_init.mp4?dl=0
This plays without any glitches for me with git master and 1.12.3.
Are you using gst-libav built with the internal ffmpeg version or a system version? In case of system version, which would that be?
Can you tell me your command line pipeline , so i can confirm.
Just "gst-play-1.0 the_file.mp4", nothing complicated
Same here, just work (Fedora 27 + Rpmfusion) 1.12.3.
Fwiw, it's using avdec_aac here.
What ffmpeg version do you have installed Jai?
More details about this issue:- I am able to play this content if read sample frequency from the codecdata (buffer) that will return the value as 24k. But the sample rate is coming from caps is 48k, and if i set that as sample frequency idx then i hear only glitches. Also i downloaded these contents from dashif mpd's , where there already some backward comp bug is raised?? https://github.com/Dash-Industry-Forum/Test-Vectors/issues/9 If any of you guys have one aac(sbr+ps) content , then please share as i am not able find this on google. Thanks in advance.
This plays fine for me with current GStreamer. Jai, can you confirm (by using gst-play-1.0) ? If it doesn't work, please specify the exact version of GStreamer you're using (and from which distribution).
Hi Edward, The problem here is that , sample_rate is 24KHz for the audio buffer, and qtdemux is also setting sample_rate as 24KHz, but later on in configure_stream function it is overriding this to 48KHz, and my decoder is not able to play this at 48Khz. If the sample rate stays at 24KHz the playback is fine. Moreover if i read sample_rate from the audio buffer it is 24KHz eg:- samplingFreqIdx = ( GST_READ_UINT8 (data) & 0x03 ) << 1; samplingFreqIdx |= ( GST_READ_UINT8( (data) + 1 ) & 0x80 ) >> 7; but if i read the sample_rate from the caps given by qtdemux it is 48Khz eg:- gst_structure_get_int( Struct, "rate", (gint *)&sampleRate )
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/421.