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
