[Webkit-unassigned] [Bug 159552] [GStreamer] crash within Threaded compositor
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jul 8 04:18:04 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=159552
--- Comment #4 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to comment #3)
> Comment on attachment 283134 [details]
> patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=283134&action=review
>
> > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:553
> > - m_player->sizeChanged();
> > + RunLoop::main().dispatch([this] { m_player->sizeChanged(); });
>
> Are you sure this is because of the threaded compositor and not because of
> GStreamerGL. Because I think in case of not using GSTGL, triggerRepaint is
> called in the main thread. In case of being in the main thread we would be
> scheduling this unnecessarily. Also, if the instance is destroyed before the
> source is dispatches in the main thread, this will crash, so you would need
> to protect this. It would be better if we could use the main thread notifier
> for this, but it's int he derived class not here in the base class.
We already have a weak factory for this, so could you do something like this:
if (isMainThread())
m_player->sizeChanged();
else {
auto weakThis = player.createWeakPtr();
RunLoop::main().dispatch([weakThis]) {
if (weakThis)
weakThis->m_player->sizeChanged();
});
}
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160708/d56c53b5/attachment.html>
More information about the webkit-unassigned
mailing list