From 1f3663743422e7dbcbc22ec938437bd057151863 Mon Sep 17 00:00:00 2001
From: Ponnam Srinivas
Date: Thu, 21 Sep 2017 15:21:36 +0530
Subject: [PATCH] omxh264enc: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=787711
---
omx/gstomxh264enc.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c
index cebb8c5e98..8a9c4c4bb6 100644
--- a/omx/gstomxh264enc.c
+++ b/omx/gstomxh264enc.c
@@ -605,10 +605,6 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
OMX_VIDEO_PARAM_PROFILELEVELTYPE param;
const gchar *profile, *level;
- caps = gst_caps_new_simple ("video/x-h264",
- "stream-format", G_TYPE_STRING, "byte-stream",
- "alignment", G_TYPE_STRING, "au", NULL);
-
GST_OMX_INIT_STRUCT (¶m);
param.nPortIndex = GST_OMX_VIDEO_ENC (self)->enc_out_port->index;
@@ -618,6 +614,10 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
if (err != OMX_ErrorNone && err != OMX_ErrorUnsupportedIndex)
return NULL;
+ caps = gst_caps_new_simple ("video/x-h264",
+ "stream-format", G_TYPE_STRING, "byte-stream",
+ "alignment", G_TYPE_STRING, "au", NULL);
+
if (err == OMX_ErrorNone) {
switch (param.eProfile) {
case OMX_VIDEO_AVCProfileBaseline:
@@ -643,6 +643,7 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
break;
default:
g_assert_not_reached ();
+ gst_caps_unref (caps);
return NULL;
}
@@ -697,6 +698,7 @@ gst_omx_h264_enc_get_caps (GstOMXVideoEnc * enc, GstOMXPort * port,
break;
default:
g_assert_not_reached ();
+ gst_caps_unref (caps);
return NULL;
}
gst_caps_set_simple (caps,