|
|
|
@@ -1305,6 +1305,8 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code |
|
|
|
goto free_and_end; |
|
|
|
} |
|
|
|
|
|
|
|
avctx->internal->skip_samples_multiplier = 1; |
|
|
|
|
|
|
|
if (codec->priv_data_size > 0) { |
|
|
|
if (!avctx->priv_data) { |
|
|
|
avctx->priv_data = av_mallocz(codec->priv_data_size); |
|
|
|
@@ -2387,7 +2389,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx, |
|
|
|
|
|
|
|
side= av_packet_get_side_data(avctx->internal->pkt, AV_PKT_DATA_SKIP_SAMPLES, &side_size); |
|
|
|
if(side && side_size>=10) { |
|
|
|
avctx->internal->skip_samples = AV_RL32(side); |
|
|
|
avctx->internal->skip_samples = AV_RL32(side) * avctx->internal->skip_samples_multiplier; |
|
|
|
discard_padding = AV_RL32(side + 4); |
|
|
|
av_log(avctx, AV_LOG_DEBUG, "skip %d / discard %d samples due to side data\n", |
|
|
|
avctx->internal->skip_samples, (int)discard_padding); |
|
|
|
|