SSIA
Created attachment 446036 [details] Patch
Comment on attachment 446036 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=446036&action=review > Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:458 > + }), role.releaseImpl().leakRef()); Hm, this is not looking good... i'll revisit this part.
Comment on attachment 446036 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=446036&action=review > Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:145 > - g_signal_connect(audioSink.get(), "child-added", G_CALLBACK(autoAudioSinkChildAddedCallback), nullptr); > + g_signal_connect(audioSink.get(), "child-added", G_CALLBACK(+[](GstChildProxy*, GObject* object, gchar*, gpointer) { > + if (GST_IS_AUDIO_BASE_SINK(object)) > + g_object_set(GST_AUDIO_BASE_SINK(object), "buffer-time", static_cast<gint64>(100000), nullptr); > + }), nullptr); Please, mention this drive-by reorganization on the changelog. >> Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:458 >> + }), role.releaseImpl().leakRef()); > > Hm, this is not looking good... i'll revisit this part. Definitely looking not good. I guess you'll have to g_strdup and use g_signal_connect_data to provide the GClosureNotify to destroy it. > Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:310 > +GstElement* createAutoAudioSink(String role); > +GstElement* createPlatformAudioSink(const char* role); Why don't you use const String& for both?
Created attachment 446378 [details] Patch
Committed r286676 (244982@main): <https://commits.webkit.org/244982@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 446378 [details].
<rdar://problem/86224065>