[Webkit-unassigned] [Bug 150807] [GStreamer] Use RunLoop::Timer instead of GMainLoopSource in video sink

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 3 23:05:58 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=150807

--- Comment #10 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to comment #9)
> Comment on attachment 264681 [details]
> Updated patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=264681&action=review
> 
> >>> Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:92
> >>> +        LockHolder locker(m_sampleMutex);
> >> 
> >> I'm still stuck on this. in requestRender() m_timer operation is protected, here it's not.
> >> 
> >> Regarding previous behavior, timeoutSource was never cancelled after scheduling, except when WebKitVideoSinkPrivate was destroyed. This technically deviates from that.
> > 
> > It's not actually the timer what is protected, but the sample, we need to hold the lock for the condition wait.
> 
> The timer is protected in requestRender(), and I don't see any reason why it
> wouldn't be protected here.

It's protected only because it needs to happen between changing the sample and the condition wait. In stop() we can simply cancel the timer before waiting to acquire the lock. I can move it inside the protection if you think it's a problem

-- 
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/20151104/c68a44db/attachment.html>


More information about the webkit-unassigned mailing list