Changeset 52251 in webkit


Ignore:
Timestamp:
Dec 17, 2009 6:27:00 AM (14 years ago)
Author:
Philippe Normand
Message:

Reviewed by Xan Lopez.

[GTK] display FPS stats for video element
https://bugs.webkit.org/show_bug.cgi?id=32560

Display FPS statistics if WEBKIT_DEBUG environment variable
contains the Media log category. This feature requires a very
recent (>= 0.10.18) version of gst-plugins-bad.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::createGSTPlayBin):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r52249 r52251  
     12009-12-15  Philippe Normand  <pnormand@igalia.com>
     2
     3        Reviewed by Xan Lopez.
     4
     5        [GTK] display FPS stats for video element
     6        https://bugs.webkit.org/show_bug.cgi?id=32560
     7
     8        Display FPS statistics if WEBKIT_DEBUG environment variable
     9        contains the Media log category. This feature requires a very
     10        recent (>= 0.10.18) version of gst-plugins-bad.
     11
     12        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
     13        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
     14        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
     15        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
     16        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
     17
    1182009-11-11  Philippe Normand  <pnormand@igalia.com>
    219
  • trunk/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp

    r52247 r52251  
    197197    , m_playBin(0)
    198198    , m_videoSink(0)
     199    , m_fpsSink(0)
    199200    , m_source(0)
    200201    , m_seekTime(0)
     
    234235        g_object_unref(m_videoSink);
    235236        m_videoSink = 0;
     237    }
     238
     239    if (m_fpsSink) {
     240        g_object_unref(m_fpsSink);
     241        m_fpsSink = 0;
    236242    }
    237243}
     
    928934
    929935    g_object_ref_sink(m_videoSink);
    930     g_object_set(m_playBin, "video-sink", m_videoSink, NULL);
     936
     937    WTFLogChannel* channel = getChannelFromName("Media");
     938    if (channel->state == WTFLogChannelOn) {
     939        m_fpsSink = gst_element_factory_make("fpsdisplaysink", "sink");
     940        if (g_object_class_find_property(G_OBJECT_GET_CLASS(m_fpsSink), "video-sink")) {
     941            g_object_set(G_OBJECT(m_fpsSink), "video-sink", m_videoSink, NULL);
     942            g_object_ref_sink(m_fpsSink);
     943            g_object_set(m_playBin, "video-sink", m_fpsSink, NULL);
     944        } else {
     945            m_fpsSink = 0;
     946            g_object_set(m_playBin, "video-sink", m_videoSink, NULL);
     947            LOG(Media, "Can't display FPS statistics, you need gst-plugins-bad >= 0.10.18");
     948        }
     949    } else
     950        g_object_set(m_playBin, "video-sink", m_videoSink, NULL);
    931951
    932952    g_signal_connect(m_videoSink, "repaint-requested", G_CALLBACK(mediaPlayerPrivateRepaintCallback), this);
  • trunk/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h

    r52247 r52251  
    126126            GstElement* m_playBin;
    127127            GstElement* m_videoSink;
     128            GstElement* m_fpsSink;
    128129            GstElement* m_source;
    129130            GstClockTime m_seekTime;
Note: See TracChangeset for help on using the changeset viewer.