[Bug 657049] New: gst-plugins-base-0.10.32: bug in gst-plugins-base-0.10.32/ext/pango/gsttextoverlay.c?

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Aug 21 19:43:38 PDT 2011


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

           Summary: gst-plugins-base-0.10.32: bug in
                    gst-plugins-base-0.10.32/ext/pango/gsttextoverlay.c?
    Classification: Platform
           Product: GStreamer
           Version: 0.10.32
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: bcxa.sz at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I checked this potential bug is not only in 0.10.32, but also 0.10.34 and
0.11.0.

Hi Developers,

I found one potential bug in gst_text_overlay_text_chain() in
ext/pango/gsttextoverlay.c (as the mail title).

If looked at this piece of code,
 ...
 if (G_LIKELY (GST_BUFFER_TIMESTAMP_IS_VALID (buffer))) {

   ...
   in_seg = gst_segment_clip (&overlay->text_segment, GST_FORMAT_TIME,
       GST_BUFFER_TIMESTAMP (buffer), stop, &clip_start, &clip_stop);
 } else {
   in_seg = TRUE;
 }

if (in_seg) {
 ...
 }
 GST_OBJECT_UNLOCK (overlay); // NOTE the buffer will not be unref in
case of in_seg == FALSE

beach:

 return ret;
}

If the in_seg == TRUE, the text buffer will render the text and push
into the queue.

But if in_seg = FALSE, the text buffer will not be unrefed. So I think
this is the bug and should add code to handle unref the buffer in case
of in_seg == FALSE.

Or it will have memory leakage.

Let me know if I am wrong.

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