v4l2src: Allow mpeg-ts cameras to negociate format

This removes an ugly hack until the reason for the hack can be documented
This commit is contained in:
Youness Alaoui 2012-04-19 08:27:01 +00:00 committed by Sebastian Dröge
parent e7a76badc5
commit 09dabd4be6
2 changed files with 12 additions and 0 deletions

View file

@ -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;

View file

@ -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);