mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:07:35 +00:00
SoundPlayer: Don't offset the seek bar with the last seek value
The audio loader plugins already do this internally, if we do this a second time the seek bar will just end up getting rendered at the wrong place.
This commit is contained in:
parent
daf181caa8
commit
dfc57c0dd9
3 changed files with 0 additions and 5 deletions
|
@ -38,7 +38,6 @@ void PlaybackManager::stop()
|
||||||
{
|
{
|
||||||
set_paused(true);
|
set_paused(true);
|
||||||
m_connection->async_clear_buffer();
|
m_connection->async_clear_buffer();
|
||||||
m_last_seek = 0;
|
|
||||||
|
|
||||||
if (m_loader)
|
if (m_loader)
|
||||||
(void)m_loader->reset();
|
(void)m_loader->reset();
|
||||||
|
@ -59,7 +58,6 @@ void PlaybackManager::seek(int const position)
|
||||||
if (!m_loader)
|
if (!m_loader)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_last_seek = position;
|
|
||||||
bool paused_state = m_paused;
|
bool paused_state = m_paused;
|
||||||
set_paused(true);
|
set_paused(true);
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ public:
|
||||||
RefPtr<Audio::Loader> loader() const { return m_loader; }
|
RefPtr<Audio::Loader> loader() const { return m_loader; }
|
||||||
size_t device_sample_rate() const { return m_device_sample_rate; }
|
size_t device_sample_rate() const { return m_device_sample_rate; }
|
||||||
|
|
||||||
int last_seek() const { return m_last_seek; }
|
|
||||||
bool is_paused() const { return m_paused; }
|
bool is_paused() const { return m_paused; }
|
||||||
float total_length() const { return m_total_length; }
|
float total_length() const { return m_total_length; }
|
||||||
FixedArray<Audio::Sample> const& current_buffer() const { return m_current_buffer; }
|
FixedArray<Audio::Sample> const& current_buffer() const { return m_current_buffer; }
|
||||||
|
@ -50,7 +49,6 @@ private:
|
||||||
|
|
||||||
bool m_paused { true };
|
bool m_paused { true };
|
||||||
bool m_loop = { false };
|
bool m_loop = { false };
|
||||||
size_t m_last_seek { 0 };
|
|
||||||
float m_total_length { 0 };
|
float m_total_length { 0 };
|
||||||
size_t m_device_sample_rate { 44100 };
|
size_t m_device_sample_rate { 44100 };
|
||||||
size_t m_device_samples_per_buffer { 0 };
|
size_t m_device_samples_per_buffer { 0 };
|
||||||
|
|
|
@ -18,7 +18,6 @@ Player::Player(Audio::ConnectionToServer& audio_client_connection)
|
||||||
auto sample_rate = m_playback_manager.loader()->sample_rate();
|
auto sample_rate = m_playback_manager.loader()->sample_rate();
|
||||||
float source_to_dest_ratio = static_cast<float>(sample_rate) / m_playback_manager.device_sample_rate();
|
float source_to_dest_ratio = static_cast<float>(sample_rate) / m_playback_manager.device_sample_rate();
|
||||||
samples_played *= source_to_dest_ratio;
|
samples_played *= source_to_dest_ratio;
|
||||||
samples_played += m_playback_manager.last_seek();
|
|
||||||
|
|
||||||
auto played_seconds = samples_played / sample_rate;
|
auto played_seconds = samples_played / sample_rate;
|
||||||
time_elapsed(played_seconds);
|
time_elapsed(played_seconds);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue