summaryrefslogtreecommitdiffstats
path: root/test/benchmark.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/benchmark.c')
-rw-r--r--test/benchmark.c35
1 files changed, 22 insertions, 13 deletions
diff --git a/test/benchmark.c b/test/benchmark.c
index 0b4f6f8..1604cdb 100644
--- a/test/benchmark.c
+++ b/test/benchmark.c
@@ -20,6 +20,7 @@
#include <string.h>
#include <stdlib.h>
#include "uca-camera.h"
+#include "uca-plugin-manager.h"
typedef void (*GrabFrameFunc) (UcaCamera *camera, gpointer buffer, guint n_frames);
@@ -37,20 +38,26 @@ sigint_handler(int signal)
static void
print_usage (void)
{
- gchar **types;
-
- g_print ("Usage: benchmark (");
- types = uca_camera_get_types ();
+ /* gchar **types; */
+ GList *types;
+ UcaPluginManager *manager;
+
+ manager = uca_plugin_manager_new ();
+ g_print ("Usage: benchmark [");
+ /* types = uca_camera_get_types (); */
+ types = uca_plugin_manager_get_available_cameras (manager);
+
+ if (g_list_length (types) == 0) {
+ g_print ("] -- no camera plugin found\n");
+ return;
+ }
- for (guint i = 0; types[i] != NULL; i++) {
- if (types[i+1] == NULL)
- g_print ("%s)", types[i]);
- else
- g_print ("%s | ", types[i]);
+ for (GList *it = g_list_first (types); it != NULL; it = g_list_next (it)) {
+ gchar *name = (gchar *) it->data;
+ g_print ("`%s' ", name);
}
- g_print ("\n");
- g_strfreev (types);
+ g_print ("]\n");
}
static void
@@ -227,10 +234,12 @@ benchmark (UcaCamera *camera)
int
main (int argc, char *argv[])
{
+ UcaPluginManager *manager;
GIOChannel *log_channel;
GError *error = NULL;
(void) signal (SIGINT, sigint_handler);
+ g_type_init();
if (argc < 2) {
print_usage();
@@ -241,8 +250,8 @@ main (int argc, char *argv[])
g_assert_no_error (error);
g_log_set_handler (NULL, G_LOG_LEVEL_MASK, log_handler, log_channel);
- g_type_init();
- camera = uca_camera_new(argv[1], &error);
+ manager = uca_plugin_manager_new ();
+ camera = uca_plugin_manager_new_camera (manager, argv[1], &error);
if (camera == NULL) {
g_error ("Initialization: %s", error->message);