From 5a4a9befd2792be94070d87f64dd979e91fd70ea Mon Sep 17 00:00:00 2001 From: jp9000 Date: Tue, 10 Feb 2015 19:27:37 -0800 Subject: [PATCH] rtmp-services: Add encoder settings callback Swaps out the old initialize callback code that applied encoder settings to the new apply_encoder_settings callback --- plugins/rtmp-services/rtmp-common.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/plugins/rtmp-services/rtmp-common.c b/plugins/rtmp-services/rtmp-common.c index ac7ec3b03..ec5898245 100644 --- a/plugins/rtmp-services/rtmp-common.c +++ b/plugins/rtmp-services/rtmp-common.c @@ -277,11 +277,9 @@ static void apply_audio_encoder_settings(obs_encoder_t *encoder, obs_data_release(settings); } -static void initialize_output(struct rtmp_common *service, obs_output_t *output, - json_t *root) +static void initialize_output(struct rtmp_common *service, json_t *root, + obs_encoder_t *video_encoder, obs_encoder_t *audio_encoder) { - obs_encoder_t *video_encoder = obs_output_get_video_encoder(output); - obs_encoder_t *audio_encoder = obs_output_get_audio_encoder(output, 0); json_t *json_service = find_service(root, service->service); json_t *recommended; @@ -302,7 +300,8 @@ static void initialize_output(struct rtmp_common *service, obs_output_t *output, apply_audio_encoder_settings(audio_encoder, recommended); } -static bool rtmp_common_initialize(void *data, obs_output_t *output) +static void rtmp_common_apply_settings(void *data, + obs_encoder_t *video_encoder, obs_encoder_t *audio_encoder) { struct rtmp_common *service = data; char *file; @@ -311,13 +310,12 @@ static bool rtmp_common_initialize(void *data, obs_output_t *output) if (file) { json_t *root = open_json_file(file); if (root) { - initialize_output(service, output, root); + initialize_output(service, root, video_encoder, + audio_encoder); json_decref(root); } bfree(file); } - - return true; } static const char *rtmp_common_url(void *data) @@ -338,8 +336,8 @@ struct obs_service_info rtmp_common_service = { .create = rtmp_common_create, .destroy = rtmp_common_destroy, .update = rtmp_common_update, - .initialize = rtmp_common_initialize, .get_properties = rtmp_common_properties, .get_url = rtmp_common_url, - .get_key = rtmp_common_key + .get_key = rtmp_common_key, + .apply_encoder_settings = rtmp_common_apply_settings, };