From 09dabd4be60c1f0a2e3132a23abcfa97d544b800 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Thu, 19 Apr 2012 08:27:01 +0000 Subject: [PATCH] v4l2src: Allow mpeg-ts cameras to negociate format This removes an ugly hack until the reason for the hack can be documented --- sys/v4l2/gstv4l2object.c | 6 ++++++ sys/v4l2/v4l2src_calls.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 74d1e83cf0..92df04f3be 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -2235,10 +2235,16 @@ gst_v4l2_object_set_format (GstV4l2Object * v4l2object, GstCaps * caps) GST_V4L2_CHECK_OPEN (v4l2object); GST_V4L2_CHECK_NOT_ACTIVE (v4l2object); + /* MPEG-TS source cameras don't get their format set for some reason. + * It looks wrong and we weren't able to track down the reason for that code + * so it is disabled until someone who has an mpeg-ts camera complains... + */ +#if 0 /* Only unconditionally accept mpegts for sources */ if ((v4l2object->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) && (pixelformat == GST_MAKE_FOURCC ('M', 'P', 'E', 'G'))) goto done; +#endif memset (&format, 0x00, sizeof (struct v4l2_format)); format.type = v4l2object->type; diff --git a/sys/v4l2/v4l2src_calls.c b/sys/v4l2/v4l2src_calls.c index fa9a55cf25..1104d7012c 100644 --- a/sys/v4l2/v4l2src_calls.c +++ b/sys/v4l2/v4l2src_calls.c @@ -215,8 +215,14 @@ gst_v4l2src_set_capture (GstV4l2Src * v4l2src, guint32 pixelformat, gint fd = v4l2src->v4l2object->video_fd; struct v4l2_streamparm stream; + /* MPEG-TS source cameras don't get their format set for some reason. + * It looks wrong and we weren't able to track down the reason for that code + * so it is disabled until someone who has an mpeg-ts camera complains... + */ +#if 0 if (pixelformat == GST_MAKE_FOURCC ('M', 'P', 'E', 'G')) return TRUE; +#endif g_signal_emit_by_name (v4l2src, "prepare-format", v4l2src->v4l2object->video_fd, pixelformat, width, height);