summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2013-05-01 18:09:17 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2013-05-01 18:09:17 +0000
commit86b68ba2e43b4277330a8b46d0a8c5e3f4520928 (patch)
tree5fd864944088a332b2803db9be464df6b55fdeb6
parentd4a9d5ae5c85054add2dcaf18493ae858f4a89ac (diff)
downloadgstreamer-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.c7
-rw-r--r--gst/mpegdemux/gstmpegtsdemux.c9
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)) {