mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 07:20:36 +00:00
CXX_BUILD buildfix
This commit is contained in:
parent
9d27fdbe83
commit
53797b15ce
@ -1,10 +1,12 @@
|
||||
#include "packet_buffer.h"
|
||||
|
||||
struct AVPacketNode {
|
||||
struct AVPacketNode
|
||||
{
|
||||
AVPacket *data;
|
||||
struct AVPacketNode *next;
|
||||
struct AVPacketNode *previous;
|
||||
};
|
||||
|
||||
typedef struct AVPacketNode AVPacketNode_t;
|
||||
|
||||
struct packet_buffer
|
||||
@ -14,7 +16,7 @@ struct packet_buffer
|
||||
size_t size;
|
||||
};
|
||||
|
||||
packet_buffer_t *packet_buffer_create()
|
||||
packet_buffer_t *packet_buffer_create(void)
|
||||
{
|
||||
packet_buffer_t *b = (packet_buffer_t*)malloc(sizeof(packet_buffer_t));
|
||||
if (!b)
|
||||
|
@ -6,7 +6,13 @@
|
||||
#include <boolean.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <libavcodec/avcodec.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <retro_miscellaneous.h>
|
||||
|
||||
|
@ -1,4 +1,10 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <libavformat/avformat.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <rthreads/rthreads.h>
|
||||
|
||||
@ -6,7 +12,7 @@
|
||||
|
||||
enum kbStatus
|
||||
{
|
||||
KB_OPEN,
|
||||
KB_OPEN = 0,
|
||||
KB_IN_PROGRESS,
|
||||
KB_FINISHED
|
||||
};
|
||||
@ -23,28 +29,37 @@ struct video_buffer
|
||||
int64_t tail;
|
||||
};
|
||||
|
||||
video_buffer_t *video_buffer_create(size_t capacity, int frame_size, int width, int height)
|
||||
video_buffer_t *video_buffer_create(
|
||||
size_t capacity, int frame_size, int width, int height)
|
||||
{
|
||||
unsigned i;
|
||||
video_buffer_t *b = (video_buffer_t*)malloc(sizeof(video_buffer_t));
|
||||
if (!b)
|
||||
return NULL;
|
||||
|
||||
memset(b, 0, sizeof(video_buffer_t));
|
||||
b->capacity = capacity;
|
||||
b->buffer = NULL;
|
||||
b->capacity = capacity;
|
||||
b->lock = NULL;
|
||||
b->open_cond = NULL;
|
||||
b->finished_cond = NULL;
|
||||
b->head = 0;
|
||||
b->tail = 0;
|
||||
b->status = (enum kbStatus*)malloc(sizeof(enum kbStatus) * capacity);
|
||||
|
||||
b->status = (enum kbStatus*)malloc(sizeof(enum kbStatus) * capacity);
|
||||
if (!b->status)
|
||||
goto fail;
|
||||
for (int i = 0; i < capacity; i++)
|
||||
b->status[i] = KB_OPEN;
|
||||
|
||||
b->lock = slock_new();
|
||||
b->open_cond = scond_new();
|
||||
for (i = 0; i < capacity; i++)
|
||||
b->status[i] = KB_OPEN;
|
||||
|
||||
b->lock = slock_new();
|
||||
b->open_cond = scond_new();
|
||||
b->finished_cond = scond_new();
|
||||
if (!b->lock || !b->open_cond || !b->finished_cond)
|
||||
goto fail;
|
||||
|
||||
b->buffer = (video_decoder_context_t*)malloc(sizeof(video_decoder_context_t) * capacity);
|
||||
b->buffer = (video_decoder_context_t*)
|
||||
malloc(sizeof(video_decoder_context_t) * capacity);
|
||||
if (!b->buffer)
|
||||
goto fail;
|
||||
|
||||
@ -60,15 +75,17 @@ video_buffer_t *video_buffer_create(size_t capacity, int frame_size, int width,
|
||||
b->buffer[i].target = av_frame_alloc();
|
||||
b->buffer[i].frame_buf = (uint8_t*)av_malloc(frame_size);
|
||||
|
||||
avpicture_fill((AVPicture*)b->buffer[i].target, (const uint8_t*)b->buffer[i].frame_buf,
|
||||
avpicture_fill((AVPicture*)
|
||||
b->buffer[i].target,
|
||||
(const uint8_t*)b->buffer[i].frame_buf,
|
||||
PIX_FMT_RGB32, width, height);
|
||||
|
||||
if (!b->buffer[i].sws ||
|
||||
!b->buffer[i].source ||
|
||||
if (!b->buffer[i].sws ||
|
||||
!b->buffer[i].source ||
|
||||
#if LIBAVUTIL_VERSION_MAJOR > 55
|
||||
!b->buffer[i].hw_source ||
|
||||
#endif
|
||||
!b->buffer[i].target ||
|
||||
!b->buffer[i].target ||
|
||||
!b->buffer[i].frame_buf)
|
||||
goto fail;
|
||||
}
|
||||
@ -81,6 +98,7 @@ fail:
|
||||
|
||||
void video_buffer_destroy(video_buffer_t *video_buffer)
|
||||
{
|
||||
unsigned i;
|
||||
if (!video_buffer)
|
||||
return;
|
||||
|
||||
@ -89,22 +107,25 @@ void video_buffer_destroy(video_buffer_t *video_buffer)
|
||||
scond_free(video_buffer->finished_cond);
|
||||
free(video_buffer->status);
|
||||
if (video_buffer->buffer)
|
||||
for (int i = 0; i < video_buffer->capacity; i++)
|
||||
{
|
||||
for (i = 0; i < video_buffer->capacity; i++)
|
||||
{
|
||||
#if LIBAVUTIL_VERSION_MAJOR > 55
|
||||
#if LIBAVUTIL_VERSION_MAJOR > 55
|
||||
av_frame_free(&video_buffer->buffer[i].hw_source);
|
||||
#endif
|
||||
#endif
|
||||
av_frame_free(&video_buffer->buffer[i].source);
|
||||
av_frame_free(&video_buffer->buffer[i].target);
|
||||
av_freep(&video_buffer->buffer[i].frame_buf);
|
||||
sws_freeContext(video_buffer->buffer[i].sws);
|
||||
}
|
||||
}
|
||||
free(video_buffer->buffer);
|
||||
free(video_buffer);
|
||||
}
|
||||
|
||||
void video_buffer_clear(video_buffer_t *video_buffer)
|
||||
{
|
||||
unsigned i;
|
||||
if (!video_buffer)
|
||||
return;
|
||||
|
||||
@ -115,13 +136,14 @@ void video_buffer_clear(video_buffer_t *video_buffer)
|
||||
|
||||
video_buffer->head = 0;
|
||||
video_buffer->tail = 0;
|
||||
for (int i = 0; i < video_buffer->capacity; i++)
|
||||
for (i = 0; i < video_buffer->capacity; i++)
|
||||
video_buffer->status[i] = KB_OPEN;
|
||||
|
||||
slock_unlock(video_buffer->lock);
|
||||
}
|
||||
|
||||
void video_buffer_get_open_slot(video_buffer_t *video_buffer, video_decoder_context_t **context)
|
||||
void video_buffer_get_open_slot(
|
||||
video_buffer_t *video_buffer, video_decoder_context_t **context)
|
||||
{
|
||||
slock_lock(video_buffer->lock);
|
||||
|
||||
@ -136,7 +158,8 @@ void video_buffer_get_open_slot(video_buffer_t *video_buffer, video_decoder_cont
|
||||
slock_unlock(video_buffer->lock);
|
||||
}
|
||||
|
||||
void video_buffer_return_open_slot(video_buffer_t *video_buffer, video_decoder_context_t *context)
|
||||
void video_buffer_return_open_slot(
|
||||
video_buffer_t *video_buffer, video_decoder_context_t *context)
|
||||
{
|
||||
slock_lock(video_buffer->lock);
|
||||
|
||||
@ -150,7 +173,9 @@ void video_buffer_return_open_slot(video_buffer_t *video_buffer, video_decoder_c
|
||||
slock_unlock(video_buffer->lock);
|
||||
}
|
||||
|
||||
void video_buffer_open_slot(video_buffer_t *video_buffer, video_decoder_context_t *context)
|
||||
void video_buffer_open_slot(
|
||||
video_buffer_t *video_buffer,
|
||||
video_decoder_context_t *context)
|
||||
{
|
||||
slock_lock(video_buffer->lock);
|
||||
|
||||
@ -165,7 +190,9 @@ void video_buffer_open_slot(video_buffer_t *video_buffer, video_decoder_context_
|
||||
slock_unlock(video_buffer->lock);
|
||||
}
|
||||
|
||||
void video_buffer_get_finished_slot(video_buffer_t *video_buffer, video_decoder_context_t **context)
|
||||
void video_buffer_get_finished_slot(
|
||||
video_buffer_t *video_buffer,
|
||||
video_decoder_context_t **context)
|
||||
{
|
||||
slock_lock(video_buffer->lock);
|
||||
|
||||
@ -175,7 +202,9 @@ void video_buffer_get_finished_slot(video_buffer_t *video_buffer, video_decoder_
|
||||
slock_unlock(video_buffer->lock);
|
||||
}
|
||||
|
||||
void video_buffer_finish_slot(video_buffer_t *video_buffer, video_decoder_context_t *context)
|
||||
void video_buffer_finish_slot(
|
||||
video_buffer_t *video_buffer,
|
||||
video_decoder_context_t *context)
|
||||
{
|
||||
slock_lock(video_buffer->lock);
|
||||
|
||||
|
@ -10,9 +10,17 @@
|
||||
#include <ass/ass.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <libavutil/frame.h>
|
||||
#include <libswscale/swscale.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <retro_miscellaneous.h>
|
||||
|
||||
RETRO_BEGIN_DECLS
|
||||
|
@ -124,7 +124,8 @@ static void menu_action_setting_disp_add_null_drivers(
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
bool val = *cbs->setting->value.target.boolean;
|
||||
|
||||
*s = '\0';
|
||||
@ -235,7 +236,8 @@ static void menu_action_setting_disp_set_label_netplay_mitm_server(
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
unsigned j;
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
const char *netplay_mitm_server = cbs->setting->value.target.string;
|
||||
|
||||
*s = '\0';
|
||||
@ -263,7 +265,8 @@ static void menu_action_setting_disp_set_label_shader_watch_for_changes(
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
bool val = *cbs->setting->value.target.boolean;
|
||||
|
||||
*s = '\0';
|
||||
@ -317,7 +320,6 @@ static void menu_action_setting_disp_set_label_shader_pass(
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_shader_default_filter(
|
||||
|
||||
file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
const char *label,
|
||||
@ -325,7 +327,8 @@ static void menu_action_setting_disp_set_label_shader_default_filter(
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
bool val = *cbs->setting->value.target.boolean;
|
||||
|
||||
*s = '\0';
|
||||
@ -1380,7 +1383,8 @@ static void menu_action_setting_disp_set_label_achievement_information(
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
rarch_setting_t *setting = cbs->setting;
|
||||
|
||||
*s = '\0';
|
||||
@ -1475,7 +1479,8 @@ static void menu_action_setting_disp_set_label(file_list_t* list,
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
rarch_setting_t *setting = cbs->setting;
|
||||
|
||||
*s = '\0';
|
||||
@ -1494,7 +1499,8 @@ static void menu_action_setting_disp_set_label_setting_bool(file_list_t* list,
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
rarch_setting_t *setting = cbs->setting;
|
||||
|
||||
*s = '\0';
|
||||
@ -1518,7 +1524,8 @@ static void menu_action_setting_disp_set_label_setting_string(file_list_t* list,
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
rarch_setting_t *setting = cbs->setting;
|
||||
|
||||
*w = 19;
|
||||
@ -1536,7 +1543,8 @@ static void menu_action_setting_disp_set_label_setting_path(file_list_t* list,
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
menu_file_list_cbs_t *cbs = list->list[i].actiondata;
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
list->list[i].actiondata;
|
||||
rarch_setting_t *setting = cbs->setting;
|
||||
const char *basename = setting ? path_basename(setting->value.target.string) : NULL;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user