diff options
author | Ponnam Srinivas <p.srinivas@samsung.com> | 2017-09-21 15:21:36 +0530 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-09-22 11:53:01 +0300 |
commit | 1f3663743422e7dbcbc22ec938437bd057151863 (patch) | |
tree | 1b628513a057ccbba74561d34988f4839d7b5540 /omx | |
parent | 27cd61a21a7f1a9d8a7734a3b302df5d8ef98fd1 (diff) | |
download | gst-omx-1f3663743422e7dbcbc22ec938437bd057151863.tar.gz |
omxh264enc: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=787711
Diffstat (limited to 'omx')
-rw-r--r-- | omx/gstomxh264enc.c | 10 |
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 (¶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, |