[FFmpeg-devel] [PATCH 2/2] Revert "Simplify code by using av_metadata_set2()."

Aurelien Jacobs aurel
Mon Nov 29 13:53:37 CET 2010


On Mon, Nov 29, 2010 at 09:41:52AM +0100, Anton Khirnov wrote:
> This reverts commit r20840.
> With it, track number is exported as a float, which is not
> desirable.
> ---
>  libavformat/id3v1.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/id3v1.c b/libavformat/id3v1.c
> index c72fca4..dc06b3d 100644
> --- a/libavformat/id3v1.c
> +++ b/libavformat/id3v1.c
> @@ -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_set(&s->metadata, "track", str);
> +    }

This re-introduce usage of av_metadata_set() which is deprecated.
The right thing to do is to continue using av_metadata_set2() and only
replace the av_d2str() by snprintf().

Aurel



More information about the ffmpeg-devel mailing list