/* * Copyright (c) 2024, Jelle Raaijmakers * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Web::MediaSourceExtensions { // https://w3c.github.io/media-source/#dom-sourcebufferlist class SourceBufferList : public DOM::EventTarget { WEB_PLATFORM_OBJECT(SourceBufferList, DOM::EventTarget); GC_DECLARE_ALLOCATOR(SourceBufferList); public: void set_onaddsourcebuffer(GC::Ptr); GC::Ptr onaddsourcebuffer(); void set_onremovesourcebuffer(GC::Ptr); GC::Ptr onremovesourcebuffer(); private: SourceBufferList(JS::Realm&); virtual ~SourceBufferList() override; virtual void initialize(JS::Realm&) override; }; }