However, the playback rate is still limited to 1.0 at the element, because audio stretching is not yet implemented.
30 lines
687 B
C++
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 };
|
|
};
|
|
|
|
}
|