[Webkit-unassigned] [Bug 16356] [GTK] Integrate GStreamer video with the graphics backend

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Aug 23 13:21:08 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=16356


Zan Dobersek <zandobersek at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #28391|0                           |1
        is obsolete|                            |




--- Comment #18 from Zan Dobersek <zandobersek at gmail.com>  2009-08-23 13:21:08 PDT ---
Created an attachment (id=38455)
 --> (https://bugs.webkit.org/attachment.cgi?id=38455)
WIP patch

This is a work-in-progress patch and is therefor not bisected into smaller (and
better) patches. It also includes diff of the Skipped list.

This patch only implements functions and applies modifications necessary for
most of the layout tests in LayoutTests/media/ directory to pass. With applied
patch, 64 tests apply.

Some crashes still occur in webkit_video_sink_idle_func when priv->async_queue
is checked. Between g_idle_add_full call in webkit_video_sink_render and
webkit_video_sink_idle_func call, a call to webkit_video_sink_dispose is made.
This corrupts async queue, therefor crashes occur. In the patch,
g_idle_remove_by_data is called in webkit_video_sink_stop to remove these idle
calls, but some still appear to slip by.

In MediaPlayerPrivateGStreamer.cpp, setEndTime() implementation has been
removed, as it seems this is not used anywhere in WebCore. Maybe not the best
idea, as it could get used?
There are plenty of things still awaiting implementation, such as functions
maxTimeLoaded, maxTimeSeekable, maxTimeBuffered, ... There is also a bit of a
mess in the updateStates function that could use a bit of a cleanup.
Error handling was a bit improved, now calling loadingFailed to the
MediaPlayerPrivate with a different error for different error domain that we
get in mediaPlayerPrivateErrorCallback.
Also, the patch now uses playbin2 as the factory name when creating m_playBin.
playbin2 is surely better that playbin, however, according to gst base plugins
reference manual [1] it is, at this moment, considered unstable, but Rhythmbox
is already using it since 0.12.2.[2][3]

That's about it, next step are the http/media tests. Comments, suggestions,
anything welcome.

[1]
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-playbin2.html
[2] http://bugzilla.gnome.org/show_bug.cgi?id=542922
[3] http://git.gnome.org/cgit/rhythmbox/tree/NEWS#n100

-- 
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