[webkit-changes] [WebKit/WebKit] 9f776d: VideoPreset does not need to be RefCounted

youennf noreply at github.com
Thu Mar 16 00:25:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f776d1a36d9774af20be33092a6568765c3a74f
      https://github.com/WebKit/WebKit/commit/9f776d1a36d9774af20be33092a6568765c3a74f
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-03-16 (Thu, 16 Mar 2023)

  Changed paths:
    M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h
    M Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp
    M Source/WebCore/platform/mediastream/VideoPreset.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp
    M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm
    M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp
    M Source/WebCore/platform/mock/MockRealtimeVideoSource.h

  Log Message:
  -----------
  VideoPreset does not need to be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=253817
rdar://problem/106638837

Reviewed by Eric Carlson.

Inline AVVideoPreset field in VideoPreset.
Remove AVVideoPreset and make VideoPreset no longer RefCounted, as this is better for memory.
RefPtr<VideoPreset> is replaced by std::optional<VideoPreset>.

Covered by existing tests.

* Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp:
(WebCore::RealtimeVideoCaptureSource::presets):
(WebCore::RealtimeVideoCaptureSource::presetsData):
(WebCore::RealtimeVideoCaptureSource::setSupportedPresets):
(WebCore::RealtimeVideoCaptureSource::updateCapabilities):
(WebCore::RealtimeVideoCaptureSource::presetSupportsFrameRate):
(WebCore::RealtimeVideoCaptureSource::shouldUsePreset):
(WebCore::RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate):
(WebCore::RealtimeVideoCaptureSource::setSizeAndFrameRate):
(WebCore::RealtimeVideoCaptureSource::clientUpdatedSizeAndFrameRate):
* Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h:
* Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::setSizeAndFrameRate):
* Source/WebCore/platform/mediastream/VideoPreset.h:
(WebCore::VideoPreset::VideoPreset):
(WebCore::VideoPreset::size const):
(WebCore::VideoPreset::frameRateRanges const):
(WebCore::VideoPreset::setFormat):
(WebCore::VideoPreset::format const):
(WebCore::VideoPreset::log const):
(WebCore::VideoPreset::minFrameRate const):
(WebCore::VideoPreset::maxFrameRate const):
(WebCore::VideoPreset::sortFrameRateRanges):
(WebCore::VideoPreset::create): Deleted.
(): Deleted.
(isType): Deleted.
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h:
(isType): Deleted.
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::prefersPreset):
(WebCore::AVVideoCaptureSource::setFrameRateWithPreset):
(WebCore::AVVideoCaptureSource::setSessionSizeAndFrameRate):
(WebCore::AVVideoCaptureSource::generatePresets):
(WebCore::AVVideoPreset::create): Deleted.
(WebCore::AVVideoPreset::AVVideoPreset): Deleted.
* Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::setFrameRateWithPreset):
(WebCore::MockRealtimeVideoSource::captureSize const):
* Source/WebCore/platform/mock/MockRealtimeVideoSource.h:

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




More information about the webkit-changes mailing list