Have SourceBufferPrivateAVJObjC use WorkQueue instead of dispatch_async
Created attachment 439440 [details] Patch Hopefully no error in Windows / Linux, can't compile locally
Created attachment 439442 [details] Patch
Created attachment 439453 [details] Patch
rdar://problem/83429276
*** Bug 230663 has been marked as a duplicate of this bug. ***
Created attachment 440171 [details] Patch Add additional explanation in Changelog
Comment on attachment 440171 [details] 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.mm: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.
Created attachment 440328 [details] Patch
Committed r283685 (242621@main): <https://commits.webkit.org/242621@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 440328 [details].