On Tue, 28 Feb 2012 11:51:09 -0500, Justin Ruggles <[email protected]> 
wrote:
> On 02/28/2012 06:25 AM, Anton Khirnov wrote:
> 
> > Frame sizes in ID3v2.3 are not synchsafe, they are simply 32be numbers.
> > 
> > In practice this bug is not noticeable unless the frame size takes more
> > than 7 bits (which is almost never for text frames).
> > ---
> >  libavformat/id3v2enc.c |   26 +++++++++++++++-----------
> >  1 files changed, 15 insertions(+), 11 deletions(-)
> > 
> > diff --git a/libavformat/id3v2enc.c b/libavformat/id3v2enc.c
> > index 8666818..58f7797 100644
> > --- a/libavformat/id3v2enc.c
> > +++ b/libavformat/id3v2enc.c
> > @@ -45,7 +45,7 @@ static int string_is_ascii(const uint8_t *str)
> >   * according to encoding (only UTF-8 or UTF-16+BOM supported).
> >   * @return number of bytes written or a negative error code.
> >   */
> > -static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char 
> > *str2,
> > +static int id3v2_put_ttag(ID3v2EncContext *id3, AVIOContext *avioc, const 
> > char *str1, const char *str2,
> >                            uint32_t tag, enum ID3v2Encoding enc)
> 
> 
> Patch looks ok. Changing the function to take an AVIOContext instead of
> AVFormatContext is unrelated to the fix right? It does seem like a
> better choice though.
> 

It's kinda related. It needs ID3v2EncContext to get the id3v2 version so I had
to change signature anyway, so I switched AVFormatContext for AVIOContext while
I was at it....so yeah, mostly unrelated.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to