Message ID | 20170210210331.6944-1-jamrial@gmail.com |
---|---|
State | Accepted |
Commit | 33ab1d4c6f6af4df6e06bd590e5d805bdf442881 |
Headers | show |
On 2/10/17, James Almer <jamrial@gmail.com> wrote: > This way it's clear the size field accounts for the footer length plus every > tag entry, but not the header. > > Signed-off-by: James Almer <jamrial@gmail.com> > --- > libavformat/apetag.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/libavformat/apetag.c b/libavformat/apetag.c > index b23f8cdd1f..cdc602e1a9 100644 > --- a/libavformat/apetag.c > +++ b/libavformat/apetag.c > @@ -192,10 +192,6 @@ int ff_ape_write_tag(AVFormatContext *s) > if ((ret = avio_open_dyn_buf(&dyn_bc)) < 0) > goto end; > > - // flags > - avio_wl32(dyn_bc, APE_TAG_FLAG_CONTAINS_HEADER | > APE_TAG_FLAG_IS_HEADER); > - ffio_fill(dyn_bc, 0, 8); // reserved > - > ff_standardize_creation_time(s); > while ((e = av_dict_get(s->metadata, "", e, AV_DICT_IGNORE_SUFFIX))) { > int val_len; > @@ -218,7 +214,7 @@ int ff_ape_write_tag(AVFormatContext *s) > size = avio_close_dyn_buf(dyn_bc, &dyn_buf); > if (size <= 0) > goto end; > - size += 20; > + size += APE_TAG_FOOTER_BYTES; > > // header > avio_write(s->pb, "APETAGEX", 8); // id > @@ -226,7 +222,11 @@ int ff_ape_write_tag(AVFormatContext *s) > avio_wl32(s->pb, size); > avio_wl32(s->pb, count); > > - avio_write(s->pb, dyn_buf, size - 20); > + // flags > + avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | > APE_TAG_FLAG_IS_HEADER); > + ffio_fill(s->pb, 0, 8); // reserved > + > + avio_write(s->pb, dyn_buf, size - APE_TAG_FOOTER_BYTES); > > // footer > avio_write(s->pb, "APETAGEX", 8); // id > -- > 2.11.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > lgtm
On 2/10/2017 6:24 PM, Paul B Mahol wrote: > On 2/10/17, James Almer <jamrial@gmail.com> wrote: >> This way it's clear the size field accounts for the footer length plus every >> tag entry, but not the header. >> >> Signed-off-by: James Almer <jamrial@gmail.com> >> --- >> libavformat/apetag.c | 12 ++++++------ >> 1 file changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/libavformat/apetag.c b/libavformat/apetag.c >> index b23f8cdd1f..cdc602e1a9 100644 >> --- a/libavformat/apetag.c >> +++ b/libavformat/apetag.c >> @@ -192,10 +192,6 @@ int ff_ape_write_tag(AVFormatContext *s) >> if ((ret = avio_open_dyn_buf(&dyn_bc)) < 0) >> goto end; >> >> - // flags >> - avio_wl32(dyn_bc, APE_TAG_FLAG_CONTAINS_HEADER | >> APE_TAG_FLAG_IS_HEADER); >> - ffio_fill(dyn_bc, 0, 8); // reserved >> - >> ff_standardize_creation_time(s); >> while ((e = av_dict_get(s->metadata, "", e, AV_DICT_IGNORE_SUFFIX))) { >> int val_len; >> @@ -218,7 +214,7 @@ int ff_ape_write_tag(AVFormatContext *s) >> size = avio_close_dyn_buf(dyn_bc, &dyn_buf); >> if (size <= 0) >> goto end; >> - size += 20; >> + size += APE_TAG_FOOTER_BYTES; >> >> // header >> avio_write(s->pb, "APETAGEX", 8); // id >> @@ -226,7 +222,11 @@ int ff_ape_write_tag(AVFormatContext *s) >> avio_wl32(s->pb, size); >> avio_wl32(s->pb, count); >> >> - avio_write(s->pb, dyn_buf, size - 20); >> + // flags >> + avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | >> APE_TAG_FLAG_IS_HEADER); >> + ffio_fill(s->pb, 0, 8); // reserved >> + >> + avio_write(s->pb, dyn_buf, size - APE_TAG_FOOTER_BYTES); >> >> // footer >> avio_write(s->pb, "APETAGEX", 8); // id >> -- >> 2.11.0 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > > lgtm Pushed.
diff --git a/libavformat/apetag.c b/libavformat/apetag.c index b23f8cdd1f..cdc602e1a9 100644 --- a/libavformat/apetag.c +++ b/libavformat/apetag.c @@ -192,10 +192,6 @@ int ff_ape_write_tag(AVFormatContext *s) if ((ret = avio_open_dyn_buf(&dyn_bc)) < 0) goto end; - // flags - avio_wl32(dyn_bc, APE_TAG_FLAG_CONTAINS_HEADER | APE_TAG_FLAG_IS_HEADER); - ffio_fill(dyn_bc, 0, 8); // reserved - ff_standardize_creation_time(s); while ((e = av_dict_get(s->metadata, "", e, AV_DICT_IGNORE_SUFFIX))) { int val_len; @@ -218,7 +214,7 @@ int ff_ape_write_tag(AVFormatContext *s) size = avio_close_dyn_buf(dyn_bc, &dyn_buf); if (size <= 0) goto end; - size += 20; + size += APE_TAG_FOOTER_BYTES; // header avio_write(s->pb, "APETAGEX", 8); // id @@ -226,7 +222,11 @@ int ff_ape_write_tag(AVFormatContext *s) avio_wl32(s->pb, size); avio_wl32(s->pb, count); - avio_write(s->pb, dyn_buf, size - 20); + // flags + avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | APE_TAG_FLAG_IS_HEADER); + ffio_fill(s->pb, 0, 8); // reserved + + avio_write(s->pb, dyn_buf, size - APE_TAG_FOOTER_BYTES); // footer avio_write(s->pb, "APETAGEX", 8); // id
This way it's clear the size field accounts for the footer length plus every tag entry, but not the header. Signed-off-by: James Almer <jamrial@gmail.com> --- libavformat/apetag.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)