v4l2src: Fix support for mpegts streams
authorWilliam Manley <will@williammanley.net>
Sat, 29 Mar 2014 21:21:17 +0000 (17:21 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Sat, 29 Mar 2014 21:21:17 +0000 (17:21 -0400)
commit517f50f54f02c746c95c47c8683e2a0d61cfc8d3
tree28c1154c6446e6c131660295ecbb34f1e99aeaf2
parent4d0e1a4536e010ecfb48d40fcde65246d655c84b
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+.
sys/v4l2/gstv4l2object.c