Bug 233731
Summary: | [GStreamer] test fast/mediastream/getDisplayMedia-size.html fails | ||
---|---|---|---|
Product: | WebKit | Reporter: | Arcady Goldmints-Orlov <crzwdjk> |
Component: | Media | Assignee: | Philippe Normand <philn> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | pnormand, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | PC | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 235885 |
Arcady Goldmints-Orlov
In bug 231286, a case was fixed wherein "a valid applyConstraints on a MediaStreamTrack is now throwing OverconstrainedError. This used to work in earlier versions of safari and has regressed only with Safari 15. Attaching a sample html page that illustrates the issue" and added a test fast/mediastream/getDisplayMedia-size.html for that issue, which fails on GTK and WPE.
The sample HTML page from that issue (https://bug-231286-attachments.webkit.org/attachment.cgi?id=440353) demonstrates the failure on the GTK minibrowser, but works fine in Firefox so presumably this is something that should be fixed.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Philippe Normand
(In reply to Arcady Goldmints-Orlov from comment #0)
> The sample HTML page from that issue
> (https://bug-231286-attachments.webkit.org/attachment.cgi?id=440353)
> demonstrates the failure on the GTK minibrowser, but works fine in Firefox
> so presumably this is something that should be fixed.
run-minibrowser --gtk --enable-mock-capture-devices=1 "https://bug-231286-attachments.webkit.org/attachment.cgi?id=440353" works fine here
With real devices I get a crash (sorry, no debug symbs)
(gdb) bt
#0 0x00007f457631790a in WebCore::RealtimeVideoCaptureSource::ensureIntrinsicSizeMaintainsAspectRatio() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#1 0x00007f4576c37798 in WebCore::GStreamerVideoCaptureSource::settingsDidChange(WTF::OptionSet<WebCore::RealtimeMediaSourceSettings::Flag>) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#2 0x00007f4576302a87 in WebCore::RealtimeMediaSource::notifySettingsDidChangeObservers(WTF::OptionSet<WebCore::RealtimeMediaSourceSettings::Flag>) ()
at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#3 0x00007f457630431a in WebCore::RealtimeMediaSource::setSize(WebCore::IntSize const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#4 0x00007f457631730b in WebCore::RealtimeVideoCaptureSource::setSizeAndFrameRate(std::optional<int>, std::optional<int>, std::optional<double>) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#5 0x00007f45763061ac in WebCore::RealtimeMediaSource::applyConstraints(WebCore::FlattenedConstraint const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#6 0x00007f4576306382 in WebCore::RealtimeMediaSource::applyConstraints(WebCore::MediaConstraints const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#7 0x00007f4576c36e94 in WebCore::GStreamerVideoCaptureSource::createPipewireSource(WTF::String&&, int, WTF::String&&, WebCore::MediaConstraints const*, WebCore::CaptureDevice::DeviceType) ()
at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#8 0x00007f4576c3ba3f in WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource(WebCore::CaptureDevice const&, WebCore::MediaConstraints const*) ()
at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#9 0x00007f4576c389e4 in WebCore::GStreamerDisplayCaptureSourceFactory::createDisplayCaptureSource(WebCore::CaptureDevice const&, WebCore::MediaConstraints const*) ()
at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#10 0x00007f4576306ed1 in WebCore::RealtimeMediaSourceCenter::createMediaStream(WTF::Ref<WTF::Logger const, WTF::RawPtrTraits<WTF::Logger const> >&&, WTF::Function<void (std::experimental::fundamentals_v3::expected<WTF::Ref<WebCore::MediaStreamPrivate, WTF::RawPtrTraits<WebCore::MediaStreamPrivate> >, WTF::String>&&)>&&, WTF::String&&, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WebCore::MediaStreamRequest const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#11 0x00007f4575663994 in WTF::Detail::CallableWrapper<WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_5, void>::call()
() at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#12 0x00007f4575afb188 in WebCore::EventLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#13 0x00007f4575b85be4 in WebCore::WindowEventLoop::didReachTimeToRun() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#14 0x00007f45761b6773 in WebCore::ThreadTimers::sharedTimerFiredInternal() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#15 0x00007f45727ea2ec in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_3::__invoke(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#16 0x00007f45727e971a in WTF::RunLoop::$_0::__invoke(_GSource*, int (*)(void*), void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#17 0x00007f456f0e9294 in g_main_dispatch (context=0xbb13d0) at ../glib/gmain.c:3381
#18 g_main_context_dispatch (context=0xbb13d0) at ../glib/gmain.c:4099
#19 0x00007f456f0e9638 in g_main_context_iterate (context=0xbb13d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#20 0x00007f456f0e9943 in g_main_loop_run (loop=0xc5a120) at ../glib/gmain.c:4373
#21 0x00007f45727e9cea in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#22 0x00007f4574c9e69c in WebKit::WebProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#23 0x00007f456ea40b90 in __libc_start_main (main=0x4008a0 <main>, argc=3, argv=0x7ffc6d77bb58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc6d77bb48)
at ../csu/libc-start.c:332
#24 0x00000000004007de in _start () at ../sysdeps/x86_64/start.S:120
Philippe Normand
Pull request: https://github.com/WebKit/WebKit/pull/12292
EWS
Committed 262825@main (e5975bd98661): <https://commits.webkit.org/262825@main>
Reviewed commits have been landed. Closing PR #12292 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/107882604>