[vlc-commits] vlc_image: constify ImageReadUrl parameter

Francois Cartegnie git at videolan.org
Mon Nov 19 14:04:50 CET 2018


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Nov 19 13:25:22 2018 +0100| [629aa1c03d9e82eff0444f3498738bfcdc629d16] | committer: Francois Cartegnie

vlc_image: constify ImageReadUrl parameter

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=629aa1c03d9e82eff0444f3498738bfcdc629d16
---

 include/vlc_image.h |  2 +-
 src/misc/image.c    | 26 ++++++++++++++++----------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/include/vlc_image.h b/include/vlc_image.h
index 5e91c6532e..dc44cb4319 100644
--- a/include/vlc_image.h
+++ b/include/vlc_image.h
@@ -42,7 +42,7 @@ struct image_handler_t
                                   const video_format_t *, const uint8_t *, size_t,
                                   video_format_t * );
     picture_t * (*pf_read_url)  ( image_handler_t *, const char *,
-                                  video_format_t *, video_format_t * );
+                                  const video_format_t *, video_format_t * );
     block_t * (*pf_write)       ( image_handler_t *, picture_t *,
                                   const video_format_t *, const video_format_t * );
     int (*pf_write_url)         ( image_handler_t *, picture_t *,
diff --git a/src/misc/image.c b/src/misc/image.c
index 8e9f6fa3a9..8467dc93e7 100644
--- a/src/misc/image.c
+++ b/src/misc/image.c
@@ -64,7 +64,7 @@ static picture_t *ImageRead( image_handler_t *, block_t *,
                              const video_format_t *, const uint8_t *, size_t,
                              video_format_t * );
 static picture_t *ImageReadUrl( image_handler_t *, const char *,
-                                video_format_t *, video_format_t * );
+                                const video_format_t *, video_format_t * );
 static block_t *ImageWrite( image_handler_t *, picture_t *,
                             const video_format_t *, const video_format_t * );
 static int ImageWriteUrl( image_handler_t *, picture_t *,
@@ -277,7 +277,7 @@ static picture_t *ImageRead( image_handler_t *p_image, block_t *p_block,
 }
 
 static picture_t *ImageReadUrl( image_handler_t *p_image, const char *psz_url,
-                                video_format_t *p_fmt_in,
+                                const video_format_t *p_fmt_in,
                                 video_format_t *p_fmt_out )
 {
     block_t *p_block;
@@ -304,24 +304,30 @@ static picture_t *ImageReadUrl( image_handler_t *p_image, const char *psz_url,
     if( p_block == NULL )
         goto error;
 
-    if( !p_fmt_in->i_chroma )
+    video_format_t fmtin;
+    video_format_Init( &fmtin, p_fmt_in->i_chroma );
+    video_format_Copy( &fmtin, p_fmt_in );
+
+    if( !fmtin.i_chroma )
     {
         char *psz_mime = stream_MimeType( p_stream );
         if( psz_mime != NULL )
         {
-            p_fmt_in->i_chroma = image_Mime2Fourcc( psz_mime );
+            fmtin.i_chroma = image_Mime2Fourcc( psz_mime );
             free( psz_mime );
+            if( !fmtin.i_chroma )
+            {
+                /* Try to guess format from file name */
+                fmtin.i_chroma = image_Ext2Fourcc( psz_url );
+            }
         }
     }
     vlc_stream_Delete( p_stream );
 
-    if( !p_fmt_in->i_chroma )
-    {
-        /* Try to guess format from file name */
-        p_fmt_in->i_chroma = image_Ext2Fourcc( psz_url );
-    }
 
-    p_pic = ImageRead( p_image, p_block, p_fmt_in, NULL, 0, p_fmt_out );
+    p_pic = ImageRead( p_image, p_block, &fmtin, NULL, 0, p_fmt_out );
+
+    video_format_Clean( &fmtin );
 
     return p_pic;
 error:



More information about the vlc-commits mailing list