Commit d987ec21 authored by Sebastian Dröge's avatar Sebastian Dröge Committed by GStreamer Marge Bot

appsrc: Add new max-buffers / max-time / current-level-buffers / current-level-time properties

These work the same way as the corresponding properties on queue and
allow to control the internal buffer size of the appsrc in a more
flexible way.

Unlike in queue the max-buffers and max-time properties are 0 (i.e.
disabled) by default for backwards compatibility reasons.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133>
parent ca7a964f
......@@ -452,6 +452,20 @@
"type": "GstCaps",
"writable": true
},
"current-level-buffers": {
"blurb": "The number of currently queued buffers",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": false
},
"current-level-bytes": {
"blurb": "The number of currently queued bytes",
"conditionally-available": false,
......@@ -466,6 +480,20 @@
"type": "guint64",
"writable": false
},
"current-level-time": {
"blurb": "The amount of currently queued time",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": false
},
"duration": {
"blurb": "The duration of the data stream in nanoseconds (GST_CLOCK_TIME_NONE if unknown)",
"conditionally-available": false,
......@@ -528,6 +556,20 @@
"type": "gboolean",
"writable": true
},
"max-buffers": {
"blurb": "The maximum number of buffers to queue internally (0 = unlimited)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"max-bytes": {
"blurb": "The maximum number of bytes to queue internally (0 = unlimited)",
"conditionally-available": false,
......@@ -556,6 +598,20 @@
"type": "gint64",
"writable": true
},
"max-time": {
"blurb": "The maximum amount of time to queue internally (0 = unlimited)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"min-latency": {
"blurb": "The minimum latency (-1 = default)",
"conditionally-available": false,
......
This diff is collapsed.
......@@ -154,6 +154,24 @@ guint64 gst_app_src_get_max_bytes (GstAppSrc *appsrc);
GST_APP_API
guint64 gst_app_src_get_current_level_bytes (GstAppSrc *appsrc);
GST_APP_API
void gst_app_src_set_max_buffers (GstAppSrc *appsrc, guint64 max);
GST_APP_API
guint64 gst_app_src_get_max_buffers (GstAppSrc *appsrc);
GST_APP_API
guint64 gst_app_src_get_current_level_buffers (GstAppSrc *appsrc);
GST_APP_API
void gst_app_src_set_max_time (GstAppSrc *appsrc, GstClockTime max);
GST_APP_API
GstClockTime gst_app_src_get_max_time (GstAppSrc *appsrc);
GST_APP_API
GstClockTime gst_app_src_get_current_level_time (GstAppSrc *appsrc);
GST_APP_API
void gst_app_src_set_latency (GstAppSrc *appsrc, guint64 min, guint64 max);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment