[Bug 735952] videorate: GstStructure refcount critical message

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Sep 3 02:43:50 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=735952
  GStreamer | gst-plugins-base | 1.4.0

Vineeth <vineeth.tm> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vineeth.tm at samsung.com

--- Comment #4 from Vineeth <vineeth.tm at samsung.com> 2014-09-03 09:43:46 UTC ---
Hi Robert/Sebastian,

   I was able to reproduce the issue with the following launch command

gst-launch-1.0 videotestsrc ! "video/x-raw, width=640, height=480,
format=UYVY,framerate=30/1" ! videorate drop_only=TRUE ! fakesink

   in gst_video_rate_transform_caps() function when caps size is 2
   the for loop runs twice,
first time the below code gets executed
        if (min_num != 0 || min_denom != 1) {
          s3 = gst_structure_copy (s);
          gst_structure_set (s3, "framerate", GST_TYPE_FRACTION, 0, 1, NULL);
        }
and because of that
    if (s3 != NULL)
      ret = gst_caps_merge_structure (ret, s3);

Now when loop runs the second time, s3 is not getting copied, but 
    if (s3 != NULL)
      ret = gst_caps_merge_structure (ret, s3);
hence it gives critical crash.

   when i initialize s3 to NULL in the for loop, the crash does not occur
something like
    s1 = gst_structure_copy (s);
    s2 = gst_structure_copy (s);
    s3 = NULL;


  Can you please confirm if this is a proper fix, or is there any other way to
fix the issue.

Regards,
Vineeth

-- 
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