From f92f282874addd1091e2d03b25033a12f151eb83 Mon Sep 17 00:00:00 2001
From: Edward Hervey <bilboed@bilboed.com>
Date: Mon, 25 May 2009 15:21:12 +0200
Subject: [PATCH] mpegtsdemux: Add mapping for HDV private streams

---
 gst/mpegdemux/gstmpegdefs.h    |  2 ++
 gst/mpegdemux/gstmpegtsdemux.c | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/gst/mpegdemux/gstmpegdefs.h b/gst/mpegdemux/gstmpegdefs.h
index 7f38f4deb1..d63667d829 100644
--- a/gst/mpegdemux/gstmpegdefs.h
+++ b/gst/mpegdemux/gstmpegdefs.h
@@ -170,6 +170,8 @@
 #define ST_PS_AUDIO_AC3			0x81
 #define ST_PS_AUDIO_DTS			0x8a
 #define ST_PS_AUDIO_LPCM		0x8b
+#define ST_HDV_PRIVATE_A0		0xa0
+#define ST_HDV_PRIVATE_A1		0xa1
 #define ST_PS_DVD_SUBPICTURE            0xff
 
 /* Un-official time-code stream */
diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index 6438e880d7..a4d32e36ae 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -620,6 +620,16 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id,
         caps = gst_caps_new_simple ("private/teletext", NULL);
       }
       break;
+    case ST_HDV_PRIVATE_A0:
+      template = klass->private_template;
+      name = g_strdup_printf ("private_%04x", stream->PID);
+      caps = gst_caps_new_simple ("private/hdv-a0", NULL);
+      break;
+    case ST_HDV_PRIVATE_A1:
+      template = klass->private_template;
+      name = g_strdup_printf ("private_%04x", stream->PID);
+      caps = gst_caps_new_simple ("private/hdv-a1", NULL);
+      break;
     case ST_PRIVATE_SECTIONS:
     case ST_MHEG:
     case ST_DSMCC: