WebKit Bugzilla
Attachment 357685 Details for
Bug 192856
: Force synchronous decode in WebCoreDecompressionSession::decodeSampleSync()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192856-20181219092638.patch (text/plain), 2.24 KB, created by
Jer Noble
on 2018-12-19 09:26:39 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jer Noble
Created:
2018-12-19 09:26:39 PST
Size:
2.24 KB
patch
obsolete
>Subversion Revision: 239124 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e5ff6b226c1283ef0b2c892227837fdc771ed871..be89eed7290920f5d63172dce60c6bd198f1e03f 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2018-12-19 Jer Noble <jer.noble@apple.com> >+ >+ Force synchronous decode in WebCoreDecompressionSession::decodeSampleSync() >+ https://bugs.webkit.org/show_bug.cgi?id=192856 >+ <rdar://problem/46843245> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Some decoders exposed through VideoToolbox will decode asynchronously even when >+ kVTDecodeInfo_Asynchronous is not set. Force synchronous behavior with a Semaphore. >+ >+ * platform/graphics/cocoa/WebCoreDecompressionSession.mm: >+ (WebCore::WebCoreDecompressionSession::decodeSampleSync): >+ > 2018-12-03 Jer Noble <jer.noble@apple.com> > > Get rid of old, dead Mac video fullscreen code. >diff --git a/Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm b/Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm >index d79e5bf841fea97a33611e53a0940791b96862e6..aad9c6643d9dce36c39fc8b48c645df81c072be2 100644 >--- a/Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm >+++ b/Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm >@@ -39,6 +39,7 @@ > #import <wtf/MonotonicTime.h> > #import <wtf/StringPrintStream.h> > #import <wtf/Vector.h> >+#import <wtf/WTFSemaphore.h> > #import <wtf/cf/TypeCastsCF.h> > > #import "CoreVideoSoftLink.h" >@@ -277,10 +278,13 @@ RetainPtr<CVPixelBufferRef> WebCoreDecompressionSession::decodeSampleSync(CMSamp > > RetainPtr<CVPixelBufferRef> pixelBuffer; > VTDecodeInfoFlags flags { 0 }; >+ WTF::Semaphore syncDecompressionOutputSemaphore { 0 }; > VTDecompressionSessionDecodeFrameWithOutputHandler(m_decompressionSession.get(), sample, flags, nullptr, [&] (OSStatus, VTDecodeInfoFlags, CVImageBufferRef imageBuffer, CMTime, CMTime) mutable { > if (imageBuffer && CFGetTypeID(imageBuffer) == CVPixelBufferGetTypeID()) > pixelBuffer = (CVPixelBufferRef)imageBuffer; >+ syncDecompressionOutputSemaphore.signal(); > }); >+ syncDecompressionOutputSemaphore.wait(); > return pixelBuffer; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192856
: 357685 |
357698