diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-03-01 12:18:08 +0100 |
---|---|---|
committer | Josep Torra <n770galaxy@gmail.com> | 2013-03-01 12:34:11 +0100 |
commit | cc512d7fc4b8db82ca86049213448ad901c07863 (patch) | |
tree | 0435e1ec4622c5259a9bbdffecaa53ce0ebde1f1 | |
parent | fc92d1c2d05df7f99884685edcba7dafc49ef3e4 (diff) |
omxvideoenc: Set the coding type in the subclasses to the specific codec
Conflicts:
omx/gstomxh263enc.c
omx/gstomxh264enc.c
omx/gstomxmpeg4videoenc.c
-rw-r--r-- | omx/gstomxh263enc.c | 7 | ||||
-rw-r--r-- | omx/gstomxh264enc.c | 7 | ||||
-rw-r--r-- | omx/gstomxmpeg4videoenc.c | 7 |
3 files changed, 21 insertions, 0 deletions
diff --git a/omx/gstomxh263enc.c b/omx/gstomxh263enc.c index af18839..ec8cb5e 100644 --- a/omx/gstomxh263enc.c +++ b/omx/gstomxh263enc.c @@ -90,12 +90,19 @@ gst_omx_h263_enc_set_format (GstOMXVideoEnc * enc, GstOMXPort * port, { GstOMXH263Enc *self = GST_OMX_H263_ENC (enc); GstCaps *peercaps; + OMX_PARAM_PORTDEFINITIONTYPE port_def; OMX_VIDEO_H263PROFILETYPE profile = OMX_VIDEO_H263ProfileBaseline; OMX_VIDEO_H263LEVELTYPE level = OMX_VIDEO_H263Level10; OMX_VIDEO_PARAM_PROFILELEVELTYPE param; OMX_ERRORTYPE err; guint profile_id, level_id; + gst_omx_port_get_port_definition (port, &port_def); + port_def.format.video.eCompressionFormat = OMX_VIDEO_CodingH263; + err = gst_omx_port_update_port_definition (port, &port_def); + if (err != OMX_ErrorNone) + return FALSE; + peercaps = gst_pad_peer_get_caps (GST_VIDEO_ENCODER_SRC_PAD (enc)); if (peercaps) { GstStructure *s; diff --git a/omx/gstomxh264enc.c b/omx/gstomxh264enc.c index 958d793..d517d9d 100644 --- a/omx/gstomxh264enc.c +++ b/omx/gstomxh264enc.c @@ -94,12 +94,19 @@ gst_omx_h264_enc_set_format (GstOMXVideoEnc * enc, GstOMXPort * port, { GstOMXH264Enc *self = GST_OMX_H264_ENC (enc); GstCaps *peercaps; + OMX_PARAM_PORTDEFINITIONTYPE port_def; OMX_VIDEO_AVCPROFILETYPE profile = OMX_VIDEO_AVCProfileBaseline; OMX_VIDEO_AVCLEVELTYPE level = OMX_VIDEO_AVCLevel11; OMX_VIDEO_PARAM_PROFILELEVELTYPE param; OMX_ERRORTYPE err; const gchar *profile_string, *level_string; + gst_omx_port_get_port_definition (port, &port_def); + port_def.format.video.eCompressionFormat = OMX_VIDEO_CodingAVC; + err = gst_omx_port_update_port_definition (port, &port_def); + if (err != OMX_ErrorNone) + return FALSE; + peercaps = gst_pad_peer_get_caps (GST_VIDEO_ENCODER_SRC_PAD (enc)); if (peercaps) { GstStructure *s; diff --git a/omx/gstomxmpeg4videoenc.c b/omx/gstomxmpeg4videoenc.c index d6c81a2..10d0b23 100644 --- a/omx/gstomxmpeg4videoenc.c +++ b/omx/gstomxmpeg4videoenc.c @@ -95,12 +95,19 @@ gst_omx_mpeg4_video_enc_set_format (GstOMXVideoEnc * enc, GstOMXPort * port, { GstOMXMPEG4VideoEnc *self = GST_OMX_MPEG4_VIDEO_ENC (enc); GstCaps *peercaps, *intersection; + OMX_PARAM_PORTDEFINITIONTYPE port_def; OMX_VIDEO_MPEG4PROFILETYPE profile = OMX_VIDEO_MPEG4ProfileSimple; OMX_VIDEO_MPEG4LEVELTYPE level = OMX_VIDEO_MPEG4Level1; OMX_VIDEO_PARAM_PROFILELEVELTYPE param; OMX_ERRORTYPE err; const gchar *profile_string, *level_string; + gst_omx_port_get_port_definition (port, &port_def); + port_def.format.video.eCompressionFormat = OMX_VIDEO_CodingMPEG4; + err = gst_omx_port_update_port_definition (port, &port_def); + if (err != OMX_ErrorNone) + return FALSE; + peercaps = gst_pad_peer_get_caps (GST_VIDEO_ENCODER_SRC_PAD (enc)); if (peercaps) { GstStructure *s; |