Changeset 206204 in webkit


Ignore:
Timestamp:
Sep 21, 2016 2:44:06 AM (8 years ago)
Author:
Philippe Normand
Message:

[OpenWebRTC] Miscellaneous fixes
https://bugs.webkit.org/show_bug.cgi?id=162332

Reviewed by Alejandro G. Castro.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:

(WebCore::MediaPlayerPrivateGStreamerOwr::currentTime): Improved logging.
(WebCore::MediaPlayerPrivateGStreamerOwr::load): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::loadingFailed): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::createGSTAudioSinkBin):
Pre-roll the autoaudiosink, fetch the underlying platform audio
sink and pass it to the OpenWebRTC renderer.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState): Improved logging.
(WebCore::MediaPlayerPrivateGStreamerOwr::setSize): Don't configure invalid video renderer.

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::createMediaStream): Fix copy-paste error.

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r206203 r206204  
     12016-09-21  Philippe Normand  <pnormand@igalia.com>
     2
     3        [OpenWebRTC] Miscellaneous fixes
     4        https://bugs.webkit.org/show_bug.cgi?id=162332
     5
     6        Reviewed by Alejandro G. Castro.
     7
     8        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
     9        (WebCore::MediaPlayerPrivateGStreamerOwr::currentTime): Improved logging.
     10        (WebCore::MediaPlayerPrivateGStreamerOwr::load): Ditto.
     11        (WebCore::MediaPlayerPrivateGStreamerOwr::loadingFailed): Ditto.
     12        (WebCore::MediaPlayerPrivateGStreamerOwr::createGSTAudioSinkBin):
     13        Pre-roll the autoaudiosink, fetch the underlying platform audio
     14        sink and pass it to the OpenWebRTC renderer.
     15        (WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState): Improved logging.
     16        (WebCore::MediaPlayerPrivateGStreamerOwr::setSize): Don't configure invalid video renderer.
     17        * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
     18        (WebCore::RealtimeMediaSourceCenterOwr::createMediaStream): Fix copy-paste error.
     19
    1202016-09-21  Youenn Fablet  <youenn@apple.com>
    221
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp

    r204410 r206204  
    116116        result = static_cast<double>(position) / GST_SECOND;
    117117
    118     GST_DEBUG("Position %" GST_TIME_FORMAT, GST_TIME_ARGS(position));
     118    GST_LOG("Position %" GST_TIME_FORMAT, GST_TIME_ARGS(position));
    119119    gst_query_unref(query);
    120120
     
    149149        createGSTAudioSinkBin();
    150150
    151     GST_DEBUG("Loading MediaStreamPrivate %p", &streamPrivate);
     151    GST_DEBUG("Loading MediaStreamPrivate %p video: %s, audio: %s", &streamPrivate, streamPrivate.hasVideo() ? "yes":"no", streamPrivate.hasAudio() ? "yes":"no");
    152152
    153153    m_streamPrivate = &streamPrivate;
     
    189189{
    190190    if (m_networkState != error) {
     191        GST_WARNING("Loading failed, error: %d", error);
    191192        m_networkState = error;
    192193        m_player->networkStateChanged();
     
    260261    // FIXME: volume/mute support: https://webkit.org/b/153828.
    261262
    262     GRefPtr<GstElement> sink = gst_element_factory_make("autoaudiosink", 0);
     263    // Pre-roll an autoaudiosink so that the platform audio sink is created and
     264    // can be retrieved from the autoaudiosink bin.
     265    GRefPtr<GstElement> sink = gst_element_factory_make("autoaudiosink", nullptr);
    263266    GstChildProxy* childProxy = GST_CHILD_PROXY(sink.get());
    264     m_audioSink = adoptGRef(GST_ELEMENT(gst_child_proxy_get_child_by_index(childProxy, 0)));
     267    gst_element_set_state(sink.get(), GST_STATE_READY);
     268    GRefPtr<GstElement> platformSink = adoptGRef(GST_ELEMENT(gst_child_proxy_get_child_by_index(childProxy, 0)));
     269    GstElementFactory* factory = gst_element_get_factory(platformSink.get());
     270
     271    // Dispose now un-needed autoaudiosink.
    265272    gst_element_set_state(sink.get(), GST_STATE_NULL);
    266273
     274    // Create a fresh new audio sink compatible with the platform.
     275    m_audioSink = gst_element_factory_create(factory, nullptr);
    267276    m_audioRenderer = adoptGRef(owr_gst_audio_renderer_new(m_audioSink.get()));
    268277}
     
    295304    auto mediaSource = OWR_MEDIA_SOURCE(realTimeMediaSource->mediaSource());
    296305
     306    GST_DEBUG("%s track now %s", track.type() == RealtimeMediaSource::Audio ? "audio":"video", realTimeMediaSource->muted() ? "muted":"un-muted");
    297307    switch (track.type()) {
    298308    case RealtimeMediaSource::Audio:
     
    357367
    358368    MediaPlayerPrivateGStreamerBase::setSize(size);
    359     g_object_set(m_videoRenderer.get(), "width", size.width(), "height", size.height(), nullptr);
     369    if (m_videoRenderer)
     370        g_object_set(m_videoRenderer.get(), "width", size.width(), "height", size.height(), nullptr);
    360371}
    361372
  • trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp

    r205929 r206204  
    147147            RefPtr<RealtimeMediaSource> source = sourceIterator->value;
    148148            if (source->type() == RealtimeMediaSource::Video)
    149                 audioSources.append(source.release());
     149                videoSources.append(source.release());
    150150        }
    151151    }
Note: See TracChangeset for help on using the changeset viewer.