haikuwebkit/LayoutTests/webrtc/audio-sframe-expected.txt

5 lines
35 B
Plaintext
Raw Permalink Normal View History

Add a WebRTC SFrame transform https://bugs.webkit.org/show_bug.cgi?id=218752 Reviewed by Eric Carlson. Source/WebCore: Introduce a RTCRtpSFrameTransform that implements the SFrame format. RTCRtpSFrameTransform is a RTCRtpTransform that can be set to RTCRtp sender and receiver objects. API supports setting encryption key. Minor refactoring to reuse WebCrypto routines for encryption/decryption. Test: webrtc/audio-sframe.html * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/mediastream/RTCRtpSFrameTransform.cpp: Added. (WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform): (WebCore::RTCRtpSFrameTransform::~RTCRtpSFrameTransform): (WebCore::RTCRtpSFrameTransform::setEncryptionKey): (WebCore::RTCRtpSFrameTransform::initializeTransformer): (WebCore::RTCRtpSFrameTransform::initializeBackendForReceiver): (WebCore::RTCRtpSFrameTransform::initializeBackendForSender): (WebCore::RTCRtpSFrameTransform::willClearBackend): * Modules/mediastream/RTCRtpSFrameTransform.h: Added. * Modules/mediastream/RTCRtpSFrameTransform.idl: Added. * Modules/mediastream/RTCRtpSFrameTransformer.cpp: Added. (WebCore::writeUInt64): (WebCore::lengthOfUInt64): (WebCore::computeFirstHeaderByte): (WebCore::computeIV): (WebCore::parseSFrameHeader): (WebCore::RTCRtpSFrameTransformer::create): (WebCore::RTCRtpSFrameTransformer::RTCRtpSFrameTransformer): (WebCore::RTCRtpSFrameTransformer::~RTCRtpSFrameTransformer): (WebCore::RTCRtpSFrameTransformer::setEncryptionKey): (WebCore::RTCRtpSFrameTransformer::decryptFrame): (WebCore::RTCRtpSFrameTransformer::encryptFrame): (WebCore::RTCRtpSFrameTransformer::transform): (WebCore::RTCRtpSFrameTransformer::computeSaltKey): (WebCore::RTCRtpSFrameTransformer::computeAuthenticationKey): (WebCore::RTCRtpSFrameTransformer::computeEncryptionKey): (WebCore::RTCRtpSFrameTransformer::decryptData): (WebCore::RTCRtpSFrameTransformer::encryptData): (WebCore::RTCRtpSFrameTransformer::computeEncryptedDataSignature): * Modules/mediastream/RTCRtpSFrameTransformer.h: Added. (WebCore::RTCRtpSFrameTransformer::setIsSending): (WebCore::RTCRtpSFrameTransformer::setIsProcessingAudio): * Modules/mediastream/RTCRtpSFrameTransformerCocoa.cpp: Added. (WebCore::deriveHDKFSHA256Bits): (WebCore::transformAES_CTR): (WebCore::RTCRtpSFrameTransformer::computeSaltKey): (WebCore::RTCRtpSFrameTransformer::computeAuthenticationKey): (WebCore::RTCRtpSFrameTransformer::computeEncryptionKey): (WebCore::RTCRtpSFrameTransformer::decryptData): (WebCore::RTCRtpSFrameTransformer::encryptData): (WebCore::RTCRtpSFrameTransformer::computeEncryptedDataSignature): * Sources.txt: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * WebCore.xcodeproj/project.pbxproj: * crypto/mac/CryptoAlgorithmAES_CTRMac.cpp: (WebCore::CryptoAlgorithmAES_CTR::platformEncrypt): (WebCore::CryptoAlgorithmAES_CTR::platformDecrypt): (WebCore::transformAES_CTR): Deleted. * crypto/mac/CryptoAlgorithmHKDFMac.cpp: (WebCore::CryptoAlgorithmHKDF::platformDeriveBits): * crypto/mac/CryptoUtilitiesCocoa.cpp: Added. (WebCore::transformAES_CTR): (WebCore::deriveHDKFSHA256Bits): * crypto/mac/CryptoUtilitiesCocoa.h: Added. * bindings/js/WebCoreBuiltinNames.h: Tools: Add unit tests that validate SFrame generation and parsing. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp: Added. (TestWebKitAPI::getRawKey): (TestWebKitAPI::createVideoTransformer): (TestWebKitAPI::checkVectorsAreEqual): (TestWebKitAPI::TEST): LayoutTests: * webrtc/audio-sframe-expected.txt: Added. * webrtc/audio-sframe.html: Added. Canonical link: https://commits.webkit.org/231595@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-15 17:59:54 +00:00
PASS Audio exchange with SFrame