On 3/28/2021 5:32 PM, Marton Balint wrote:


On Sun, 28 Mar 2021, James Almer wrote:

As a replacement for attached_pic, which is in turn deprecated and scheduled
for removal.

Signed-off-by: James Almer <jamr...@gmail.com>
---
TODO: APIChanges entry and version bump.

Decided to use the name apic for the field, since it's how id3v2 and other
formats call it.

Fine by me.

diff --git a/libavformat/flac_picture.c b/libavformat/flac_picture.c
index f15cfa877a..f771df3fc2 100644
--- a/libavformat/flac_picture.c
+++ b/libavformat/flac_picture.c
@@ -165,12 +165,20 @@ int ff_flac_parse_picture(AVFormatContext *s, uint8_t *buf, int buf_size, int tr
        RETURN_ERROR(AVERROR(ENOMEM));
    }

-    av_packet_unref(&st->attached_pic);
-    st->attached_pic.buf          = data;
-    st->attached_pic.data         = data->data;
-    st->attached_pic.size         = len;
-    st->attached_pic.stream_index = st->index;
-    st->attached_pic.flags       |= AV_PKT_FLAG_KEY;
+    av_packet_unref(st->apic);
+    st->apic->buf          = data;
+    st->apic->data         = data->data;
+    st->apic->size         = len;
+    st->apic->stream_index = st->index;
+    st->apic->flags       |= AV_PKT_FLAG_KEY;
+    data = NULL;
+#if FF_API_ATTACHED_PIC
+FF_DISABLE_DEPRECATION_WARNINGS

If st->apic is unreffed above, shouldn't you also unref st->attached_pic here?

No, i can in fact just remove it, since the stream was allocated right before it.

I think this unref is there because it was previously an av_init_packet(), which i replaced as part of my deprecation work to achieve the same effect of initializing st->attached_pic (a zeroed packet), for the sake of setting fields like pts to no_pts (This is not needed for st->apic, which is properly initialized when it's allocated).
The av_packet_ref() below will set all st->attached_pic fields.


Thanks,
Marton

+    ret = av_packet_ref(&st->attached_pic, st->apic);
+    if (ret < 0)
+        goto fail;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to