Bug 46790

Summary: GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: MediaAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: eric
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
proposed patch mrobinson: review+

Description Philippe Normand 2010-09-29 01:23:07 PDT
On Mac OSX, the osxvideosink sends a message on the GStreamer bus which includes a pointer to its internal NSView. Application-side needs to retrieve and use it before calling the XOverlay set_window_handle function.

So I propose to add a simple "prepare(GstMessage*)" method in PlatformVideoWindow for this purpose.
On Gtk and EFL this would be an empty implementation.
Comment 1 Philippe Normand 2010-09-29 04:07:42 PDT
Created attachment 69176 [details]
proposed patch
Comment 2 Martin Robinson 2010-10-02 11:23:20 PDT
Comment on attachment 69176 [details]
proposed patch

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

I'm not sure what an appropriate name for this method should be (perhaps prepareForOverlay?), but I think that prepare is not descriptive enough.

> WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp:198
> +        m_videoWindow->prepare(message);

The name prepare(...) seems a little ambiguous. I would prefer something a bit more descriptive.

> WebCore/platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:40
> +    notImplemented();

An empty implementation is different than notImplemented(). This should just be empty.

> WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:69
> +    notImplemented();

Same here.
Comment 3 Eric Seidel (no email) 2010-10-13 12:27:39 PDT
Attachment 69176 [details] was posted by a committer and has review+, assigning to Philippe Normand for commit.
Comment 4 Philippe Normand 2010-10-19 05:17:23 PDT
Committed r70048: <http://trac.webkit.org/changeset/70048>