avcodec/trace_headers_bsf: also parse extradata in packet side data

Certain mov/mp4 files have parameter sets out of band, and when required for a
sample it may be propagated within the relevant packet's side data.
This fixes parsing said files if the SPS and/or PPS in the side data is
different than the one in extradata.

Signed-off-by: James Almer <jamrial@gmail.com>
pull/364/head
James Almer 3 years ago
parent 46e4562b3a
commit acd079843b
  1. 13
      libavcodec/trace_headers_bsf.c

@ -95,6 +95,19 @@ static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
av_log(bsf, AV_LOG_INFO, "Packet: %d bytes%s.\n", pkt->size, tmp);
if (av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, NULL)) {
av_log(bsf, AV_LOG_INFO, "Side data:\n");
err = ff_cbs_read_packet_side_data(ctx->cbc, frag, pkt);
ff_cbs_fragment_reset(frag);
if (err < 0) {
av_packet_unref(pkt);
return err;
}
av_log(bsf, AV_LOG_INFO, "Payload:\n");
}
err = ff_cbs_read_packet(ctx->cbc, frag, pkt);
ff_cbs_fragment_reset(frag);

Loading…
Cancel
Save