Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9d73b18d5e881855c5eeff6c3b07600a3252eb6d
https://github.com/WebKit/WebKit/commit/9d73b18d5e881855c5eeff6c3b07600a3252eb6d
Author: Xabier Rodriguez-Calvar <[email protected]>
Date: 2025-12-09 (Tue, 09 Dec 2025)
Changed paths:
M Source/WTF/wtf/glib/GSpanExtras.cpp
M Source/WTF/wtf/glib/GSpanExtras.h
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.h
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.h
M Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp
M Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
M Source/WebCore/platform/audio/gstreamer/PlatformRawAudioDataGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerSinksWorkarounds.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp
M Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h
M
Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp
M
Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h
M
Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderParser.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp
M Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp
M Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.h
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp
M Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcom.cpp
M Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcomBase.cpp
M Source/WebCore/platform/gstreamer/GStreamerQuirkRialto.cpp
M Source/WebCore/platform/gstreamer/GStreamerQuirkWesteros.cpp
M Source/WebCore/platform/gstreamer/GStreamerQuirks.cpp
M Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCapturer.h
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h
M
Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMockDevice.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerRTPPacketizer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.h
M Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp
M Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
M Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp
Log Message:
-----------
[GStreamer] Increase use of CStringView and other string management
improvements
https://bugs.webkit.org/show_bug.cgi?id=299443
Reviewed by Philippe Normand.
We are increasing the use of CStringView, also assuming that all input is UTF8
and that it might need to be converted in
order to interact with other WebKit classes.
Test: Covered by existing tests.
* Source/WTF/wtf/glib/GSpanExtras.cpp:
(WTF::gFileGetContents):
(WTF::gKeyFileGetKeys):
* Source/WTF/wtf/glib/GSpanExtras.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
(WebCore::GStreamerDataChannelHandler::GStreamerDataChannelHandler):
(WebCore::GStreamerDataChannelHandler::onMessageString):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.h:
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::maybeInsertNetSimForElement):
(WebCore::fetchDescription):
(WebCore::getMediaStreamIdsFromSDPMedia):
(WebCore::GStreamerMediaEndpoint::linkOutgoingSources):
(WebCore::GStreamerMediaEndpoint::doSetRemoteDescription):
(WebCore::GStreamerMediaEndpoint::processSDPMessage):
(WebCore::GStreamerMediaEndpoint::isIceGatheringComplete):
(WebCore::GStreamerMediaEndpoint::initiate):
(WebCore::GStreamerMediaEndpoint::trackIdFromSDPMedia):
(WebCore::GStreamerMediaEndpoint::connectPad):
(WebCore::GStreamerMediaEndpoint::canTrickleIceCandidates const):
(WebCore::GStreamerMediaEndpoint::completeSDPAnswer):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
*
Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:
(WebCore::GStreamerRtpTransceiverBackend::setCodecPreferences):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
(WebCore::x509Serialize):
(WebCore::privateKeySerialize):
(WebCore::sdpMediaHasAttributeKey):
(WebCore::getDirectionFromSDPMedia):
(WebCore::capsFromSDPMedia):
(WebCore::setSsrcAudioLevelVadOn):
(WebCore::SDPStringBuilder::appendConnection):
(WebCore::SDPStringBuilder::appendMedia):
(WebCore::SDPStringBuilder::SDPStringBuilder):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.h:
* Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp:
(WebCore::GStreamerInternalAudioEncoder::initialize):
* Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleMessage):
* Source/WebCore/platform/audio/gstreamer/PlatformRawAudioDataGStreamer.cpp:
(WebCore::layoutToString):
(WebCore::PlatformRawAudioData::copyTo):
* Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(initializeDMABufAvailability):
* Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp:
(WebCore::GStreamerAudioMixer::registerProducer):
(WebCore::GStreamerAudioMixer::configureSourcePeriodTime):
* Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::getStreamIdFromPad):
(WebCore::getStreamIdFromStream):
(WebCore::parseStreamId):
(WebCore::extractGStreamerOptionsFromCommandLine):
(WebCore::ensureGStreamerInitialized):
(WebCore::registerWebKitGStreamerElements):
(WebCore::deinitializeGStreamer):
(WebCore::getGstPlayFlag):
(WebCore::makeGStreamerElement):
(WebCore::gstStructureValueToJSON):
(WebCore::gstStructureToJSON):
(WebCore::gstElementMatchesFactoryAndHasProperty):
(WebCore::gstIdToString):
(WebCore::buildDMABufCaps):
(WebCore::requestGLContext):
(WebCore::setGstElementGLContext):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::ElementFactories::elementFactoryTypeToString):
(WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForCaps const):
(WebCore::GStreamerRegistryScanner::initializeDecoders):
(WebCore::GStreamerRegistryScanner::isAVC1CodecSupported const):
(WebCore::probeRtpExtensions):
(WebCore::GStreamerRegistryScanner::isRtpHeaderExtensionSupported):
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerSinksWorkarounds.cpp:
(WebCore::getWorkAroundModeFromEnvironment):
(WebCore::BaseSinkPositionFlushWorkaroundProbe::checkIsNeeded):
(WebCore::AppSinkFlushCapsWorkaroundProbe::checkIsNeeded):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::elementIdChanged const):
(WebCore::MediaPlayerPrivateGStreamer::handleNeedContextMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::configureParsebin):
(WebCore::MediaPlayerPrivateGStreamer::configureElement):
(WebCore::MediaPlayerPrivateGStreamer::configureDownloadBuffer):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSinkGL):
(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):
* Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::dump const):
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::getLanguageCode):
(WebCore::TrackPrivateBaseGStreamer::getTag):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrameGStreamer::createFromPixelBuffer):
(WebCore::VideoFrameGStreamer::convert):
* Source/WebCore/platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp:
(webKitAudioSinkConfigure):
* Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcSetExtraHeader):
(webKitWebSrcMakeRequest):
(convertPlaybinURI):
(webKitWebSrcSetUri):
* Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::sessionLoadFailureFromThunder):
(WebCore::toString):
(WebCore::CDMInstanceSessionThunder::keyUpdatedCallback):
(WebCore::CDMInstanceSessionThunder::loadSession):
* Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
(WebCore::GStreamerEMEUtilities::isClearKeyUUID):
(WebCore::GStreamerEMEUtilities::isWidevineUUID):
(WebCore::GStreamerEMEUtilities::isPlayReadyUUID):
(WebCore::GStreamerEMEUtilities::isUnspecifiedUUID):
(WebCore::GStreamerEMEUtilities::keySystemToUuid):
(WebCore::GStreamerEMEUtilities::uuidToKeySystem):
*
Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(transformCaps):
*
Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
*
Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
(createSinkPadTemplateCaps):
(protectionSystemId):
* Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderParser.cpp:
(createThunderParseSinkPadTemplateCaps):
* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::serialize):
(WebCore::AppendPipeline::didReceiveInitializationSegment):
(WebCore::AppendPipeline::Track::initializeElements):
(WebCore::appendPipelinePadProbeDebugInformation):
(WebCore::AppendPipeline::streamTypeToString): Deleted.
* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h:
*
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(dumpReadyState):
(WebCore::MediaPlayerPrivateGStreamerMSE::readyStateFromMediaSourceChanged):
(WebCore::MediaPlayerPrivateGStreamerMSE::propagateReadyStateToPlayer):
*
Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
* Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(streamTypeToString):
(webKitMediaSrcEmitStreams):
* Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.cpp:
(WebCore::GStreamerCodecUtilities::parseH264ProfileAndLevel):
(WebCore::h264CapsFromCodecString):
(WebCore::GStreamerCodecUtilities::parseHEVCProfile):
(WebCore::h265CapsFromCodecString):
(WebCore::av1CapsFromCodecString):
(): Deleted.
* Source/WebCore/platform/gstreamer/GStreamerCodecUtilities.h:
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp:
(WebCore::MermaidBuilder::dumpElement):
(WebCore::MermaidBuilder::describeCaps):
(WebCore::GStreamerElementHarness::dumpGraph):
* Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcom.cpp:
(WebCore::GStreamerQuirkBroadcom::configureElement):
* Source/WebCore/platform/gstreamer/GStreamerQuirkBroadcomBase.cpp:
(WebCore::GStreamerQuirkBroadcomBase::correctBufferingPercentage const):
(WebCore::GStreamerQuirkBroadcomBase::setupBufferingPercentageCorrection const):
* Source/WebCore/platform/gstreamer/GStreamerQuirkRialto.cpp:
(WebCore::GStreamerQuirkRialto::GStreamerQuirkRialto):
(WebCore::GStreamerQuirkRialto::configureElement):
* Source/WebCore/platform/gstreamer/GStreamerQuirkWesteros.cpp:
(WebCore::GStreamerQuirkWesteros::configureElement):
* Source/WebCore/platform/gstreamer/GStreamerQuirks.cpp:
(WebCore::GStreamerQuirksManager::GStreamerQuirksManager):
* Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp:
(fliteVoice):
(webKitFliteSrcSetUtterance):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCapturer.h:
*
Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:
(WebCore::GStreamerCaptureDeviceManager::captureDeviceFromGstDevice):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h:
*
Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp:
(WebCore::GStreamerIncomingTrackProcessor::mediaStreamIdFromPad):
(WebCore::GStreamerIncomingTrackProcessor::retrieveMediaStreamAndTrackIdFromSDP):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMockDevice.cpp:
(webkitMockDeviceCreate):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerRTPPacketizer.cpp:
(WebCore::GStreamerRTPPacketizer::ensureMidExtension):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
(WebCore::getMaxIntValueFromStructure):
(WebCore::getMaxFractionValueFromStructure):
(WebCore::GStreamerVideoCapturer::reconfigure):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.cpp:
(WebCore::GStreamerWebRTCLogSink::start):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::GStreamerWebRTCVideoDecoder::GstDecoderFactory):
(WebCore::VP8Decoder::Create):
* Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_apply_from_key_file):
* Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp:
(TestWebKitAPI::TEST_F(GStreamerTest, hevcProfileParsing)):
Canonical link: https://commits.webkit.org/304152@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications