1
Fork 0
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:
Tim Schumacher 2023-01-17 21:11:47 +01:00 committed by Jelle Raaijmakers
parent daf181caa8
commit dfc57c0dd9
3 changed files with 0 additions and 5 deletions

View file

@ -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);

View file

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

View file

@ -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);