[Bug 725860] v4l2src: Fix using v4l2src with Hauppauge HDPVR video capture device

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Mar 7 06:31:53 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=725860
  GStreamer | gst-plugins-good | 1.2.3

--- Comment #11 from Will Manley <gnome at williammanley.net> 2014-03-07 14:54:42 UTC ---
(In reply to comment #9)
> Review of attachment 271165 [details]:
> 
> That seems fair, though is this how MPEG support is defined in V4L2 or is this
> only this way for this driver ?

The v4l2 documentation[1] says:

> Identifier           Code      Details
>
> V4L2_PIX_FMT_MPEG    'MPEG'    MPEG stream. The actual format is determined by
>                                extended control V4L2_CID_MPEG_STREAM_TYPE, see
>                                Table 1.2, “MPEG Control IDs”.

Table 1.2 in turn says:

> V4L2_CID_MPEG_STREAM_TYPE    enum v4l2_mpeg_stream_type	 
>    The MPEG-1, -2 or -4 output stream type. One cannot assume anything here.
>    Each hardware MPEG encoder tends to support different subsets of the
>    available MPEG stream types. The currently defined stream types are:
>
>    V4L2_MPEG_STREAM_TYPE_MPEG2_PS     MPEG-2 program stream
>    V4L2_MPEG_STREAM_TYPE_MPEG2_TS     MPEG-2 transport stream
>    V4L2_MPEG_STREAM_TYPE_MPEG1_SS     MPEG-1 system stream
>    V4L2_MPEG_STREAM_TYPE_MPEG2_DVD    MPEG-2 DVD-compatible stream
>    V4L2_MPEG_STREAM_TYPE_MPEG1_VCD    MPEG-1 VCD-compatible stream
>    V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD   MPEG-2 SVCD-compatible stream

So currently GStreamer doesn't check V4L2_CID_MPEG_STREAM_TYPE and just assumes
V4L2_MPEG_STREAM_TYPE_MPEG2_TS.

As far as I can see "video/mpegts,systemstream=true" is how mpegts is
represented in terms of GStreamer caps.  I do find this confusing as
systemstream=true doesn't seem to confer any additional information.  I would
happy to be corrected by someone who knows better though.  This systemstream
thing has been puzzling me.

IOW the v4l2 spec doesn't specify any way of having
"video/mpegts,systemstream=false" because the concept only seems to exist in
GStreamer AFAICS and doesn't correspond to any real video or container format. 
Therefore it has to be systemstream=true.

[1]:
http://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec-single/v4l2.html#id2809728

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list