diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-18 13:07:29 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-18 13:07:29 +0000 |
commit | 3b3fb1b8861607b74a36e29695ff7ec2a9e98d84 (patch) | |
tree | 8b42c4d03ca518096ff94e696ccd5954c1513333 | |
parent | 82b4ed914e70dc22bbe5ee56fa6ad678fbec0766 (diff) | |
download | xine-lib-3b3fb1b8861607b74a36e29695ff7ec2a9e98d84.tar.gz xine-lib-3b3fb1b8861607b74a36e29695ff7ec2a9e98d84.tar.bz2 |
resort the checks so that DVD playback finally works
(without eating the first stillframes)
CVS patchset: 3293
CVS date: 2002/11/18 13:07:29
-rw-r--r-- | src/demuxers/demux_mpeg_block.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 636ee8f4a..b2b888296 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpeg_block.c,v 1.143 2002/11/18 11:44:55 mroi Exp $ + * $Id: demux_mpeg_block.c,v 1.144 2002/11/18 13:07:29 mroi Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -1063,28 +1063,30 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str mrl = input->get_mrl (input); - ending = strrchr(mrl, '.'); - - if (!ending) { - free (this->scratch_base); - free (this); - return NULL; - } - if ( (!strncasecmp (ending, ".vob", 4)) || - (!strncmp((ending + 3), "mpeg2", 5)) || - (!strncmp((ending + 3), "mpeg1", 5)) ) { - this->blocksize = 2048; - demux_mpeg_block_accept_input(this, input); - } else if(!strncmp(mrl, "vcd", 3)) { + if(!strncmp(mrl, "vcd", 3)) { this->blocksize = 2324; demux_mpeg_block_accept_input (this, input); } else if(!strncmp(mrl, "dvd", 3)) { this->blocksize = 2048; demux_mpeg_block_accept_input (this, input); } else { - free (this->scratch_base); - free (this); - return NULL; + ending = strrchr(mrl, '.'); + + if (!ending) { + free (this->scratch_base); + free (this); + return NULL; + } + if ( (!strncasecmp (ending, ".vob", 4)) || + (!strncmp((ending + 3), "mpeg2", 5)) || + (!strncmp((ending + 3), "mpeg1", 5)) ) { + this->blocksize = 2048; + demux_mpeg_block_accept_input(this, input); + } else { + free (this->scratch_base); + free (this); + return NULL; + } } } break; |