[webkit-changes] [WebKit/WebKit] 5adbc7: [GStreamer][WebRTC] Media rendering improvements

Philippe Normand noreply at github.com
Wed Nov 2 04:17:53 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5adbc713768c2e828b5995ef72fef9d21b10f6fb
      https://github.com/WebKit/WebKit/commit/5adbc713768c2e828b5995ef72fef9d21b10f6fb
  Author: Philippe Normand <philn at igalia.com>
  Date:   2022-11-02 (Wed, 02 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  [GStreamer][WebRTC] Media rendering improvements
https://bugs.webkit.org/show_bug.cgi?id=247319

Reviewed by Xabier Rodriguez-Calvar.

The main one is that clock synchronization no longer happens on incoming sources, this is not needed
because the renderer pipeline is separate and they can't synchronize on the system clock either. So
before this patch the clock sync on the first pipeline was artificially limiting the playback on the
renderer pipeline.

Additionally the player no longer configures the pipeline for buffering or doing useless duration
queries when playing mediastreams.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes const):
(WebCore::MediaPlayerPrivateGStreamer::platformDuration const):
(WebCore::MediaPlayerPrivateGStreamer::isMediaStreamPlayer const):
(WebCore::MediaPlayerPrivateGStreamer::configureElement):
(WebCore::setPlaybackFlags):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::configureDepayloader):
(WebCore::MediaPlayerPrivateGStreamer::configureVideoDecoder):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp:
(WebCore::RealtimeIncomingAudioSourceGStreamer::dispatchSample):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp:
(WebCore::RealtimeIncomingSourceGStreamer::registerClient):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp:
(WebCore::RealtimeIncomingVideoSourceGStreamer::dispatchSample):

Canonical link: https://commits.webkit.org/256225@main




More information about the webkit-changes mailing list