summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@collabora.com>2013-07-27 12:17:34 +0200
committerEdward Hervey <edward@collabora.com>2013-07-27 12:18:36 +0200
commite6ebd9024ecf22a24cad30968880ab5419c951d1 (patch)
tree2394fc3ecc7d8dbc1c66fbcec458a936654f5876
parent2c4f994db4027f832239e3418fac5ebbacae9549 (diff)
downloadgstreamer-plugins-bad-e6ebd9024ecf22a24cad30968880ab5419c951d1.tar.gz
tsdemux: HDV only has mpeg 1 audio layer 2
Set that accordingly on the caps
-rw-r--r--gst/mpegtsdemux/gstmpegdesc.h1
-rw-r--r--gst/mpegtsdemux/tsdemux.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h
index 22fa679ae..6bb9d4ce3 100644
--- a/gst/mpegtsdemux/gstmpegdesc.h
+++ b/gst/mpegtsdemux/gstmpegdesc.h
@@ -225,5 +225,6 @@
#define DRF_ID_DTS2 0x44545332
#define DRF_ID_DTS3 0x44545333
#define DRF_ID_S302M 0x42535344
+#define DRF_ID_TSHV 0x54534856
#endif /* __GST_MPEG_DESC_H__ */
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 0ebfba93a..21b2d3f21 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -780,6 +780,9 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
caps =
gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 1,
NULL);
+ /* HDV is always mpeg 1 audio layer 2 */
+ if (program->registration_id == DRF_ID_TSHV)
+ gst_caps_set_simple (caps, "layer", G_TYPE_INT, 2, NULL);
break;
case GST_MPEG_TS_STREAM_TYPE_PRIVATE_PES_PACKETS:
GST_LOG ("private data");