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;