fakesinks: Fix recursive notify loop

The proxy callback for the notify::last-message was emiting the signal
again on the child, which caused an infinit loop. We could swap the child
and the user data to signal to the bin instead, but it was found that proxying
this signal was not very useful. Typical use case it to set silent=0 and use
deep-notify feature. Proxying that signal just duplicate that output which
isn't very useful.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4766>
This commit is contained in:
Nicolas Dufresne 2023-06-02 15:02:57 -04:00 committed by GStreamer Marge Bot
parent df41d11a7d
commit 4402a8044f
2 changed files with 0 additions and 16 deletions

View file

@ -158,12 +158,6 @@ gst_fake_audio_sink_proxy_preroll_handoff (GstElement * element,
buffer, self->sinkpad);
}
static void
gst_fake_audio_sink_proxy_last_message (GstElement * element)
{
g_object_notify_by_pspec ((GObject *) element, pspec_last_message);
}
static void
gst_fake_audio_sink_init (GstFakeAudioSink * self)
{
@ -192,8 +186,6 @@ gst_fake_audio_sink_init (GstFakeAudioSink * self)
self->child = child;
g_signal_connect (child, "notify::last-message",
G_CALLBACK (gst_fake_audio_sink_proxy_last_message), self);
g_signal_connect (child, "handoff",
G_CALLBACK (gst_fake_audio_sink_proxy_handoff), self);
g_signal_connect (child, "preroll-handoff",

View file

@ -214,12 +214,6 @@ gst_fake_video_sink_proxy_handoff (GstElement * element, GstBuffer * buffer,
buffer, self->sinkpad);
}
static void
gst_fake_video_sink_proxy_last_message (GstElement * element)
{
g_object_notify_by_pspec ((GObject *) element, pspec_last_message);
}
static void
gst_fake_video_sink_proxy_preroll_handoff (GstElement * element,
GstBuffer * buffer, GstPad * pad, GstFakeVideoSink * self)
@ -259,8 +253,6 @@ gst_fake_video_sink_init (GstFakeVideoSink * self)
self->child = child;
g_signal_connect (child, "notify::last-message",
G_CALLBACK (gst_fake_video_sink_proxy_last_message), self);
g_signal_connect (child, "handoff",
G_CALLBACK (gst_fake_video_sink_proxy_handoff), self);
g_signal_connect (child, "preroll-handoff",