⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controller.c

📁 gnash 在pc和嵌入式下开发需要的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  /* set amplitude and offset values */  g_value_init (&amp, G_TYPE_ULONG);  g_value_init (&off, G_TYPE_ULONG);  g_value_set_ulong (&amp, 100);  g_value_set_ulong (&off, 100);  /* set waveform mode */  g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SINE,      "frequency", 1.0, "timeshift", 250 * GST_MSECOND,      "amplitude", &amp, "offset", &off, NULL);  g_object_unref (G_OBJECT (csource));/* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 2000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  GST_INFO ("controller->ref_count=%d", G_OBJECT (ctrl)->ref_count);  g_object_unref (ctrl);  gst_object_unref (elem);}GST_END_TEST;/* test lfo control source with square waveform */GST_START_TEST (controller_lfo_square){  GstController *ctrl;  GstLFOControlSource *csource;  GstElement *elem;  GValue amp = { 0, }  , off = {  0,};  gst_controller_init (NULL, NULL);  elem = gst_element_factory_make ("testmonosource", "test_source");  /* that property should exist and should be controllable */  ctrl = gst_controller_new (G_OBJECT (elem), "ulong", NULL);  fail_unless (ctrl != NULL, NULL);  /* Get interpolation control source */  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  /* set amplitude and offset values */  g_value_init (&amp, G_TYPE_ULONG);  g_value_init (&off, G_TYPE_ULONG);  g_value_set_ulong (&amp, 100);  g_value_set_ulong (&off, 100);  /* set waveform mode */  g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SQUARE,      "frequency", 1.0, "timeshift", (GstClockTime) 0,      "amplitude", &amp, "offset", &off, NULL);  g_object_unref (G_OBJECT (csource));  /* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 2000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  GST_INFO ("controller->ref_count=%d", G_OBJECT (ctrl)->ref_count);  g_object_unref (ctrl);  gst_object_unref (elem);}GST_END_TEST;/* test lfo control source with saw waveform */GST_START_TEST (controller_lfo_saw){  GstController *ctrl;  GstLFOControlSource *csource;  GstElement *elem;  GValue amp = { 0, }  , off = {  0,};  gst_controller_init (NULL, NULL);  elem = gst_element_factory_make ("testmonosource", "test_source");  /* that property should exist and should be controllable */  ctrl = gst_controller_new (G_OBJECT (elem), "ulong", NULL);  fail_unless (ctrl != NULL, NULL);  /* Get interpolation control source */  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  /* set amplitude and offset values */  g_value_init (&amp, G_TYPE_ULONG);  g_value_init (&off, G_TYPE_ULONG);  g_value_set_ulong (&amp, 100);  g_value_set_ulong (&off, 100);  /* set waveform mode */  g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SAW,      "frequency", 1.0, "timeshift", (GstClockTime) 0,      "amplitude", &amp, "offset", &off, NULL);  g_object_unref (G_OBJECT (csource));  /* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  gst_controller_sync_values (ctrl, 2000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  GST_INFO ("controller->ref_count=%d", G_OBJECT (ctrl)->ref_count);  g_object_unref (ctrl);  gst_object_unref (elem);}GST_END_TEST;/* test lfo control source with reverse saw waveform */GST_START_TEST (controller_lfo_rsaw){  GstController *ctrl;  GstLFOControlSource *csource;  GstElement *elem;  GValue amp = { 0, }  , off = {  0,};  gst_controller_init (NULL, NULL);  elem = gst_element_factory_make ("testmonosource", "test_source");  /* that property should exist and should be controllable */  ctrl = gst_controller_new (G_OBJECT (elem), "ulong", NULL);  fail_unless (ctrl != NULL, NULL);  /* Get interpolation control source */  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  /* set amplitude and offset values */  g_value_init (&amp, G_TYPE_ULONG);  g_value_init (&off, G_TYPE_ULONG);  g_value_set_ulong (&amp, 100);  g_value_set_ulong (&off, 100);  /* set waveform mode */  g_object_set (csource, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW,      "frequency", 1.0, "timeshift", (GstClockTime) 0,      "amplitude", &amp, "offset", &off, NULL);  g_object_unref (G_OBJECT (csource));  /* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  gst_controller_sync_values (ctrl, 2000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 50);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 150);;  GST_INFO ("controller->ref_count=%d", G_OBJECT (ctrl)->ref_count);  g_object_unref (ctrl);  gst_object_unref (elem);}GST_END_TEST;/* test lfo control source with saw waveform */GST_START_TEST (controller_lfo_triangle){  GstController *ctrl;  GstLFOControlSource *csource;  GstElement *elem;  GValue amp = { 0, }  , off = {  0,};  gst_controller_init (NULL, NULL);  elem = gst_element_factory_make ("testmonosource", "test_source");  /* that property should exist and should be controllable */  ctrl = gst_controller_new (G_OBJECT (elem), "ulong", NULL);  fail_unless (ctrl != NULL, NULL);  /* Get interpolation control source */  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  /* set amplitude and offset values */  g_value_init (&amp, G_TYPE_ULONG);  g_value_init (&off, G_TYPE_ULONG);  g_value_set_ulong (&amp, 100);  g_value_set_ulong (&off, 100);  /* set waveform mode */  g_object_set (csource, "waveform", GST_LFO_WAVEFORM_TRIANGLE,      "frequency", 1.0, "timeshift", (GstClockTime) 0,      "amplitude", &amp, "offset", &off, NULL);  g_object_unref (G_OBJECT (csource));  /* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 2000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 200);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 100);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  GST_INFO ("controller->ref_count=%d", G_OBJECT (ctrl)->ref_count);  g_object_unref (ctrl);  gst_object_unref (elem);}GST_END_TEST;/* test lfo control source with nothing set */GST_START_TEST (controller_lfo_none){  GstController *ctrl;  GstLFOControlSource *csource;  GstElement *elem;  gst_controller_init (NULL, NULL);  elem = gst_element_factory_make ("testmonosource", "test_source");  /* that property should exist and should be controllable */  ctrl = gst_controller_new (G_OBJECT (elem), "ulong", NULL);  fail_unless (ctrl != NULL, NULL);  /* Get interpolation control source */  csource = gst_lfo_control_source_new ();  fail_unless (csource != NULL);  fail_unless (gst_controller_set_control_source (ctrl, "ulong",          GST_CONTROL_SOURCE (csource)));  g_object_unref (G_OBJECT (csource));  /* now pull in values for some timestamps */  gst_controller_sync_values (ctrl, 0 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 750 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1000 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1250 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1500 * GST_MSECOND);  fail_unless_equals_int (GST_TEST_MONO_SOURCE (elem)->val_ulong, 0);;  gst_controller_sync_values (ctrl, 1750 * GST_MSECOND);  fail_unless_equals_int 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -