diff options
author | Anton Khirnov <anton@khirnov.net> | 2011-06-18 09:28:49 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-07-08 18:39:28 +0200 |
commit | 6002fdef5eba7ecc623092583d5bb051c8a27318 (patch) | |
tree | 10cf54f3ae775f3468aeddd1b66d3e77a7333af6 /libavformat | |
parent | a726d7fd4e0b112b276678ea9da9c9b3097e8b8f (diff) | |
download | ffmpeg-streaming-6002fdef5eba7ecc623092583d5bb051c8a27318.zip ffmpeg-streaming-6002fdef5eba7ecc623092583d5bb051c8a27318.tar.gz |
img2: add loop private option.
Deprecate AVFormatContext.loop_input.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/avformat.h | 7 | ||||
-rw-r--r-- | libavformat/img2.c | 9 | ||||
-rw-r--r-- | libavformat/version.h | 3 |
3 files changed, 17 insertions, 2 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 9011099..1be9f39 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -742,7 +742,12 @@ typedef struct AVFormatContext { #endif #define AVFMT_FLAG_CUSTOM_IO 0x0080 ///< The caller has supplied a custom AVIOContext, don't avio_close() it. - int loop_input; +#if FF_API_LOOP_INPUT + /** + * @deprecated, use the 'loop' img2 demuxer private option. + */ + attribute_deprecated int loop_input; +#endif /** * decoding: size of data to probe; encoding: unused. diff --git a/libavformat/img2.c b/libavformat/img2.c index 4eef623..a4f39e7 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -42,6 +42,7 @@ typedef struct { char *pixel_format; /**< Set by a private option. */ char *video_size; /**< Set by a private option. */ char *framerate; /**< Set by a private option. */ + int loop; } VideoData; typedef struct { @@ -243,6 +244,11 @@ static int read_header(AVFormatContext *s1, AVFormatParameters *ap) framerate = (AVRational){ap->time_base.den, ap->time_base.num}; #endif +#if FF_API_LOOP_INPUT + if (s1->loop_input) + s->loop = s1->loop_input; +#endif + av_strlcpy(s->path, s1->filename, sizeof(s->path)); s->img_number = 0; s->img_count = 0; @@ -300,7 +306,7 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt) if (!s->is_pipe) { /* loop over input */ - if (s1->loop_input && s->img_number > s->img_last) { + if (s->loop && s->img_number > s->img_last) { s->img_number = s->img_first; } if (s->img_number > s->img_last) @@ -458,6 +464,7 @@ static const AVOption options[] = { { "pixel_format", "", OFFSET(pixel_format), FF_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC }, { "video_size", "", OFFSET(video_size), FF_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC }, { "framerate", "", OFFSET(framerate), FF_OPT_TYPE_STRING, {.str = "25"}, 0, 0, DEC }, + { "loop", "", OFFSET(loop), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, DEC }, { NULL }, }; diff --git a/libavformat/version.h b/libavformat/version.h index 0cf383f..957ce52 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -77,5 +77,8 @@ #ifndef FF_API_AVSTREAM_QUALITY #define FF_API_AVSTREAM_QUALITY (LIBAVFORMAT_VERSION_MAJOR < 54) #endif +#ifndef FF_API_LOOP_INPUT +#define FF_API_LOOP_INPUT (LIBAVFORMAT_VERSION_MAJOR < 54) +#endif #endif /* AVFORMAT_VERSION_H */ |