Bug 244003
Summary: | [GStreamer][MediaStream] Leverage GStreamerCapturer on mock sources | ||
---|---|---|---|
Product: | WebKit | Reporter: | Philippe Normand <philn> |
Component: | Platform | Assignee: | Philippe Normand <philn> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | mcatanzaro, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=258237 | ||
Bug Depends on: | |||
Bug Blocks: | 235885 |
Philippe Normand
That would allow us to have the non-mock code path tested. Currently mock sources use a separate path, which is not great.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Philippe Normand
Pull request: https://github.com/WebKit/WebKit/pull/14957
EWS
Committed 265250@main (79141ab69a81): <https://commits.webkit.org/265250@main>
Reviewed commits have been landed. Closing PR #14957 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/110906642>
Michael Catanzaro
So I can't build anymore:
[26/131] Linking CXX executable bin/TestWebKitAPI/TestWebCore
FAILED: bin/TestWebKitAPI/TestWebCore
: && /usr/lib64/ccache/clang++ -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -pipe -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g -O0 -fno-strict-aliasing -fno-exceptions -fno-rtti -O2 -g -DNDEBUG -L/home/mcatanzaro/Projects/GNOME/install/lib -Wl,--disable-new-dtags @CMakeFiles/TestWebCore.rsp -o bin/TestWebKitAPI/TestWebCore && :
/usr/bin/ld: Source/WebCore/CMakeFiles/WebCore.dir/./__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-62.cpp.o: in function `operator()':
/home/mcatanzaro/Projects/WebKit/Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:117: undefined reference to `webkit_mock_device_provider_get_type()'
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
[27/131] Linking CXX shared library lib/libwebkitgtk-6.0.so.4.2.1
FAILED: lib/libwebkitgtk-6.0.so.4.2.1
: && /usr/lib64/ccache/clang++ -fPIC -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -pipe -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g -O0 -fno-strict-aliasing -fno-exceptions -fno-rtti -O2 -g -DNDEBUG -Wl,--no-undefined -L/home/mcatanzaro/Projects/GNOME/install/lib -Wl,--disable-new-dtags -shared -Wl,-soname,libwebkitgtk-6.0.so.4 -o lib/libwebkitgtk-6.0.so.4.2.1 @CMakeFiles/WebKit.rsp && :
/usr/bin/ld: Source/WebCore/CMakeFiles/WebCore.dir/./__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-62.cpp.o: in function `operator()':
/home/mcatanzaro/Projects/WebKit/Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:117: undefined reference to `webkit_mock_device_provider_get_type()'
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
I thought that adding WEBCORE_EXPORT to the declaration of webkit_mock_device_provider_get_type() in GStreamerMockDeviceProvider.h would work. But that made no difference.
Philippe Normand
Are you disabling GSTREAMER_WEBRTC or using other custom cmake options?
Philippe Normand
(In reply to Philippe Normand from comment #5)
> Are you disabling GSTREAMER_WEBRTC or using other custom cmake options?
I'm asking because i've just noticed the ifdefs don't match between the provider .h and .cpp files.
Michael Catanzaro
(In reply to Philippe Normand from comment #5)
> Are you disabling GSTREAMER_WEBRTC or using other custom cmake options?
No, but GSTREAMER_WEBRTC is disabled by default and I have not enabled it. I missed that the preprocessor guards were messed up. Thanks.