[FFmpeg-devel] [PATCH 2/2 v2] avdevice/decklink_dec: use av_packet_add_side_data()

Marton Balint cus at passwd.hu
Mon Oct 2 20:20:59 EEST 2017



On Mon, 2 Oct 2017, James Almer wrote:

> It uses the existing buffer instead of allocating a new one.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> Untested. No changes since last version.
>
> libavdevice/decklink_dec.cpp | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
> index d8c624aa5d..a172110bdd 100644
> --- a/libavdevice/decklink_dec.cpp
> +++ b/libavdevice/decklink_dec.cpp
> @@ -390,10 +390,8 @@ uint8_t *get_metadata(AVFormatContext *avctx, uint16_t *buf, size_t width,
>             clear_parity_bits(buf, len);
>             data = vanc_to_cc(avctx, buf, width, data_len);
>             if (data) {
> -                uint8_t *pkt_cc = av_packet_new_side_data(pkt, AV_PKT_DATA_A53_CC, data_len);
> -                if (pkt_cc)
> -                    memcpy(pkt_cc, data, data_len);
> -                av_free(data);
> +                if (av_packet_add_side_data(pkt, AV_PKT_DATA_A53_CC, data, data_len) < 0)
> +                    av_free(data);
>             }
>         } else {
>             av_log(avctx, AV_LOG_DEBUG, "Unknown meta data DID = 0x%.2x SDID = 0x%.2x\n",

I can't test this one, but LGTM.

On a side note, maybe we should clarify if AV_INPUT_BUFFER_PADDING_SIZE is 
required on side data or not, the docs of av_packet_add_side_data does 
not mention it but av_packet_new_side_data adds the padding.

Thanks,
Marton


More information about the ffmpeg-devel mailing list