v4l2src: Allow mpeg-ts cameras to negociate format
authorYouness Alaoui <youness.alaoui@collabora.co.uk>
Thu, 19 Apr 2012 08:27:01 +0000 (08:27 +0000)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 19 Apr 2012 08:31:18 +0000 (10:31 +0200)
This removes an ugly hack until the reason for the hack can be documented

sys/v4l2/gstv4l2object.c
sys/v4l2/v4l2src_calls.c

index 74d1e83..92df04f 100644 (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;
index fa9a55c..1104d70 100644 (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);