[Webkit-unassigned] [Bug 44539] API changes for Video Frame sharing between WebKit and Chromium
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Aug 25 11:47:00 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=44539
Darin Fisher (:fishd, Google) <fishd at chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #65439|review?, commit-queue? |review-
Flag| |
--- Comment #9 from Darin Fisher (:fishd, Google) <fishd at chromium.org> 2010-08-25 11:47:00 PST ---
(From update of attachment 65439)
WebCore/platform/graphics/chromium/VideoFrameChromium.h:38
+
nit: extra new line here
WebCore/platform/graphics/chromium/VideoFrameChromium.h:71
+ public:
nit: no need for the redundant 'public:' section
WebCore/platform/graphics/chromium/VideoFrameProvider.h:39
+
nit: extra new line here
WebCore/platform/graphics/chromium/VideoFrameProvider.h:41
+ virtual VideoFrameChromium* getCurrentFrame() = 0;
please document the ownership model. who owns the VideoFrameChromium?
how do I free it? it looks like i have to call putCurrentFrame to
free it, but is that the only way? it might help if these methods
were more fully documented.
WebKit/chromium/public/WebMediaPlayer.h:133
+ // FIXME: Will be made pure virtual when API changes are fully landed.
WebKit API interfaces implemented by the embedder are intended to have
non-pure virtual methods. so this FIXME is backwards. the other methods
should have empty implementations :)
WebKit/chromium/public/WebVideoFrame.h:40
+
nit: kill the extra new line here
WebKit/chromium/public/WebVideoFrame.h:43
+ enum Format {
nit: our convention for enums at the WebKit API level is to use the following
format:
enum Foo {
FooBar,
FooBaz,
...
};
So, I'd expect to see:
enum Format {
FormatInvalid,
FormatRGB555,
...
};
enum SurfaceType {
SurfaceTypeSystemMemory,
...
};
WebKit/chromium/public/WebVideoFrame.h:66
+ virtual SurfaceType type() const = 0;
nit: type should be surfaceType to match the type name SurfaceType
WebKit/chromium/public/WebVideoFrame.h:71
+ virtual int stride(unsigned plane) const = 0;
why does stride return signed instead of unsigned?
WebKit/chromium/public/WebVideoFrame.h:72
+ virtual void* data(unsigned plane) const = 0;
can this pointer be a |const void*| instead? it should be const
if you only expect the caller to get read access to the buffer.
otherwise, non-const implies mutability. i think you only want
to provide read access, right?
WebKit/chromium/src/VideoFrameChromiumImpl.cpp:55
+ VideoFrameChromiumImpl::VideoFrameChromiumImpl(WebVideoFrame* webVideoFrame) :
nit: the colon should be on the next line
WebKit/chromium/src/VideoFrameChromiumImpl.h:42
+
nit: no new line here
WebKit/chromium/src/VideoFrameChromiumImpl.cpp:47
+ WebVideoFrame* VideoFrameChromiumImpl::toWebVideoFrame(WebCore::VideoFrameChromium* videoFrame)
nit: i recommend adding a 'using namespace WebCore' at the top of this file,
and then remove the WebCore:: prefixes in the body of this file.
WebKit/chromium/src/VideoFrameChromiumImpl.cpp:56
+ m_webVideoFrame(webVideoFrame)
what is the ownership model for m_webVideoFrame? it looks like VideoFrameChromiumImpl
is not responsible for deleting m_webVideoFrame. should it?
WebKit/chromium/src/WebMediaPlayerClientImpl.h:119
+ // This function returns a pointer to a VideoFrameChromium, which is
this looks like documentation that should be in VideoFrameProvider.h instead of here.
--
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