diff options
| author | phintuka <phintuka> | 2011-08-02 17:44:54 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2011-08-02 17:44:54 +0000 |
| commit | a897d48ffe7d0bae393373cbdf98d239682b4291 (patch) | |
| tree | 0fdabb55b81708c982570f5568f0b9ad25e36e7d | |
| parent | 44f8ce93d27bbca8500369a7cb89914249c8276e (diff) | |
| download | xineliboutput-a897d48ffe7d0bae393373cbdf98d239682b4291.tar.gz xineliboutput-a897d48ffe7d0bae393373cbdf98d239682b4291.tar.bz2 | |
demux_ts: packet content should be checked for AC3 syncword after checking all descriptors
| -rw-r--r-- | xine/BluRay/demux_ts.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/xine/BluRay/demux_ts.c b/xine/BluRay/demux_ts.c index 2bd47eea..26bc68b5 100644 --- a/xine/BluRay/demux_ts.c +++ b/xine/BluRay/demux_ts.c @@ -861,9 +861,8 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, m->type |= BUF_AUDIO_EAC3; return 1; - } else if((m->descriptor_tag == STREAM_AUDIO_AC3) || /* ac3 - raw */ - (p[0] == 0x0B && p[1] == 0x77)) { /* ac3 - syncword */ - m->content = p; + } else if (m->descriptor_tag == STREAM_AUDIO_AC3) { /* ac3 - raw */ + m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_A52; return 1; @@ -912,6 +911,13 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, m->type |= BUF_SPU_DVB; m->buf->decoder_info[2] = payload_len; return 1; + + } else if (p[0] == 0x0B && p[1] == 0x77) { /* ac3 - syncword */ + m->content = p; + m->size = packet_len; + m->type |= BUF_AUDIO_A52; + return 1; + } else if ((p[0] & 0xE0) == 0x20) { spu_id = (p[0] & 0x1f); |
