[Webkit-unassigned] [Bug 39577] Improve HTML5 <video> tag performance
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon May 24 08:17:01 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=39577
Eric Carlson <eric.carlson at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #56852| |review+, commit-queue-
Flag| |
--- Comment #13 from Eric Carlson <eric.carlson at apple.com> 2010-05-24 08:17:01 PST ---
(From update of attachment 56852)
> -const CFStringRef kMinQuartzCoreVersion = CFSTR("1.0.43.0");
> -const CFStringRef kMinCoreVideoVersion = CFSTR("1.0.0.2");
> +const CFStringRef kMinQuartzCoreVersion = CFSTR("1.0.42.0");
> +const CFStringRef kMinCoreVideoVersion = CFSTR("1.0.1.0");
>
These are only used inside of arePrerequisitesSatisfied. You might as well define them there so the code doesn't have to run at startup.
> void MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired(Timer<MediaPlayerPrivateQuickTimeVisualContext>*)
> {
> if (m_visualContext && m_visualContext->isImageAvailableForTime(0))
> - retrieveCurrentImage();
> + retrieveCurrentImage();
>
Is there a reason to remove the indentation?
> + // Debug QuickTime links against a non-Debug version of CoreFoundation, so the CFDictionary attached to the CVPixelBuffer cannot be directly passed on into the CAImageQueue without being converted to a non-Debug CFDictionary. Additionally, old versions of QuickTime used a non-AAS CoreFoundation, so the types are not interchangable even in the release case.
> + RetainPtr<CFDictionaryRef> attachments(AdoptCF, QTCFDictionaryCreateCopyWithDataCallback(kCFAllocatorDefault, buffer.attachments(), &QTCFDictionaryCreateWithDataCallback));
> + CFTimeInterval imageTime = QTMovieVisualContext::currentHostTime();
>
This code is always executed so the comment about Debug QuickTime is incorrect. It would be nice if the comment was broken onto multiple lines for readability.
> + size_t slots = m_imageQueue->collect();
>
This local variable isn't used.
> +static bool arePrerequisitesSatisfied()
>
This name is fairly generic, maybe "requiredDllsAvailable", or "minimumDllsAvailable"?
> + CFShow(quartzCoreString);
> + CFShow(coreVideoString);
> +
Oops, you definitely don't want to leave these in!
> - void setContents(CGImageRef contents) { CACFLayerSetContents(layer(), contents); setNeedsCommit(); }
> - CGImageRef contents() const { return static_cast<CGImageRef>(const_cast<void*>(CACFLayerGetContents(layer()))); }
> + void setContents(CFTypeRef contents) { CACFLayerSetContents(layer(), contents); setNeedsCommit(); }
>
Not sure, but using a comma instead of a semi-colon between commands might quiet the style checker complaint.
> +WKCAImageQueue::WKCAImageQueue(uint32_t width, uint32_t height, uint32_t capacity)
> + : m_private(new WKCAImageQueuePrivate())
> +{
> + m_private->m_imageQueue = wkCAImageQueueCreate(width, height, capacity);
> +}
> +
> +WKCAImageQueue::WKCAImageQueue(const WKCAImageQueue& o)
> + : m_private(new WKCAImageQueuePrivate())
> +{
> + m_private->m_imageQueue = WKCAImageQueueRetain(o.m_private->m_imageQueue);
> +}
You only use the first form of the constructor, can this one be made private?
> +WKCAImageQueue& WKCAImageQueue::operator=(const WKCAImageQueue& o)
> +{
> + WKCAImageQueueRetain(o.m_private->m_imageQueue);
> + WKCAImageQueueRelease(m_private->m_imageQueue);
> + m_private->m_imageQueue = o.m_private->m_imageQueue;
> + return *this;
> +}
> +
Does this need to be public?
> +uint32_t WKCAImageQueue::width()
> +uint32_t WKCAImageQueue::height()
> +void WKCAImageQueue::setSize(uint32_t width, uint32_t height)
> +uint32_t WKCAImageQueue::capacity()
> +void WKCAImageQueue::flush()
> +uint32_t WKCAImageQueue::flags()
None of these are used yet, I would leave them out of the class. This will also allow you to remove the WebKitSystemInterface functions.
r=me with these changes
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list