[webkit-reviews] review denied: [Bug 230881] Have SourceBufferPrivateAVJObjC use WorkQueue instead of dispatch_async : [Attachment 440171] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 5 07:38:07 PDT 2021


Chris Dumez <cdumez at apple.com> has denied Jean-Yves Avenard [:jya]
<jean-yves.avenard at apple.com>'s request for review:
Bug 230881: Have SourceBufferPrivateAVJObjC use WorkQueue instead of
dispatch_async
https://bugs.webkit.org/show_bug.cgi?id=230881

Attachment 440171: Patch

https://bugs.webkit.org/attachment.cgi?id=440171&action=review




--- Comment #7 from Chris Dumez <cdumez at apple.com> ---
Comment on attachment 440171
  --> https://bugs.webkit.org/attachment.cgi?id=440171
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=440171&action=review

> Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:59
> +    dispatch_group_enter(m_dispatchGroup.get());

I don't think this is the right level of abstraction and I don't think we want
to pay the cost of dispatch_group_enter / dispatch_group_leave for *every*
dispatch call, simply to support awaitIdle() at one call site.

If we really wanted to support this, I think we would introduce the concept of
group, like in the dispatch API. That said, for this patch, I don't think we
need the concept of group or awaitIdle() at all.

>
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.m
m:700
> +    m_appendQueue->awaitIdle();

Since you have a dedicated queue now, why can't you simply
m_appendQueue->dispatchSync() to make sure all previous tasks have completed
and hang while waiting?

The previous code was using the concept of group because we were using a shared
global queue.


More information about the webkit-reviews mailing list