diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2010-01-06 14:44:22 +0200 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2010-01-06 14:44:22 +0200 |
commit | f717a1a9d3191948f79e6f67a76f8010671dc992 (patch) | |
tree | 8cf4282c5f6288fcf4c1b2291e188b059c99c7d5 /src | |
parent | 84375d46d6d1203732f1c03454f6b8159e45abaf (diff) | |
download | xine-lib-f717a1a9d3191948f79e6f67a76f8010671dc992.tar.gz xine-lib-f717a1a9d3191948f79e6f67a76f8010671dc992.tar.bz2 |
Demux BluRay PCM audio
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/demux_ts.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index cedcbb4a1..6844f6a01 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -821,6 +821,18 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, m->type |= BUF_AUDIO_DTS; return 1; + } else if (m->descriptor_tag == HDMV_AUDIO_80_PCM) { + + m->content = p + 4; + m->size = packet_len - 4; + m->type |= BUF_AUDIO_LPCM_BE; + + m->buf->decoder_flags |= BUF_FLAG_SPECIAL; + m->buf->decoder_info[1] = BUF_SPECIAL_LPCM_CONFIG; + m->buf->decoder_info[2] = (p[3]<<24) | (p[2]<<16) | (p[1]<<8) | p[0]; + + return 1; + } else if (m->descriptor_tag == ISO_13818_PES_PRIVATE && p[0] == 0x20 && p[1] == 0x00) { /* DVBSUB */ @@ -1539,7 +1551,10 @@ printf("Program Number is %i, looking for %i\n",program_number,this->program_num demux_ts_get_reg_desc(this, &format_identifier, stream + 5, stream_info_length); /* If no format identifier, assume A52 */ - if ((format_identifier == 0x41432d33) || (format_identifier == 0)) { + if (( format_identifier == 0x41432d33) || + ( format_identifier == 0) || + ((format_identifier == 0x48444d56 || this->hdmv>0) && stream[0] == HDMV_AUDIO_80_PCM) /* BluRay PCM */) { + demux_ts_pes_new(this, this->media_num, pid, this->audio_fifo, stream[0]); this->audio_tracks[this->audio_tracks_count].pid = pid; this->audio_tracks[this->audio_tracks_count].media_index = this->media_num; |