summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2023-02-07 08:49:24 +0100
committerTim-Philipp Müller <tim@centricular.com>2023-02-07 17:28:25 +0000
commit854beabd209259ebc8fa5dd2980fa699d3f39cb6 (patch)
tree8c1fe48f632fe29af473fda3ebc2a4110f8c88aa
parent23c45c269fc5339f775537d8d7c95a5cc09f124f (diff)
downloadgstreamer-854beabd209259ebc8fa5dd2980fa699d3f39cb6.tar.gz
closedcaption: Don't leak caps event
All events that we handle should be unreffed Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3907>
-rw-r--r--subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c b/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
index 4327648c43..dbcecfef1f 100644
--- a/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
+++ b/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
@@ -1000,7 +1000,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
("received non-TIME newsegment event on text input"));
}
- gst_event_unref (event);
ret = TRUE;
/* wake up the video chain, it might be waiting for a text buffer or
@@ -1027,7 +1026,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
}
@@ -1039,7 +1037,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_cea_cc_overlay_pop_text (overlay);
gst_segment_init (&overlay->cc_segment, GST_FORMAT_TIME);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
case GST_EVENT_FLUSH_START:
@@ -1048,7 +1045,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
overlay->cc_flushing = TRUE;
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
case GST_EVENT_EOS:
@@ -1059,14 +1055,18 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
* a text segment update */
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
default:
- ret = gst_pad_event_default (pad, parent, event);
break;
}
+ if (ret) {
+ gst_event_unref (event);
+ } else {
+ ret = gst_pad_event_default (pad, parent, event);
+ }
+
return ret;
}