diff options
author | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2013-05-01 18:09:17 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2013-05-01 18:09:17 +0000 |
commit | 86b68ba2e43b4277330a8b46d0a8c5e3f4520928 (patch) | |
tree | 5fd864944088a332b2803db9be464df6b55fdeb6 | |
parent | d4a9d5ae5c85054add2dcaf18493ae858f4a89ac (diff) | |
download | gstreamer-plugins-bad-86b68ba2e43b4277330a8b46d0a8c5e3f4520928.tar.gz |
mpegdemux: add parsed=false to output video caps for MPEG1/MPEG2/MPEG4/H264
Make sure the video parser gets plugged over a decodersink
with parsed=true in the template caps.
-rw-r--r-- | gst/mpegdemux/gstmpegdemux.c | 7 | ||||
-rw-r--r-- | gst/mpegdemux/gstmpegtsdemux.c | 9 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index 27afa9a2d..b380ee111 100644 --- a/gst/mpegdemux/gstmpegdemux.c +++ b/gst/mpegdemux/gstmpegdemux.c @@ -340,7 +340,8 @@ gst_flups_demux_create_stream (GstFluPSDemux * demux, gint id, gint stream_type) name = g_strdup_printf ("video_%02x", id); caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, mpeg_version, - "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + "systemstream", G_TYPE_BOOLEAN, FALSE, + "parsed", G_TYPE_BOOLEAN, FALSE, NULL); threshold = VIDEO_SEGMENT_THRESHOLD; break; } @@ -373,7 +374,9 @@ gst_flups_demux_create_stream (GstFluPSDemux * demux, gint id, gint stream_type) case ST_VIDEO_H264: template = klass->video_template; name = g_strdup_printf ("video_%02x", id); - caps = gst_caps_new_simple ("video/x-h264", NULL); + caps = gst_caps_new_simple ("video/x-h264", + "stream-format", G_TYPE_STRING, "byte-stream", + "parsed", G_TYPE_BOOLEAN, FALSE, NULL); threshold = VIDEO_SEGMENT_THRESHOLD; break; case ST_PS_AUDIO_AC3: diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c index 78bf6568d..1da278109 100644 --- a/gst/mpegdemux/gstmpegtsdemux.c +++ b/gst/mpegdemux/gstmpegtsdemux.c @@ -677,7 +677,8 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id, name = g_strdup_printf ("video_%04x", stream->PID); caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, stream_type == ST_VIDEO_MPEG1 ? 1 : 2, - "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + "systemstream", G_TYPE_BOOLEAN, FALSE, + "parsed", G_TYPE_BOOLEAN, FALSE, NULL); break; case ST_AUDIO_MPEG1: case ST_AUDIO_MPEG2: @@ -742,14 +743,16 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id, name = g_strdup_printf ("video_%04x", stream->PID); caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 4, - "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + "systemstream", G_TYPE_BOOLEAN, FALSE, + "parsed", G_TYPE_BOOLEAN, FALSE, NULL); break; case ST_VIDEO_H264: template = klass->video_template; name = g_strdup_printf ("video_%04x", stream->PID); caps = gst_caps_new_simple ("video/x-h264", "stream-format", G_TYPE_STRING, "byte-stream", - "alignment", G_TYPE_STRING, "nal", NULL); + "alignment", G_TYPE_STRING, "nal", + "parsed", G_TYPE_BOOLEAN, FALSE, NULL); break; case ST_VIDEO_DIRAC: if (gst_mpegts_is_dirac_stream (stream)) { |