SDL_mixer: stb_vorbis: sync with stb_vorbis SDL fork (da465)

From da4658cd2968b8064487d43cb59e7adbe2e4f38c Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Fri, 21 Feb 2025 20:50:02 +0300
Subject: [PATCH] stb_vorbis: sync with stb_vorbis SDL fork

(cherry picked from commit e6775a3c4cd180307e7435e5baa11981e59fae07)
---
 src/codecs/stb_vorbis/stb_vorbis.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/codecs/stb_vorbis/stb_vorbis.h b/src/codecs/stb_vorbis/stb_vorbis.h
index ae1c3911..62b3f05c 100644
--- a/src/codecs/stb_vorbis/stb_vorbis.h
+++ b/src/codecs/stb_vorbis/stb_vorbis.h
@@ -620,8 +620,10 @@ enum STBVorbisError
 #include <limits.h>
 
 #ifndef STB_FORCEINLINE
-    #if defined(_MSC_VER)
+    #if defined(_MSC_VER) && (_MSC_VER >= 1200)
         #define STB_FORCEINLINE __forceinline
+    #elif defined(_MSC_VER)
+        #define STB_FORCEINLINE static __inline
     #elif (defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))) || defined(__clang__)
         #define STB_FORCEINLINE static __inline __attribute__((always_inline))
     #else
@@ -5518,7 +5520,7 @@ static int fixup_current_playback_loc(stb_vorbis *f, int n)
 
    f->current_playback_loc += n;
    lgs = stb_vorbis_stream_length_in_samples(f);
-   if (f->current_playback_loc > lgs && lgs > 0 && lgs != SAMPLE_unknown) {
+   if (lgs != 0 && lgs != SAMPLE_unknown && f->current_playback_loc > (int)lgs) {
        int r = n - (f->current_playback_loc - (int)lgs);
        f->current_playback_loc = lgs;
        return r;