[vlc-devel] commit: avformat: remove NOFILE hack, fix MXF seeking (Baptiste Coudurier )

git version control git at videolan.org
Sun Sep 20 10:47:04 CEST 2009


vlc | branch: master | Baptiste Coudurier <baptiste.coudurier at gmail.com> | Sat Sep 19 12:12:07 2009 +0300| [230af767388f9aea0d7edc5717c4abd342f2cd1a] | committer: Rémi Denis-Courmont 

avformat: remove NOFILE hack, fix MXF seeking

Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>

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

 modules/demux/avformat/demux.c |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)

diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c
index a1fdfd3..39ada49 100644
--- a/modules/demux/avformat/demux.c
+++ b/modules/demux/avformat/demux.c
@@ -111,7 +111,6 @@ int OpenDemux( vlc_object_t *p_this )
     AVProbeData   pd;
     AVInputFormat *fmt;
     unsigned int  i;
-    bool          b_avfmt_nofile;
     int64_t       i_start_time = -1;
 
     /* Init Probe data */
@@ -194,15 +193,11 @@ int OpenDemux( vlc_object_t *p_this )
     init_put_byte( &p_sys->io, p_sys->io_buffer, p_sys->io_buffer_size,
                    0, &p_sys->url, IORead, NULL, IOSeek );
 
-    b_avfmt_nofile = p_sys->fmt->flags & AVFMT_NOFILE;
-    p_sys->fmt->flags |= AVFMT_NOFILE; /* libavformat must not fopen/fclose */
-
     /* Open it */
     if( av_open_input_stream( &p_sys->ic, &p_sys->io, p_demux->psz_path,
                               p_sys->fmt, NULL ) )
     {
         msg_Err( p_demux, "av_open_input_stream failed" );
-        if( !b_avfmt_nofile ) p_sys->fmt->flags ^= AVFMT_NOFILE;
         CloseDemux( p_this );
         return VLC_EGENERIC;
     }
@@ -212,12 +207,10 @@ int OpenDemux( vlc_object_t *p_this )
     {
         vlc_avcodec_unlock();
         msg_Err( p_demux, "av_find_stream_info failed" );
-        if( !b_avfmt_nofile ) p_sys->fmt->flags ^= AVFMT_NOFILE;
         CloseDemux( p_this );
         return VLC_EGENERIC;
     }
     vlc_avcodec_unlock();
-    if( !b_avfmt_nofile ) p_sys->fmt->flags ^= AVFMT_NOFILE;
 
     for( i = 0; i < p_sys->ic->nb_streams; i++ )
     {
@@ -399,14 +392,10 @@ void CloseDemux( vlc_object_t *p_this )
 {
     demux_t     *p_demux = (demux_t*)p_this;
     demux_sys_t *p_sys = p_demux->p_sys;
-    bool b_avfmt_nofile;
 
     FREENULL( p_sys->tk );
 
-    b_avfmt_nofile = p_sys->fmt->flags & AVFMT_NOFILE;
-    p_sys->fmt->flags |= AVFMT_NOFILE; /* libavformat must not fopen/fclose */
-    if( p_sys->ic ) av_close_input_file( p_sys->ic );
-    if( !b_avfmt_nofile ) p_sys->fmt->flags ^= AVFMT_NOFILE;
+    if( p_sys->ic ) av_close_input_stream( p_sys->ic );
 
     for( int i = 0; i < p_sys->i_attachments; i++ )
         free( p_sys->attachments[i] );




More information about the vlc-devel mailing list