The test started failing after r266559 (AudioDestinationNode.maxChannelCount always returns 0): imported/w3c/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html [ Failure ] Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r266579%20(15632)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination-diff.txt --- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination-expected.txt +++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination-actual.txt @@ -1,5 +1,5 @@ -PASS +FAIL AudioDestinationNode - + assert_greater_than_equal: maxChannelCount should be >= 2 expected a number greater than or equal to 2 but got 0
To fix this I suppose we should look for Audio/Sink GstDevices and check the channels range in the caps...
Created attachment 411739 [details] Patch
*** Bug 217699 has been marked as a duplicate of this bug. ***
Comment on attachment 411739 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411739&action=review > Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:103 > + WTFLogAlways("AudioDestination::create(%u, %u, %f) - unhandled input channels", numberOfInputChannels, numberOfOutputChannels, sampleRate); Nit. Is this change intended? > Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:207 > + // m_isPlaying = newState >= GST_STATE_PLAYING; Nit. Is this comment useful? > Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:266 > + [](GstAppSink* sink, gpointer userData) -> GstFlowReturn { Looks like a duplicated code block? Can we avoid it? Thanks!
Created attachment 411848 [details] Patch
Created attachment 411850 [details] Patch
Comment on attachment 411850 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411850&action=review > Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:103 > + WTFLogAlways("AudioDestination::create(%u, %u, %f) - unhandled input channels", numberOfInputChannels, numberOfOutputChannels, sampleRate); As Peng Liu asked, is the change to always intentional?
Comment on attachment 411850 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411850&action=review >> Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:103 >> + WTFLogAlways("AudioDestination::create(%u, %u, %f) - unhandled input channels", numberOfInputChannels, numberOfOutputChannels, sampleRate); > > As Peng Liu asked, is the change to always intentional? Yes, it's matching the cocoa implementation.
Committed r268727: <https://trac.webkit.org/changeset/268727>
<rdar://problem/70482643>