[vlc-devel] [PATCH 1/1] avformat: replace deprecated field in AVFormatContext

Mehdi Sabwat mehdisabwat at gmail.com
Tue Oct 15 19:53:21 CEST 2019


From: Mehdi Sabwat <mehdisabwat at gmail.com>

    Since Jan 21, 2018 (ea3672b7d67c432724bdbc8de0221f869b6a04c6)
    filename field was deprecated in favor of `url` which now has
    no length restrictions.
---
 modules/demux/avformat/mux.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
index b9d9c378c8..b8aa73000b 100644
--- a/modules/demux/avformat/mux.c
+++ b/modules/demux/avformat/mux.c
@@ -90,10 +90,6 @@ int avformat_OpenMux( vlc_object_t *p_this )
     sout_mux_t *p_mux = (sout_mux_t*)p_this;
     bool dummy = !strcmp( p_mux->p_access->psz_access, "dummy");
 
-    if( dummy && strlen(p_mux->p_access->psz_path)
-                              >= sizeof (((AVFormatContext *)NULL)->filename) )
-        return VLC_EGENERIC;
-
     msg_Dbg( p_mux, "using %s %s", AVPROVIDER(LIBAVFORMAT), LIBAVFORMAT_IDENT );
 
     vlc_init_avformat(p_this);
@@ -127,8 +123,12 @@ int avformat_OpenMux( vlc_object_t *p_this )
     p_sys->oc->oformat = file_oformat;
     /* If we use dummy access, let avformat write output */
     if( dummy )
-        strcpy( p_sys->oc->filename, p_mux->p_access->psz_path );
-
+    {
+        size_t size = strlen(p_mux->p_access->psz_path);
+        // Freed by libavformat in avformat_free_context()
+        p_sys->oc->url = av_malloc( size + 1 );
+        memcpy( p_sys->oc->url, p_mux->p_access->psz_path , size + 1 );
+    }
     /* Create I/O wrapper */
     p_sys->io_buffer_size = 10 * 1024 * 1024;  /* FIXME */
     p_sys->io_buffer = malloc( p_sys->io_buffer_size );
-- 
2.23.0



More information about the vlc-devel mailing list