2007-12-16 Alp Toker <alp@atoker.com>
authoralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Dec 2007 04:08:39 +0000 (04:08 +0000)
committeralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Dec 2007 04:08:39 +0000 (04:08 +0000)
commit4bb596862f728506ba0f445661fb7fca83344fd3
tree4f643e642efcabe411a16b10fa124bb5a4592cc2
parentfd54d33b1e7ee578798ad85b36a6860c22d24e7b
2007-12-16  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=16356
        [GTK] Integrate GStreamer video with the graphics backend

        Integrate the GStreamer media backend with the Cairo graphics backend.
        There are still some issues: Data is copied more often than necessary,
        and repaint() is not called, causing transformed video not to update
        sometimes.

        * WebCore.pro:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::currentTime):
        (WebCore::MediaPlayerPrivate::setEndTime):
        (WebCore::MediaPlayerPrivate::seeking):
        (WebCore::MediaPlayerPrivate::naturalSize):
        (WebCore::MediaPlayerPrivate::setMuted):
        (WebCore::MediaPlayerPrivate::setRect):
        (WebCore::MediaPlayerPrivate::setVisible):
        (WebCore::MediaPlayerPrivate::repaint):
        (WebCore::MediaPlayerPrivate::paint):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
        (webkit_video_sink_base_init):
        (webkit_video_sink_init):
        (webkit_video_sink_idle_func):
        (webkit_video_sink_render):
        (webkit_video_sink_set_caps):
        (webkit_video_sink_dispose):
        (webkit_video_sink_finalize):
        (webkit_video_sink_set_property):
        (webkit_video_sink_get_property):
        (webkit_video_sink_stop):
        (webkit_video_sink_class_init):
        (webkit_video_sink_new):
        (webkit_video_sink_set_surface):
        (plugin_init):
        * platform/graphics/gtk/VideoSinkGStreamer.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/WebCore.pro
WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h
WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp [new file with mode: 0644]
WebCore/platform/graphics/gtk/VideoSinkGStreamer.h [new file with mode: 0644]