summaryrefslogtreecommitdiff
path: root/omx/gstomxh264enc.c
diff options
context:
space:
mode:
authorPonnam Srinivas <p.srinivas@samsung.com>2017-09-21 15:21:36 +0530
committerSebastian Dröge <sebastian@centricular.com>2017-09-22 11:53:01 +0300
commit1f3663743422e7dbcbc22ec938437bd057151863 (patch)
tree1b628513a057ccbba74561d34988f4839d7b5540 /omx/gstomxh264enc.c
parent27cd61a21a7f1a9d8a7734a3b302df5d8ef98fd1 (diff)
downloadgst-omx-1f3663743422e7dbcbc22ec938437bd057151863.tar.gz
omxh264enc: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=787711
Diffstat (limited to 'omx/gstomxh264enc.c')
-rw-r--r--omx/gstomxh264enc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c
index cebb8c5..8a9c4c4 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 (&param);
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,