On Wed, 20 Jan 2016 11:21:44 +0100 Michael Niedermayer <michae...@gmx.at> wrote:
> From: Michael Niedermayer <mich...@niedermayer.cc> > > With this, user applications which use custom IO and have set a IO context > will not have > their already opened IO context ignored and glob/seq being interpreted > > Comments and tests from maintainers of user apps are welcome! "image2" never worked for me with custom I/O for reasons I've never further analyzed, and also I'm blacklisting it during probing. > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > --- > libavformat/img2.h | 3 ++- > libavformat/img2dec.c | 9 ++++++++- > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/libavformat/img2.h b/libavformat/img2.h > index deebcc3..0e5b374 100644 > --- a/libavformat/img2.h > +++ b/libavformat/img2.h > @@ -34,7 +34,8 @@ enum PatternType { > PT_GLOB_SEQUENCE, > PT_GLOB, > PT_SEQUENCE, > - PT_NONE > + PT_NONE, > + PT_DEFAULT > }; > > typedef struct VideoDemuxData { > diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c > index db4b4b7..0c448dc 100644 > --- a/libavformat/img2dec.c > +++ b/libavformat/img2dec.c > @@ -225,6 +225,13 @@ int ff_img_read_header(AVFormatContext *s1) > } > > if (!s->is_pipe) { > + if (s->pattern_type == PT_DEFAULT) { > + if (s1->pb) { > + s->pattern_type = PT_NONE; > + } else > + s->pattern_type = PT_GLOB_SEQUENCE; > + } > + > if (s->pattern_type == PT_GLOB_SEQUENCE) { > s->use_glob = is_glob(s->path); > if (s->use_glob) { > @@ -557,7 +564,7 @@ const AVOption ff_img_options[] = { > { "framerate", "set the video framerate", > OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, 0, DEC }, > { "loop", "force loop over input file sequence", OFFSET(loop), > AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, DEC }, > > - { "pattern_type", "set pattern type", > OFFSET(pattern_type), AV_OPT_TYPE_INT, {.i64=PT_GLOB_SEQUENCE}, 0, > INT_MAX, DEC, "pattern_type"}, > + { "pattern_type", "set pattern type", > OFFSET(pattern_type), AV_OPT_TYPE_INT, {.i64=PT_DEFAULT}, 0, > INT_MAX, DEC, "pattern_type"}, > { "glob_sequence","select glob/sequence pattern type", 0, > AV_OPT_TYPE_CONST, {.i64=PT_GLOB_SEQUENCE}, INT_MIN, INT_MAX, DEC, > "pattern_type" }, > { "glob", "select glob pattern type", 0, > AV_OPT_TYPE_CONST, {.i64=PT_GLOB }, INT_MIN, INT_MAX, DEC, > "pattern_type" }, > { "sequence", "select sequence pattern type", 0, > AV_OPT_TYPE_CONST, {.i64=PT_SEQUENCE }, INT_MIN, INT_MAX, DEC, > "pattern_type" }, The patch seems like a good idea. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel