]> git.sesse.net Git - vlc/commitdiff
Remove block_Realloc() shrinking behavior
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 29 Sep 2009 15:52:26 +0000 (18:52 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Tue, 29 Sep 2009 15:53:44 +0000 (18:53 +0300)
 * It did not fix the issue with UDP packet loos that brought it in the
   first place (#1919, it was a socket buffer issue),
 * It does not play nice with posix_memalign(),
 * It is slow.

In particular, this fixes invalid memory use when downsampling
with the "trivial" plugin.

src/misc/block.c

index bc93c9a734966fbfaef01f3938e7ce091a7eb0b5..3a673f5f64582716365b616a7299ac5a7188527a 100644 (file)
@@ -93,8 +93,6 @@ static void BlockMetaCopy( block_t *restrict out, const block_t *in )
 #define BLOCK_ALIGN        16
 /* Initial reserved header and footer size (must be multiple of alignment) */
 #define BLOCK_PADDING      32
-/* Maximum size of reserved footer before we release with realloc() */
-#define BLOCK_WASTE_SIZE   2048
 
 block_t *block_Alloc( size_t i_size )
 {
@@ -225,23 +223,6 @@ block_t *block_Realloc( block_t *p_block, ssize_t i_prebody, size_t i_body )
         block_Release( p_block );
         p_block = p_rea;
     }
-    else
-    /* We have a very large reserved footer now? Release some of it.
-     * XXX it might not preserve the alignment of p_buffer */
-    if( p_end - (p_block->p_buffer + i_body) > BLOCK_WASTE_SIZE )
-    {
-        const ptrdiff_t i_prebody = p_block->p_buffer - p_start;
-        const size_t i_new = requested + 1 * BLOCK_PADDING;
-        block_sys_t *p_new = realloc( p_sys, sizeof (*p_sys) + i_new );
-
-        if( p_new != NULL )
-        {
-            p_sys = p_new;
-            p_sys->i_allocated_buffer = i_new;
-            p_block = &p_sys->self;
-            p_block->p_buffer = &p_sys->p_allocated_buffer[i_prebody];
-        }
-    }
 
     /* NOTE: p_start and p_end are corrupted from this point */