Skip to content
Permalink
Browse files
Implement WebCodecsVideoEncoder with VPx backend
https://bugs.webkit.org/show_bug.cgi?id=245954
rdar://problem/100708947

Introduce VideoEncoder interface that is used by WebCodecsVideoEncoder as the interface to actual encoders.
Implement WebCodecs VideoEncoder algorithms.
Add VP8 and VP9 decoder implementations for VideoEncoder using libvpx.

Reviewed by Eric Carlson.

* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp9_p0-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp9_p0-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any.worker_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any.worker_vp9_p0-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any_vp9_p0-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/temporal-svc-encoding.https.any.worker_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/temporal-svc-encoding.https.any.worker_vp9-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/temporal-svc-encoding.https.any_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/temporal-svc-encoding.https.any_vp9-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.worker_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.worker_vp9-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any_vp8-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any_vp9-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-canvasImageSource-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.window-expected.txt:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp:
* Source/WebCore/Configurations/WebCore.xcconfig:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::decode):
(WebCore::isValidDecoderConfig):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
(WebCore::WebCodecsVideoEncoder::create):
(WebCore::isValidEncoderConfig):
(WebCore::WebCodecsVideoEncoder::configure):
(WebCore::WebCodecsVideoEncoder::encode):
(WebCore::WebCodecsVideoEncoder::flush):
(WebCore::WebCodecsVideoEncoder::reset):
(WebCore::WebCodecsVideoEncoder::close):
(WebCore::WebCodecsVideoEncoder::isConfigSupported):
(WebCore::WebCodecsVideoEncoder::closeEncoder):
(WebCore::WebCodecsVideoEncoder::resetEncoder):
(WebCore::WebCodecsVideoEncoder::scheduleDequeueEvent):
(WebCore::WebCodecsVideoEncoder::setInternalEncoder):
(WebCore::WebCodecsVideoEncoder::queueControlMessageAndProcess):
(WebCore::WebCodecsVideoEncoder::processControlMessageQueue):
(WebCore::WebCore::WebCodecsVideoEncoder::suspend):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h:
(WebCore::WebCodecsVideoFrame::internalFrame const):
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/LibWebRTCVPXVideoDecoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoDecoder::decode):
* Source/WebCore/platform/LibWebRTCVPXVideoEncoder.cpp: Added.
(WebCore::vpxQueue):
(WebCore::LibWebRTCVPXInternalVideoEncoder::create):
(WebCore::LibWebRTCVPXInternalVideoEncoder::postTask):
(WebCore::LibWebRTCVPXInternalVideoEncoder::close):
(WebCore::LibWebRTCVPXVideoEncoder::LibWebRTCVPXVideoEncoder):
(WebCore::LibWebRTCVPXVideoEncoder::~LibWebRTCVPXVideoEncoder):
(WebCore::LibWebRTCVPXVideoEncoder::encode):
(WebCore::LibWebRTCVPXVideoEncoder::flush):
(WebCore::LibWebRTCVPXVideoEncoder::reset):
(WebCore::LibWebRTCVPXVideoEncoder::close):
(WebCore::LibWebRTCVPXInternalVideoEncoder::encode):
(WebCore::createInternalEncoder):
(WebCore::LibWebRTCVPXInternalVideoEncoder::LibWebRTCVPXInternalVideoEncoder):
(WebCore::LibWebRTCVPXInternalVideoEncoder::OnEncodedImage):
(WebCore::LibWebRTCVPXInternalVideoEncoder::OnDroppedFrame):
* Source/WebCore/platform/LibWebRTCVPXVideoEncoder.h: Added.
* Source/WebCore/platform/VideoEncoder.cpp: Added.
(WebCore::VideoEncoder::create):
* Source/WebCore/platform/VideoEncoder.h: Added.

Canonical link: https://commits.webkit.org/255262@main
  • Loading branch information
youennf committed Oct 7, 2022
1 parent 862fe9c commit d1cde888264b4a4d62d8db2a8047a2b547f1c0b5
Show file tree
Hide file tree
Showing 42 changed files with 688 additions and 111 deletions.
@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Encoding and decoding cycle
FAIL Encoding and decoding cycle promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,3 @@

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,3 +1,4 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS Reconfiguring encoder
FAIL Reconfiguring encoder promise_test: Unhandled rejection with value: object "InvalidStateError: VideoEncoder is not configured"

@@ -1,4 +1,4 @@

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,4 +1,4 @@

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,4 +1,4 @@

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,4 +1,6 @@
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code
CONSOLE MESSAGE: Error: assert_unreached: Not supported Reached unreachable code

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,4 +1,4 @@

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,4 +1,4 @@

