|
@@ -0,0 +1,89 @@
+--- src/demuxers/demux_ts.c.orig 2008-06-15 01:15:00.000000000 +0200
++++ src/demuxers/demux_ts.c 2008-06-21 22:59:30.000000000 +0200
+@@ -756,7 +756,7 @@
+ (p[0] == 0x0B && p[1] == 0x77)) { /* ac3 - syncword */
+ m->content = p;
+ m->size = packet_len;
+- m->type = BUF_AUDIO_A52;
++ m->type |= BUF_AUDIO_A52;
+ return 1;
+
+ } else if (m->descriptor_tag == ISO_13818_PES_PRIVATE
+@@ -766,7 +766,7 @@
+
+ m->content = p;
+ m->size = packet_len;
+- m->type = BUF_SPU_DVB;
++ m->type |= BUF_SPU_DVB;
+ m->buf->decoder_info[2] = payload_len;
+ return 1;
+ } else if ((p[0] & 0xE0) == 0x20) {
+@@ -774,13 +774,13 @@
+
+ m->content = p+1;
+ m->size = packet_len-1;
+- m->type = BUF_SPU_DVD + spu_id;
++ m->type |= BUF_SPU_DVD + spu_id;
+ return 1;
+ } else if ((p[0] & 0xF0) == 0x80) {
+
+ m->content = p+4;
+ m->size = packet_len - 4;
+- m->type = BUF_AUDIO_A52;
++ m->type |= BUF_AUDIO_A52;
+ return 1;
+
+ } else if ((p[0]&0xf0) == 0xa0) {
+@@ -796,7 +796,7 @@
+
+ m->content = p+pcm_offset;
+ m->size = packet_len-pcm_offset;
+- m->type = BUF_AUDIO_LPCM_BE;
++ m->type |= BUF_AUDIO_LPCM_BE;
+ return 1;
+ }
+
+@@ -809,19 +809,19 @@
+ case ISO_13818_VIDEO:
+ case STREAM_VIDEO_MPEG:
+ lprintf ("demux_ts: found MPEG video type.\n");
+- m->type = BUF_VIDEO_MPEG;
++ m->type |= BUF_VIDEO_MPEG;
+ break;
+ case ISO_14496_PART2_VIDEO:
+ lprintf ("demux_ts: found MPEG4 video type.\n");
+- m->type = BUF_VIDEO_MPEG4;
++ m->type |= BUF_VIDEO_MPEG4;
+ break;
+ case ISO_14496_PART10_VIDEO:
+ lprintf ("demux_ts: found H264 video type.\n");
+- m->type = BUF_VIDEO_H264;
++ m->type |= BUF_VIDEO_H264;
+ break;
+ default:
+ lprintf ("demux_ts: unknown video type: %d, defaulting to MPEG.\n", m->descriptor_tag);
+- m->type = BUF_VIDEO_MPEG;
++ m->type |= BUF_VIDEO_MPEG;
+ break;
+ }
+ return 1;
+@@ -834,16 +834,16 @@
+ case ISO_11172_AUDIO:
+ case ISO_13818_AUDIO:
+ lprintf ("demux_ts: found MPEG audio track.\n");
+- m->type = BUF_AUDIO_MPEG;
++ m->type |= BUF_AUDIO_MPEG;
+ break;
+ case ISO_13818_PART7_AUDIO:
+ case ISO_14496_PART3_AUDIO:
+ lprintf ("demux_ts: found AAC audio track.\n");
+- m->type = BUF_AUDIO_AAC;
++ m->type |= BUF_AUDIO_AAC;
+ break;
+ default:
+ lprintf ("demux_ts: unknown audio type: %d, defaulting to MPEG.\n", m->descriptor_tag);
+- m->type = BUF_AUDIO_MPEG;
++ m->type |= BUF_AUDIO_MPEG;
+ break;
+ }
+ return 1;
|