Commit 517f50f5 authored by William Manley's avatar William Manley Committed by Nicolas Dufresne
Browse files

v4l2src: Fix support for mpegts streams

It seems that GStreamer's mpegts elements (tsdemux, tsparse) require caps
`video/mpegts,systemstream=true`.  As far as I can see the significance
of systemstream is to indicate that this is a container format rather than
an elementary stream.  As this is the case (and I can't understand how it
could not be the case with mpegts) I add systemstream=true to v4l2src's
caps.

This allows v4l2src to be linked with tsdemux for playback from my
Hauppauge HD-PVR with the pipeline:

    v4l2src ! queue ! tsdemux ! video/x-h264 ! decodebin ! xvimagesink

In combination with the next commit this fixes using Hauppauge HD-PVR with
GStreamer 1.0+.
parent 4d0e1a45
......@@ -1232,7 +1232,8 @@ gst_v4l2_object_v4l2fourcc_to_structure (guint32 fourcc)
NULL);
break;
case V4L2_PIX_FMT_MPEG: /* MPEG */
structure = gst_structure_new_empty ("video/mpegts");
structure = gst_structure_new ("video/mpegts",
"systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
break;
case V4L2_PIX_FMT_WNVA: /* Winnov hw compres */
break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment