summaryrefslogtreecommitdiff
path: root/src/mixer
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-05-25 18:49:20 -0400
committerAndrew Opalach <andrew@akon.city> 2025-05-25 18:49:20 -0400
commit2fa7ea95c891981684a55b41977172d040c2cc55 (patch)
treed349e810b3178045a420b625f6dbe5634b64807b /src/mixer
parent01f852081b1291da7fc342976bf5228ffb618736 (diff)
downloadcamu-2fa7ea95c891981684a55b41977172d040c2cc55.tar.gz
camu-2fa7ea95c891981684a55b41977172d040c2cc55.tar.bz2
camu-2fa7ea95c891981684a55b41977172d040c2cc55.zip
Support Windows XP (Old FFmpeg and build fixes)
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/mixer')
-rw-r--r--src/mixer/audio_miniaudio.c7
-rw-r--r--src/mixer/audio_null.c2
-rw-r--r--src/mixer/meson.build6
3 files changed, 11 insertions, 4 deletions
diff --git a/src/mixer/audio_miniaudio.c b/src/mixer/audio_miniaudio.c
index 7e31abf..a0db3f3 100644
--- a/src/mixer/audio_miniaudio.c
+++ b/src/mixer/audio_miniaudio.c
@@ -27,6 +27,9 @@ static ma_backend backends[] = {
#ifdef MA_ENABLE_WASAPI
ma_backend_wasapi,
#endif
+#ifdef MA_ENABLE_DSOUND
+ ma_backend_dsound,
+#endif
#ifdef MA_ENABLE_AAUDIO
ma_backend_aaudio,
#endif
@@ -142,7 +145,7 @@ static void audio_miniaudio_pick_format(struct camu_audio *audio, struct camu_re
fmt->req.sample_rate = ma->device.playback.internalSampleRate;
u32 channels = ma->device.playback.channels;
#ifdef CAMU_HAVE_FFMPEG
- av_channel_layout_default(&fmt->req.channel_layout, channels);
+ camu_default_channel_layout(&fmt->req.channel_layout, channels);
#endif
fmt->req.channel_count = channels;
}
@@ -162,7 +165,7 @@ static void data_callback(ma_device *device, void *output, const void *input, u3
#define DEFAULT_PERIOD_SIZE_IN_MILLISECONDS 8
#else
#define DEFAULT_PERIODS 3
-#define DEFAULT_PERIOD_SIZE_IN_MILLISECONDS 48
+#define DEFAULT_PERIOD_SIZE_IN_MILLISECONDS 64
#endif
static bool audio_miniaudio_configure_stream(struct camu_audio *audio, void *opaque)
diff --git a/src/mixer/audio_null.c b/src/mixer/audio_null.c
index a6eeea3..2fa5ddb 100644
--- a/src/mixer/audio_null.c
+++ b/src/mixer/audio_null.c
@@ -15,7 +15,7 @@ static void audio_null_pick_format(struct camu_audio *audio, struct camu_resampl
fmt->req.format = fmt->in.format;
fmt->req.channel_count = fmt->in.channel_count;
#ifdef CAMU_HAVE_FFMPEG
- av_channel_layout_default(&fmt->req.channel_layout, fmt->in.channel_count);
+ camu_default_channel_layout(&fmt->req.channel_layout, fmt->in.channel_count);
#endif
fmt->req.sample_rate = fmt->in.sample_rate;
}
diff --git a/src/mixer/meson.build b/src/mixer/meson.build
index c09f779..e4840c1 100644
--- a/src/mixer/meson.build
+++ b/src/mixer/meson.build
@@ -22,7 +22,11 @@ if use_miniaudio
mixer_deps += [libpulse, alsa]
mixer_args += ['-DMA_ENABLE_ALSA', '-DMA_ENABLE_PULSEAUDIO', '-DMA_NO_RUNTIME_LINKING']
elif is_windows
- mixer_args += ['-DMA_ENABLE_WASAPI']
+ if get_option('win32-compat')
+ mixer_args += ['-DMA_ENABLE_DSOUND']
+ else
+ mixer_args += ['-DMA_ENABLE_WASAPI']
+ endif
elif is_android
mixer_args += ['-DMA_ENABLE_AAUDIO']
endif