Bug 160764 - [GStreamer][OWR] Video rendering fixes
Summary: [GStreamer][OWR] Video rendering fixes
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-11 01:56 PDT by Philippe Normand
Modified: 2016-08-12 03:38 PDT (History)
3 users (show)

See Also:


Attachments
patch (8.81 KB, patch)
2016-08-11 02:12 PDT, Philippe Normand
calvaris: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2016-08-11 01:56:40 PDT
By bumping our JHBuild openwebrtc version we need some changes in the media player.
Comment 1 Philippe Normand 2016-08-11 02:12:32 PDT
Created attachment 285821 [details]
patch
Comment 2 Xabier Rodríguez Calvar 2016-08-12 01:34:59 PDT
Comment on attachment 285821 [details]
patch

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

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:346
> +    m_videoSink = sink;
> +#else
> +    GstElement* sink = gst_bin_new(nullptr);
> +    GstElement* gldownload = gst_element_factory_make("gldownload", nullptr);
> +    GstElement* videoconvert = gst_element_factory_make("videoconvert", nullptr);
> +    GstElement* webkitSink = MediaPlayerPrivateGStreamerBase::createVideoSink();
> +    gst_bin_add_many(GST_BIN(sink), gldownload, videoconvert, webkitSink, nullptr);
> +    gst_element_link_many(gldownload, videoconvert, webkitSink, nullptr);
> +    GRefPtr<GstPad> pad = gst_element_get_static_pad(gldownload, "sink");
> +    gst_element_add_pad(sink, gst_ghost_pad_new("sink", pad.get()));

Why are we keeping the m_videoSink for the if and not for the else?
Comment 3 Philippe Normand 2016-08-12 02:00:10 PDT
Comment on attachment 285821 [details]
patch

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

>> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:346
>> +    gst_element_add_pad(sink, gst_ghost_pad_new("sink", pad.get()));
> 
> Why are we keeping the m_videoSink for the if and not for the else?

Because in the else m_videoSink is set from the ::createVideoSink method.
Comment 4 Philippe Normand 2016-08-12 03:38:01 PDT
Committed r204409: <http://trac.webkit.org/changeset/204409>