From 6256b8ca2b7beb5472c7f5771b49aef4fe17379d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20K=C3=B6m=C3=BCr?= Date: Sat, 19 Dec 2020 15:14:14 +0300 Subject: [PATCH 1/2] first --- configuration.c | 1 + configuration.h | 1 + intl/msg_hash_lbl.h | 4 +++ intl/msg_hash_us.h | 11 +++++++++ menu/cbs/menu_cbs_deferred_push.c | 5 ++++ menu/cbs/menu_cbs_ok.c | 5 ++++ menu/cbs/menu_cbs_title.c | 5 ++++ menu/drivers/materialui.c | 1 + menu/menu_cbs.h | 1 + menu/menu_displaylist.c | 8 ++++++ menu/menu_displaylist.h | 1 + menu/menu_setting.c | 41 +++++++++++++++++++++++++++++++ msg_hash.h | 3 +++ record/drivers/record_ffmpeg.c | 3 ++- retroarch.c | 14 ++++++++++- retroarch.h | 1 + ui/drivers/qt/options/user.cpp | 5 ++++ 17 files changed, 108 insertions(+), 2 deletions(-) diff --git a/configuration.c b/configuration.c index d502377df6..160447bc88 100644 --- a/configuration.c +++ b/configuration.c @@ -1233,6 +1233,7 @@ static struct config_array_setting *populate_settings_array(settings_t *settings SETTING_ARRAY("midi_output", settings->arrays.midi_output, true, DEFAULT_MIDI_OUTPUT, true); SETTING_ARRAY("youtube_stream_key", settings->arrays.youtube_stream_key, true, NULL, true); SETTING_ARRAY("twitch_stream_key", settings->arrays.twitch_stream_key, true, NULL, true); + SETTING_ARRAY("facebook_stream_key", settings->arrays.facebook_stream_key, true, NULL, true); SETTING_ARRAY("discord_app_id", settings->arrays.discord_app_id, true, DEFAULT_DISCORD_APP_ID, true); SETTING_ARRAY("ai_service_url", settings->arrays.ai_service_url, true, DEFAULT_AI_SERVICE_URL, true); SETTING_ARRAY("crt_switch_timings", settings->arrays.crt_switch_timings, false, NULL, true); diff --git a/configuration.h b/configuration.h index 43bf3e6374..81f3505164 100644 --- a/configuration.h +++ b/configuration.h @@ -367,6 +367,7 @@ typedef struct settings char bundle_assets_dst_subdir[PATH_MAX_LENGTH]; char youtube_stream_key[PATH_MAX_LENGTH]; char twitch_stream_key[PATH_MAX_LENGTH]; + char facebook_stream_key[PATH_MAX_LENGTH]; char discord_app_id[PATH_MAX_LENGTH]; char ai_service_url[PATH_MAX_LENGTH]; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index cc8ebafeee..eb0b26653e 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -30,6 +30,10 @@ MSG_HASH( MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, "youtube" ) +MSG_HASH( + MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, + "facebook" + ) MSG_HASH( MENU_ENUM_LABEL_ACHIEVEMENT_LIST, "achievement_list" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 1fdd85b892..ac78097774 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -5343,6 +5343,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH, "Twitch" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK, + "Facebook Gaming" + ) /* Settings > User > Accounts > RetroAchievements */ @@ -5377,6 +5381,13 @@ MSG_HASH( "Twitch Stream Key" ) +/* Settings > User > Accounts > Facebook Gaming */ + +MSG_HASH( + MENU_ENUM_LABEL_VALUE_FACEBOOK_STREAM_KEY, + "Facebook Gaming Stream Key" + ) + /* Settings > Directory */ MSG_HASH( diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index d3d703d0d2..21d53b216a 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -229,6 +229,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_input_hotkey_binds_list, DISPLAYLIST_ GENERIC_DEFERRED_PUSH(deferred_push_accounts_cheevos_list, DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_accounts_twitch_list, DISPLAYLIST_ACCOUNTS_TWITCH_LIST) GENERIC_DEFERRED_PUSH(deferred_push_accounts_youtube_list, DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST) +GENERIC_DEFERRED_PUSH(deferred_push_accounts_facebook_list, DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST) GENERIC_DEFERRED_PUSH(deferred_push_help, DISPLAYLIST_HELP_SCREEN_LIST) GENERIC_DEFERRED_PUSH(deferred_push_rdb_entry_detail, DISPLAYLIST_DATABASE_ENTRY) GENERIC_DEFERRED_PUSH(deferred_push_rpl_entry_actions, DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS) @@ -780,6 +781,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label( {MENU_ENUM_LABEL_DEFERRED_QUICK_MENU_OVERRIDE_OPTIONS, deferred_push_quick_menu_override_options}, {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, deferred_push_accounts_youtube_list}, {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST, deferred_push_accounts_twitch_list}, + {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, deferred_push_accounts_facebook_list}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_SHADER_PRESET_SAVE_LIST, deferred_push_video_shader_preset_save}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_SHADER_PRESET_REMOVE_LIST, deferred_push_video_shader_preset_remove}, {MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME, deferred_push_dropdown_box_list_manual_content_scan_system_name}, @@ -922,6 +924,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_accounts_twitch_list); break; + case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_accounts_facebook_list); + break; case MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION_DETECT_CORE: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_archive_action_detect_core); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 29964771c2..bfdea2fed9 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -424,6 +424,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl) return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST; case ACTION_OK_DL_ACCOUNTS_TWITCH_LIST: return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST; + case ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST: + return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST; case ACTION_OK_DL_DUMP_DISC_LIST: return MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST; case ACTION_OK_DL_LOAD_DISC_LIST: @@ -1307,6 +1309,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST: case ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST: case ACTION_OK_DL_ACCOUNTS_TWITCH_LIST: + case ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST: case ACTION_OK_DL_PLAYLIST_COLLECTION: case ACTION_OK_DL_FAVORITES_LIST: case ACTION_OK_DL_BROWSE_URL_LIST: @@ -5376,6 +5379,7 @@ DEFAULT_ACTION_OK_FUNC(action_ok_push_user_binds_list, ACTION_OK_DL_USER_BINDS_L DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_cheevos_list, ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_youtube_list, ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_twitch_list, ACTION_OK_DL_ACCOUNTS_TWITCH_LIST) +DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_facebook_list, ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_dump_disc_list, ACTION_OK_DL_DUMP_DISC_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_load_disc_list, ACTION_OK_DL_LOAD_DISC_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_open_archive, ACTION_OK_DL_OPEN_ARCHIVE) @@ -7425,6 +7429,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS, action_ok_push_accounts_cheevos_list}, {MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, action_ok_push_accounts_youtube_list}, {MENU_ENUM_LABEL_ACCOUNTS_TWITCH, action_ok_push_accounts_twitch_list}, + {MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, action_ok_push_accounts_facebook_list}, {MENU_ENUM_LABEL_DUMP_DISC, action_ok_push_dump_disc_list}, {MENU_ENUM_LABEL_LOAD_DISC, action_ok_push_load_disc_list}, {MENU_ENUM_LABEL_SHADER_OPTIONS, action_ok_push_default}, diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index b857c6152f..4787b34b54 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -502,6 +502,7 @@ DEFAULT_TITLE_MACRO(action_get_quick_menu_override_options, MENU_ENUM_LABEL_ DEFAULT_TITLE_MACRO(action_get_user_accounts_cheevos_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS) DEFAULT_TITLE_MACRO(action_get_user_accounts_youtube_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE) DEFAULT_TITLE_MACRO(action_get_user_accounts_twitch_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH) +DEFAULT_TITLE_MACRO(action_get_user_accounts_facebook_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK) DEFAULT_TITLE_MACRO(action_get_download_core_content_list, MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT) DEFAULT_TITLE_MACRO(action_get_user_accounts_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_LIST) DEFAULT_TITLE_MACRO(action_get_core_list, MENU_ENUM_LABEL_VALUE_CORE_LIST) @@ -921,6 +922,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, action_get_crt_switchres_settings_list}, {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST, action_get_user_accounts_twitch_list}, {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, action_get_user_accounts_youtube_list}, + {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, action_get_user_accounts_facebook_list}, {MENU_ENUM_LABEL_ONLINE_UPDATER, action_get_online_updater_list}, {MENU_ENUM_LABEL_DEFERRED_RECORDING_SETTINGS_LIST, action_get_recording_settings_list}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST, action_get_video_scaling_settings_list}, @@ -1466,6 +1468,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_user_accounts_youtube_list); break; + case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST: + BIND_ACTION_GET_TITLE(cbs, action_get_user_accounts_facebook_list); + break; case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_LIST: case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_SUBDIR_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_download_core_content_list); diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index fd7d51ff17..ce3210d565 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -10137,6 +10137,7 @@ static void materialui_list_insert( string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_TWITCH)) || + string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_BLUETOOTH_SETTINGS)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_WIFI_SETTINGS)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_SETTINGS)) || diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index 6b33dc29ae..3e77010377 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -124,6 +124,7 @@ enum ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST, ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST, ACTION_OK_DL_ACCOUNTS_TWITCH_LIST, + ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST, ACTION_OK_DL_USER_BINDS_LIST, ACTION_OK_DL_CONTENT_LIST, ACTION_OK_DL_REMAP_FILE, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 705209469c..7e73738dc2 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -7156,6 +7156,12 @@ unsigned menu_displaylist_build_list( PARSE_ONLY_STRING, false) == 0) count++; break; + case DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST: + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, + MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY, + PARSE_ONLY_STRING, false) == 0) + count++; + break; case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST: { settings_t *settings = config_get_ptr(); @@ -7606,6 +7612,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS, PARSE_ACTION}, {MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, PARSE_ACTION}, {MENU_ENUM_LABEL_ACCOUNTS_TWITCH, PARSE_ACTION}, + {MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, PARSE_ACTION}, }; for (i = 0; i < ARRAY_SIZE(build_list); i++) @@ -11068,6 +11075,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_ACCOUNTS_TWITCH_LIST: case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST: case DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST: + case DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST: case DISPLAYLIST_RECORDING_SETTINGS_LIST: case DISPLAYLIST_CHEAT_DETAILS_SETTINGS_LIST: case DISPLAYLIST_CHEAT_SEARCH_SETTINGS_LIST: diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 97825a4818..a937faf802 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -207,6 +207,7 @@ enum menu_displaylist_ctl_state DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST, DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST, DISPLAYLIST_ACCOUNTS_TWITCH_LIST, + DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST, DISPLAYLIST_BROWSE_URL_LIST, DISPLAYLIST_BROWSE_URL_START, DISPLAYLIST_LOAD_CONTENT_LIST, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index f45cb52d5b..a081c3e8a4 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -296,6 +296,7 @@ enum settings_list_type SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS, SETTINGS_LIST_USER_ACCOUNTS_YOUTUBE, SETTINGS_LIST_USER_ACCOUNTS_TWITCH, + SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK, SETTINGS_LIST_DIRECTORY, SETTINGS_LIST_PRIVACY, SETTINGS_LIST_MIDI, @@ -2855,6 +2856,9 @@ static void setting_get_string_representation_streaming_mode( case STREAMING_MODE_YOUTUBE: strcpy_literal(s, "YouTube"); break; + case STREAMING_MODE_FACEBOOK: + strcpy_literal(s, "Facebook Gaming"); + break; case STREAMING_MODE_LOCAL: strlcpy(s, "Local", len); break; @@ -18132,6 +18136,14 @@ static bool setting_append_list( &group_info, &subgroup_info, parent_group); + + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, + MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK, + &group_info, + &subgroup_info, + parent_group); #endif END_SUB_GROUP(list, list_info, parent_group); @@ -18193,6 +18205,34 @@ static bool setting_append_list( END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); break; + case SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK: + START_GROUP(list, list_info, &group_info, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK), + parent_group); + + parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS); + + START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group); + + CONFIG_STRING( + list, list_info, + settings->arrays.facebook_stream_key, + sizeof(settings->arrays.facebook_stream_key), + MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY, + MENU_ENUM_LABEL_VALUE_FACEBOOK_STREAM_KEY, + "", + &group_info, + &subgroup_info, + parent_group, + update_streaming_url_write_handler, + general_read_handler); + SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ALLOW_INPUT); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_STRING_LINE_EDIT; + (*list)[list_info->index - 1].action_start = setting_generic_action_start_default; + + END_SUB_GROUP(list, list_info, parent_group); + END_GROUP(list, list_info, parent_group); + break; case SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS: START_GROUP(list, list_info, &group_info, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_CHEEVOS_SETTINGS), @@ -19072,6 +19112,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS, SETTINGS_LIST_USER_ACCOUNTS_YOUTUBE, SETTINGS_LIST_USER_ACCOUNTS_TWITCH, + SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK, SETTINGS_LIST_DIRECTORY, SETTINGS_LIST_PRIVACY, SETTINGS_LIST_MIDI, diff --git a/msg_hash.h b/msg_hash.h index 73b7952459..6a3797038c 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -501,6 +501,7 @@ enum msg_hash_enums MENU_LABEL(ADD_TO_MIXER_AND_COLLECTION_AND_PLAY), MENU_LABEL(TWITCH_STREAM_KEY), MENU_LABEL(YOUTUBE_STREAM_KEY), + MENU_LABEL(FACEBOOK_STREAM_KEY), MENU_ENUM_LABEL_MENU_TOGGLE, MENU_LABEL(FILTER_BY_CURRENT_CORE), @@ -1362,6 +1363,7 @@ enum msg_hash_enums MENU_LABEL(ACCOUNTS_RETRO_ACHIEVEMENTS), MENU_LABEL(ACCOUNTS_TWITCH), MENU_LABEL(ACCOUNTS_YOUTUBE), + MENU_LABEL(ACCOUNTS_FACEBOOK), MENU_LABEL(ACCOUNTS_LIST), @@ -1520,6 +1522,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST, MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST, MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, + MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST, MENU_ENUM_LABEL_DEFERRED_INFORMATION, MENU_ENUM_LABEL_DEFERRED_MANUAL_CONTENT_SCAN_LIST, diff --git a/record/drivers/record_ffmpeg.c b/record/drivers/record_ffmpeg.c index 2b6858d8ee..20ba3ba731 100644 --- a/record/drivers/record_ffmpeg.c +++ b/record/drivers/record_ffmpeg.c @@ -760,7 +760,8 @@ static bool ffmpeg_init_config_common(struct ff_config_param *params, else params->scale_factor = 1; if ( streaming_mode == STREAMING_MODE_YOUTUBE || - streaming_mode == STREAMING_MODE_TWITCH) + streaming_mode == STREAMING_MODE_TWITCH || + streaming_mode == STREAMING_MODE_FACEBOOK) strlcpy(params->format, "flv", sizeof(params->format)); else strlcpy(params->format, "mpegts", sizeof(params->format)); diff --git a/retroarch.c b/retroarch.c index 57f0cdd267..bdb37bb5a0 100644 --- a/retroarch.c +++ b/retroarch.c @@ -19799,6 +19799,7 @@ void recording_driver_update_streaming_url(void) settings_t *settings = p_rarch->configuration_settings; const char *youtube_url = "rtmp://a.rtmp.youtube.com/live2/"; const char *twitch_url = "rtmp://live.twitch.tv/app/"; + const char *facebook_url = "rtmps://live-api-s.facebook.com:443/rtmp/"; if (!settings) return; @@ -19826,7 +19827,7 @@ void recording_driver_update_streaming_url(void) settings->arrays.youtube_stream_key, sizeof(settings->paths.path_stream_url)); } - break; + break; case STREAMING_MODE_LOCAL: /* TODO: figure out default interface and bind to that instead */ snprintf(settings->paths.path_stream_url, sizeof(settings->paths.path_stream_url), @@ -19836,6 +19837,17 @@ void recording_driver_update_streaming_url(void) default: /* Do nothing, let the user input the URL */ break; + case STREAMING_MODE_FACEBOOK: + if (!string_is_empty(settings->arrays.facebook_stream_key)) + { + strlcpy(settings->paths.path_stream_url, + facebook_url, + sizeof(settings->paths.path_stream_url)); + strlcat(settings->paths.path_stream_url, + settings->arrays.facebook_stream_key, + sizeof(settings->paths.path_stream_url)); + } + break; } } diff --git a/retroarch.h b/retroarch.h index b66f714f2f..cb9ee79d23 100644 --- a/retroarch.h +++ b/retroarch.h @@ -627,6 +627,7 @@ enum streaming_mode { STREAMING_MODE_TWITCH = 0, STREAMING_MODE_YOUTUBE, + STREAMING_MODE_FACEBOOK, STREAMING_MODE_LOCAL, STREAMING_MODE_CUSTOM }; diff --git a/ui/drivers/qt/options/user.cpp b/ui/drivers/qt/options/user.cpp index 4178d4deda..6384493dbc 100644 --- a/ui/drivers/qt/options/user.cpp +++ b/ui/drivers/qt/options/user.cpp @@ -47,6 +47,7 @@ QWidget *AccountsPage::widget() QVBoxLayout *layout = new QVBoxLayout; SettingsGroup *youtubeGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE)); SettingsGroup *twitchGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH)); + SettingsGroup *facebookGamingGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK_GAMING)); #ifdef HAVE_CHEEVOS SettingsGroup *cheevosGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS)); @@ -64,6 +65,10 @@ QWidget *AccountsPage::widget() layout->addWidget(twitchGroup); + facebookGroup->add(MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY); + + layout->addWidget(facebookGroup); + layout->addStretch(); widget->setLayout(layout); From 9fceafdcc00ebf73ed079e4230a244c7debb62b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20K=C3=B6m=C3=BCr?= Date: Mon, 28 Dec 2020 16:20:40 +0300 Subject: [PATCH 2/2] fb-fix --- intl/msg_hash_lbl.h | 8 ++++++++ menu/cbs/menu_cbs_deferred_push.c | 2 +- retroarch.c | 2 +- ui/drivers/qt/options/user.cpp | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index eb0b26653e..0cf8fa4f5f 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -748,6 +748,10 @@ MSG_HASH( MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, "deferred_accounts_youtube_list" ) +MSG_HASH( + MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, + "deferred_accounts_facebook_list" + ) MSG_HASH( MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST, "deferred_accounts_list" @@ -4370,6 +4374,10 @@ MSG_HASH( MENU_ENUM_LABEL_YOUTUBE_STREAM_KEY, "youtube_stream_key" ) +MSG_HASH( + MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY, + "facebook_stream_key" + ) MSG_HASH( MENU_ENUM_LABEL_STREAMING_MODE, "streaming_mode" diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 21d53b216a..2b30b63102 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -229,7 +229,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_input_hotkey_binds_list, DISPLAYLIST_ GENERIC_DEFERRED_PUSH(deferred_push_accounts_cheevos_list, DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_accounts_twitch_list, DISPLAYLIST_ACCOUNTS_TWITCH_LIST) GENERIC_DEFERRED_PUSH(deferred_push_accounts_youtube_list, DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST) -GENERIC_DEFERRED_PUSH(deferred_push_accounts_facebook_list, DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST) +GENERIC_DEFERRED_PUSH(deferred_push_accounts_facebook_list, DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST) GENERIC_DEFERRED_PUSH(deferred_push_help, DISPLAYLIST_HELP_SCREEN_LIST) GENERIC_DEFERRED_PUSH(deferred_push_rdb_entry_detail, DISPLAYLIST_DATABASE_ENTRY) GENERIC_DEFERRED_PUSH(deferred_push_rpl_entry_actions, DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS) diff --git a/retroarch.c b/retroarch.c index bdb37bb5a0..0fecf0765b 100644 --- a/retroarch.c +++ b/retroarch.c @@ -19827,7 +19827,7 @@ void recording_driver_update_streaming_url(void) settings->arrays.youtube_stream_key, sizeof(settings->paths.path_stream_url)); } - break; + break; case STREAMING_MODE_LOCAL: /* TODO: figure out default interface and bind to that instead */ snprintf(settings->paths.path_stream_url, sizeof(settings->paths.path_stream_url), diff --git a/ui/drivers/qt/options/user.cpp b/ui/drivers/qt/options/user.cpp index 6384493dbc..6c9e72efe4 100644 --- a/ui/drivers/qt/options/user.cpp +++ b/ui/drivers/qt/options/user.cpp @@ -47,7 +47,7 @@ QWidget *AccountsPage::widget() QVBoxLayout *layout = new QVBoxLayout; SettingsGroup *youtubeGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE)); SettingsGroup *twitchGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH)); - SettingsGroup *facebookGamingGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK_GAMING)); + SettingsGroup *facebookGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK)); #ifdef HAVE_CHEEVOS SettingsGroup *cheevosGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS));