lavc/encode: do not use pkt_duration for encoding

Current code prefers deprecated AVFrame.pkt_duration over its
replacement AVFrame.duration whenever the former is set and not equal to
the latter. However, duration will only be actually used when the
caller sets the AV_CODEC_FLAG_FRAME_DURATION flag, which was added
_after_ AVFrame.duration.

This implies that any caller aware of AV_CODEC_FLAG_FRAME_DURATION is
also aware of AVFrame.duration. pkt_duration should then never be used.
This commit is contained in:
Anton Khirnov 2023-04-14 10:15:07 +02:00
parent e392674399
commit 6118be25e1

View File

@ -457,13 +457,6 @@ static int encode_send_frame_internal(AVCodecContext *avctx, const AVFrame *src)
finish:
#if FF_API_PKT_DURATION
FF_DISABLE_DEPRECATION_WARNINGS
if (dst->pkt_duration && dst->pkt_duration != dst->duration)
dst->duration = dst->pkt_duration;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) {
ret = encode_generate_icc_profile(avctx, dst);
if (ret < 0)