[vlc-commits] [Git][videolan/vlc][master] 3 commits: avcodec: encoder: Fix leak on error

Hugo Beauzée-Luyssen (@chouquette) gitlab at videolan.org
Tue Nov 16 14:36:23 UTC 2021



Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC


Commits:
b04e2c5d by Hugo Beauzée-Luyssen at 2021-11-16T14:01:27+00:00
avcodec: encoder: Fix leak on error

- - - - -
ecdd9957 by Hugo Beauzée-Luyssen at 2021-11-16T14:01:27+00:00
avcodec: encoder: Don't unref frame twice

The frame is unref'ed in the callsite

- - - - -
c2549ced by Hugo Beauzée-Luyssen at 2021-11-16T14:01:27+00:00
muxer: avformat: Add missing av_packet_free

- - - - -


2 changed files:

- modules/codec/avcodec/encoder.c
- modules/demux/avformat/mux.c


Changes:

=====================================
modules/codec/avcodec/encoder.c
=====================================
@@ -1173,15 +1173,13 @@ static block_t *encode_avframe( encoder_t *p_enc, encoder_sys_t *p_sys, AVFrame
     AVPacket *av_pkt = av_packet_alloc();
 
     if( !av_pkt )
-    {
-        av_frame_unref( frame );
         return NULL;
-    }
 
     int ret = avcodec_send_frame( p_sys->p_context, frame );
     if( frame && ret != 0 && ret != AVERROR(EAGAIN) )
     {
         msg_Warn( p_enc, "cannot send one frame to encoder %d", ret );
+        av_packet_free( &av_pkt );
         return NULL;
     }
     ret = avcodec_receive_packet( p_sys->p_context, av_pkt );


=====================================
modules/demux/avformat/mux.c
=====================================
@@ -413,12 +413,12 @@ static int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input )
                  "(pkt pts: %"PRId64", dts: %"PRId64")",
                  p_data->i_pts, p_data->i_dts, pkt->pts, pkt->dts );
         block_Release( p_data );
-        av_packet_unref( pkt );
+        av_packet_free( &pkt );
         return VLC_EGENERIC;
     }
 
 
-    av_packet_unref( pkt );
+    av_packet_free( &pkt );
     block_Release( p_data );
     return VLC_SUCCESS;
 }



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/60456133bd8a456fb836875ed5ecaaeb94c3a2ab...c2549ced70d5a6c56fd2411519b185b4a04c36d2

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/60456133bd8a456fb836875ed5ecaaeb94c3a2ab...c2549ced70d5a6c56fd2411519b185b4a04c36d2
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list