summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2013-03-01 12:18:08 +0100
committerJosep Torra <n770galaxy@gmail.com>2013-03-01 12:34:11 +0100
commitcc512d7fc4b8db82ca86049213448ad901c07863 (patch)
tree0435e1ec4622c5259a9bbdffecaa53ce0ebde1f1
parentfc92d1c2d05df7f99884685edcba7dafc49ef3e4 (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.c7
-rw-r--r--omx/gstomxh264enc.c7
-rw-r--r--omx/gstomxmpeg4videoenc.c7
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;