(API Change) Remove pointers from all typedefs
Typedef pointers are unsafe. If you do: typedef struct bla *bla_t; then you cannot use it as a constant, such as: const bla_t, because that constant will be to the pointer itself rather than to the underlying data. I admit this was a fundamental mistake that must be corrected. All typedefs that were pointer types will now have their pointers removed from the type itself, and the pointers will be used when they are actually used as variables/parameters/returns instead. This does not break ABI though, which is pretty nice.
This commit is contained in:
@@ -48,11 +48,11 @@ struct coreaudio_data {
|
||||
enum speaker_layout speakers;
|
||||
|
||||
pthread_t reconnect_thread;
|
||||
os_event_t exit_event;
|
||||
os_event_t *exit_event;
|
||||
volatile bool reconnecting;
|
||||
unsigned long retry_time;
|
||||
|
||||
obs_source_t source;
|
||||
obs_source_t *source;
|
||||
};
|
||||
|
||||
static bool get_default_output_device(struct coreaudio_data *ca)
|
||||
@@ -665,12 +665,12 @@ static void coreaudio_destroy(void *data)
|
||||
}
|
||||
}
|
||||
|
||||
static void coreaudio_defaults(obs_data_t settings)
|
||||
static void coreaudio_defaults(obs_data_t *settings)
|
||||
{
|
||||
obs_data_set_default_string(settings, "device_id", "default");
|
||||
}
|
||||
|
||||
static void *coreaudio_create(obs_data_t settings, obs_source_t source,
|
||||
static void *coreaudio_create(obs_data_t *settings, obs_source_t *source,
|
||||
bool input)
|
||||
{
|
||||
struct coreaudio_data *ca = bzalloc(sizeof(struct coreaudio_data));
|
||||
@@ -693,22 +693,22 @@ static void *coreaudio_create(obs_data_t settings, obs_source_t source,
|
||||
return ca;
|
||||
}
|
||||
|
||||
static void *coreaudio_create_input_capture(obs_data_t settings,
|
||||
obs_source_t source)
|
||||
static void *coreaudio_create_input_capture(obs_data_t *settings,
|
||||
obs_source_t *source)
|
||||
{
|
||||
return coreaudio_create(settings, source, true);
|
||||
}
|
||||
|
||||
static void *coreaudio_create_output_capture(obs_data_t settings,
|
||||
obs_source_t source)
|
||||
static void *coreaudio_create_output_capture(obs_data_t *settings,
|
||||
obs_source_t *source)
|
||||
{
|
||||
return coreaudio_create(settings, source, false);
|
||||
}
|
||||
|
||||
static obs_properties_t coreaudio_properties(bool input)
|
||||
static obs_properties_t *coreaudio_properties(bool input)
|
||||
{
|
||||
obs_properties_t props = obs_properties_create();
|
||||
obs_property_t property;
|
||||
obs_properties_t *props = obs_properties_create();
|
||||
obs_property_t *property;
|
||||
struct device_list devices;
|
||||
|
||||
memset(&devices, 0, sizeof(struct device_list));
|
||||
@@ -732,12 +732,12 @@ static obs_properties_t coreaudio_properties(bool input)
|
||||
return props;
|
||||
}
|
||||
|
||||
static obs_properties_t coreaudio_input_properties(void)
|
||||
static obs_properties_t *coreaudio_input_properties(void)
|
||||
{
|
||||
return coreaudio_properties(true);
|
||||
}
|
||||
|
||||
static obs_properties_t coreaudio_output_properties(void)
|
||||
static obs_properties_t *coreaudio_output_properties(void)
|
||||
{
|
||||
return coreaudio_properties(false);
|
||||
}
|
||||
|
@@ -22,12 +22,12 @@ static inline bool requires_window(enum crop_mode mode)
|
||||
}
|
||||
|
||||
struct display_capture {
|
||||
obs_source_t source;
|
||||
obs_source_t *source;
|
||||
|
||||
gs_samplerstate_t sampler;
|
||||
gs_effect_t draw_effect;
|
||||
gs_texture_t tex;
|
||||
gs_vertbuffer_t vertbuf;
|
||||
gs_samplerstate_t *sampler;
|
||||
gs_effect_t *draw_effect;
|
||||
gs_texture_t *tex;
|
||||
gs_vertbuffer_t *vertbuf;
|
||||
|
||||
NSScreen *screen;
|
||||
unsigned display;
|
||||
@@ -42,7 +42,7 @@ struct display_capture {
|
||||
bool on_screen;
|
||||
bool hide_when_minimized;
|
||||
|
||||
os_event_t disp_finished;
|
||||
os_event_t *disp_finished;
|
||||
CGDisplayStreamRef disp;
|
||||
IOSurfaceRef current, prev;
|
||||
|
||||
@@ -249,10 +249,10 @@ bool init_vertbuf(struct display_capture *dc)
|
||||
return dc->vertbuf != NULL;
|
||||
}
|
||||
|
||||
void load_crop(struct display_capture *dc, obs_data_t settings);
|
||||
void load_crop(struct display_capture *dc, obs_data_t *settings);
|
||||
|
||||
static void *display_capture_create(obs_data_t settings,
|
||||
obs_source_t source)
|
||||
static void *display_capture_create(obs_data_t *settings,
|
||||
obs_source_t *source)
|
||||
{
|
||||
UNUSED_PARAMETER(source);
|
||||
UNUSED_PARAMETER(settings);
|
||||
@@ -395,7 +395,7 @@ cleanup:
|
||||
}
|
||||
}
|
||||
|
||||
static void display_capture_video_render(void *data, gs_effect_t effect)
|
||||
static void display_capture_video_render(void *data, gs_effect_t *effect)
|
||||
{
|
||||
UNUSED_PARAMETER(effect);
|
||||
|
||||
@@ -408,7 +408,7 @@ static void display_capture_video_render(void *data, gs_effect_t effect)
|
||||
gs_load_vertexbuffer(dc->vertbuf);
|
||||
gs_load_indexbuffer(NULL);
|
||||
gs_load_samplerstate(dc->sampler, 0);
|
||||
gs_technique_t tech = gs_effect_get_technique(dc->draw_effect,
|
||||
gs_technique_t *tech = gs_effect_get_technique(dc->draw_effect,
|
||||
"Default");
|
||||
gs_effect_set_texture(gs_effect_get_param_by_idx(dc->draw_effect, 1),
|
||||
dc->tex);
|
||||
@@ -478,7 +478,7 @@ static uint32_t display_capture_getheight(void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void display_capture_defaults(obs_data_t settings)
|
||||
static void display_capture_defaults(obs_data_t *settings)
|
||||
{
|
||||
obs_data_set_default_int(settings, "display", 0);
|
||||
obs_data_set_default_bool(settings, "show_cursor", true);
|
||||
@@ -487,14 +487,14 @@ static void display_capture_defaults(obs_data_t settings)
|
||||
window_defaults(settings);
|
||||
}
|
||||
|
||||
void load_crop_mode(enum crop_mode *mode, obs_data_t settings)
|
||||
void load_crop_mode(enum crop_mode *mode, obs_data_t *settings)
|
||||
{
|
||||
*mode = obs_data_get_int(settings, "crop_mode");
|
||||
if (!crop_mode_valid(*mode))
|
||||
*mode = CROP_NONE;
|
||||
}
|
||||
|
||||
void load_crop(struct display_capture *dc, obs_data_t settings)
|
||||
void load_crop(struct display_capture *dc, obs_data_t *settings)
|
||||
{
|
||||
load_crop_mode(&dc->crop, settings);
|
||||
|
||||
@@ -525,7 +525,7 @@ void load_crop(struct display_capture *dc, obs_data_t settings)
|
||||
#undef LOAD_CROP_VAR
|
||||
}
|
||||
|
||||
static void display_capture_update(void *data, obs_data_t settings)
|
||||
static void display_capture_update(void *data, obs_data_t *settings)
|
||||
{
|
||||
struct display_capture *dc = data;
|
||||
|
||||
@@ -549,8 +549,8 @@ static void display_capture_update(void *data, obs_data_t settings)
|
||||
obs_leave_graphics();
|
||||
}
|
||||
|
||||
static bool switch_crop_mode(obs_properties_t props, obs_property_t p,
|
||||
obs_data_t settings)
|
||||
static bool switch_crop_mode(obs_properties_t *props, obs_property_t *p,
|
||||
obs_data_t *settings)
|
||||
{
|
||||
UNUSED_PARAMETER(p);
|
||||
|
||||
@@ -590,11 +590,11 @@ static const char *crop_names[] = {
|
||||
#ifndef COUNTOF
|
||||
#define COUNTOF(x) (sizeof(x)/sizeof(x[0]))
|
||||
#endif
|
||||
static obs_properties_t display_capture_properties(void)
|
||||
static obs_properties_t *display_capture_properties(void)
|
||||
{
|
||||
obs_properties_t props = obs_properties_create();
|
||||
obs_properties_t *props = obs_properties_create();
|
||||
|
||||
obs_property_t list = obs_properties_add_list(props,
|
||||
obs_property_t *list = obs_properties_add_list(props,
|
||||
"display", obs_module_text("DisplayCapture.Display"),
|
||||
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);
|
||||
|
||||
@@ -607,7 +607,7 @@ static obs_properties_t display_capture_properties(void)
|
||||
obs_properties_add_bool(props, "show_cursor",
|
||||
obs_module_text("DisplayCapture.ShowCursor"));
|
||||
|
||||
obs_property_t crop = obs_properties_add_list(props, "crop_mode",
|
||||
obs_property_t *crop = obs_properties_add_list(props, "crop_mode",
|
||||
obs_module_text("CropMode"),
|
||||
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);
|
||||
obs_property_set_modified_callback(crop, switch_crop_mode);
|
||||
@@ -620,7 +620,7 @@ static obs_properties_t display_capture_properties(void)
|
||||
add_window_properties(props);
|
||||
show_window_properties(props, false);
|
||||
|
||||
obs_property_t p;
|
||||
obs_property_t *p;
|
||||
const char *name;
|
||||
float min;
|
||||
#define LOAD_CROP_VAR(var, mode) \
|
||||
|
@@ -9,7 +9,7 @@
|
||||
#include "window-utils.h"
|
||||
|
||||
struct window_capture {
|
||||
obs_source_t source;
|
||||
obs_source_t *source;
|
||||
|
||||
struct cocoa_window window;
|
||||
|
||||
@@ -22,8 +22,8 @@ struct window_capture {
|
||||
DARRAY(uint8_t) buffer;
|
||||
|
||||
pthread_t capture_thread;
|
||||
os_event_t capture_event;
|
||||
os_event_t stop_event;
|
||||
os_event_t *capture_event;
|
||||
os_event_t *stop_event;
|
||||
};
|
||||
|
||||
static CGImageRef get_image(struct window_capture *wc)
|
||||
@@ -98,8 +98,8 @@ static void *capture_thread(void *data)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void *window_capture_create_internal(obs_data_t settings,
|
||||
obs_source_t source)
|
||||
static inline void *window_capture_create_internal(obs_data_t *settings,
|
||||
obs_source_t *source)
|
||||
{
|
||||
struct window_capture *wc = bzalloc(sizeof(struct window_capture));
|
||||
|
||||
@@ -122,7 +122,7 @@ static inline void *window_capture_create_internal(obs_data_t settings,
|
||||
return wc;
|
||||
}
|
||||
|
||||
static void *window_capture_create(obs_data_t settings, obs_source_t source)
|
||||
static void *window_capture_create(obs_data_t *settings, obs_source_t *source)
|
||||
{
|
||||
@autoreleasepool {
|
||||
return window_capture_create_internal(settings, source);
|
||||
@@ -150,15 +150,15 @@ static void window_capture_destroy(void *data)
|
||||
bfree(cap);
|
||||
}
|
||||
|
||||
static void window_capture_defaults(obs_data_t settings)
|
||||
static void window_capture_defaults(obs_data_t *settings)
|
||||
{
|
||||
obs_data_set_default_bool(settings, "show_shadow", false);
|
||||
window_defaults(settings);
|
||||
}
|
||||
|
||||
static obs_properties_t window_capture_properties(void)
|
||||
static obs_properties_t *window_capture_properties(void)
|
||||
{
|
||||
obs_properties_t props = obs_properties_create();
|
||||
obs_properties_t *props = obs_properties_create();
|
||||
|
||||
add_window_properties(props);
|
||||
|
||||
@@ -169,7 +169,7 @@ static obs_properties_t window_capture_properties(void)
|
||||
}
|
||||
|
||||
static inline void window_capture_update_internal(struct window_capture *wc,
|
||||
obs_data_t settings)
|
||||
obs_data_t *settings)
|
||||
{
|
||||
wc->image_option = obs_data_get_bool(settings, "show_shadow") ?
|
||||
kCGWindowImageDefault : kCGWindowImageBoundsIgnoreFraming;
|
||||
@@ -177,7 +177,7 @@ static inline void window_capture_update_internal(struct window_capture *wc,
|
||||
update_window(&wc->window, settings);
|
||||
}
|
||||
|
||||
static void window_capture_update(void *data, obs_data_t settings)
|
||||
static void window_capture_update(void *data, obs_data_t *settings)
|
||||
{
|
||||
@autoreleasepool {
|
||||
return window_capture_update_internal(data, settings);
|
||||
|
@@ -17,16 +17,16 @@ typedef struct cocoa_window *cocoa_window_t;
|
||||
|
||||
NSArray *enumerate_cocoa_windows(void);
|
||||
|
||||
bool find_window(cocoa_window_t cw, obs_data_t settings, bool force);
|
||||
bool find_window(cocoa_window_t cw, obs_data_t *settings, bool force);
|
||||
|
||||
void init_window(cocoa_window_t cw, obs_data_t settings);
|
||||
void init_window(cocoa_window_t cw, obs_data_t *settings);
|
||||
|
||||
void destroy_window(cocoa_window_t cw);
|
||||
|
||||
void update_window(cocoa_window_t cw, obs_data_t settings);
|
||||
void update_window(cocoa_window_t cw, obs_data_t *settings);
|
||||
|
||||
void window_defaults(obs_data_t settings);
|
||||
void window_defaults(obs_data_t *settings);
|
||||
|
||||
void add_window_properties(obs_properties_t props);
|
||||
void add_window_properties(obs_properties_t *props);
|
||||
|
||||
void show_window_properties(obs_properties_t props, bool show);
|
||||
void show_window_properties(obs_properties_t *props, bool show);
|
||||
|
@@ -39,7 +39,7 @@ NSArray *enumerate_windows(void)
|
||||
#define WAIT_TIME_US WAIT_TIME_MS * 1000
|
||||
#define WAIT_TIME_NS WAIT_TIME_US * 1000
|
||||
|
||||
bool find_window(cocoa_window_t cw, obs_data_t settings, bool force)
|
||||
bool find_window(cocoa_window_t cw, obs_data_t *settings, bool force)
|
||||
{
|
||||
if (!force && cw->next_search_time > os_gettime_ns())
|
||||
return false;
|
||||
@@ -72,7 +72,7 @@ invalid_name:
|
||||
return false;
|
||||
}
|
||||
|
||||
void init_window(cocoa_window_t cw, obs_data_t settings)
|
||||
void init_window(cocoa_window_t cw, obs_data_t *settings)
|
||||
{
|
||||
pthread_mutex_init(&cw->name_lock, NULL);
|
||||
|
||||
@@ -90,7 +90,7 @@ void destroy_window(cocoa_window_t cw)
|
||||
[cw->window_name release];
|
||||
}
|
||||
|
||||
void update_window(cocoa_window_t cw, obs_data_t settings)
|
||||
void update_window(cocoa_window_t cw, obs_data_t *settings)
|
||||
{
|
||||
pthread_mutex_lock(&cw->name_lock);
|
||||
[cw->owner_name release];
|
||||
@@ -124,8 +124,8 @@ static inline NSDictionary *find_window_dict(NSArray *arr, int window_id)
|
||||
return nil;
|
||||
}
|
||||
|
||||
static inline bool window_changed_internal(obs_property_t p,
|
||||
obs_data_t settings)
|
||||
static inline bool window_changed_internal(obs_property_t *p,
|
||||
obs_data_t *settings)
|
||||
{
|
||||
int window_id = obs_data_get_int(settings, "window");
|
||||
NSString *window_owner = @(obs_data_get_string(settings, "owner_name"));
|
||||
@@ -187,8 +187,8 @@ static inline bool window_changed_internal(obs_property_t p,
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool window_changed(obs_properties_t props, obs_property_t p,
|
||||
obs_data_t settings)
|
||||
static bool window_changed(obs_properties_t *props, obs_property_t *p,
|
||||
obs_data_t *settings)
|
||||
{
|
||||
UNUSED_PARAMETER(props);
|
||||
|
||||
@@ -197,8 +197,8 @@ static bool window_changed(obs_properties_t props, obs_property_t p,
|
||||
}
|
||||
}
|
||||
|
||||
static bool toggle_empty_names(obs_properties_t props, obs_property_t p,
|
||||
obs_data_t settings)
|
||||
static bool toggle_empty_names(obs_properties_t *props, obs_property_t *p,
|
||||
obs_data_t *settings)
|
||||
{
|
||||
UNUSED_PARAMETER(p);
|
||||
|
||||
@@ -206,26 +206,26 @@ static bool toggle_empty_names(obs_properties_t props, obs_property_t p,
|
||||
settings);
|
||||
}
|
||||
|
||||
void window_defaults(obs_data_t settings)
|
||||
void window_defaults(obs_data_t *settings)
|
||||
{
|
||||
obs_data_set_default_int(settings, "window", kCGNullWindowID);
|
||||
obs_data_set_default_bool(settings, "show_empty_names", false);
|
||||
}
|
||||
|
||||
void add_window_properties(obs_properties_t props)
|
||||
void add_window_properties(obs_properties_t *props)
|
||||
{
|
||||
obs_property_t window_list = obs_properties_add_list(props,
|
||||
obs_property_t *window_list = obs_properties_add_list(props,
|
||||
"window", obs_module_text("WindowUtils.Window"),
|
||||
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);
|
||||
obs_property_set_modified_callback(window_list, window_changed);
|
||||
|
||||
obs_property_t empty = obs_properties_add_bool(props,
|
||||
obs_property_t *empty = obs_properties_add_bool(props,
|
||||
"show_empty_names",
|
||||
obs_module_text("WindowUtils.ShowEmptyNames"));
|
||||
obs_property_set_modified_callback(empty, toggle_empty_names);
|
||||
}
|
||||
|
||||
void show_window_properties(obs_properties_t props, bool show)
|
||||
void show_window_properties(obs_properties_t *props, bool show)
|
||||
{
|
||||
obs_property_set_visible(obs_properties_get(props, "window"), show);
|
||||
obs_property_set_visible(
|
||||
|
Reference in New Issue
Block a user