summaryrefslogtreecommitdiff
path: root/gst/mpegtsmux/tsmux/tsmuxstream.c
diff options
context:
space:
mode:
authorvanista <vanista@gmail.com>2008-11-24 10:46:01 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-11-24 10:46:01 +0000
commit2082d618f99327f27a76a2296c2846923c1bddf2 (patch)
treec3ea6dd9e3e1fc2dc7aa3e93eea994075005904b /gst/mpegtsmux/tsmux/tsmuxstream.c
parentfa9ccc1eca9c3c4472d6e7946e59d958382a764f (diff)
downloadgstreamer-plugins-bad-2082d618f99327f27a76a2296c2846923c1bddf2.tar.gz
gst/mpegtsmux/: Add initial support for muxing AC3/DTS/LPCM into MPEG TS.
Original commit message from CVS: Patch by: vanista <vanista at gmail dot com> * gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_create_stream): * gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new): Add initial support for muxing AC3/DTS/LPCM into MPEG TS. Fixes bug #550613.
Diffstat (limited to 'gst/mpegtsmux/tsmux/tsmuxstream.c')
-rw-r--r--gst/mpegtsmux/tsmux/tsmuxstream.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c
index 342bb9ea5..0c2127107 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.c
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.c
@@ -143,14 +143,31 @@ tsmux_stream_new (guint16 pid, TsMuxStreamType stream_type)
stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
break;
case TSMUX_ST_VIDEO_DIRAC:
+ case TSMUX_ST_PS_AUDIO_LPCM:
+ case TSMUX_ST_PS_AUDIO_AC3:
+ case TSMUX_ST_PS_AUDIO_DTS:
stream->id = 0xFD;
/* FIXME: assign sequential extended IDs? */
- stream->id_extended = 0x60;
-
+ switch (stream_type) {
+ case TSMUX_ST_VIDEO_DIRAC:
+ stream->id_extended = 0x60;
+ stream->is_video_stream = TRUE;
+ break;
+ case TSMUX_ST_PS_AUDIO_LPCM:
+ stream->id_extended = 0x80;
+ break;
+ case TSMUX_ST_PS_AUDIO_AC3:
+ stream->id_extended = 0x81;
+ break;
+ case TSMUX_ST_PS_AUDIO_DTS:
+ stream->id_extended = 0x82;
+ break;
+ default:
+ break;
+ }
stream->pi.flags |=
TSMUX_PACKET_FLAG_PES_FULL_HEADER |
TSMUX_PACKET_FLAG_PES_EXT_STREAMID;
- stream->is_video_stream = TRUE;
break;
default:
g_critical ("Stream type 0x%0x not yet implemented", stream_type);