It uses the existing buffer instead of allocating a new one.
Showing the changes to libavdevice/decklink_dec.cpp (1 of 1 file). Show all
Unified · Split
| @@ -390,10 +390,8 @@ uint8_t *get_metadata(AVFormatContext *avctx, uint16_t *buf, size_t width, · 389 unmodified lines | |||
| 390 | clear_parity_bits(buf, len); | 390 | clear_parity_bits(buf, len); |
| 391 | data = vanc_to_cc(avctx, buf, width, data_len); | 391 | data = vanc_to_cc(avctx, buf, width, data_len); |
| 392 | if (data) { | 392 | if (data) { |
| 393 | uint8_t *pkt_cc = av_packet_new_side_data(pkt, AV_PKT_DATA_A53_CC, data_len); | 393 | if (av_packet_add_side_data(pkt, AV_PKT_DATA_A53_CC, data, data_len) < 0) |
| 394 | if (pkt_cc) | 394 | av_free(data); |
| 395 | memcpy(pkt_cc, data, data_len); | ||
| 396 | av_free(data); | ||
| 397 | } | 395 | } |
| 398 | } else { | 396 | } else { |
| 399 | av_log(avctx, AV_LOG_DEBUG, "Unknown meta data DID = 0x%.2x SDID = 0x%.2x\n", | 397 | av_log(avctx, AV_LOG_DEBUG, "Unknown meta data DID = 0x%.2x SDID = 0x%.2x\n", |