diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h index 22fa679aec..6bb9d4ce38 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 0ebfba93ab..21b2d3f213 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");