mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-22 09:12:13 -05:00
LibWeb: Add AudioContext.createMediaElementSource()
factory method
This commit is contained in:
parent
aa39aa50f7
commit
31532e36a8
Notes:
github-actions[bot]
2025-01-17 19:05:41 +00:00
Author: https://github.com/tcl3 Commit: https://github.com/LadybirdBrowser/ladybird/commit/31532e36a81 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3266
4 changed files with 18 additions and 5 deletions
|
@ -342,4 +342,12 @@ bool AudioContext::start_rendering_audio_graph()
|
|||
return render_result;
|
||||
}
|
||||
|
||||
// https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediaelementsource
|
||||
WebIDL::ExceptionOr<GC::Ref<MediaElementAudioSourceNode>> AudioContext::create_media_element_source(GC::Ptr<HTML::HTMLMediaElement> media_element)
|
||||
{
|
||||
MediaElementAudioSourceOptions options;
|
||||
options.media_element = media_element;
|
||||
return MediaElementAudioSourceNode::create(realm(), *this, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <LibWeb/Bindings/AudioContextPrototype.h>
|
||||
#include <LibWeb/HighResolutionTime/DOMHighResTimeStamp.h>
|
||||
#include <LibWeb/WebAudio/BaseAudioContext.h>
|
||||
#include <LibWeb/WebAudio/MediaElementAudioSourceNode.h>
|
||||
|
||||
namespace Web::WebAudio {
|
||||
|
||||
|
@ -39,6 +40,8 @@ public:
|
|||
WebIDL::ExceptionOr<GC::Ref<WebIDL::Promise>> suspend();
|
||||
WebIDL::ExceptionOr<GC::Ref<WebIDL::Promise>> close();
|
||||
|
||||
WebIDL::ExceptionOr<GC::Ref<MediaElementAudioSourceNode>> create_media_element_source(GC::Ptr<HTML::HTMLMediaElement>);
|
||||
|
||||
private:
|
||||
explicit AudioContext(JS::Realm& realm)
|
||||
: BaseAudioContext(realm)
|
||||
|
|
|
@ -13,7 +13,7 @@ interface AudioContext : BaseAudioContext {
|
|||
Promise<undefined> resume ();
|
||||
Promise<undefined> suspend ();
|
||||
Promise<undefined> close ();
|
||||
[FIXME] MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
|
||||
MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
|
||||
[FIXME] MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream);
|
||||
[FIXME] MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack);
|
||||
[FIXME] MediaStreamAudioDestinationNode createMediaStreamDestination ();
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Harness status: OK
|
||||
|
||||
Found 304 tests
|
||||
Found 306 tests
|
||||
|
||||
294 Pass
|
||||
10 Fail
|
||||
297 Pass
|
||||
9 Fail
|
||||
Pass # AUDIT TASK RUNNER STARTED.
|
||||
Pass Executing "initialize"
|
||||
Pass Executing "Offline createGain"
|
||||
|
@ -24,7 +24,7 @@ Fail Executing "Offline createScriptProcessor"
|
|||
Pass Executing "Offline createPeriodicWave"
|
||||
Pass Executing "Offline createChannelSplitter"
|
||||
Pass Executing "Offline createChannelMerger"
|
||||
Fail Executing "Online createMediaElementSource"
|
||||
Pass Executing "Online createMediaElementSource"
|
||||
Fail Executing "Online createMediaStreamDestination"
|
||||
Pass Executing "AudioListener"
|
||||
Pass Executing "verifyTests"
|
||||
|
@ -243,6 +243,8 @@ Pass > [Offline createChannelMerger]
|
|||
Pass AudioNode has no AudioParams as expected
|
||||
Pass < [Offline createChannelMerger] All assertions passed. (total 1 assertions)
|
||||
Pass > [Online createMediaElementSource]
|
||||
Pass MediaElementAudioSourceNode has no AudioParams as expected
|
||||
Pass < [Online createMediaElementSource] All assertions passed. (total 1 assertions)
|
||||
Pass > [Online createMediaStreamDestination]
|
||||
Pass > [AudioListener]
|
||||
Pass AudioListener.positionX.minValue is equal to -3.4028234663852886e+38.
|
||||
|
|
Loading…
Reference in a new issue