]> git.sesse.net Git - vlc/commitdiff
* modules/audio_filter/converter/dtstofloat32.c,a52tofloat32.c,mpgatofixed32.c: relea...
authorGildas Bazin <gbazin@videolan.org>
Tue, 31 Aug 2004 12:00:38 +0000 (12:00 +0000)
committerGildas Bazin <gbazin@videolan.org>
Tue, 31 Aug 2004 12:00:38 +0000 (12:00 +0000)
modules/audio_filter/converter/a52tofloat32.c
modules/audio_filter/converter/dtstofloat32.c
modules/audio_filter/converter/mpgatofixed32.c

index a018344cf732724b33f3573c1fe466ffe462d0b1..bb9556c7a4815effb60628edcc391cdbe42c27af 100644 (file)
@@ -461,8 +461,15 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     aout_filter_t aout_filter;
     aout_buffer_t in_buf, out_buf;
     block_t *p_out;
+    int i_out_size;
 
-    int i_out_size = p_block->i_samples *
+    if( !p_block || !p_block->i_samples )
+    {
+        if( p_block ) p_block->pf_release( p_block );
+        return NULL;
+    }
+
+    i_out_size = p_block->i_samples *
       p_filter->fmt_out.audio.i_bitspersample *
         p_filter->fmt_out.audio.i_channels;
 
@@ -470,6 +477,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     if( !p_out )
     {
         msg_Warn( p_filter, "can't get output buffer" );
+        p_block->pf_release( p_block );
         return NULL;
     }
 
@@ -495,5 +503,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
 
     p_out->i_buffer = out_buf.i_nb_bytes;
 
+    p_block->pf_release( p_block );
+
     return p_out;
 }
index ec608644e478175d3d6fff58dbb9808055950e21..0b269a99cab912408042f9573d04d0e04ebf929b 100644 (file)
@@ -445,8 +445,15 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     aout_filter_t aout_filter;
     aout_buffer_t in_buf, out_buf;
     block_t *p_out;
+    int i_out_size;
 
-    int i_out_size = p_block->i_samples *
+    if( !p_block || !p_block->i_samples )
+    {
+        if( p_block ) p_block->pf_release( p_block );
+        return NULL;
+    }
+
+    i_out_size = p_block->i_samples *
       p_filter->fmt_out.audio.i_bitspersample *
         p_filter->fmt_out.audio.i_channels;
 
@@ -454,6 +461,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     if( !p_out )
     {
         msg_Warn( p_filter, "can't get output buffer" );
+        p_block->pf_release( p_block );
         return NULL;
     }
 
@@ -480,5 +488,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     p_out->i_buffer = out_buf.i_nb_bytes;
     p_out->i_samples = out_buf.i_nb_samples;
 
+    p_block->pf_release( p_block );
+
     return p_out;
 }
index 4d94e1d21aa60100a1db3dc63fc83241459207f6..23452e1a1032169c4da71f0547664e03412c5f3a 100644 (file)
@@ -289,8 +289,15 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     aout_filter_t aout_filter;
     aout_buffer_t in_buf, out_buf;
     block_t *p_out;
+    int i_out_size;
 
-    int i_out_size = p_block->i_samples *
+    if( !p_block || !p_block->i_samples )
+    {
+        if( p_block ) p_block->pf_release( p_block );
+        return NULL;
+    }
+
+    i_out_size = p_block->i_samples *
       p_filter->fmt_out.audio.i_bitspersample *
         p_filter->fmt_out.audio.i_channels;
 
@@ -298,6 +305,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
     if( !p_out )
     {
         msg_Warn( p_filter, "can't get output buffer" );
+        p_block->pf_release( p_block );
         return NULL;
     }
 
@@ -321,5 +329,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block )
 
     DoWork( (aout_instance_t *)p_filter, &aout_filter, &in_buf, &out_buf );
 
+    p_block->pf_release( p_block );
+
     return p_out;
 }