Partially revert "Simplify code by using av_metadata_set2()."
authorAnton Khirnov <wyskas@gmail.com>
Mon, 29 Nov 2010 16:38:12 +0000 (16:38 +0000)
committerAnton Khirnov <wyskas@gmail.com>
Mon, 29 Nov 2010 16:38:12 +0000 (16:38 +0000)
This reverts snprintf->av_d2str part of r20840.
With it, track number is exported as a float, which is not
desirable.

Originally committed as revision 25845 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/id3v1.c

index c72fca4..481db97 100644 (file)
@@ -21,7 +21,6 @@
 
 #include "id3v1.h"
 #include "libavcodec/avcodec.h"
-#include "libavutil/avstring.h"
 
 const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1] = {
       [0] = "Blues",
@@ -202,6 +201,7 @@ static void get_string(AVFormatContext *s, const char *key,
  */
 static int parse_tag(AVFormatContext *s, const uint8_t *buf)
 {
+    char str[5];
     int genre;
 
     if (!(buf[0] == 'T' &&
@@ -213,8 +213,10 @@ static int parse_tag(AVFormatContext *s, const uint8_t *buf)
     get_string(s, "album",   buf + 63, 30);
     get_string(s, "date",    buf + 93,  4);
     get_string(s, "comment", buf + 97, 30);
-    if (buf[125] == 0 && buf[126] != 0)
-        av_metadata_set2(&s->metadata, "track", av_d2str(buf[126]), AV_METADATA_DONT_STRDUP_VAL);
+    if (buf[125] == 0 && buf[126] != 0) {
+        snprintf(str, sizeof(str), "%d", buf[126]);
+        av_metadata_set2(&s->metadata, "track", str, 0);
+    }
     genre = buf[127];
     if (genre <= ID3v1_GENRE_MAX)
         av_metadata_set2(&s->metadata, "genre", ff_id3v1_genre_str[genre], 0);