Files
ladybird/Libraries/LibMedia/Providers/GenericTimeProvider.h
Zaggy1024 3ebaa0cd3f LibMedia: Implement a generic MediaTimeProvider for video-only timing
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.
2025-10-27 17:28:49 -07:00

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;
};
}