[FFmpeg-cvslog] lavf: deprecate get_strz() in favor of avio_get_str

Anton Khirnov git
Sat Mar 5 03:28:22 CET 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Mar  2 17:48:45 2011 +0100| [773947ba76c575abc01ba128206c87440dad40ec] | committer: Michael Niedermayer

lavf: deprecate get_strz() in favor of avio_get_str

Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
(cherry picked from commit e16ead0716c2f988d1e26369a4c67b354ff86134)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=773947ba76c575abc01ba128206c87440dad40ec
---

 libavformat/avio.h    |    7 ++++++-
 libavformat/aviobuf.c |   13 +++----------
 libavformat/cafdec.c  |    4 ++--
 libavformat/ffmdec.c  |    3 ++-
 libavformat/mov.c     |    2 +-
 5 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/libavformat/avio.h b/libavformat/avio.h
index fd4839c..fba98e3 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -548,7 +548,12 @@ int avio_get_str(AVIOContext *pb, int maxlen, char *buf, int buflen);
 int avio_get_str16le(AVIOContext *pb, int maxlen, char *buf, int buflen);
 int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen);
 
-char *get_strz(AVIOContext *s, char *buf, int maxlen);
+#if FF_API_OLD_AVIO
+/**
+ * @deprecated use avio_get_str instead
+ */
+attribute_deprecated char *get_strz(AVIOContext *s, char *buf, int maxlen);
+#endif
 unsigned int avio_rb16(AVIOContext *s);
 unsigned int avio_rb24(AVIOContext *s);
 unsigned int avio_rb32(AVIOContext *s);
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 5b2f9c0..9807c46 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -675,20 +675,13 @@ unsigned int avio_rb32(AVIOContext *s)
     return val;
 }
 
+#if FF_API_OLD_AVIO
 char *get_strz(AVIOContext *s, char *buf, int maxlen)
 {
-    int i = 0;
-    char c;
-
-    while ((c = avio_r8(s))) {
-        if (i < maxlen-1)
-            buf[i++] = c;
-    }
-
-    buf[i] = 0; /* Ensure null terminated, but may be truncated */
-
+    avio_get_str(s, INT_MAX, buf, maxlen);
     return buf;
 }
+#endif
 
 int ff_get_line(AVIOContext *s, char *buf, int maxlen)
 {
diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c
index d98c4bf..a43c344 100644
--- a/libavformat/cafdec.c
+++ b/libavformat/cafdec.c
@@ -185,8 +185,8 @@ static void read_info_chunk(AVFormatContext *s, int64_t size)
     for (i = 0; i < nb_entries; i++) {
         char key[32];
         char value[1024];
-        get_strz(pb, key, sizeof(key));
-        get_strz(pb, value, sizeof(value));
+        avio_get_str(pb, INT_MAX, key,   sizeof(key));
+        avio_get_str(pb, INT_MAX, value, sizeof(value));
         av_metadata_set2(&s->metadata, key, value, 0);
     }
 }
diff --git a/libavformat/ffmdec.c b/libavformat/ffmdec.c
index bcfc165..7dd567e 100644
--- a/libavformat/ffmdec.c
+++ b/libavformat/ffmdec.c
@@ -325,7 +325,8 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap)
             codec->qcompress = avio_rb16(pb) / 10000.0;
             codec->qblur = avio_rb16(pb) / 10000.0;
             codec->bit_rate_tolerance = avio_rb32(pb);
-            codec->rc_eq = av_strdup(get_strz(pb, rc_eq_buf, sizeof(rc_eq_buf)));
+            avio_get_str(pb, INT_MAX, rc_eq_buf, sizeof(rc_eq_buf));
+            codec->rc_eq = av_strdup(rc_eq_buf);
             codec->rc_max_rate = avio_rb32(pb);
             codec->rc_min_rate = avio_rb32(pb);
             codec->rc_buffer_size = avio_rb32(pb);
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 537b9c6..ad5bada 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2331,7 +2331,7 @@ static void mov_read_chapters(AVFormatContext *s)
             avio_get_str16le(sc->pb, len, title, title_len);
         else {
             AV_WB16(title, ch);
-            get_strz(sc->pb, title + 2, len - 1);
+            avio_get_str(sc->pb, len - 2, title + 2, title_len - 2);
         }
 
         ff_new_chapter(s, i, st->time_base, sample->timestamp, end, title);




More information about the ffmpeg-cvslog mailing list