diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2009-11-19 14:58:53 +0200 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2009-11-19 14:58:53 +0200 |
commit | 08fa8374933dc8b923e4fd706a53bab26fe6c00e (patch) | |
tree | af5db836fd2db1316cd5562006a0718f9b962a9d | |
parent | f791bb6196c70f923375f0614f178bddaece877b (diff) | |
download | xine-lib-08fa8374933dc8b923e4fd706a53bab26fe6c00e.tar.gz xine-lib-08fa8374933dc8b923e4fd706a53bab26fe6c00e.tar.bz2 |
Demux VC-1 video (stream type 0xea)
-rw-r--r-- | src/demuxers/demux_ts.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index e52c4c765..e07af9006 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -1,3 +1,4 @@ + /* * Copyright (C) 2000-2003 the xine project * @@ -226,6 +227,8 @@ STREAM_VIDEO_MPEG = 0x80, STREAM_AUDIO_AC3 = 0x81, STREAM_SPU_BITMAP_HDMV = 0x90, + + STREAM_VIDEO_VC1 = 0xea, /* VC-1 Video */ } streamType; #define WRAP_THRESHOLD 270000 @@ -760,6 +763,13 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, p += header_len + 9; packet_len -= header_len + 3; + if (m->descriptor_tag == STREAM_VIDEO_VC1) { + m->content = p; + m->size = packet_len; + m->type = BUF_VIDEO_VC1; + return 1; + } + if (m->descriptor_tag == STREAM_SPU_BITMAP_HDMV) { long payload_len = ((buf[4] << 8) | buf[5]) - header_len - 3; @@ -1330,6 +1340,7 @@ printf("Program Number is %i, looking for %i\n",program_number,this->program_num case ISO_13818_VIDEO: case ISO_14496_PART2_VIDEO: case ISO_14496_PART10_VIDEO: + case STREAM_VIDEO_VC1: if (this->videoPid == INVALID_PID) { #ifdef TS_PMT_LOG printf ("demux_ts: PMT video pid 0x%.4x type %2.2x\n", pid, stream[0]); |