appsrc: Only notify drop property and not in/out

This mirrors the behaviour of audiorate / videorate better and observing in/out
buffers can be achieved more cheaply via other means.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8866>
This commit is contained in:
Sebastian Dröge 2025-04-18 12:27:10 +03:00
parent 9920897c4a
commit fe7cb2e5b1
2 changed files with 2 additions and 16 deletions

View File

@ -857,7 +857,7 @@
"writable": false
},
"silent": {
"blurb": "Don't emit notify for input, output and dropped buffers",
"blurb": "Don't emit notify for dropped buffers",
"conditionally-available": false,
"construct": false,
"construct-only": false,

View File

@ -624,7 +624,7 @@ gst_app_src_class_init (GstAppSrcClass * klass)
*/
g_object_class_install_property (gobject_class, PROP_SILENT,
g_param_spec_boolean ("silent", "silent",
"Don't emit notify for input, output and dropped buffers",
"Don't emit notify for dropped buffers",
DEFAULT_SILENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
/**
@ -1104,8 +1104,6 @@ gst_app_src_send_event (GstElement * element, GstEvent * event)
g_mutex_unlock (&priv->mutex);
if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped");
}
break;
@ -1201,8 +1199,6 @@ gst_app_src_stop (GstBaseSrc * bsrc)
g_mutex_unlock (&priv->mutex);
if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped");
}
@ -1355,8 +1351,6 @@ gst_app_src_do_seek (GstBaseSrc * src, GstSegment * segment)
g_mutex_unlock (&priv->mutex);
if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped");
}
} else {
@ -1809,10 +1803,6 @@ gst_app_src_create (GstBaseSrc * bsrc, guint64 offset, guint size,
}
g_mutex_unlock (&priv->mutex);
if (ret == GST_FLOW_OK && !priv->silent) {
g_object_notify (G_OBJECT (appsrc), "out");
}
return ret;
/* ERRORS */
@ -2692,10 +2682,6 @@ gst_app_src_push_internal (GstAppSrc * appsrc, GstBuffer * buffer,
g_mutex_unlock (&priv->mutex);
if (!appsrc->priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
}
return GST_FLOW_OK;
/* ERRORS */