ext/pango/gsttextoverlay.c: Don't unnecessarily ref (and then leak) upstream events...
authorTim-Philipp Müller <tim@centricular.net>
Wed, 24 Jan 2007 12:51:20 +0000 (12:51 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Wed, 24 Jan 2007 12:51:20 +0000 (12:51 +0000)
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
(gst_text_overlay_text_event):
Don't unnecessarily ref (and then leak) upstream events if the text
pad is not linked. Fixes #399948.
* tests/check/gst-plugins-base.supp:
Add suppression for pango on edgy/x86 for textoverlay test.

ChangeLog
ext/pango/gsttextoverlay.c
tests/check/gst-plugins-base.supp

index 8e0d2da12d09c6b94a710db18fd8538b3e588f7f..c745bb3143334d5f7e14112d75001591624a6a2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-24  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
+       (gst_text_overlay_text_event):
+         Don't unnecessarily ref (and then leak) upstream events if the text
+         pad is not linked. Fixes #399948.
+
+       * tests/check/gst-plugins-base.supp:
+         Add suppression for pango on edgy/x86 for textoverlay test.
+
 2007-01-24  Wim Taymans  <wim@fluendo.com>
 
        * gst-libs/gst/rtp/gstrtpbuffer.h:
index 42199a3d7a5c3a23c211faaebe0b0e954c04f1f1..9679f9cdd54f83c4d7883627d7e95b6507b701a4 100644 (file)
@@ -721,11 +721,14 @@ gst_text_overlay_src_event (GstPad * pad, GstEvent * event)
       }
       break;
     default:
-      gst_event_ref (event);
-      ret = gst_pad_push_event (overlay->video_sinkpad, event);
       if (overlay->text_linked) {
-        ret = gst_pad_push_event (overlay->text_sinkpad, event);
+        gst_event_ref (event);
+        ret = gst_pad_push_event (overlay->video_sinkpad, event);
+        gst_pad_push_event (overlay->text_sinkpad, event);
+      } else {
+        ret = gst_pad_push_event (overlay->video_sinkpad, event);
       }
+      break;
   }
 
 beach:
@@ -1120,6 +1123,7 @@ gst_text_overlay_text_event (GstPad * pad, GstEvent * event)
       GST_OBJECT_LOCK (overlay);
       overlay->text_flushing = TRUE;
       overlay->text_eos = TRUE;
+      GST_INFO_OBJECT (overlay, "EOS");
       /* wake up the video chain, it might be waiting for a text buffer or
        * a text segment update */
       GST_TEXT_OVERLAY_BROADCAST (overlay);
index 8b5a0eef320922eeaf923db6b58a4a67007f24b0..336882cc39603f548e57d163fe0c4ae69291c29d 100644 (file)
    fun:theora_encode_YUVin
 }
 
+# Suppression for pango on ubuntu edgy/x86 and textoverlay test
+{
+   <pango>
+   Memcheck:Param
+   access(pathname)
+   fun:access
+   fun:pango_config_key_get
+   fun:pango_find_map
+}