[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