]> git.sesse.net Git - vlc/blobdiff - modules/packetizer/mpegvideo.c
* added a sanity lock
[vlc] / modules / packetizer / mpegvideo.c
index cc8f8590aa461c7135bd6b383c5a91082934aad8..bf7a2a7d085d09cfb0eb6dbdf851bb71c88c3547 100644 (file)
@@ -2,7 +2,7 @@
  * mpegvideo.c
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: mpegvideo.c,v 1.1 2002/12/14 21:32:41 fenrir Exp $
+ * $Id: mpegvideo.c,v 1.3 2003/01/13 02:33:13 fenrir Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Eric Petit <titer@videolan.org>
@@ -83,7 +83,9 @@ static int Open( vlc_object_t *p_this )
 {
     decoder_fifo_t *p_fifo = (decoder_fifo_t*) p_this;
 
-    if( p_fifo->i_fourcc != VLC_FOURCC( 'm', 'p', 'g', 'v') )
+    if( p_fifo->i_fourcc != VLC_FOURCC( 'm', 'p', 'g', 'v') &&
+        p_fifo->i_fourcc != VLC_FOURCC( 'm', 'p', 'g', '1') &&
+        p_fifo->i_fourcc != VLC_FOURCC( 'm', 'p', 'g', '2') )
     {
         return VLC_EGENERIC;
     }
@@ -152,7 +154,7 @@ static int InitThread( packetizer_t *p_pack )
 {
 
     p_pack->output_format.i_cat = VIDEO_ES;
-    p_pack->output_format.i_fourcc = p_pack->p_fifo->i_fourcc;
+    p_pack->output_format.i_fourcc = VLC_FOURCC( 'm', 'p', 'g', 'v');
 
     p_pack->p_sout_input = NULL;
 
@@ -186,11 +188,11 @@ static int CopyUntilNextStartCode( packetizer_t   *p_pack,
                 GetBits( &p_pack->bit_stream, 8 );
         i_copy++;
 
-        if( *pi_pos + 2048 > p_sout_buffer->i_allocated_size )
+        if( *pi_pos + 2048 > p_sout_buffer->i_buffer_size )
         {
             sout_BufferRealloc( p_pack->p_sout_input->p_sout,
                                 p_sout_buffer,
-                                p_sout_buffer->i_allocated_size + 50 * 1024);
+                                p_sout_buffer->i_buffer_size + 50 * 1024);
         }
 
     } while( ShowBits( &p_pack->bit_stream, 24 ) != 0x01 &&