[vlc-devel] [PATCH 16/26] image: use sout_EncoderDelete instead of custom DeleteEncoder

Steve Lhomme robux4 at ycbcr.xyz
Mon Jan 18 08:32:55 UTC 2021


---
 src/misc/image.c | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/src/misc/image.c b/src/misc/image.c
index 04420c402b2..5c393392626 100644
--- a/src/misc/image.c
+++ b/src/misc/image.c
@@ -75,7 +75,6 @@ static picture_t *ImageConvert( image_handler_t *, picture_t *,
 static decoder_t *CreateDecoder( image_handler_t *, const es_format_t * );
 static encoder_t *CreateEncoder( vlc_object_t *, const video_format_t *,
                                  const video_format_t * );
-static void DeleteEncoder( encoder_t * );
 static filter_t *CreateConverter( vlc_object_t *, const es_format_t *,
                                   struct vlc_video_context *,
                                   const video_format_t * );
@@ -118,7 +117,7 @@ void image_HandlerDelete( image_handler_t *p_image )
     if( !p_image ) return;
 
     decoder_Destroy( p_image->p_dec );
-    if( p_image->p_enc ) DeleteEncoder( p_image->p_enc );
+    if( p_image->p_enc ) sout_EncoderDelete( p_image->p_enc );
     if( p_image->p_converter ) DeleteConverter( p_image->p_converter );
 
     picture_fifo_Delete( p_image->outfifo );
@@ -376,8 +375,8 @@ static block_t *ImageWrite( image_handler_t *p_image, picture_t *p_pic,
           p_image->p_enc->fmt_out.video.i_width != p_fmt_out->i_width ||
           p_image->p_enc->fmt_out.video.i_height != p_fmt_out->i_height ) )
     {
-        DeleteEncoder( p_image->p_enc );
-        p_image->p_enc = 0;
+        sout_EncoderDelete( p_image->p_enc );
+        p_image->p_enc = NULL;
     }
 
     /* Start an encoder */
@@ -748,23 +747,13 @@ static encoder_t *CreateEncoder( vlc_object_t *p_this, const video_format_t *fmt
                  "VLC probably does not support this image format.",
                  (char*)&p_enc->fmt_out.i_codec );
 
-        DeleteEncoder( p_enc );
-        return NULL;
+        sout_EncoderDelete( p_enc );
+        p_enc = NULL;
     }
 
     return p_enc;
 }
 
-static void DeleteEncoder( encoder_t * p_enc )
-{
-    if( p_enc->p_module ) module_unneed( p_enc, p_enc->p_module );
-
-    es_format_Clean( &p_enc->fmt_in );
-    es_format_Clean( &p_enc->fmt_out );
-
-    vlc_object_delete(p_enc);
-}
-
 static filter_t *CreateConverter( vlc_object_t *p_this,
                                   const es_format_t *p_fmt_in,
                                   struct vlc_video_context *p_vctx_in,
-- 
2.29.2



More information about the vlc-devel mailing list