From 5894e1bbf2f4f32949633edd01fdc237eb3cca07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Paesa?= <wzrlpy@arsystel.com>
Date: Thu, 13 Jul 2006 21:13:49 +0000
Subject: [PATCH] =?UTF-8?q?add=20loop=5Finput=20to=20AVFormatContext,=20ge?=
 =?UTF-8?q?tting=20rid=20of=20old=20hack=20patch=20by=20V=C3=ADctor=20Paes?=
 =?UTF-8?q?a=20<wzrlpy=20at=20arsystel=20com>?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Originally committed as revision 5729 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 ffmpeg.c               | 4 +++-
 libavformat/avformat.h | 6 ++++--
 libavformat/img.c      | 5 +----
 libavformat/img2.c     | 5 +----
 4 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 473185fef2a..cf866b3a242 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -159,7 +159,7 @@ static int me_penalty_compensation= 256;
 static int frame_skip_threshold= 0;
 static int frame_skip_factor= 0;
 static int frame_skip_exp= 0;
-extern int loop_input; /* currently a hack */
+static int loop_input = 0;
 static int loop_output = AVFMT_NOOUTPUTLOOP;
 static int genpts = 0;
 static int qp_hist = 0;
@@ -2843,6 +2843,8 @@ static void opt_input_file(const char *filename)
         exit(1);
     }
 
+    ic->loop_input = loop_input;
+
     if(genpts)
         ic->flags|= AVFMT_FLAG_GENPTS;
 
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 1eff031de63..df87339e8bb 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -5,8 +5,8 @@
 extern "C" {
 #endif
 
-#define LIBAVFORMAT_VERSION_INT ((50<<16)+(4<<8)+0)
-#define LIBAVFORMAT_VERSION     50.4.0
+#define LIBAVFORMAT_VERSION_INT ((50<<16)+(5<<8)+0)
+#define LIBAVFORMAT_VERSION     50.5.0
 #define LIBAVFORMAT_BUILD       LIBAVFORMAT_VERSION_INT
 
 #define LIBAVFORMAT_IDENT       "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
@@ -337,6 +337,8 @@ typedef struct AVFormatContext {
 
     int flags;
 #define AVFMT_FLAG_GENPTS       0x0001 ///< generate pts if missing even if it requires parsing future frames
+
+    int loop_input;
 } AVFormatContext;
 
 typedef struct AVPacketList {
diff --git a/libavformat/img.c b/libavformat/img.c
index 047113bb682..2d12e31d063 100644
--- a/libavformat/img.c
+++ b/libavformat/img.c
@@ -18,9 +18,6 @@
  */
 #include "avformat.h"
 
-/* XXX: this is a hack */
-int loop_input = 0;
-
 typedef struct {
     int width;
     int height;
@@ -200,7 +197,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt)
 
     if (!s->is_pipe) {
         /* loop over input */
-        if (loop_input && s->img_number > s->img_last) {
+        if (s1->loop_input && s->img_number > s->img_last) {
             s->img_number = s->img_first;
         }
         if (get_frame_filename(filename, sizeof(filename),
diff --git a/libavformat/img2.c b/libavformat/img2.c
index d3efc7a5b42..ef67132ca1f 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -19,9 +19,6 @@
  */
 #include "avformat.h"
 
-/* XXX: this is a hack */
-extern int loop_input;
-
 typedef struct {
     int img_first;
     int img_last;
@@ -236,7 +233,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt)
 
     if (!s->is_pipe) {
         /* loop over input */
-        if (loop_input && s->img_number > s->img_last) {
+        if (s1->loop_input && s->img_number > s->img_last) {
             s->img_number = s->img_first;
         }
         if (get_frame_filename(filename, sizeof(filename),
-- 
GitLab