[webkit-changes] [WebKit/WebKit] 1a42a3: [GStreamer] Harness: Refactor output stream handli...

Philippe Normand noreply at github.com
Thu Jan 19 04:25:50 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1a42a39e8f4097a91706ddd983c3dd16d8ecdc85
      https://github.com/WebKit/WebKit/commit/1a42a39e8f4097a91706ddd983c3dd16d8ecdc85
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-19 (Thu, 19 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp
    M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp
    M Source/WebCore/platform/gstreamer/GStreamerElementHarness.h
    M Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstElementHarness.cpp

  Log Message:
  -----------
  [GStreamer] Harness: Refactor output stream handling in preparation for "sometimes" pad support
https://bugs.webkit.org/show_bug.cgi?id=250757

Reviewed by Xabier Rodriguez-Calvar.

The harnessed output stream (corresponding to the element source pad) is now managed through a
dedicated Stream class embedded in the GStreamerElementHarness scope. This new architecture will be
useful for the upcoming support for "sometimes" src pads where the harness will be able to work on
auto-plugger elements such as parsebin and decodebin(3).

No change in functionality, covered by existing API and WebCodecs layout tests.

* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::GStreamerInternalVideoDecoder):
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoEncoder::GStreamerInternalVideoEncoder):
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp:
(WebCore::GStreamerElementHarness::GStreamerElementHarness):
(WebCore::GStreamerElementHarness::~GStreamerElementHarness):
(WebCore::GStreamerElementHarness::Stream::Stream):
(WebCore::GStreamerElementHarness::Stream::~Stream):
(WebCore::GStreamerElementHarness::Stream::pullBuffer):
(WebCore::GStreamerElementHarness::Stream::pullEvent):
(WebCore::GStreamerElementHarness::Stream::outputCaps):
(WebCore::GStreamerElementHarness::Stream::chainBuffer):
(WebCore::GStreamerElementHarness::Stream::sinkQuery):
(WebCore::GStreamerElementHarness::Stream::sinkEvent):
(WebCore::GStreamerElementHarness::processOutputBuffers):
(WebCore::GStreamerElementHarness::flush):
(WebCore::GStreamerElementHarness::pullBuffer): Deleted.
(WebCore::GStreamerElementHarness::pullEvent): Deleted.
(WebCore::GStreamerElementHarness::outputCaps): Deleted.
(WebCore::GStreamerElementHarness::chainBuffer): Deleted.
(WebCore::GStreamerElementHarness::sinkQuery): Deleted.
(WebCore::GStreamerElementHarness::sinkEvent): Deleted.
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.h:
(WebCore::GStreamerElementHarness::Stream::create):
(WebCore::GStreamerElementHarness::Stream::pad const):
(WebCore::GStreamerElementHarness::outputStreams const):
* Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstElementHarness.cpp:
(TestWebKitAPI::TEST_F):

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




More information about the webkit-changes mailing list