mirror of
https://github.com/libretro/RetroArch
synced 2025-02-18 18:40:06 +00:00
Adds possibility for non-syncing audio.
This commit is contained in:
parent
083ccd7d3a
commit
f9a177880e
7
config.h
7
config.h
@ -73,7 +73,7 @@ static const bool force_aspect = true;
|
|||||||
////////////////////////
|
////////////////////////
|
||||||
|
|
||||||
// If you change this to something other than the HQ filters, make sure that you build the filter module in config.mk.
|
// If you change this to something other than the HQ filters, make sure that you build the filter module in config.mk.
|
||||||
#define VIDEO_FILTER FILTER_GRAYSCALE
|
#define VIDEO_FILTER FILTER_HQ2X
|
||||||
|
|
||||||
|
|
||||||
////////////////
|
////////////////
|
||||||
@ -85,7 +85,7 @@ static const unsigned out_rate = 96000;
|
|||||||
|
|
||||||
// Input samplerate from libSNES.
|
// Input samplerate from libSNES.
|
||||||
// Lower this (slightly) if you are experiencing frequent audio dropouts and vsync is enabled.
|
// Lower this (slightly) if you are experiencing frequent audio dropouts and vsync is enabled.
|
||||||
static const unsigned in_rate = 31950;
|
static const unsigned in_rate = 31940;
|
||||||
|
|
||||||
// Audio device (e.g. hw:0,0 or /dev/audio). If NULL, will use defaults.
|
// Audio device (e.g. hw:0,0 or /dev/audio). If NULL, will use defaults.
|
||||||
static const char* audio_device = "hw:0";
|
static const char* audio_device = "hw:0";
|
||||||
@ -93,6 +93,9 @@ static const char* audio_device = "hw:0";
|
|||||||
// Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency.
|
// Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency.
|
||||||
static const int out_latency = 16;
|
static const int out_latency = 16;
|
||||||
|
|
||||||
|
// Will sync audio. (recommended)
|
||||||
|
static const bool audio_sync = true;
|
||||||
|
|
||||||
// Defines the quality (and cpu reqirements) of samplerate conversion.
|
// Defines the quality (and cpu reqirements) of samplerate conversion.
|
||||||
#define SAMPLERATE_QUALITY SRC_LINEAR
|
#define SAMPLERATE_QUALITY SRC_LINEAR
|
||||||
|
|
||||||
|
9
ssnes.c
9
ssnes.c
@ -88,9 +88,9 @@ void set_fast_forward_button(bool new_button_state)
|
|||||||
{
|
{
|
||||||
syncing_state = !syncing_state;
|
syncing_state = !syncing_state;
|
||||||
if (video_active)
|
if (video_active)
|
||||||
driver.video->set_nonblock_state(driver.video_data, syncing_state);
|
driver.video->set_nonblock_state(driver.video_data, (audio_sync) ? syncing_state : true);
|
||||||
if (audio_active)
|
if (audio_active)
|
||||||
driver.audio->set_nonblock_state(driver.audio_data, syncing_state);
|
driver.audio->set_nonblock_state(driver.audio_data, (audio_sync) ? syncing_state : true);
|
||||||
if (syncing_state)
|
if (syncing_state)
|
||||||
audio_chunk_size = AUDIO_CHUNK_SIZE_NONBLOCKING;
|
audio_chunk_size = AUDIO_CHUNK_SIZE_NONBLOCKING;
|
||||||
else
|
else
|
||||||
@ -117,8 +117,13 @@ static void init_audio(void)
|
|||||||
if ( driver.audio_data == NULL )
|
if ( driver.audio_data == NULL )
|
||||||
audio_active = false;
|
audio_active = false;
|
||||||
|
|
||||||
|
if (!audio_sync && audio_active)
|
||||||
|
driver.audio->set_nonblock_state(driver.audio_data, true);
|
||||||
|
|
||||||
int err;
|
int err;
|
||||||
source = src_new(SAMPLERATE_QUALITY, 2, &err);
|
source = src_new(SAMPLERATE_QUALITY, 2, &err);
|
||||||
|
if (!source)
|
||||||
|
audio_active = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void uninit_audio(void)
|
static void uninit_audio(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user