lavf: deprecate av_stream_get_end_pts()

According to its documentation it returns "pts of the last muxed packet
+ its duration", but the value it actually returns right now is
(possibly guessed) dts after muxer-internal bitstream filtering (if
any).

This function was added for ffmpeg.c, but it is not used there anymore.
Since the value it returns is ill-defined and so inappropriate for any
serious use, deprecate it.
This commit is contained in:
Anton Khirnov 2022-08-17 15:37:52 +02:00
parent 627543f58a
commit 14726571dd
4 changed files with 9 additions and 0 deletions

View File

@ -14,6 +14,9 @@ libavutil: 2021-04-27
API changes, most recent first:
2022-08-xx - xxxxxxxxxx - lavf 59 - avformat.h
Deprecate av_stream_get_end_pts() without replacement.
2022-08-19 - 352799dca8 - lavc 59.42.102 - codec_id.h
Deprecate AV_CODEC_ID_AYUV and ayuv decoder/encoder. The rawvideo codec
and vuya pixel format combination will be used instead from now on.

View File

@ -1121,12 +1121,15 @@ typedef struct AVStream {
struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
#if FF_API_GET_END_PTS
/**
* Returns the pts of the last muxed packet + its duration
*
* the retuned value is undefined when used with a demuxer.
*/
attribute_deprecated
int64_t av_stream_get_end_pts(const AVStream *st);
#endif
#define AV_PROGRAM_RUNNING 1

View File

@ -29,6 +29,7 @@
#include "internal.h"
#include "mux.h"
#if FF_API_GET_END_PTS
int64_t av_stream_get_end_pts(const AVStream *st)
{
if (cffstream(st)->priv_pts) {
@ -36,6 +37,7 @@ int64_t av_stream_get_end_pts(const AVStream *st)
} else
return AV_NOPTS_VALUE;
}
#endif
int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id,
int std_compliance)

View File

@ -46,6 +46,7 @@
#define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60)
#define FF_HLS_TS_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 60)
#define FF_API_AVSTREAM_CLASS (LIBAVFORMAT_VERSION_MAJOR > 59)
#define FF_API_GET_END_PTS (LIBAVFORMAT_VERSION_MAJOR < 60)
#define FF_API_R_FRAME_RATE 1