mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 11:37:16 +02:00
This time provider can later be swapped out for the AudioMixingSink when it implements the MediaTimeProvider interface, so that frame timing can be driven by audio when it is present.
29 lines
622 B
C++
29 lines
622 B
C++
/*
|
|
* Copyright (c) 2025, Gregory Bertilson <gregory@ladybird.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LibMedia/Providers/MediaTimeProvider.h>
|
|
|
|
namespace Media {
|
|
|
|
class GenericTimeProvider final : public MediaTimeProvider {
|
|
public:
|
|
GenericTimeProvider();
|
|
virtual ~GenericTimeProvider() override;
|
|
|
|
virtual AK::Duration current_time() const override;
|
|
virtual void resume() override;
|
|
virtual void pause() override;
|
|
virtual void set_time(AK::Duration) override;
|
|
|
|
private:
|
|
Optional<MonotonicTime> m_monotonic_time_on_resume;
|
|
AK::Duration m_media_time;
|
|
};
|
|
|
|
}
|