changeset 33374:20285793cdef

Support S302M in the native ts demuxer.
author cehoyos
date Thu, 12 May 2011 21:37:24 +0000
parents 398435ba0e66
children 808a17ae6f7a
files libmpdemux/demux_ts.c
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_ts.c	Thu May 12 18:20:38 2011 +0000
+++ b/libmpdemux/demux_ts.c	Thu May 12 21:37:24 2011 +0000
@@ -81,6 +81,7 @@
 	AUDIO_AAC	= mmioFOURCC('M', 'P', '4', 'A'),
 	AUDIO_AAC_LATM	= mmioFOURCC('M', 'P', '4', 'L'),
 	AUDIO_TRUEHD	= mmioFOURCC('T', 'R', 'H', 'D'),
+	AUDIO_S302M     = mmioFOURCC('B', 'S', 'S', 'D'),
 	SPU_DVD		= 0x3000000,
 	SPU_DVB		= 0x3000001,
 	SPU_TELETEXT	= 0x3000002,
@@ -261,6 +262,7 @@
 	case AUDIO_AAC_LATM:
 	case AUDIO_DTS:
 	case AUDIO_TRUEHD:
+	case AUDIO_S302M:
 		return 1;
 	}
 	return 0;
@@ -893,6 +895,8 @@
 		mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO AAC LATM(pid=%d)", param->apid);
 	else if(param->atype == AUDIO_TRUEHD)
 		mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO TRUEHD(pid=%d)", param->apid);
+	else if(param->atype == AUDIO_S302M)
+		mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO S302M(pid=%d)", param->apid);
 	else
 	{
 		audio_found = 0;
@@ -2354,6 +2358,10 @@
 				{
 					es->type = VIDEO_DIRAC;
 				}
+				else if(d[0] == 'B' && d[1] == 'S' && d[2] == 'S' && d[3] == 'D')
+				{
+					es->type = AUDIO_S302M;
+				}
 				else
 					es->type = UNKNOWN;
 				mp_msg(MSGT_DEMUX, MSGL_DBG2, "FORMAT %s\n", es->format_descriptor);