In case of reusing aacparse ,Not working as expected

vijaypalaniswamy vijay.palaniswamy at
Tue May 23 11:54:45 UTC 2017

Hi All,

If we reuse the audio parser [aacparse] in the pipeline [Reusing: By setting
pipeline to NULL and again set to playing]

Eg: Try to play file "test.aac" and play the same file by reusing the

Getting below error:
baseparse gstbaseparse.c:2596:gst_base_parse_push_frame:<aacparse0> error:
No caps set

The above failuer is due to check in function "gst_aac_parse_handle_frame"
      if (G_UNLIKELY (rate != aacparse->sample_rate
            || channels != aacparse->channels)) {

But if we play different stream with different channels & sampling rate,
above check will be success and set caps will be called.

I tried with below fix by initializing all private member variables in
"gst_aac_parse_start". With this fix its working fine

+  aacparse->object_type = 0;
+  aacparse->bitrate = 0;
+  aacparse->header_type = DSPAAC_HEADER_NOT_PARSED;
+  aacparse->output_header_type = DSPAAC_HEADER_NOT_PARSED;
+  aacparse->channels = 0;
+  aacparse->sample_rate = 0;

The issue is with channels and sample_rate but i initialized all the values.

Please help me to solve the issue.

Thank you.

View this message in context:
Sent from the GStreamer-devel mailing list archive at

More information about the gstreamer-devel mailing list