/* * Copyright (c) 2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace Ladybird { class AudioThread; class AudioCodecPluginQt final : public QObject , public Web::Platform::AudioCodecPlugin { Q_OBJECT public: static ErrorOr> create(NonnullRefPtr); virtual ~AudioCodecPluginQt() override; virtual void resume_playback() override; virtual void pause_playback() override; virtual void set_volume(double) override; virtual void seek(double) override; virtual Duration duration() override; private: explicit AudioCodecPluginQt(NonnullOwnPtr); NonnullOwnPtr m_audio_thread; }; }