[FFmpeg-devel] [PATCH] avformat/hls: fix compiling error

Aman Gupta ffmpeg at tmm1.net
Tue Dec 26 20:58:19 EET 2017


On Mon, Dec 25, 2017 at 3:46 PM wm4 <nfxjfg at googlemail.com> wrote:

> On Mon, 25 Dec 2017 17:21:23 +0000
> Aman Gupta <ffmpeg at tmm1.net> wrote:
>
> > On Sun, Dec 24, 2017 at 7:48 PM Steven Liu <lq at chinaffmpeg.org> wrote:
> >
> > > fix --disable-network compipling error
> > >
> > > Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> > > ---
> > >  libavformat/hls.c | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/libavformat/hls.c b/libavformat/hls.c
> > > index f00e22dfef..51d83b7557 100644
> > > --- a/libavformat/hls.c
> > > +++ b/libavformat/hls.c
> > > @@ -611,14 +611,16 @@ static void update_options(char **dest, const
> char
> > > *name, void *src)
> > >  static int open_url_keepalive(AVFormatContext *s, AVIOContext **pb,
> > >                                const char *url)
> > >  {
> > > -    int ret;
> > > +    int ret = 0;
> >
> >
> > Returning 0 does not make sense since that means no error.
> >
> >
> > >      URLContext *uc = ffio_geturlcontext(*pb);
> > >      av_assert0(uc);
> >
> >
> > This will trigger an assertion failure and crash.
> >
> >
> > >      (*pb)->eof_reached = 0;
> > > +#if CONFIG_HTTP_PROTOCOL
> > >      ret = ff_http_do_new_request(uc, url);
> > >      if (ret < 0) {
> > >          ff_format_io_close(s, pb);
> > >      }
> > > +#endif
> >
> >
> > >      return ret;
> > >  }
> >
> >
> > I think it would be better to #if the entire function body, and return
> some
> > error code in the case where the feature is not available, like
> > AVERROR_PROTOCOL_NOT_FOUND
>
> Or a callback, to make this part of native AVIO or URLContext (or
> whatever it's using). That would avoid all ifdeffery and build
> fragility.


I'm struggling to understand what you mean.

Currently we have an AVIOContext which wraps an URLContext, which wraps an
HTTPContext.

What callback are you proposing, and where would it go?

Aman


> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list