<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[209968] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/209968">209968</a></dd>
<dt>Author</dt> <dd>philn@webkit.org</dd>
<dt>Date</dt> <dd>2016-12-17 11:32:45 -0800 (Sat, 17 Dec 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed, rollout <a href="http://trac.webkit.org/projects/webkit/changeset/209860">r209860</a> OWR player shouldn't be selected for
normal video playback
Source/WebCore:
* platform/GStreamer.cmake:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::~MediaPlayerPrivateGStreamerOwr):
(WebCore::MediaPlayerPrivateGStreamerOwr::play):
(WebCore::MediaPlayerPrivateGStreamerOwr::pause):
(WebCore::MediaPlayerPrivateGStreamerOwr::load):
(WebCore::MediaPlayerPrivateGStreamerOwr::stop):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged):
(WebCore::MediaPlayerPrivateGStreamerOwr::setSize):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
* platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:
(WebCore::MediaEndpointOwr::createMutedRemoteSource):
* platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h: Removed.
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
* platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp: Removed.
* platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
* platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h: Removed.
LayoutTests:
* platform/gtk/TestExpectations:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformGStreamercmake">trunk/Source/WebCore/platform/GStreamer.cmake</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerOwrcpp">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerOwrh">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcMediaEndpointOwrcpp">trunk/Source/WebCore/platform/mediastream/openwebrtc/MediaEndpointOwr.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrcpp">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceOwrh">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeAudioSourceOwrh">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceOwrcpp">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeVideoSourceOwrh">trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/LayoutTests/ChangeLog        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -1,3 +1,9 @@
</span><ins>+2016-12-17 Philippe Normand <pnormand@igalia.com>
+
+ Unreviewed, rollout r209860 OWR player shouldn't be selected for normal video playback
+
+ * platform/gtk/TestExpectations:
+
</ins><span class="cx"> 2016-12-17 Wenson Hsieh <wenson_hsieh@apple.com>
</span><span class="cx">
</span><span class="cx"> Visual viewports: bottom fixed elements disappear behind the keyboard
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -314,6 +314,7 @@
</span><span class="cx"> webkit.org/b/79203 webaudio/mediastreamaudiodestinationnode.html [ Skip ]
</span><span class="cx"> webkit.org/b/79203 webaudio/mediastreamaudiosourcenode.html [ Skip ]
</span><span class="cx"> webkit.org/b/79203 fast/mediastream/MediaStream-video-element.html [ Skip ]
</span><ins>+webkit.org/b/79203 fast/mediastream/MediaStream-video-element-track-stop.html [ Skip ]
</ins><span class="cx"> webkit.org/b/151344 fast/mediastream/MediaStream-add-ended-tracks.html [ Skip ]
</span><span class="cx"> webkit.org/b/151344 fast/mediastream/MediaStream-add-remove-tracks.html [ Skip ]
</span><span class="cx"> webkit.org/b/79203 fast/mediastream/mock-media-source.html [ Skip ]
</span><span class="lines">@@ -322,7 +323,6 @@
</span><span class="cx"> webkit.org/b/160996 fast/mediastream/apply-constraints-advanced.html [ Skip ]
</span><span class="cx"> webkit.org/b/160996 fast/mediastream/apply-constraints-audio.html [ Skip ]
</span><span class="cx"> webkit.org/b/160996 fast/mediastream/apply-constraints-video.html [ Skip ]
</span><del>-webkit.org/b/161956 fast/mediastream/MediaStream-video-element-displays-buffer.html [ Skip ]
</del><span class="cx">
</span><span class="cx"> # Proximity Events is not supported.
</span><span class="cx"> webkit.org/b/99060 proximity [ Failure ]
</span><span class="lines">@@ -821,6 +821,8 @@
</span><span class="cx">
</span><span class="cx"> webkit.org/b/153937 http/tests/misc/detach-during-notifyDone.html [ Crash Pass ]
</span><span class="cx">
</span><ins>+webkit.org/b/161956 fast/mediastream/MediaStream-video-element-displays-buffer.html [ Timeout ]
+
</ins><span class="cx"> webkit.org/b/131546 media/track/track-in-band.html [ Crash Timeout Failure ]
</span><span class="cx">
</span><span class="cx"> webkit.org/b/163782 media/video-played-ranges-1.html [ Crash Pass ]
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/ChangeLog        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2016-12-17 Philippe Normand <pnormand@igalia.com>
+
+ Unreviewed, rollout r209860 OWR player shouldn't be selected for normal video playback
+
+ * platform/GStreamer.cmake:
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
+ (WebCore::MediaPlayerPrivateGStreamerOwr::~MediaPlayerPrivateGStreamerOwr):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::play):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::pause):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::load):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::stop):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged):
+ (WebCore::MediaPlayerPrivateGStreamerOwr::setSize):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
+ * platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:
+ (WebCore::MediaEndpointOwr::createMutedRemoteSource):
+ * platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h: Removed.
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
+ (WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp: Removed.
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
+ * platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h: Removed.
+
</ins><span class="cx"> 2016-12-17 Michael Catanzaro <mcatanzaro@igalia.com>
</span><span class="cx">
</span><span class="cx"> warning: the compiler can assume that the address of 'thisObject' will always evaluate to 'true' [-Waddress] in WebCore::JSHTMLDocument::getOwnPropertySlot
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformGStreamercmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/GStreamer.cmake (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/GStreamer.cmake        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/GStreamer.cmake        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -16,7 +16,6 @@
</span><span class="cx">
</span><span class="cx"> platform/mediastream/openwebrtc/MediaEndpointOwr.cpp
</span><span class="cx"> platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp
</span><del>- platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp
</del><span class="cx"> platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp
</span><span class="cx"> )
</span><span class="cx"> endif ()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerOwrcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -56,9 +56,6 @@
</span><span class="cx"> if (hasVideo())
</span><span class="cx"> m_videoTrack->removeObserver(*this);
</span><span class="cx">
</span><del>- m_audioTrackMap.clear();
- m_videoTrackMap.clear();
-
</del><span class="cx"> stop();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -72,7 +69,6 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- m_ended = false;
</del><span class="cx"> m_paused = false;
</span><span class="cx">
</span><span class="cx"> GST_DEBUG("Connecting to live stream, descriptor: %p", m_streamPrivate.get());
</span><span class="lines">@@ -88,7 +84,7 @@
</span><span class="cx"> {
</span><span class="cx"> GST_DEBUG("Pause");
</span><span class="cx"> m_paused = true;
</span><del>- disableMediaTracks();
</del><ins>+ stop();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool MediaPlayerPrivateGStreamerOwr::hasVideo() const
</span><span class="lines">@@ -205,9 +201,6 @@
</span><span class="cx"> String preSelectedDevice = getenv("WEBKIT_AUDIO_DEVICE");
</span><span class="cx"> if (!preSelectedDevice || (preSelectedDevice == track->label())) {
</span><span class="cx"> m_audioTrack = track;
</span><del>- auto audioTrack = AudioTrackPrivateMediaStream::create(*m_audioTrack.get());
- m_player->addAudioTrack(*audioTrack);
- m_audioTrackMap.add(track->id(), audioTrack);
</del><span class="cx"> observeTrack = true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -217,10 +210,6 @@
</span><span class="cx"> String preSelectedDevice = getenv("WEBKIT_VIDEO_DEVICE");
</span><span class="cx"> if (!preSelectedDevice || (preSelectedDevice == track->label())) {
</span><span class="cx"> m_videoTrack = track;
</span><del>- auto videoTrack = VideoTrackPrivateMediaStream::create(*m_videoTrack.get());
- m_player->addVideoTrack(*videoTrack);
- videoTrack->setSelected(true);
- m_videoTrackMap.add(track->id(), videoTrack);
</del><span class="cx"> observeTrack = true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -256,31 +245,20 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaPlayerPrivateGStreamerOwr::disableMediaTracks()
</del><ins>+void MediaPlayerPrivateGStreamerOwr::stop()
</ins><span class="cx"> {
</span><span class="cx"> if (m_audioTrack) {
</span><span class="cx"> GST_DEBUG("Stop: disconnecting audio");
</span><del>- g_object_set(m_audioRenderer.get(), "disabled", true, nullptr);
</del><ins>+ g_object_set(m_audioRenderer.get(), "disabled", TRUE, nullptr);
</ins><span class="cx"> owr_media_renderer_set_source(OWR_MEDIA_RENDERER(m_audioRenderer.get()), nullptr);
</span><span class="cx"> }
</span><del>-
</del><span class="cx"> if (m_videoTrack) {
</span><span class="cx"> GST_DEBUG("Stop: disconnecting video");
</span><del>- g_object_set(m_videoRenderer.get(), "disabled", true, nullptr);
</del><ins>+ g_object_set(m_videoRenderer.get(), "disabled", TRUE, nullptr);
</ins><span class="cx"> owr_media_renderer_set_source(OWR_MEDIA_RENDERER(m_videoRenderer.get()), nullptr);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaPlayerPrivateGStreamerOwr::stop()
-{
- disableMediaTracks();
- if (m_videoTrack) {
- auto videoTrack = m_videoTrackMap.get(m_videoTrack->id());
- if (videoTrack)
- videoTrack->setSelected(false);
- }
-}
-
</del><span class="cx"> void MediaPlayerPrivateGStreamerOwr::registerMediaEngine(MediaEngineRegistrar registrar)
</span><span class="cx"> {
</span><span class="cx"> if (initializeGStreamerAndGStreamerDebugging()) {
</span><span class="lines">@@ -349,25 +327,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (&track == m_audioTrack)
</span><del>- g_object_set(m_audioRenderer.get(), "disabled", true, nullptr);
- else if (&track == m_videoTrack) {
- g_object_set(m_videoRenderer.get(), "disabled", true, nullptr);
- auto& realTimeMediaSource = static_cast<RealtimeMediaSourceOwr&>(m_videoTrack->source());
- realTimeMediaSource.setWidth(0);
- realTimeMediaSource.setHeight(0);
- auto videoTrack = m_videoTrackMap.get(m_videoTrack->id());
- if (videoTrack)
- videoTrack->setSelected(false);
- }
-
- bool audioDisabled;
- bool videoDisabled;
- g_object_get(m_audioRenderer.get(), "disabled", &audioDisabled, nullptr);
- g_object_get(m_videoRenderer.get(), "disabled", &videoDisabled, nullptr);
- if (audioDisabled && videoDisabled) {
- m_ended = true;
- m_player->timeChanged();
- }
</del><ins>+ g_object_set(m_audioRenderer.get(), "disabled", TRUE, nullptr);
+ else if (&track == m_videoTrack)
+ g_object_set(m_videoRenderer.get(), "disabled", TRUE, nullptr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void MediaPlayerPrivateGStreamerOwr::trackMutedChanged(MediaStreamTrackPrivate& track)
</span><span class="lines">@@ -417,17 +379,7 @@
</span><span class="cx"> void MediaPlayerPrivateGStreamerOwr::trackEnabledChanged(MediaStreamTrackPrivate& track)
</span><span class="cx"> {
</span><span class="cx"> GST_DEBUG("%s track now %s", track.type() == RealtimeMediaSource::Audio ? "audio":"video", track.enabled() ? "enabled":"disabled");
</span><del>-
- switch (track.type()) {
- case RealtimeMediaSource::Audio:
- g_object_set(m_audioRenderer.get(), "disabled", !track.enabled(), nullptr);
- break;
- case RealtimeMediaSource::Video:
- g_object_set(m_videoRenderer.get(), "disabled", !track.enabled(), nullptr);
- break;
- case RealtimeMediaSource::None:
- GST_WARNING("Trying to change enabled state of a track with None type");
- }
</del><ins>+ maybeHandleChangeMutedState(track);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> GstElement* MediaPlayerPrivateGStreamerOwr::createVideoSink()
</span><span class="lines">@@ -474,25 +426,8 @@
</span><span class="cx"> MediaPlayerPrivateGStreamerBase::setSize(size);
</span><span class="cx"> if (m_videoRenderer)
</span><span class="cx"> g_object_set(m_videoRenderer.get(), "width", size.width(), "height", size.height(), nullptr);
</span><del>-
- auto& realTimeMediaSource = static_cast<RealtimeMediaSourceOwr&>(m_videoTrack->source());
- realTimeMediaSource.setWidth(size.width());
- realTimeMediaSource.setHeight(size.height());
</del><span class="cx"> }
</span><span class="cx">
</span><del>-FloatSize MediaPlayerPrivateGStreamerOwr::naturalSize() const
-{
- auto size = MediaPlayerPrivateGStreamerBase::naturalSize();
-
- // In case we are not playing the video we return the size we set to the media source.
- if (size.isZero()) {
- auto& realTimeMediaSource = static_cast<RealtimeMediaSourceOwr&>(m_videoTrack->source());
- return realTimeMediaSource.size();
- }
-
- return size;
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(VIDEO) && ENABLE(MEDIA_STREAM) && USE(GSTREAMER) && USE(OPENWEBRTC)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerOwrh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -22,10 +22,8 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO) && ENABLE(MEDIA_STREAM) && USE(GSTREAMER) && USE(OPENWEBRTC)
</span><span class="cx">
</span><del>-#include "AudioTrackPrivateMediaStream.h"
</del><span class="cx"> #include "MediaPlayerPrivateGStreamerBase.h"
</span><span class="cx"> #include "MediaStreamTrackPrivate.h"
</span><del>-#include "VideoTrackPrivateMediaStream.h"
</del><span class="cx">
</span><span class="cx"> typedef struct _OwrGstVideoRenderer OwrGstVideoRenderer;
</span><span class="cx"> typedef struct _OwrGstAudioRenderer OwrGstAudioRenderer;
</span><span class="lines">@@ -44,8 +42,6 @@
</span><span class="cx">
</span><span class="cx"> void setSize(const IntSize&) final;
</span><span class="cx">
</span><del>- FloatSize naturalSize() const final;
-
</del><span class="cx"> private:
</span><span class="cx"> GstElement* createVideoSink() final;
</span><span class="cx"> GstElement* audioSink() const final { return m_audioSink.get(); }
</span><span class="lines">@@ -91,7 +87,6 @@
</span><span class="cx">
</span><span class="cx"> bool canLoadPoster() const final { return false; }
</span><span class="cx"> void setPoster(const String&) final { }
</span><del>- bool ended() const final { return m_ended; }
</del><span class="cx">
</span><span class="cx"> // MediaStreamTrackPrivate::Observer implementation.
</span><span class="cx"> void trackEnded(MediaStreamTrackPrivate&) final;
</span><span class="lines">@@ -106,10 +101,8 @@
</span><span class="cx"> void loadingFailed(MediaPlayer::NetworkState error);
</span><span class="cx"> void stop();
</span><span class="cx"> void maybeHandleChangeMutedState(MediaStreamTrackPrivate&);
</span><del>- void disableMediaTracks();
</del><span class="cx">
</span><span class="cx"> bool m_paused { true };
</span><del>- bool m_ended { false };
</del><span class="cx"> RefPtr<MediaStreamTrackPrivate> m_videoTrack;
</span><span class="cx"> RefPtr<MediaStreamTrackPrivate> m_audioTrack;
</span><span class="cx"> GRefPtr<GstElement> m_audioSink;
</span><span class="lines">@@ -116,9 +109,6 @@
</span><span class="cx"> RefPtr<MediaStreamPrivate> m_streamPrivate;
</span><span class="cx"> GRefPtr<OwrGstVideoRenderer> m_videoRenderer;
</span><span class="cx"> GRefPtr<OwrGstAudioRenderer> m_audioRenderer;
</span><del>-
- HashMap<String, RefPtr<AudioTrackPrivateMediaStream>> m_audioTrackMap;
- HashMap<String, RefPtr<VideoTrackPrivateMediaStream>> m_videoTrackMap;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcMediaEndpointOwrcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/MediaEndpointOwr.cpp (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/MediaEndpointOwr.cpp        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/MediaEndpointOwr.cpp        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -39,8 +39,7 @@
</span><span class="cx"> #include "OpenWebRTCUtilities.h"
</span><span class="cx"> #include "PeerConnectionStates.h"
</span><span class="cx"> #include "RTCDataChannelHandler.h"
</span><del>-#include "RealtimeAudioSourceOwr.h"
-#include "RealtimeVideoSourceOwr.h"
</del><ins>+#include "RealtimeMediaSourceOwr.h"
</ins><span class="cx"> #include <owr/owr.h>
</span><span class="cx"> #include <owr/owr_audio_payload.h>
</span><span class="cx"> #include <owr/owr_crypto_utils.h>
</span><span class="lines">@@ -351,21 +350,15 @@
</span><span class="cx"> {
</span><span class="cx"> String name;
</span><span class="cx"> String id("not used");
</span><del>- RefPtr<RealtimeMediaSourceOwr> source;
</del><span class="cx">
</span><span class="cx"> switch (type) {
</span><del>- case RealtimeMediaSource::Audio:
- name = "remote audio";
- source = adoptRef(new RealtimeAudioSourceOwr(nullptr, id, type, name));
- break;
- case RealtimeMediaSource::Video:
- name = "remote video";
- source = adoptRef(new RealtimeVideoSourceOwr(nullptr, id, type, name));
- break;
</del><ins>+ case RealtimeMediaSource::Audio: name = "remote audio"; break;
+ case RealtimeMediaSource::Video: name = "remote video"; break;
</ins><span class="cx"> case RealtimeMediaSource::None:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ RefPtr<RealtimeMediaSourceOwr> source = adoptRef(new RealtimeMediaSourceOwr(nullptr, id, type, name));
</ins><span class="cx"> m_mutedRemoteSources.set(mid, source);
</span><span class="cx">
</span><span class="cx"> return *source;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeAudioSourceOwrh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -1,70 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015,2016 Igalia S.L
- * Copyright (C) 2015 Metrological
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
-
-#include "RealtimeMediaSourceOwr.h"
-
-namespace WebCore {
-
-class RealtimeAudioSourceOwr : public RealtimeMediaSourceOwr {
-public:
-RealtimeAudioSourceOwr(OwrMediaSource* mediaSource, const String& id, RealtimeMediaSource::Type type, const String& name)
- : RealtimeMediaSourceOwr(mediaSource, id, type, name)
- {
- }
-
-RealtimeAudioSourceOwr(const String& id, RealtimeMediaSource::Type type, const String& name)
- : RealtimeMediaSourceOwr(id, type, name)
- {
- }
-
- virtual ~RealtimeAudioSourceOwr() { }
-
- bool applySize(const IntSize&) final { return false; }
-
-protected:
- void initializeSettings() final {
- if (m_currentSettings.deviceId().isEmpty())
- m_currentSettings.setSupportedConstraits(supportedConstraints());
-
- m_currentSettings.setDeviceId(id());
- }
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceCenterOwrcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -40,9 +40,7 @@
</span><span class="cx"> #include "MediaStreamPrivate.h"
</span><span class="cx"> #include "NotImplemented.h"
</span><span class="cx"> #include "OpenWebRTCUtilities.h"
</span><del>-#include "RealtimeAudioSourceOwr.h"
</del><span class="cx"> #include "RealtimeMediaSourceCapabilities.h"
</span><del>-#include "RealtimeVideoSourceOwr.h"
</del><span class="cx"> #include "UUID.h"
</span><span class="cx"> #include <owr/owr.h>
</span><span class="cx"> #include <owr/owr_local.h>
</span><span class="lines">@@ -151,11 +149,7 @@
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<RealtimeMediaSourceOwr> mediaSource;
- if (mediaSourceType == RealtimeMediaSource::Audio)
- mediaSource = adoptRef(new RealtimeAudioSourceOwr(source, id, mediaSourceType, sourceName));
- else
- mediaSource = adoptRef(new RealtimeVideoSourceOwr(source, id, mediaSourceType, sourceName));
</del><ins>+ auto mediaSource = adoptRef(*new RealtimeMediaSourceOwr(source, id, mediaSourceType, sourceName));
</ins><span class="cx">
</span><span class="cx"> RealtimeMediaSourceOwrMap::iterator sourceIterator = m_sourceMap.find(id);
</span><span class="cx"> if (sourceIterator == m_sourceMap.end())
</span><span class="lines">@@ -162,10 +156,9 @@
</span><span class="cx"> m_sourceMap.add(id, mediaSource.copyRef());
</span><span class="cx">
</span><span class="cx"> if (mediaType & OWR_MEDIA_TYPE_AUDIO)
</span><del>- audioSources.append(mediaSource.releaseNonNull());
</del><ins>+ audioSources.append(WTFMove(mediaSource));
</ins><span class="cx"> else if (mediaType & OWR_MEDIA_TYPE_VIDEO)
</span><del>- videoSources.append(mediaSource.releaseNonNull());
-
</del><ins>+ videoSources.append(WTFMove(mediaSource));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (videoSources.isEmpty() && audioSources.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceOwrcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -1,60 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Igalia S.L
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
-#include "RealtimeMediaSourceOwr.h"
-
-namespace WebCore {
-
-const RealtimeMediaSourceSettings& RealtimeMediaSourceOwr::settings() const
-{
- const_cast<RealtimeMediaSourceOwr&>(*this).initializeSettings();
- return m_currentSettings;
-}
-
-RealtimeMediaSourceSupportedConstraints& RealtimeMediaSourceOwr::supportedConstraints()
-{
- if (m_supportedConstraints.supportsDeviceId())
- return m_supportedConstraints;
-
- m_supportedConstraints.setSupportsDeviceId(true);
- initializeSupportedConstraints(m_supportedConstraints);
-
- return m_supportedConstraints;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeMediaSourceOwrh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -73,22 +73,13 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<RealtimeMediaSourceCapabilities> capabilities() const override { return m_capabilities; }
</span><del>- const RealtimeMediaSourceSettings& settings() const override;
</del><ins>+ const RealtimeMediaSourceSettings& settings() const override { return m_currentSettings; }
</ins><span class="cx">
</span><span class="cx"> OwrMediaSource* mediaSource() const { return m_mediaSource; }
</span><span class="cx">
</span><del>-protected:
- virtual void initializeSettings() { };
- virtual void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) { };
- RealtimeMediaSourceSupportedConstraints& supportedConstraints();
-
- RealtimeMediaSourceSettings m_currentSettings;
-
</del><span class="cx"> private:
</span><del>-
- RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
</del><span class="cx"> RefPtr<RealtimeMediaSourceCapabilities> m_capabilities;
</span><del>-
</del><ins>+ RealtimeMediaSourceSettings m_currentSettings;
</ins><span class="cx"> OwrMediaSource* m_mediaSource;
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamopenwebrtcRealtimeVideoSourceOwrh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h (209967 => 209968)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h        2016-12-17 19:18:12 UTC (rev 209967)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h        2016-12-17 19:32:45 UTC (rev 209968)
</span><span class="lines">@@ -1,82 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015,2016 Igalia S.L
- * Copyright (C) 2015 Metrological
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
-
-#include "RealtimeMediaSourceOwr.h"
-
-namespace WebCore {
-
-class RealtimeVideoSourceOwr : public RealtimeMediaSourceOwr {
-public:
-RealtimeVideoSourceOwr(OwrMediaSource* mediaSource, const String& id, RealtimeMediaSource::Type type, const String& name)
- : RealtimeMediaSourceOwr(mediaSource, id, type, name)
- {
- }
-
-RealtimeVideoSourceOwr(const String& id, RealtimeMediaSource::Type type, const String& name)
- : RealtimeMediaSourceOwr(id, type, name)
- {
- }
-
- virtual ~RealtimeVideoSourceOwr() { }
-
- bool applySize(const IntSize&) final { return true; }
-
-protected:
- void initializeSettings() final {
- if (m_currentSettings.deviceId().isEmpty())
- m_currentSettings.setSupportedConstraits(supportedConstraints());
-
- m_currentSettings.setDeviceId(id());
-
- m_currentSettings.setFrameRate(frameRate());
- m_currentSettings.setWidth(size().width());
- m_currentSettings.setHeight(size().height());
- }
-
- void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints& supportedConstraints) final {
- supportedConstraints.setSupportsFacingMode(RealtimeMediaSourceSettings::Unknown);
- supportedConstraints.setSupportsWidth(true);
- supportedConstraints.setSupportsHeight(true);
- supportedConstraints.setSupportsAspectRatio(true);
- supportedConstraints.setSupportsFrameRate(true);
- }
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM) && USE(OPENWEBRTC)
</del></span></pre>
</div>
</div>
</body>
</html>