On Mon, 20 Feb 2012, Justin Ruggles wrote:
This allows encoders to set pts and/or duration even if they do not use CODEC_CAP_DELAY. --- libavcodec/utils.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-)diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 2ab3b8e..c88f379 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -885,9 +885,11 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx, ret = avctx->codec->encode2(avctx, avpkt, frame, got_packet_ptr); if (!ret && *got_packet_ptr) { if (!(avctx->codec->capabilities & CODEC_CAP_DELAY)) { - avpkt->pts = frame->pts; - avpkt->duration = ff_samples_to_time_base(avctx, - frame->nb_samples); + if (avpkt->pts == AV_NOPTS_VALUE) + avpkt->pts = frame->pts; + if (!avpkt->duration) + avpkt->duration = ff_samples_to_time_base(avctx, + frame->nb_samples); } avpkt->dts = avpkt->pts; } else { -- 1.7.1
Looks good to me. // Martin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
