[FFmpeg-devel] [PATCH] vorbiscomment: convert metadata before computing the header's length

Justin Ruggles justin.ruggles
Wed Oct 27 03:00:24 CEST 2010


Anton Khirnov wrote:

> ---
>  libavformat/flacenc.c       |    2 ++
>  libavformat/oggenc.c        |    2 ++
>  libavformat/vorbiscomment.c |    1 -
>  3 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/libavformat/flacenc.c b/libavformat/flacenc.c
> index 996d9f4..281d013 100644
> --- a/libavformat/flacenc.c
> +++ b/libavformat/flacenc.c
> @@ -46,6 +46,8 @@ static int flac_write_block_comment(ByteIOContext *pb, AVMetadata **m,
>      unsigned int len, count;
>      uint8_t *p, *p0;
>  
> +    ff_metadata_conv(m, ff_vorbiscomment_metadata_conv, NULL);
> +
>      len = ff_vorbiscomment_length(*m, vendor, &count);
>      p0 = av_malloc(len+4);
>      if (!p0)
> diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
> index 7ec1b3e..8f6ba69 100644
> --- a/libavformat/oggenc.c
> +++ b/libavformat/oggenc.c
> @@ -213,6 +213,8 @@ static uint8_t *ogg_write_vorbiscomment(int offset, int bitexact,
>      uint8_t *p, *p0;
>      unsigned int count;
>  
> +    ff_metadata_conv(m, ff_vorbiscomment_metadata_conv, NULL);
> +
>      size = offset + ff_vorbiscomment_length(*m, vendor, &count) + framing_bit;
>      p = av_mallocz(size);
>      if (!p)
> diff --git a/libavformat/vorbiscomment.c b/libavformat/vorbiscomment.c
> index d141b9d..59a403f 100644
> --- a/libavformat/vorbiscomment.c
> +++ b/libavformat/vorbiscomment.c
> @@ -55,7 +55,6 @@ int ff_vorbiscomment_length(AVMetadata *m, const char *vendor_string,
>  int ff_vorbiscomment_write(uint8_t **p, AVMetadata **m,
>                             const char *vendor_string, const unsigned count)
>  {
> -    ff_metadata_conv(m, ff_vorbiscomment_metadata_conv, NULL);
>      bytestream_put_le32(p, strlen(vendor_string));
>      bytestream_put_buffer(p, vendor_string, strlen(vendor_string));
>      if (*m) {


yikes. yes, definitely.  I should've caught that in the initial patch.

-Justin




More information about the ffmpeg-devel mailing list