mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
launch: Make command line provided sinks override scenario defined ones
This commit is contained in:
parent
ed2c7006c5
commit
329cbbcba7
1 changed files with 22 additions and 6 deletions
|
@ -736,13 +736,15 @@ ges_launcher_parse_options (GESLauncher * self,
|
|||
GError *err = NULL;
|
||||
gboolean owns_ctx = ctx == NULL;
|
||||
GESLauncherParsedOptions *opts = &self->priv->parsed_options;
|
||||
gchar *prev_videosink = opts->videosink, *prev_audiosink = opts->audiosink;
|
||||
GOptionEntry options[] = {
|
||||
{"disable-mixing", 0, 0, G_OPTION_ARG_NONE, &opts->disable_mixing,
|
||||
"Do not use mixing elements to mix layers together.", NULL}
|
||||
,
|
||||
{"track-types", 't', 0, G_OPTION_ARG_CALLBACK, &_parse_track_type,
|
||||
"Specify the track types to be created. "
|
||||
"When loading a project, only relevant tracks will be added to the timeline.",
|
||||
"When loading a project, only relevant tracks will be added to the "
|
||||
"timeline.",
|
||||
"<track-types>"}
|
||||
,
|
||||
{
|
||||
|
@ -766,10 +768,12 @@ ges_launcher_parse_options (GESLauncher * self,
|
|||
#ifdef HAVE_GST_VALIDATE
|
||||
{"set-scenario", 0, 0, G_OPTION_ARG_STRING, &opts->scenario,
|
||||
"ges-launch-1.0 exposes gst-validate functionalities, such as scenarios."
|
||||
" Scenarios describe actions to execute, such as seeks or setting of properties. "
|
||||
"GES implements editing-specific actions such as adding or removing clips. "
|
||||
"See gst-validate-1.0 --help for more info about validate and scenarios, "
|
||||
"and --inspect-action-type.",
|
||||
" Scenarios describe actions to execute, such as seeks or setting of "
|
||||
"properties. "
|
||||
"GES implements editing-specific actions such as adding or removing "
|
||||
"clips. "
|
||||
"See gst-validate-1.0 --help for more info about validate and "
|
||||
"scenarios, " "and --inspect-action-type.",
|
||||
"<scenario_name>"}
|
||||
,
|
||||
#endif
|
||||
|
@ -785,8 +789,10 @@ ges_launcher_parse_options (GESLauncher * self,
|
|||
{NULL}
|
||||
};
|
||||
|
||||
if (!ctx)
|
||||
if (owns_ctx) {
|
||||
opts->videosink = opts->audiosink = NULL;
|
||||
ctx = g_option_context_new ("- plays or renders a timeline.");
|
||||
}
|
||||
tmpargc = argc ? *argc : g_strv_length (*arguments);
|
||||
|
||||
if (tmpargc > 2) {
|
||||
|
@ -827,6 +833,16 @@ ges_launcher_parse_options (GESLauncher * self,
|
|||
|
||||
if (owns_ctx) {
|
||||
g_option_context_free (ctx);
|
||||
/* sinks passed in the command line are preferred. */
|
||||
if (prev_videosink) {
|
||||
g_free (opts->videosink);
|
||||
opts->videosink = prev_videosink;
|
||||
}
|
||||
|
||||
if (prev_audiosink) {
|
||||
g_free (opts->audiosink);
|
||||
opts->audiosink = prev_audiosink;
|
||||
}
|
||||
_set_playback_details (self);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue