Player: make playerName a global config

`playerName` is used in `ffDetectMedia`, which is used in Module `media` and `player`.
This commit is contained in:
李通洲
2023-06-12 15:22:46 +08:00
parent 9b9d03947d
commit df4d6627ee
7 changed files with 26 additions and 11 deletions
+9 -3
View File
@@ -35,9 +35,11 @@ static void defaultConfig(FFinstance* instance)
ffStrbufInit(&instance->config.colorKeys);
ffStrbufInit(&instance->config.colorTitle);
ffStrbufInit(&instance->config.keyValueSeparator);
ffStrbufAppendS(&instance->config.keyValueSeparator, ": ");
ffStrbufInitS(&instance->config.keyValueSeparator, ": ");
#if defined(__linux__) || defined(__FreeBSD__)
ffStrbufInit(&instance->config.playerName);
#endif
instance->config.showErrors = false;
instance->config.recache = false;
@@ -252,6 +254,10 @@ static void destroyConfig(FFinstance* instance)
ffStrbufDestroy(&instance->config.colorKeys);
ffStrbufDestroy(&instance->config.colorTitle);
ffStrbufDestroy(&instance->config.keyValueSeparator);
#if defined(__linux__) || defined(__FreeBSD__)
ffStrbufDestroy(&instance->config.playerName);
#endif
ffDestroyTitleOptions(&instance->config.title);
ffDestroyOSOptions(&instance->config.os);
+6
View File
@@ -304,6 +304,12 @@ const char* ffParseGeneralJsonConfig(FFinstance* instance)
config->escapeBedrock = yyjson_get_bool(val);
else if (strcasecmp(key, "pipe") == 0)
config->pipe = yyjson_get_bool(val);
#if defined(__linux__) || defined(__FreeBSD__)
else if (strcasecmp(key, "playerName") == 0)
ffStrbufSetS(&config->playerName, yyjson_get_str(val));
#endif
else
return "Unknown general property";
}
+2 -2
View File
@@ -160,8 +160,8 @@ static const char* getMedia(const FFinstance* instance, FFMediaResult* result)
// FIXME: This is shared for both player and media module.
// However it uses an option in one specific module
if(instance->config.player.name.length > 0)
getCustomBus(&data, &instance->config.player.name, result);
if(instance->config.playerName.length > 0)
getCustomBus(&data, &instance->config.playerName, result);
else
getBestBus(&data, result);
+5
View File
@@ -899,6 +899,11 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
else if(strcasecmp(key, "--load-user-config") == 0)
data->loadUserConfig = optionParseBoolean(value);
#if defined(__linux__) || defined(__FreeBSD__)
else if(strcasecmp(key, "--player-name") == 0)
optionParseString(key, value, &instance->config.playerName);
#endif
////////////////
//Logo options//
////////////////
+4
View File
@@ -48,6 +48,10 @@ typedef struct FFconfig
bool multithreading;
bool stat;
#if defined(__linux__) || defined(__FreeBSD__)
FFstrbuf playerName;
#endif
FFTitleOptions title;
FFOSOptions os;
FFHostOptions host;
-2
View File
@@ -8,6 +8,4 @@ typedef struct FFPlayerOptions
{
const char* moduleName;
FFModuleArgs moduleArgs;
FFstrbuf name;
} FFPlayerOptions;
-4
View File
@@ -76,8 +76,6 @@ void ffInitPlayerOptions(FFPlayerOptions* options)
{
options->moduleName = FF_PLAYER_MODULE_NAME;
ffOptionInitModuleArg(&options->moduleArgs);
ffStrbufInit(&options->name);
}
bool ffParsePlayerCommandOptions(FFPlayerOptions* options, const char* key, const char* value)
@@ -93,8 +91,6 @@ bool ffParsePlayerCommandOptions(FFPlayerOptions* options, const char* key, cons
void ffDestroyPlayerOptions(FFPlayerOptions* options)
{
ffOptionDestroyModuleArg(&options->moduleArgs);
ffStrbufDestroy(&options->name);
}
void ffParsePlayerJsonObject(FFinstance* instance, yyjson_val* module)