[vlc-commits] [Git][videolan/vlc][master] demux: avi: fix unwanted padding in odd sized samples

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed Apr 5 06:12:58 UTC 2023



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
32705bd3 by Francois Cartegnie at 2023-04-05T05:45:30+00:00
demux: avi: fix unwanted padding in odd sized samples

regression by c8fe3d812c277821ade872e334e78acc19deaf03

- - - - -


1 changed file:

- modules/demux/avi/avi.c


Changes:

=====================================
modules/demux/avi/avi.c
=====================================
@@ -850,7 +850,7 @@ error:
  *****************************************************************************/
 
 static block_t * ReadFrame( demux_t *p_demux, const avi_track_t *tk,
-                            uint32_t i_header, uint32_t i_size )
+                            uint32_t i_header, uint32_t i_osize )
 {
     /* skip header */
     if( i_header )
@@ -862,7 +862,7 @@ static block_t * ReadFrame( demux_t *p_demux, const avi_track_t *tk,
     }
 
     /* read size padded on word boundary */
-    i_size = __EVEN(i_size);
+    uint32_t i_size = __EVEN(i_osize);
 
     if( i_size == 0 )
         return block_Alloc(0); /* vlc_stream_Block can't read/alloc 0 sized */
@@ -871,6 +871,9 @@ static block_t * ReadFrame( demux_t *p_demux, const avi_track_t *tk,
     if ( !p_frame )
         return p_frame;
 
+    if( i_osize == i_size - 1 )
+        p_frame->i_buffer--;
+
     if( tk->bihprops.i_stride > INT32_MAX - 3 )
     {
         p_frame->i_buffer = 0;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/32705bd3675e8fb87eb3c5d827f91a5ae8d0bc3f

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/32705bd3675e8fb87eb3c5d827f91a5ae8d0bc3f
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list