slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mpegtsmux/ gst-plugins-bad/gst/mpegtsmux/tsmux/
[email protected] Mon, 24 Nov 2008 02:46:15 -0800 (PST)
Newsgroups
gmane.comp.video.gstreamer.cvs
Message-ID
<[email protected] >
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Mon Nov 24 2008 10:46:15 UTC
Log message:
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.
Modified files:
. : ChangeLog
gst/mpegtsmux : mpegtsmux.c
gst/mpegtsmux/tsmux: tsmuxstream.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3734&r2=1.3735
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mpegtsmux/mpegtsmux.c.diff?r1=1.4&r2=1.5
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c.diff?r1=1.2&r2=1.3
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3734
retrieving revision 1.3735
diff -u -d -r1.3734 -r1.3735
--- ChangeLog 24 Nov 2008 10:41:11 -0000 1.3734
+++ ChangeLog 24 Nov 2008 10:46:00 -0000 1.3735
@@ -1,5 +1,14 @@
2008-11-24 Sebastian Dröge <[email protected] >
+ 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.
+2008-11-24 Sebastian Dröge <[email protected] >
* gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_klv_packet),
(gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_chain):
* gst/mxf/mxfparse.c: (mxf_product_version_parse),
Index: mpegtsmux.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mpegtsmux/mpegtsmux.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mpegtsmux.c 27 Oct 2008 08:52:50 -0000 1.4
+++ mpegtsmux.c 24 Nov 2008 10:46:01 -0000 1.5
@@ -103,11 +103,20 @@
GST_STATIC_PAD_TEMPLATE ("sink_%d",
GST_PAD_SINK,
GST_PAD_REQUEST,
- GST_STATIC_CAPS ("video/mpeg, mpegversion=(int) { 1, 2, 4 }, "
+ GST_STATIC_CAPS ("video/mpeg, "
+ "mpegversion = (int) { 1, 2, 4 }, "
"systemstream = (boolean) false; "
"video/x-dirac;"
- "video/x-h264;" "audio/mpeg, mpegversion = (int) { 1, 2, 4 }")
- );
+ "video/x-h264;"
+ "audio/mpeg, "
+ "mpegversion = (int) { 1, 2, 4 };"
+ "audio/x-lpcm, "
+ "width = (int) { 16, 20, 24 }, "
+ "rate = (int) { 48000, 96000 }, "
+ "channels = (int) [ 1, 8 ], "
+ "dynamic_range = (int) [ 0, 255 ], "
+ "emphasis = (boolean) { FALSE, TRUE }, "
+ "mute = (boolean) { FALSE, TRUE }; " "audio/x-ac3;" "audio/x-dts"));
static GstStaticPadTemplate mpegtsmux_src_factory =
GST_STATIC_PAD_TEMPLATE ("src",
@@ -285,6 +294,19 @@
ts_data->pid);
ts_data->stream = tsmux_create_stream (mux->tsmux, TSMUX_ST_VIDEO_DIRAC,
+ } else if (gst_structure_has_name (s, "audio/x-ac3")) {
+ GST_DEBUG_OBJECT (pad, "Creating AC3 stream with PID 0x%04x", ts_data->pid);
+ ts_data->stream = tsmux_create_stream (mux->tsmux, TSMUX_ST_PS_AUDIO_AC3,
+ ts_data->pid);
+ } else if (gst_structure_has_name (s, "audio/x-dts")) {
+ GST_DEBUG_OBJECT (pad, "Creating DTS stream with PID 0x%04x", ts_data->pid);
+ ts_data->stream = tsmux_create_stream (mux->tsmux, TSMUX_ST_PS_AUDIO_DTS,
+ } else if (gst_structure_has_name (s, "audio/x-lpcm")) {
+ GST_DEBUG_OBJECT (pad, "Creating LPCM stream with PID 0x%04x",
+ ts_data->stream = tsmux_create_stream (mux->tsmux, TSMUX_ST_PS_AUDIO_LPCM,
} else if (gst_structure_has_name (s, "video/x-h264")) {
const GValue *value;
GST_DEBUG_OBJECT (pad, "Creating H264 stream with PID 0x%04x",
Index: tsmuxstream.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- tsmuxstream.c 1 Sep 2008 17:49:59 -0000 1.2
+++ tsmuxstream.c 24 Nov 2008 10:46:01 -0000 1.3
@@ -143,14 +143,31 @@
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;
+ case TSMUX_ST_PS_AUDIO_AC3:
+ stream->id_extended = 0x81;
+ case TSMUX_ST_PS_AUDIO_DTS:
+ stream->id_extended = 0x82;
+ default:
+ }
stream->pi.flags |=
TSMUX_PACKET_FLAG_PES_FULL_HEADER |
TSMUX_PACKET_FLAG_PES_EXT_STREAMID;
- stream->is_video_stream = TRUE;
default:
g_critical ("Stream type 0x%0x not yet implemented", stream_type);
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose