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 "writable": false
}, },
"silent": { "silent": {
"blurb": "Don't emit notify for input, output and dropped buffers", "blurb": "Don't emit notify for dropped buffers",
"conditionally-available": false, "conditionally-available": false,
"construct": false, "construct": false,
"construct-only": 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_object_class_install_property (gobject_class, PROP_SILENT,
g_param_spec_boolean ("silent", "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)); 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); g_mutex_unlock (&priv->mutex);
if (!priv->silent) { if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped"); g_object_notify (G_OBJECT (appsrc), "dropped");
} }
break; break;
@ -1201,8 +1199,6 @@ gst_app_src_stop (GstBaseSrc * bsrc)
g_mutex_unlock (&priv->mutex); g_mutex_unlock (&priv->mutex);
if (!priv->silent) { if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped"); 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); g_mutex_unlock (&priv->mutex);
if (!priv->silent) { if (!priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
g_object_notify (G_OBJECT (appsrc), "out");
g_object_notify (G_OBJECT (appsrc), "dropped"); g_object_notify (G_OBJECT (appsrc), "dropped");
} }
} else { } else {
@ -1809,10 +1803,6 @@ gst_app_src_create (GstBaseSrc * bsrc, guint64 offset, guint size,
} }
g_mutex_unlock (&priv->mutex); g_mutex_unlock (&priv->mutex);
if (ret == GST_FLOW_OK && !priv->silent) {
g_object_notify (G_OBJECT (appsrc), "out");
}
return ret; return ret;
/* ERRORS */ /* ERRORS */
@ -2692,10 +2682,6 @@ gst_app_src_push_internal (GstAppSrc * appsrc, GstBuffer * buffer,
g_mutex_unlock (&priv->mutex); g_mutex_unlock (&priv->mutex);
if (!appsrc->priv->silent) {
g_object_notify (G_OBJECT (appsrc), "in");
}
return GST_FLOW_OK; return GST_FLOW_OK;
/* ERRORS */ /* ERRORS */