summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xine/BluRay/demux_ts.c12
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);