PASS SVC L1T2
PASS SVC L1T3
FAIL SVC L1T2 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL SVC L1T3 promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"

@@ -1,25 +1,13 @@

FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:AVC not supported by VP8 promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264 promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
PASS Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec
PASS Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:AVC not supported by VP8 assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters assert_false: expected false got true
FAIL VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264 assert_false: expected false got true
PASS VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"}
PASS VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality"}
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"} assert_equals: expected (string) "discard" but got (undefined) undefined

@@ -1,25 +1,13 @@

FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:AVC not supported by VP8 promise_rejects_js: function "function () { throw e }" threw object "NotSupportedError: Not implemented" ("NotSupportedError") expected instance of function "function TypeError() {
[native code]
}" ("TypeError")
FAIL VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264 promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"} promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
PASS Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec
PASS Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL Test that VideoEncoder.isConfigSupported() rejects invalid config:AVC not supported by VP8 assert_unreached: Should have rejected: undefined Reached unreachable code
FAIL VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters assert_false: expected false got true
FAIL VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264 assert_false: expected false got true
PASS VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"}
PASS VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality"}
FAIL VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"} assert_equals: expected (string) "discard" but got (undefined) undefined

@@ -1,6 +1,6 @@

PASS Test VideoEncoder construction
FAIL Test VideoEncoder.configure() assert_equals: expected "configured" but got "unconfigured"
PASS Test VideoEncoder.configure()
FAIL Test successful configure(), encode(), and flush() promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL encodeQueueSize test promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL Test successful reset() and re-confiugre() promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
@@ -1,6 +1,6 @@

PASS Test VideoEncoder construction
FAIL Test VideoEncoder.configure() assert_equals: expected "configured" but got "unconfigured"
PASS Test VideoEncoder.configure()
FAIL Test successful configure(), encode(), and flush() promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL encodeQueueSize test promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
FAIL Test successful reset() and re-confiugre() promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: OffscreenCanvas"
@@ -346,3 +346,6 @@ __ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEN4absl8optionalIiEENS
__ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEx
__ZN6webrtc7CpuInfo19DetectNumberOfCoresEv
__ZTVN6webrtc20DecodedImageCallbackE
__ZN6webrtc10VP8Encoder6CreateEv
__ZN6webrtc10VP9Encoder6CreateEv
__ZN6webrtc10VideoCodecC1Ev
@@ -346,3 +346,6 @@ __ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEN4absl8optionalIiEENS
__ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEx
__ZN6webrtc7CpuInfo19DetectNumberOfCoresEv
__ZTVN6webrtc20DecodedImageCallbackE
__ZN6webrtc10VP8Encoder6CreateEv
__ZN6webrtc10VP9Encoder6CreateEv
__ZN6webrtc10VideoCodecC1Ev
@@ -346,3 +346,6 @@ __ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEN4absl8optionalIiEENS
__ZN6webrtc20DecodedImageCallback7DecodedERNS_10VideoFrameEx
__ZN6webrtc7CpuInfo19DetectNumberOfCoresEv
__ZTVN6webrtc20DecodedImageCallbackE
__ZN6webrtc10VP8Encoder6CreateEv
__ZN6webrtc10VP9Encoder6CreateEv
__ZN6webrtc10VideoCodecC1Ev
@@ -159,7 +159,7 @@ WK_IOSURFACE_ACCELERATOR_LDFLAGS_watchos = $(WK_IOSURFACE_ACCELERATOR_LDFLAGS_ip
WK_IOSURFACE_ACCELERATOR_LDFLAGS_appletvos = $(WK_IOSURFACE_ACCELERATOR_LDFLAGS_iphoneos);

WK_LIBWEBRTC_LDFLAGS = $(WK_LIBWEBRTC_LDFLAGS_$(ENABLE_WEB_RTC));
WK_LIBWEBRTC_LDFLAGS_ENABLE_WEB_RTC = -framework VideoToolbox -framework CoreMedia -weak-lwebrtc;
WK_LIBWEBRTC_LDFLAGS_ENABLE_WEB_RTC = -framework VideoToolbox -framework CoreMedia -weak-lwebrtc -Xlinker --no-demangle;

WK_MOBILE_CORE_SERVICES_LDFLAGS = $(WK_MOBILE_CORE_SERVICES_LDFLAGS_$(WK_COCOA_TOUCH));
WK_MOBILE_CORE_SERVICES_LDFLAGS_cocoatouch = -framework MobileCoreServices;

0 comments on commit d1cde88

Please sign in to comment.