goto error; \
}
-gchar *custom_dir;
+const gulong MSEC_PER_USEC = 1000;
+const gulong DEFAULT_JITTER = 0UL;
+gchar *custom_dir = NULL;
+gulong jitter = DEFAULT_JITTER;
/**
* @brief Current status.
/** GstBaseSink:max-lateness -1 (unlimited time) */
g_object_get (g_test_data.sink, "max-lateness", &lateness, NULL);
EXPECT_EQ (lateness, -1);
-
lateness = 30 * GST_MSECOND;
g_object_set (g_test_data.sink, "max-lateness", lateness, NULL);
g_object_get (g_test_data.sink, "max-lateness", &res_lateness, NULL);
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check error message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
gst_element_set_state (g_test_data.pipeline, GST_STATE_PLAYING);
g_main_loop_run (g_test_data.loop);
+ g_usleep (jitter);
gst_element_set_state (g_test_data.pipeline, GST_STATE_NULL);
/** check eos message */
int
main (int argc, char **argv)
{
+ gchar *jitter_cmd_arg = NULL;
+ const GOptionEntry main_entries[] = {
+ {"customdir", 'd', G_OPTION_FLAG_NONE, G_OPTION_ARG_STRING, &custom_dir,
+ "A directory containing custom sub-plugins to use this test",
+ "build/nnstreamer_example/custom_example_passthrough"},
+ {"jitter", 'j', G_OPTION_FLAG_NONE, G_OPTION_ARG_STRING, &jitter_cmd_arg,
+ "Jitter in ms between starting and stopping test pipelines",
+ "0 (default)"},
+ {NULL}
+ };
+ GError *error = NULL;
+ GOptionContext *optionctx;
testing::InitGoogleTest (&argc, argv);
- int optind;
- for(optind = 1; optind < argc && argv[optind][0] == '-'; optind++){
- switch(argv[optind][1]){
- case 'd': custom_dir=g_strdup(argv[optind+1]); break;
- default:
- break;
- }
+
+ optionctx = g_option_context_new (NULL);
+ g_option_context_add_main_entries (optionctx, main_entries, NULL);
+
+ if (!g_option_context_parse (optionctx, &argc, &argv, &error)) {
+ g_print ("option parsing failed: %s\n", error->message);
+ }
+
+ if (jitter_cmd_arg != NULL) {
+ jitter = (gulong) g_ascii_strtoull (jitter_cmd_arg, NULL, 10) *
+ MSEC_PER_USEC;
}
gst_init (&argc, &argv);