tsdemux: HDV only has mpeg 1 audio layer 2
authorEdward Hervey <edward@collabora.com>
Sat, 27 Jul 2013 10:17:34 +0000 (12:17 +0200)
committerEdward Hervey <edward@collabora.com>
Sat, 27 Jul 2013 10:18:36 +0000 (12:18 +0200)
Set that accordingly on the caps

gst/mpegtsdemux/gstmpegdesc.h
gst/mpegtsdemux/tsdemux.c

index 22fa679..6bb9d4c 100644 (file)
 #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__ */
index 0ebfba9..21b2d3f 100644 (file)
@@ -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");