SDL_mixer: Fixed warnings building with Visual Studio

From 504bb83b3d5f1b3fbce4b2f68d0f0d2670afcd38 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 21 May 2022 14:20:00 -0700
Subject: [PATCH] Fixed warnings building with Visual Studio

---
 src/codecs/music_drflac.c  | 6 +++---
 src/codecs/music_ogg_stb.c | 2 +-
 src/codecs/music_wav.c     | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/codecs/music_drflac.c b/src/codecs/music_drflac.c
index b93b016f..9a9cb7cc 100644
--- a/src/codecs/music_drflac.c
+++ b/src/codecs/music_drflac.c
@@ -88,7 +88,7 @@ static void DRFLAC_MetaCB(void *context, drflac_metadata *metadata)
     DRFLAC_Music *music = (DRFLAC_Music *)context;
 
     if (metadata->type == DRFLAC_METADATA_BLOCK_TYPE_VORBIS_COMMENT) {
-        int i;
+        drflac_uint32 i;
         char *param, *argument, *value;
         SDL_bool is_loop_length = SDL_FALSE;
         const char *pRunningData = (const char *)metadata->data.vorbis_comment.pComments;
@@ -205,7 +205,7 @@ static void *DRFLAC_CreateFromRW(SDL_RWops *src, int freesrc)
     /* loop_start, loop_end and loop_len get set by metadata callback if tags
      * are present in metadata.
      */
-    if ((music->loop_end > 0) && (music->loop_end <= music->dec->totalPCMFrameCount) &&
+    if ((music->loop_end > 0) && (music->loop_end <= (Sint64)music->dec->totalPCMFrameCount) &&
         (music->loop_start < music->loop_end)) {
         music->loop = 1;
     }
@@ -276,7 +276,7 @@ static int DRFLAC_GetSome(void *context, void *data, int bytes, SDL_bool *done)
     amount = drflac_read_pcm_frames_s16(music->dec, music_spec.samples, music->buffer);
     if (amount > 0) {
         if (music->loop && (music->play_count != 1) &&
-            (music->dec->currentPCMFrame >= music->loop_end)) {
+            ((Sint64)music->dec->currentPCMFrame >= music->loop_end)) {
             amount -= (music->dec->currentPCMFrame - music->loop_end) * sizeof(drflac_int16) * music->channels;
             music->loop_flag = SDL_TRUE;
         }
diff --git a/src/codecs/music_ogg_stb.c b/src/codecs/music_ogg_stb.c
index c975d313..b33f38e0 100644
--- a/src/codecs/music_ogg_stb.c
+++ b/src/codecs/music_ogg_stb.c
@@ -380,7 +380,7 @@ static int OGG_Seek(void *context, double time)
     OGG_music *music = (OGG_music *)context;
     int result;
 
-    result = stb_vorbis_seek(music->vf, time * music->vi.sample_rate);
+    result = stb_vorbis_seek(music->vf, (unsigned int)(time * music->vi.sample_rate));
     if (!result) {
         set_ov_error("stb_vorbis_seek", stb_vorbis_get_error(music->vf));
         return -1;
diff --git a/src/codecs/music_wav.c b/src/codecs/music_wav.c
index 29ed211a..e4140c2f 100644
--- a/src/codecs/music_wav.c
+++ b/src/codecs/music_wav.c
@@ -658,7 +658,7 @@ static SDL_bool ParseFMT(WAV_Music *wave, Uint32 chunk_length)
         Mix_SetError("Couldn't read %d bytes from WAV file", chunk_length);
         return SDL_FALSE;
     }
-    chunk_length -= size;
+    chunk_length = (Uint32)(chunk_length - size);
     if (chunk_length != 0 && SDL_RWseek(wave->src, chunk_length, RW_SEEK_CUR) < 0) {
         Mix_SetError("Couldn't read %d bytes from WAV file", chunk_length);
         return SDL_FALSE;