diff options
author | Conrad Parker <conrad@users.sourceforge.net> | 2004-12-21 05:24:47 +0000 |
---|---|---|
committer | Conrad Parker <conrad@users.sourceforge.net> | 2004-12-21 05:24:47 +0000 |
commit | 96d8ff7f328532cb057d4ff53eebd1718d9849c1 (patch) | |
tree | a751c26af2a552734f8b44e670902aace6c9142a | |
parent | f16fe177b416bfd225f1a35b652d40c82485ab76 (diff) | |
download | xine-lib-96d8ff7f328532cb057d4ff53eebd1718d9849c1.tar.gz xine-lib-96d8ff7f328532cb057d4ff53eebd1718d9849c1.tar.bz2 |
add BY_CONTENT method for detecting DV streams
CVS patchset: 7291
CVS date: 2004/12/21 05:24:47
-rw-r--r-- | src/demuxers/demux_rawdv.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c index 5dc554cbe..a0bbfdab1 100644 --- a/src/demuxers/demux_rawdv.c +++ b/src/demuxers/demux_rawdv.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_rawdv.c,v 1.21 2004/06/13 21:28:54 miguelfreitas Exp $ + * $Id: demux_rawdv.c,v 1.22 2004/12/21 05:24:47 conrad Exp $ * * demultiplexer for raw dv streams */ @@ -357,6 +357,21 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str switch (stream->content_detection_method) { + case METHOD_BY_CONTENT: { + uint8_t buf[8]; + + if (_x_demux_read_header(input, buf, 8) != 8) + return 0; + + /* DIF (DV) movie file */ + if (!((buf[0] == 0x1f) && (buf[1] == 0x07) && (buf[2] == 00) && + (buf[4] ^ 0x01))) { + free (this); + return NULL; + } + } + break; + case METHOD_BY_EXTENSION: { char *extensions, *mrl; |