vorbisenc: signal samples to skip

The encoder never actually signalled how many samples to skip.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit is contained in:
Rostislav Pehlivanov 2017-06-05 16:51:08 +01:00
parent 29c13fed68
commit 7fc1be9a01
1 changed files with 8 additions and 0 deletions

View File

@ -1218,6 +1218,14 @@ static int vorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
av_free(audio);
ff_af_queue_remove(&venc->afq, frame_size, &avpkt->pts, &avpkt->duration);
if (frame_size > avpkt->duration) {
uint8_t *side = av_packet_new_side_data(avpkt, AV_PKT_DATA_SKIP_SAMPLES, 10);
if (!side)
return AVERROR(ENOMEM);
AV_WL32(&side[4], frame_size - avpkt->duration);
}
*got_packet_ptr = 1;
return 0;
}