<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel rdf:about="http://base-art.net/Articles/117/">
<description>&lt;p&gt;&lt;a class="reference" href="http://www.w3.org/TR/html5/video.html#video"&gt;HTML5 video&lt;/a&gt; is really nice and all but one annoying thing is the
lack of fullscreen video specification, it is currently up to the
User-Agent to allow fullscreen video display.&lt;/p&gt;
&lt;p&gt;WebKit allows a fullscreen button in the media controls and
Safari can, on user-demand only, switch a video to fullscreen and
display nice controls over the video. There's also a
webkit-specific DOM API that allow custom media controls to also
make use of that feature, as long as it is initiated by a user
gesture. Vimeo's HTML5 player uses that feature for instance.&lt;/p&gt;
&lt;p&gt;Thanks to the efforts made by &lt;a class="reference" href="http://igalia.com"&gt;Igalia&lt;/a&gt; to improve the WebKit GTK+ port and its GStreamer media-player, I have been able to implement support for this fullscreen video display feature. So &lt;a class="reference" href="http://trac.webkit.org/wiki/ApplicationsGtk"&gt;any application&lt;/a&gt; using WebKitGTK+ can now make use of it :)&lt;/p&gt;
&lt;p&gt;The way it is done with this first implementation is that a new
fullscreen gtk+ window is created and our GStreamer media-player
inserts an autovideosink in the pipeline and overlays the video
in the window. Some simple controls are supported, the UI is
actually similar to Totem's. One improvement we could do in the
future would be to allow application to override or customize
that simple controls UI.&lt;/p&gt;
&lt;p&gt;The nice thing about this is that we of course use the
&lt;a class="reference" href="http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html"&gt;GstXOverlay&lt;/a&gt; interface and that it's implemented by the linux,
windows and mac os video sinks :) So when other WebKit ports
start to use our GStreamer player implementation it will be
fairly easy to port the feature and allow more platforms to
support fullscreen video display :)&lt;/p&gt;
&lt;p&gt;&lt;a class="reference" href="http://blogs.gnome.org/otte/2009/10/05/cairo-is-slow/"&gt;Benjamin&lt;/a&gt; also suggested that we could reuse the cairo surface of
our WebKit videosink and paint it in a fullscreen GdkWindow. But
this should be done only when his Cairo/Pixman patches to enable
hardware acceleration land.&lt;/p&gt;
&lt;p&gt;So there is room for improvement but I believe this is a first
nice step for fullscreen HTML5 video consumption from &lt;a class="reference" href="http://live.gnome.org/Epiphany"&gt;Epiphany&lt;/a&gt;
and other WebKitGTK+-based browsers :) Thanks a lot to &lt;a class="reference" href="http://blog.kov.eti.br/"&gt;Gustavo&lt;/a&gt;,
Sebastian DrÃ¶ge and &lt;a class="reference" href="http://abandonedwig.info/blog/"&gt;Martin&lt;/a&gt; for the code-reviews.&lt;/p&gt;
</description>
<link>http://base-art.net/Articles/117/</link>
<title>Comments on article "WebKitGTK+ and HTML5 fullscreen video"</title>



<items>
<rdf:seq>

<rdf:li rdf:resource="http://base-art.net/Comments/307/"/>

<rdf:li rdf:resource="http://base-art.net/Comments/306/"/>

<rdf:li rdf:resource="http://base-art.net/Comments/305/"/>

<rdf:li rdf:resource="http://base-art.net/Comments/304/"/>

<rdf:li rdf:resource="http://base-art.net/Comments/303/"/>

</rdf:seq>
</items>


</channel>


<item rdf:about="http://base-art.net/Comments/307/">
<dc:date>2010-08-21T12:13:24.000005+01:00</dc:date>
<title>Jaroslav Smid on WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Comments/307/</link>
<author>Jaroslav Smid</author>
<description>
&lt;p&gt;If you are interested: &lt;a class="reference" href="https://bugzilla.gnome.org/show_bug.cgi?id=627565"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=627565&lt;/a&gt;&lt;/p&gt;

</description>
</item>

<item rdf:about="http://base-art.net/Comments/306/">
<dc:date>2010-08-21T12:00:16.000005+01:00</dc:date>
<title>Jaroslav Smid on WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Comments/306/</link>
<author>Jaroslav Smid</author>
<description>
&lt;p&gt;phil: And was your app also 64bit? Because if you run it in 32bit mode, HANDLE and long are both 32bit. Maybe bug should be reported?&lt;/p&gt;

</description>
</item>

<item rdf:about="http://base-art.net/Comments/305/">
<dc:date>2010-08-21T09:24:47.000005+01:00</dc:date>
<title>phil on WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Comments/305/</link>
<author>phil</author>
<description>
&lt;p&gt;&amp;#64;Jaroslav: I am by no means windows expert but I have been using the GstXOverlay interface on a windows7 64bits VM...&lt;/p&gt;
&lt;p&gt;But yeah maybe using a gsize instead of a gulong would be better.&lt;/p&gt;

</description>
</item>

<item rdf:about="http://base-art.net/Comments/304/">
<dc:date>2010-08-20T18:12:29.000004+01:00</dc:date>
<title>Jaroslav Smid on WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Comments/304/</link>
<author>Jaroslav Smid</author>
<description>
&lt;p&gt;Are you sure GstXOverlay can be used on Windows? gst_x_overlay_set_xwindow_id takes gulong, that means it cannot be used on Windows without risk of HANDLE (and thus pointer) truncation - HANDLE is 64bit on 64bit Windows, but long is 32bit there ...&lt;/p&gt;

</description>
</item>

<item rdf:about="http://base-art.net/Comments/303/">
<dc:date>2010-08-20T13:01:29.000004+01:00</dc:date>
<title>aperez on WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Comments/303/</link>
<author>aperez</author>
<description>
&lt;p&gt;This is definitely a &lt;strong&gt;killer&lt;/strong&gt; feature to have in WebKitGTK+. It is very nice to see that this has landed in the code and that at some point users will be able of enjoying the feature. Congratulations!&lt;/p&gt;

</description>
</item>


</rdf:RDF>
