summaryrefslogtreecommitdiff
path: root/xine
diff options
context:
space:
mode:
authorphintuka <phintuka>2013-01-06 21:23:44 +0000
committerphintuka <phintuka>2013-01-06 21:23:44 +0000
commit19a008fb1709dda93dfe84ecca7bb3a019998e72 (patch)
treed1110ae6c4814936de96fd07988d6095e5ea4fa9 /xine
parent793aa61b1d9c71777e88a7a71ce434a090ef553f (diff)
downloadxineliboutput-19a008fb1709dda93dfe84ecca7bb3a019998e72.tar.gz
xineliboutput-19a008fb1709dda93dfe84ecca7bb3a019998e72.tar.bz2
Support for HDMV format PMT. Demux audio streams, ignore graphics streams.
Diffstat (limited to 'xine')
-rw-r--r--xine/ts2es.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/xine/ts2es.c b/xine/ts2es.c
index 9b6c0de0..0dd420cd 100644
--- a/xine/ts2es.c
+++ b/xine/ts2es.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: ts2es.c,v 1.19 2013-01-06 21:20:11 phintuka Exp $
+ * $Id: ts2es.c,v 1.20 2013-01-06 21:23:44 phintuka Exp $
*
*/
@@ -81,6 +81,17 @@ static void ts2es_parse_pes(ts2es_t *this)
/* parse substream header */
+ if (this->stream_type == HDMV_AUDIO_80_PCM) {
+
+ this->buf->decoder_flags |= BUF_FLAG_SPECIAL;
+ this->buf->decoder_info[1] = BUF_SPECIAL_LPCM_CONFIG;
+ this->buf->decoder_info[2] = (this->buf->content[3] << 24) | (this->buf->content[2] << 16) |
+ (this->buf->content[1] << 8) | this->buf->content[0];
+ this->buf->content += 4;
+ this->buf->size -= 4;
+ return;
+ }
+
if (pes_pid != PRIVATE_STREAM1)
return;
@@ -317,18 +328,27 @@ ts2es_t *ts2es_init(fifo_buffer_t *dst_fifo, ts_stream_type stream_type, uint st
/* RAW AC3 */
case STREAM_AUDIO_AC3:
+ case HDMV_AUDIO_83_TRUEHD:
data->xine_buf_type = BUF_AUDIO_A52;
break;
/* EAC3 (xine-lib > 1.1.18.1) */
#ifdef BUF_AUDIO_EAC3
case STREAM_AUDIO_EAC3:
+ case HDMV_AUDIO_84_EAC3:
data->xine_buf_type = BUF_AUDIO_EAC3;
break;
#endif
+ case HDMV_AUDIO_80_PCM:
+ data->xine_type = BUF_AUDIO_LPCM_BE;
+ break;
+
/* DTS (PES stream 0xbd) */
- case STREAM_AUDIO_DTS:
+ case STREAM_AUDIO_DTS:
+ case HDMV_AUDIO_82_DTS:
+ case HDMV_AUDIO_85_DTS_HRA:
+ case HDMV_AUDIO_86_DTS_HD_MA:
data->xine_buf_type = BUF_AUDIO_DTS;
break;