From d941f137b2bed15676feb4cb7b10176e546dd4ac Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <dos@dosowisko.net>
Date: Sat, 16 Sep 2023 00:19:09 +0200
Subject: [PATCH] audio_mp3: Implement seek to beginning

---
 components/audio_mp3/audio_mp3.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/components/audio_mp3/audio_mp3.c b/components/audio_mp3/audio_mp3.c
index e7f06636d5..ae537bc070 100644
--- a/components/audio_mp3/audio_mp3.c
+++ b/components/audio_mp3/audio_mp3.c
@@ -141,6 +141,16 @@ static void mp3_draw(st3m_media *media, Ctx *ctx) {
 static void mp3_think(st3m_media *media, float ms_elapsed) {
     mp3_state *self = (void *)media;
 
+    if (self->file && self->control.seek == 0) {
+        rewind(self->file);
+        self->offset = 0;
+        self->pos = 0;
+        self->control.time = 0;
+        self->control.position = 0;
+        self->control.seek = -1;
+        mp3dec_init(&self->mp3d);
+    }
+
     mp3_fetch_data(self);
 
     self->scroll_pos += ms_elapsed / 1000.0;
-- 
GitLab