SDL_mixer: audiodecoder: AudioDecoders need to seek(0) before starting. (6035c)

From 6035cd035da63e9b8f0ec301a467796e3ed6917e Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Tue, 2 Jun 2026 17:35:40 -0400
Subject: [PATCH] audiodecoder: AudioDecoders need to seek(0) before starting.

This matches what the mixer does internally, and fixes sample.wav decoding.

Fixes #862.

(cherry picked from commit bd4335307acd198788b861ddca11da5d7d0cbee4)
---
 src/SDL_mixer.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/SDL_mixer.c b/src/SDL_mixer.c
index b3a05c7a..86e0a551 100644
--- a/src/SDL_mixer.c
+++ b/src/SDL_mixer.c
@@ -3105,6 +3105,13 @@ MIX_AudioDecoder * MIX_CreateAudioDecoder_IO(SDL_IOStream *io, bool closeio, SDL
         return NULL;
     }
 
+    if (!audiodecoder->audio->decoder->seek(audiodecoder->track_userdata, 0)) {
+        audiodecoder->audio->decoder->quit_track(audiodecoder->track_userdata);
+        MIX_DestroyAudio(audiodecoder->audio);
+        SDL_free(audiodecoder);
+        return NULL;
+    }
+
     audiodecoder->stream = SDL_CreateAudioStream(&audiodecoder->audio->spec, &audiodecoder->audio->spec);
     if (!audiodecoder->stream) {
         audiodecoder->audio->decoder->quit_track(audiodecoder->track_userdata);