Bug 240420 - REGRESSION(r294104): [GStreamer] getUserMedia broken
Summary: REGRESSION(r294104): [GStreamer] getUserMedia broken
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-05-14 09:02 PDT by Philippe Normand
Modified: 2022-05-16 05:50 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2022-05-14 09:02:39 PDT
With my C920 cam now the capturer hangs for 30 seconds and errors out:

0:00:00.819701495    64       0x3a0550 DEBUG               pipewire gstpipewiredeviceprovider.c:590:gst_pipewire_device_provider_start:<pipewiredeviceprovider0> starting provider
0:00:00.825504046    64       0x3a0550 DEBUG               pipewire gstpipewiredeviceprovider.c:617:gst_pipewire_device_provider_start:<pipewiredeviceprovider0> connected
0:00:00.829823625    64       0x3a0550 DEBUG               pipewire gstpipewiredeviceprovider.c:639:gst_pipewire_device_provider_start:<pipewiredeviceprovider0> started
0:00:02.856009033    64       0x3a0550 ERROR             video-info video-info.c:545:gst_video_info_from_caps: no format given
0:00:02.885254159    64       0x3a0550 ERROR             video-info video-info.c:545:gst_video_info_from_caps: no format given
0:00:02.885678713    64       0x3a0550 DEBUG            pipewiresrc gstpipewiresrc.c:1110:gst_pipewire_src_open:<Video_0x7f6eac15fd00> open
0:00:02.887812049    64       0x3a0550 DEBUG            pipewiresrc gstpipewiresrc.c:623:wait_started:<Video_0x7f6eac15fd00> waiting for started signal, state now unconnected
0:00:02.888080528    64       0x76c000 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<Video_0x7f6eac15fd00:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:02.888446598    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:663:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> caps of src: ANY
0:00:02.888653030    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:673:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> caps of peer: video/x-raw
0:00:02.888870282    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:685:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> have common caps: video/x-raw
0:00:02.889119171    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:712:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> connect capture with path 45
0:00:02.889351400    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:520:on_state_changed: got stream state connecting
0:00:02.907772829    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:728:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> waiting for NEGOTIATED, now connecting
0:00:02.907923739    64       0x3a0550 DEBUG            pipewiresrc gstpipewiresrc.c:623:wait_started:<Video_0x7f6eac15fd00> waiting for started signal, state now connecting
0:00:02.908834481    64 0x7f6ca0001210 DEBUG            pipewiresrc gstpipewiresrc.c:520:on_state_changed: got stream state paused
0:00:02.909151680    64       0x3a0550 DEBUG            pipewiresrc gstpipewiresrc.c:623:wait_started:<Video_0x7f6eac15fd00> waiting for started signal, state now paused
0:00:02.909435676    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:728:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> waiting for NEGOTIATED, now paused
0:00:32.887943781    64       0x3a0550 DEBUG            pipewiresrc gstpipewiresrc.c:642:wait_started:<Video_0x7f6eac15fd00> got started signal: error
0:00:32.889527637    64       0x76eaa0 DEBUG            pipewiresrc gstpipewiresrc.c:623:wait_started:<Video_0x7f6eac15fd00> waiting for started signal, state now paused
0:00:32.907908786    64       0x76c000 DEBUG            pipewiresrc gstpipewiresrc.c:784:gst_pipewire_src_negotiate:<Video_0x7f6eac15fd00> connect error
0:00:32.908201928    64       0x76c000 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<Video_0x7f6eac15fd00> error: Internal data stream error.
0:00:32.908360928    64       0x76c000 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<Video_0x7f6eac15fd00> error: streaming stopped, reason not-negotiated (-4)
0:00:32.908618448    64       0x76c000 WARN                typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Stream doesn't contain enough data.
0:00:32.908774100    64       0x76c000 WARN                typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Can't typefind stream
0:00:33.029192929    64       0xb4a460 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<videosrc:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:33.033511329    64       0x3a0550 WARN               structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'gerror' of type 'GError'
0:00:33.033631830    64       0x3a0550 ERROR           webkitcommon GStreamerCommon.cpp:441:operator():<Video_capturer_pipeline0_0x7f6eac15fd00> Got message: error message: 0xadad30, time 99:99:99.999999999, seq-num 139, element 'Video_0x7f6eac15fd00', GstMessageError, gerror=(GError)NULL, debug=(string)"../libs/gst/base/gstbasesrc.c\(3127\):\ gst_base_src_loop\ \(\):\ /GstPipeline:Video_capturer_pipeline0_0x7f6eac15fd00/GstPipeWireSrc:Video_0x7f6eac15fd00:\012streaming\ stopped\,\ reason\ not-negotiated\ \(-4\)", details=(structure)"details\,\ flow-return\=\(int\)-4\;";
0:00:33.033779975    64       0x3a0550 WARN               structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'gerror' of type 'GError'
0:00:33.033902620    64       0x3a0550 ERROR           webkitcommon GStreamerCommon.cpp:441:operator():<Video_capturer_pipeline0_0x7f6eac15fd00> Got message: error message: 0xadadb0, time 99:99:99.999999999, seq-num 140, element 'typefind', GstMessageError, gerror=(GError)NULL, debug=(string)"../plugins/elements/gsttypefindelement.c\(1012\):\ gst_type_find_element_chain_do_typefinding\ \(\):\ /GstPipeline:Video_capturer_pipeline0_0x7f6eac15fd00/GstBin:bin0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind:\012Can\'t\ typefind\ stream";
0:01:02.889675312    64       0x76eaa0 DEBUG            pipewiresrc gstpipewiresrc.c:642:wait_started:<Video_0x7f6eac15fd00> got started signal: error
0:01:02.890140919    64       0x76eaa0 DEBUG            pipewiresrc gstpipewiresrc.c:623:wait_started:<Video_0x7f6eac15fd00> waiting for started signal, state now paused
Comment 1 Philippe Normand 2022-05-14 09:35:57 PDT
Also broke getDisplayMedia:

run-minibrowser --gtk https://webrtc.github.io/samples/src/content/getusermedia/getdisplaymedia/

(WebKitWebProcess:64): GStreamer-CRITICAL **: 09:33:58.571: gst_device_get_caps: assertion 'GST_IS_DEVICE (device)' failed

(WebKitWebProcess:64): GStreamer-CRITICAL **: 09:33:58.571: gst_caps_foreach: assertion 'GST_IS_CAPS (caps)' failed

** (WebKitWebProcess:64): WARNING **: 09:33:58.648: Unexpected object in singlequeue 0 (refcounting problem?)

(WebKitWebProcess:64): GStreamer-WARNING **: 09:33:58.730: free_priv_data: object finalizing but still has 1 parents (object:0x7f1dcc009900)
Comment 2 Philippe Normand 2022-05-15 10:20:03 PDT
Pull request: https://github.com/WebKit/WebKit/pull/629
Comment 3 EWS 2022-05-16 05:49:37 PDT
Committed r294229 (250587@main): <https://commits.webkit.org/250587@main>

Reviewed commits have been landed. Closing PR #629 and removing active labels.
Comment 4 Radar WebKit Bug Importer 2022-05-16 05:50:16 PDT
<rdar://problem/93340074>