[FFmpeg-devel] [PATCH 15/30] avformat: remove deprecated FF_API_LAVF_SHORTEST
James Almer
jamrial at gmail.com
Mon Feb 24 00:06:15 EET 2025
Deprecated since 2023-09-18.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavformat/avformat.h | 3 ---
libavformat/avformat_internal.h | 7 ------
libavformat/mux.c | 38 ---------------------------------
libavformat/options.c | 4 ----
libavformat/options_table.h | 3 ---
libavformat/version_major.h | 1 -
6 files changed, 56 deletions(-)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 6abdb6d480..a3bb1f1ee3 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1470,9 +1470,6 @@ typedef struct AVFormatContext {
#define AVFMT_FLAG_BITEXACT 0x0400
#define AVFMT_FLAG_SORT_DTS 0x10000 ///< try to interleave outputted packets by dts (using this flag can slow demuxing down)
#define AVFMT_FLAG_FAST_SEEK 0x80000 ///< Enable fast, but inaccurate seeks for some formats
-#if FF_API_LAVF_SHORTEST
-#define AVFMT_FLAG_SHORTEST 0x100000 ///< Stop muxing when the shortest stream stops.
-#endif
#define AVFMT_FLAG_AUTO_BSF 0x200000 ///< Add bitstream filters as requested by the muxer
/**
diff --git a/libavformat/avformat_internal.h b/libavformat/avformat_internal.h
index b114dba659..157252fa90 100644
--- a/libavformat/avformat_internal.h
+++ b/libavformat/avformat_internal.h
@@ -95,13 +95,6 @@ typedef struct FormatContextInternal {
int chapter_ids_monotonic;
};
};
-
-#if FF_API_LAVF_SHORTEST
- /**
- * Timestamp of the end of the shortest stream.
- */
- int64_t shortest_end;
-#endif
} FormatContextInternal;
static av_always_inline FormatContextInternal *ff_fc_internal(AVFormatContext *s)
diff --git a/libavformat/mux.c b/libavformat/mux.c
index dde30f89eb..60204f6266 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -1025,44 +1025,6 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *pkt,
}
}
-#if FF_API_LAVF_SHORTEST
- if (si->packet_buffer.head &&
- eof &&
- (s->flags & AVFMT_FLAG_SHORTEST) &&
- fci->shortest_end == AV_NOPTS_VALUE) {
- AVPacket *const top_pkt = &si->packet_buffer.head->pkt;
-
- fci->shortest_end = av_rescale_q(top_pkt->dts,
- s->streams[top_pkt->stream_index]->time_base,
- AV_TIME_BASE_Q);
- }
-
- if (fci->shortest_end != AV_NOPTS_VALUE) {
- while (si->packet_buffer.head) {
- PacketListEntry *pktl = si->packet_buffer.head;
- AVPacket *const top_pkt = &pktl->pkt;
- AVStream *const st = s->streams[top_pkt->stream_index];
- FFStream *const sti = ffstream(st);
- int64_t top_dts = av_rescale_q(top_pkt->dts, st->time_base,
- AV_TIME_BASE_Q);
-
- if (fci->shortest_end + 1 >= top_dts)
- break;
-
- si->packet_buffer.head = pktl->next;
- if (!si->packet_buffer.head)
- si->packet_buffer.tail = NULL;
-
- if (sti->last_in_packet_buffer == pktl)
- sti->last_in_packet_buffer = NULL;
-
- av_packet_unref(&pktl->pkt);
- av_freep(&pktl);
- flush = 0;
- }
- }
-#endif
-
if (stream_count && flush) {
PacketListEntry *pktl = si->packet_buffer.head;
AVStream *const st = s->streams[pktl->pkt.stream_index];
diff --git a/libavformat/options.c b/libavformat/options.c
index c8f3390306..b314cd4a35 100644
--- a/libavformat/options.c
+++ b/libavformat/options.c
@@ -184,10 +184,6 @@ AVFormatContext *avformat_alloc_context(void)
return NULL;
}
-#if FF_API_LAVF_SHORTEST
- fci->shortest_end = AV_NOPTS_VALUE;
-#endif
-
return s;
}
diff --git a/libavformat/options_table.h b/libavformat/options_table.h
index 311880d24d..e2e690fd2a 100644
--- a/libavformat/options_table.h
+++ b/libavformat/options_table.h
@@ -51,9 +51,6 @@ static const AVOption avformat_options[] = {
{"fastseek", "fast but inaccurate seeks", 0, AV_OPT_TYPE_CONST, {.i64 = AVFMT_FLAG_FAST_SEEK }, INT_MIN, INT_MAX, D, .unit = "fflags"},
{"nobuffer", "reduce the latency introduced by optional buffering", 0, AV_OPT_TYPE_CONST, {.i64 = AVFMT_FLAG_NOBUFFER }, 0, INT_MAX, D, .unit = "fflags"},
{"bitexact", "do not write random/volatile data", 0, AV_OPT_TYPE_CONST, { .i64 = AVFMT_FLAG_BITEXACT }, 0, 0, E, .unit = "fflags" },
-#if FF_API_LAVF_SHORTEST
-{"shortest", "stop muxing with the shortest stream", 0, AV_OPT_TYPE_CONST, { .i64 = AVFMT_FLAG_SHORTEST }, 0, 0, E | AV_OPT_FLAG_DEPRECATED, .unit = "fflags" },
-#endif
{"autobsf", "add needed bsfs automatically", 0, AV_OPT_TYPE_CONST, { .i64 = AVFMT_FLAG_AUTO_BSF }, 0, 0, E, .unit = "fflags" },
{"seek2any", "allow seeking to non-keyframes on demuxer level when supported", OFFSET(seek2any), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, D},
{"analyzeduration", "specify how many microseconds are analyzed to probe the input", OFFSET(max_analyze_duration), AV_OPT_TYPE_INT64, {.i64 = 0 }, 0, INT64_MAX, D},
diff --git a/libavformat/version_major.h b/libavformat/version_major.h
index 7a9b06703d..e189ed90ac 100644
--- a/libavformat/version_major.h
+++ b/libavformat/version_major.h
@@ -42,7 +42,6 @@
*
*/
#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 62)
-#define FF_API_LAVF_SHORTEST (LIBAVFORMAT_VERSION_MAJOR < 62)
#define FF_API_ALLOW_FLUSH (LIBAVFORMAT_VERSION_MAJOR < 62)
#define FF_API_AVSTREAM_SIDE_DATA (LIBAVFORMAT_VERSION_MAJOR < 62)
--
2.48.1
More information about the ffmpeg-devel
mailing list