mirror of
https://github.com/libretro/RetroArch
synced 2025-02-01 20:54:10 +00:00
Some fixes here and there. Do not build FFmpeg by default.
This commit is contained in:
parent
9cf25dcb67
commit
c4f78912a1
28
message.c
28
message.c
@ -43,7 +43,6 @@ msg_queue_t *msg_queue_new(size_t size)
|
||||
|
||||
queue->size = size + 1;
|
||||
queue->elems = calloc(queue->size, sizeof(struct queue_elem*));
|
||||
// Allocate one extra for scratch space when finding lowest prio elem.
|
||||
|
||||
if (!queue->elems)
|
||||
{
|
||||
@ -56,16 +55,8 @@ msg_queue_t *msg_queue_new(size_t size)
|
||||
|
||||
void msg_queue_free(msg_queue_t *queue)
|
||||
{
|
||||
for (size_t i = 1; i < queue->ptr; i++)
|
||||
{
|
||||
if (queue->elems[i])
|
||||
{
|
||||
free(queue->elems[i]->msg);
|
||||
free(queue->elems[i]);
|
||||
}
|
||||
}
|
||||
msg_queue_clear(queue);
|
||||
free(queue->elems);
|
||||
free(queue->tmp_msg);
|
||||
free(queue);
|
||||
}
|
||||
|
||||
@ -98,6 +89,22 @@ void msg_queue_push(msg_queue_t *queue, const char *msg, unsigned prio, unsigned
|
||||
}
|
||||
}
|
||||
|
||||
void msg_queue_clear(msg_queue_t *queue)
|
||||
{
|
||||
for (size_t i = 1; i < queue->ptr; i++)
|
||||
{
|
||||
if (queue->elems[i])
|
||||
{
|
||||
free(queue->elems[i]->msg);
|
||||
free(queue->elems[i]);
|
||||
queue->elems[i] = NULL;
|
||||
}
|
||||
}
|
||||
queue->ptr = 1;
|
||||
free(queue->tmp_msg);
|
||||
queue->tmp_msg = NULL;
|
||||
}
|
||||
|
||||
const char *msg_queue_pull(msg_queue_t *queue)
|
||||
{
|
||||
if (queue->ptr == 1) // Nothing in queue. :(
|
||||
@ -109,6 +116,7 @@ const char *msg_queue_pull(msg_queue_t *queue)
|
||||
return front->msg;
|
||||
else
|
||||
{
|
||||
free(queue->tmp_msg);
|
||||
queue->tmp_msg = front->msg;
|
||||
front->msg = NULL;
|
||||
|
||||
|
@ -33,6 +33,9 @@ void msg_queue_push(msg_queue_t *queue, const char *msg, unsigned prio, unsigned
|
||||
// Pulls highest prio message in queue. Returns NULL if no message in queue.
|
||||
const char *msg_queue_pull(msg_queue_t *queue);
|
||||
|
||||
// Clear out everything in queue.
|
||||
void msg_queue_clear(msg_queue_t *queue);
|
||||
|
||||
void msg_queue_free(msg_queue_t *queue);
|
||||
|
||||
#endif
|
||||
|
@ -9,7 +9,7 @@ PACKAGE_VERSION=0.1
|
||||
# $3: Default arg. auto implies that HAVE_ALSA will be set according to library checks later on.
|
||||
add_command_line_enable DYNAMIC "Enable dynamic loading of libsnes library." no
|
||||
add_command_line_string LIBSNES "libsnes library used" "-lsnes"
|
||||
add_command_line_enable FFMPEG "Enable FFmpeg recording support" auto
|
||||
add_command_line_enable FFMPEG "Enable FFmpeg recording support" no
|
||||
add_command_line_enable FILTER "Disable CPU filter support" yes
|
||||
add_command_line_enable CONFIGFILE "Disable support for config file" yes
|
||||
add_command_line_enable CG "Enable Cg shader support" auto
|
||||
|
5
ssnes.c
5
ssnes.c
@ -97,6 +97,8 @@ static void video_frame(const uint16_t *data, unsigned width, unsigned height)
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg = msg_queue_pull(g_extern.msg_queue);
|
||||
|
||||
#ifdef HAVE_FILTER
|
||||
uint16_t output_filter[width * height * 4 * 4];
|
||||
uint16_t output[width * height];
|
||||
@ -104,7 +106,6 @@ static void video_frame(const uint16_t *data, unsigned width, unsigned height)
|
||||
if (g_settings.video.filter != FILTER_NONE)
|
||||
process_frame(output, data, width, height);
|
||||
|
||||
const char *msg = msg_queue_pull(g_extern.msg_queue);
|
||||
|
||||
switch (g_settings.video.filter)
|
||||
{
|
||||
@ -676,6 +677,7 @@ int main(int argc, char *argv[])
|
||||
bool should_savestate = driver.input->key_pressed(driver.input_data, SSNES_SAVE_STATE_KEY);
|
||||
if (should_savestate && !old_should_savestate)
|
||||
{
|
||||
msg_queue_clear(g_extern.msg_queue);
|
||||
msg_queue_push(g_extern.msg_queue, "Saving state! ^_^", 1, 180);
|
||||
save_state(g_extern.savestate_name);
|
||||
}
|
||||
@ -685,6 +687,7 @@ int main(int argc, char *argv[])
|
||||
bool should_loadstate = driver.input->key_pressed(driver.input_data, SSNES_LOAD_STATE_KEY);
|
||||
if (!should_savestate && should_loadstate && !old_should_loadstate)
|
||||
{
|
||||
msg_queue_clear(g_extern.msg_queue);
|
||||
msg_queue_push(g_extern.msg_queue, "Loading state! ^_^", 1, 180);
|
||||
load_state(g_extern.savestate_name);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user