|
@@ -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);
|