mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 15:48:23 +00:00
tests/examples/playlist.c: add option to print avail. transitions/patterns.
update help strings
This commit is contained in:
parent
a5759af64b
commit
34b398970c
1 changed files with 64 additions and 3 deletions
|
@ -238,6 +238,44 @@ bus_message_cb (GstBus * bus, GstMessage * message, GMainLoop * mainloop)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
print_transition_list (void)
|
||||||
|
{
|
||||||
|
GEnumClass *smpte_class;
|
||||||
|
GESTimelineTransition *tr;
|
||||||
|
GESTimelineTransitionClass *klass;
|
||||||
|
GParamSpec *pspec;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
tr = ges_timeline_transition_new (VTYPE_CROSSFADE);
|
||||||
|
klass = GES_TIMELINE_TRANSITION_GET_CLASS (tr);
|
||||||
|
|
||||||
|
pspec = g_object_class_find_property (G_OBJECT_CLASS (klass), "vtype");
|
||||||
|
|
||||||
|
smpte_class = G_ENUM_CLASS (g_type_class_ref (pspec->value_type));
|
||||||
|
|
||||||
|
g_print ("%p %d\n", smpte_class, smpte_class->n_values);
|
||||||
|
|
||||||
|
GEnumValue *v;
|
||||||
|
|
||||||
|
for (v = smpte_class->values; v->value != 0; v++) {
|
||||||
|
g_print ("%s\n", v->value_nick);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_type_class_unref (smpte_class);
|
||||||
|
g_object_unref (tr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
print_pattern_list (void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < N_PATTERNS; i++) {
|
||||||
|
g_print ("%s\n", patterns[i].name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, gchar ** argv)
|
main (int argc, gchar ** argv)
|
||||||
{
|
{
|
||||||
|
@ -249,6 +287,8 @@ main (int argc, gchar ** argv)
|
||||||
gchar *video_restriction = "ANY";
|
gchar *video_restriction = "ANY";
|
||||||
static gboolean render = FALSE;
|
static gboolean render = FALSE;
|
||||||
static gboolean smartrender = FALSE;
|
static gboolean smartrender = FALSE;
|
||||||
|
static gboolean list_transitions = FALSE;
|
||||||
|
static gboolean list_patterns = FALSE;
|
||||||
GOptionEntry options[] = {
|
GOptionEntry options[] = {
|
||||||
{"render", 'r', 0, G_OPTION_ARG_NONE, &render,
|
{"render", 'r', 0, G_OPTION_ARG_NONE, &render,
|
||||||
"Render to outputuri", NULL},
|
"Render to outputuri", NULL},
|
||||||
|
@ -264,8 +304,12 @@ main (int argc, gchar ** argv)
|
||||||
"Audio format", "<GstCaps>"},
|
"Audio format", "<GstCaps>"},
|
||||||
{"vrestriction", 'x', 0, G_OPTION_ARG_STRING, &video_restriction,
|
{"vrestriction", 'x', 0, G_OPTION_ARG_STRING, &video_restriction,
|
||||||
"Video restriction", "<GstCaps>"},
|
"Video restriction", "<GstCaps>"},
|
||||||
{"repeat", 't', 0, G_OPTION_ARG_INT, &repeat,
|
{"repeat", 'l', 0, G_OPTION_ARG_INT, &repeat,
|
||||||
"Number of time to repeat timeline", NULL},
|
"Number of time to repeat timeline", NULL},
|
||||||
|
{"list-transitions", 't', 0, G_OPTION_ARG_NONE, &list_transitions,
|
||||||
|
"List valid transition types and exit", NULL},
|
||||||
|
{"list-patterns", 'p', 0, G_OPTION_ARG_NONE, &list_patterns,
|
||||||
|
"List patterns and exit", NULL},
|
||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
GOptionContext *ctx;
|
GOptionContext *ctx;
|
||||||
|
@ -278,9 +322,16 @@ main (int argc, gchar ** argv)
|
||||||
ctx = g_option_context_new ("- plays/render a list of files");
|
ctx = g_option_context_new ("- plays/render a list of files");
|
||||||
g_option_context_set_summary (ctx,
|
g_option_context_set_summary (ctx,
|
||||||
"If not specified, this example will playback the files\n" "\n"
|
"If not specified, this example will playback the files\n" "\n"
|
||||||
"The files should be layed out in triplets of:\n" " * filename\n"
|
"The files should be layed out in triplets of:\n"
|
||||||
|
" * filename\n"
|
||||||
" * inpoint (in seconds)\n"
|
" * inpoint (in seconds)\n"
|
||||||
" * duration (in seconds) If 0, full file length");
|
" * duration (in seconds) If 0, full file length\n\n"
|
||||||
|
"Solid patterns and transitions can be specified as follows:\n"
|
||||||
|
" * +pattern | +transition\n"
|
||||||
|
" * <type>\n"
|
||||||
|
" * duration (in seconds, must be greater than 0)\n"
|
||||||
|
"To get a list of valid transitions, use --transitions.\n"
|
||||||
|
"To get a list of valid patterns, use --patterns.\n");
|
||||||
g_option_context_add_main_entries (ctx, options, NULL);
|
g_option_context_add_main_entries (ctx, options, NULL);
|
||||||
g_option_context_add_group (ctx, gst_init_get_option_group ());
|
g_option_context_add_group (ctx, gst_init_get_option_group ());
|
||||||
|
|
||||||
|
@ -290,6 +341,16 @@ main (int argc, gchar ** argv)
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (list_transitions) {
|
||||||
|
print_transition_list ();
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (list_patterns) {
|
||||||
|
print_pattern_list ();
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
if ((argc < 4) || (outputuri && (!render && !smartrender))) {
|
if ((argc < 4) || (outputuri && (!render && !smartrender))) {
|
||||||
g_print ("outputuri:%s, render:%d, smartrender:%d, argc:%d\n",
|
g_print ("outputuri:%s, render:%d, smartrender:%d, argc:%d\n",
|
||||||
outputuri, render, smartrender, argc);
|
outputuri, render, smartrender, argc);
|
||||||
|
|
Loading…
Reference in a new issue