[Bug 650714] [amrparse] skips first few frames (problem in checking sync)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 23 04:50:25 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=650714
  GStreamer | gst-plugins-good | 0.10.29

--- Comment #6 from SeungBae Shin <seungbae.shin at samsung.com> 2011-05-23 11:50:21 UTC ---
I agree that adding equal(=) is not good solution even it works....
I checked the code with different view and found the observation below.

Using current code, the maximum size for amrnb is 32 bytes by
gst_amr_parse_set_src_caps()

static gboolean
gst_amr_parse_set_src_caps (GstAmrParse * amrparse)
{
  .....
  } else {
    GST_DEBUG_OBJECT (amrparse, "setting srcpad caps to AMR-NB");
    /* Max. size of NB frame is 31 bytes, so we can set the min. frame
       size to 32 (+1 for next frame header) */
    gst_base_parse_set_min_frame_size (GST_BASE_PARSE (amrparse), 32);
    src_caps = gst_caps_new_simple ("audio/AMR",
        "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
  }
   .....
}

I think the problem is how we can check next frame header bytes with maximum
size 32 bytes.
in gst_base_parse_scan_frame() , gst_base_parse_pull_range () is called with
min size ( max(32, fsize) ) 
I think data is not enough to check next frame header byte with 32 byte in mode
7.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list