ladybird/Libraries/LibMedia/GenericTimeProvider.h
Zaggy1024 7ddbc2d7dd LibWeb+LibMedia: Wire up setting the pipeline's playback rate
However, the playback rate is still limited to 1.0 at the element,
because audio stretching is not yet implemented.
2026-06-06 19:58:17 -05:00

30 lines
687 B
C++

/*
* Copyright (c) 2025, Gregory Bertilson <gregory@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "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 seek(AK::Duration) override;
virtual void set_playback_rate(float) override;
private:
Optional<MonotonicTime> m_monotonic_time_on_resume;
AK::Duration m_media_time;
float m_playback_rate { 1.0f };
};
}