]> git.sesse.net Git - vlc/commitdiff
* ./codec/dv/dv.c: moved this single file to its parent directory; removed
authorSam Hocevar <sam@videolan.org>
Tue, 5 Nov 2002 14:52:28 +0000 (14:52 +0000)
committerSam Hocevar <sam@videolan.org>
Tue, 5 Nov 2002 14:52:28 +0000 (14:52 +0000)
    GetFirstPES in favour of input_ExtractPES/input_DeletePES calls.

modules/Makefile.am
modules/codec/Modules.am
modules/codec/dv.c [moved from modules/codec/dv/dv.c with 93% similarity]
modules/codec/dv/.cvsignore [deleted file]
modules/codec/dv/Modules.am [deleted file]

index d7a0962b053ed9d245b57cddc32715148ac66fb6..f6f8d7977ec178ac47e9cedf56fde98f8e6c1375 100644 (file)
@@ -17,7 +17,6 @@ EXTRA_DIST = \
        codec/a52old/downmix/Modules.am \
        codec/a52old/imdct/Modules.am \
        codec/cinepak/Modules.am \
-       codec/dv/Modules.am \
        codec/faad/Modules.am \
        codec/ffmpeg/Modules.am \
        codec/ffmpeg/postprocessing/Modules.am \
index a84b054d5ad0745beaca1214833050830c00b615..90449fec04ba04263e1ab28a739584162d45ba69 100644 (file)
@@ -2,3 +2,5 @@ SOURCES_a52 = modules/codec/a52.c
 SOURCES_lpcm = modules/codec/lpcm.c
 SOURCES_araw = modules/codec/araw.c
 SOURCES_vorbis = modules/codec/vorbis.c
+SOURCES_dv = modules/codec/dv.c
+#SOURCES_xvid = modules/codec/xvid.c
similarity index 93%
rename from modules/codec/dv/dv.c
rename to modules/codec/dv.c
index 9de067788e099d24528725fe8e2815fee7b7ef07..d628dfbd49df7997371a38245567eb5dcd14b6dd 100644 (file)
@@ -2,7 +2,7 @@
  * dv.c: a decoder for DV video
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: dv.c,v 1.4 2002/11/02 17:31:37 sigmunau Exp $
+ * $Id: dv.c,v 1.1 2002/11/05 14:52:28 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *      
@@ -40,7 +40,6 @@ static int RunDecoder  ( decoder_fifo_t * );
 static int OpenDecoder ( vlc_object_t * );
 
 static u32 GetFourCC   ( dv_sample_t );
-static pes_packet_t *GetFirstPES( decoder_fifo_t * );
 
 /*****************************************************************************
  * Module descriptor
@@ -75,6 +74,7 @@ static int OpenDecoder ( vlc_object_t *p_this )
 static int RunDecoder ( decoder_fifo_t *p_fifo )
 {
     u8 *p_buffer;
+    pes_packet_t *p_pes = NULL;
     int i_data = 120000;
     int i_aspect;
 
@@ -199,14 +199,17 @@ static int RunDecoder ( decoder_fifo_t *p_fifo )
         while( !p_fifo->b_die && !p_fifo->b_error )
         {
             mtime_t i_pts = 0;
-            pes_packet_t *p_pes;
 
             GetChunk( &bit_stream, p_buffer + i_data,
                                    p_decoder->frame_size - i_data );
             i_data = p_decoder->frame_size;
 
-            p_pes = GetFirstPES( p_fifo );
+            if( p_pes )
+            {
+                input_DeletePES( p_fifo->p_packets_mgt, p_pes );
+            }
 
+            input_ExtractPES( p_fifo, &p_pes );
             if( p_pes )
             {
                 /* Don't trust the sucker */
@@ -268,6 +271,11 @@ static int RunDecoder ( decoder_fifo_t *p_fifo )
         }
     }
 
+    if( p_pes )
+    {
+        input_DeletePES( p_fifo->p_packets_mgt, p_pes );
+    }
+
     free( p_buffer );
     CloseBitstream( &bit_stream );
 
@@ -291,25 +299,3 @@ static u32 GetFourCC( dv_sample_t x )
     }
 }
 
-static pes_packet_t *GetFirstPES( decoder_fifo_t *p_fifo )
-{
-    pes_packet_t *p_pes;
-
-    vlc_mutex_lock( &p_fifo->data_lock );
-
-    /* if fifo is empty wait */
-    while( !p_fifo->p_first )
-    {
-        if( p_fifo->b_die )
-        {
-            vlc_mutex_unlock( &p_fifo->data_lock );
-            return NULL;
-        } 
-        vlc_cond_wait( &p_fifo->data_wait, &p_fifo->data_lock );
-    }
-    p_pes = p_fifo->p_first;
-
-    vlc_mutex_unlock( &p_fifo->data_lock );
-    
-    return p_pes;
-}
diff --git a/modules/codec/dv/.cvsignore b/modules/codec/dv/.cvsignore
deleted file mode 100644 (file)
index ec96903..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-.deps
-.dirstamp
diff --git a/modules/codec/dv/Modules.am b/modules/codec/dv/Modules.am
deleted file mode 100644 (file)
index 725749e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SOURCES_dv = modules/codec/dv/dv.c