History

avfilter/avfilter: add AVFilterGraph->max_buffered_frames to limit buffered frames

Marton Balint committed 1 year ago

Commit b24155c1 parent 71468e84 files · +17 −2Browse files

Unified · Split

4 files
  1. doc/APIchanges +3 −0
  2. libavfilter/avfilter.h +8 −0
  3. libavfilter/avfiltergraph.c +4 −0
  4. libavfilter/version.h +2 −2
doc/APIchanges+3−0
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28 · 1 unmodified line
2 2
3API changes, most recent first:3API changes, most recent first:
4 4
52025-07-xx - xxxxxxxxxd - lavfi 11.2.100 - avfilter.h
6 Add AVFilterGraph->max_buffered_frames.
7
52025-07-07 - eca477da52 - lavc 62.6.100 - packet.h82025-07-07 - eca477da52 - lavc 62.6.100 - packet.h
6 Add AV_PKT_DATA_RTCP_SR.9 Add AV_PKT_DATA_RTCP_SR.
7 10
libavfilter/avfilter.h+8−0
@@ -629,6 +629,14 @@ typedef struct AVFilterGraph { · 628 unmodified lines
629 avfilter_execute_func *execute;629 avfilter_execute_func *execute;
630 630
631 char *aresample_swr_opts; ///< swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions631 char *aresample_swr_opts; ///< swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions
632
633 /**
634 * Sets the maximum number of buffered frames in the filtergraph combined.
635 *
636 * Zero means no limit. This field must be set before calling
637 * avfilter_graph_config().
638 */
639 unsigned max_buffered_frames;
632} AVFilterGraph;640} AVFilterGraph;
633 641
634/**642/**
libavfilter/avfiltergraph.c+4−0
@@ -56,6 +56,8 @@ static const AVOption filtergraph_options[] = { · 55 unmodified lines
56 AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, F|V },56 AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, F|V },
57 {"aresample_swr_opts" , "default aresample filter options" , OFFSET(aresample_swr_opts) ,57 {"aresample_swr_opts" , "default aresample filter options" , OFFSET(aresample_swr_opts) ,
58 AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, F|A },58 AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, F|A },
59 {"max_buffered_frames" , "maximum number of buffered frames allowed", OFFSET(max_buffered_frames),
60 AV_OPT_TYPE_UINT, {.i64 = 0}, 0, UINT_MAX, F|V|A },
59 { NULL },61 { NULL },
60};62};
61 63
@@ -1296,6 +1298,8 @@ int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx) · 1234 unmodified lines
1296{1298{
1297 int ret;1299 int ret;
1298 1300
1301 if (graphctx->max_buffered_frames)
1302 fffiltergraph(graphctx)->frame_queues.max_queued = graphctx->max_buffered_frames;
1299 if ((ret = graph_check_validity(graphctx, log_ctx)))1303 if ((ret = graph_check_validity(graphctx, log_ctx)))
1300 return ret;1304 return ret;
1301 if ((ret = graph_config_formats(graphctx, log_ctx)))1305 if ((ret = graph_config_formats(graphctx, log_ctx)))
libavfilter/version.h+2−2
@@ -31,8 +31,8 @@ · 30 unmodified lines
31 31
32#include "version_major.h"32#include "version_major.h"
33 33
34#define LIBAVFILTER_VERSION_MINOR 134#define LIBAVFILTER_VERSION_MINOR 2
35#define LIBAVFILTER_VERSION_MICRO 10135#define LIBAVFILTER_VERSION_MICRO 100
36 36
37 37
38#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \38#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t