summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-04-02 12:48:50 +0100
committerSebastian Dröge <sebastian@centricular.com>2018-08-08 12:07:01 +0200
commitbd11da06d9d39627d6a7bc00031fa919658679b2 (patch)
treea9191b2000280236047fba237ea55df3acecf330
parent5ebb41bbb80b2a2375d709bcc74ffa9885081d0a (diff)
downloadgstreamer-plugins-good-bd11da06d9d39627d6a7bc00031fa919658679b2.tar.gz
tests: remove broken and now pointless v4l2src-test
This tests APIs that don't exist any longer and also doesn't work at all, and was last touched in a meaningful way in 2006.
-rw-r--r--tests/icles/Makefile.am9
-rw-r--r--tests/icles/meson.build4
-rw-r--r--tests/icles/v4l2src-test.c514
3 files changed, 1 insertions, 526 deletions
diff --git a/tests/icles/Makefile.am b/tests/icles/Makefile.am
index 5afe84101..bec46faa0 100644
--- a/tests/icles/Makefile.am
+++ b/tests/icles/Makefile.am
@@ -14,13 +14,6 @@ else
GTK_TESTS =
endif
-V4L2_TESTS = v4l2src-test
-
-v4l2src_test_SOURCES = v4l2src-test.c
-v4l2src_test_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-v4l2src_test_LDADD = $(GST_PLUGINS_BASE_LIBS) \
- -lgstvideo-$(GST_API_VERSION)
-
if USE_OSS4
OSS4_TESTS=test-oss4
@@ -68,7 +61,7 @@ videocrop2_test_SOURCES = videocrop2-test.c
videocrop2_test_CFLAGS = $(GST_CFLAGS)
videocrop2_test_LDADD = $(GST_LIBS)
-noinst_PROGRAMS = $(GTK_TESTS) $(OSS4_TESTS) $(V4L2_TESTS) $(X_TESTS) \
+noinst_PROGRAMS = $(GTK_TESTS) $(OSS4_TESTS) $(X_TESTS) \
equalizer-test \
test-accurate-seek \
test-segment-seeks \
diff --git a/tests/icles/meson.build b/tests/icles/meson.build
index 0769706cc..ec2aa958c 100644
--- a/tests/icles/meson.build
+++ b/tests/icles/meson.build
@@ -15,10 +15,6 @@ if gtk_dep.found()
]
endif
-if cdata.has('HAVE_GST_V4L2')
- tests += [['v4l2src-test', gstvideo_dep]]
-endif
-
if get_variable('have_oss4', false)
tests += [['test-oss4']]
endif
diff --git a/tests/icles/v4l2src-test.c b/tests/icles/v4l2src-test.c
deleted file mode 100644
index 2162e5c57..000000000
--- a/tests/icles/v4l2src-test.c
+++ /dev/null
@@ -1,514 +0,0 @@
-/* GStreamer
- *
- * Copyright (C) 2006 Edgard Lima <edgard dot lima at indt dot org dot br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <getopt.h>
-
-#include <gst/gst.h>
-#include <gst/video/colorbalance.h>
-#include <gst/video/videoorientation.h>
-
-GstElement *pipeline, *source, *sink;
-GMainLoop *loop;
-volatile int exit_read = 0;
-
-static void
-print_options (void)
-{
- printf ("\nf - to change the fequency\n");
- printf ("i - to change the input\n");
- printf ("n - to change the norm\n");
- printf ("c - list color balance\n");
- printf ("v - change video orientarion\n");
- printf ("e - to exit\n");
-}
-
-static void
-run_options (char opt)
-{
- int res;
-
- switch (opt) {
-#if 0
- case 'f':
- {
- GstTuner *tuner = GST_TUNER (source);
- GstTunerChannel *channel;
- guint freq;
-
- channel = gst_tuner_get_channel (tuner);
-
- freq = gst_tuner_get_frequency (tuner, channel);
-
- printf ("\ntype the new frequency (current = %u) (-1 to cancel): ", freq);
- res = scanf ("%u", &freq);
- if (res != 1 || freq != -1)
- gst_tuner_set_frequency (tuner, channel, freq);
- }
- break;
- case 'n':
- {
- GstTuner *tuner = GST_TUNER (source);
- const GList *item, *list;
- const GstTunerNorm *current_norm;
- GstTunerNorm *norm = NULL;
- gint index, next_norm;
-
-
- list = gst_tuner_list_norms (tuner);
-
- current_norm = gst_tuner_get_norm (tuner);
-
- printf ("\nlist of norms:\n");
- for (item = list, index = 0; item != NULL; item = item->next, ++index) {
- norm = item->data;
- if (current_norm == norm) {
- printf (" * %u - %s\n", index, norm->label);
- } else {
- printf (" %u - %s\n", index, norm->label);
- }
- }
- printf ("\ntype the number of norm you want (-1 to cancel): ");
- res = scanf ("%d", &next_norm);
- if (res != 1 || next_norm < 0) {
- break;
- }
- if (index <= next_norm) {
- printf ("Norm %d not available\n", next_norm);
- break;
- }
- for (item = list, index = 0; item != NULL && index <= next_norm;
- item = item->next, ++index) {
- norm = item->data;
- }
- if (norm)
- gst_tuner_set_norm (tuner, norm);
- }
- break;
- case 'i':
- {
- GstTuner *tuner = GST_TUNER (source);
- const GList *item, *list;
- const GstTunerChannel *current_channel;
- GstTunerChannel *channel = NULL;
- gint index, next_channel;
-
-
- list = gst_tuner_list_channels (tuner);
-
- current_channel = gst_tuner_get_channel (tuner);
-
- printf ("\nlist of inputs:\n");
- for (item = list, index = 0; item != NULL; item = item->next, ++index) {
- channel = item->data;
- if (current_channel == channel) {
- printf (" * %u - %s\n", index, channel->label);
- } else {
- printf (" %u - %s\n", index, channel->label);
- }
- }
- printf ("\ntype the number of input you want (-1 to cancel): ");
- res = scanf ("%d", &next_channel);
- if (res != 1 || next_channel < 0) {
- break;
- }
- if (index <= next_channel) {
- printf ("Input %d not available\n", next_channel);
- break;
- }
- for (item = list, index = 0; item != NULL && index <= next_channel;
- item = item->next, ++index) {
- channel = item->data;
- }
- if (channel)
- gst_tuner_set_channel (tuner, channel);
- }
- break;
-#endif
- case 'e':
- gst_element_set_state (pipeline, GST_STATE_NULL);
- g_main_loop_quit (loop);
- printf ("Bye\n");
- g_thread_exit (0);
- break;
- case 'c':
- {
- GstColorBalance *balance = GST_COLOR_BALANCE (source);
- const GList *controls;
- GstColorBalanceChannel *channel;
- const GList *item;
- gint index, new_value;
-
- controls = gst_color_balance_list_channels (balance);
-
- printf ("\n");
-
- if (controls == NULL) {
- printf ("There is no list of colorbalance controls\n");
- goto done;
- }
-
- if (controls) {
- printf ("list of controls:\n");
- for (item = controls, index = 0; item != NULL;
- item = item->next, ++index) {
- channel = item->data;
- printf (" %u - %s (%d - %d) = %d\n", index, channel->label,
- channel->min_value, channel->max_value,
- gst_color_balance_get_value (balance, channel));
- }
- printf ("\ntype the number of color control you want (-1 to cancel): ");
- res = scanf ("%d", &new_value);
- if (res != 1 || new_value == -1)
- break;
- for (item = controls, index = 0; item != NULL && index <= new_value;
- item = item->next, ++index) {
- channel = item->data;
- }
- printf (" %u - %s (%d - %d) = %d, type the new value: ", index - 1,
- channel->label, channel->min_value, channel->max_value,
- gst_color_balance_get_value (balance, channel));
- res = scanf ("%d", &new_value);
- if (res != 1 || new_value == -1)
- break;
- gst_color_balance_set_value (balance, channel, new_value);
- }
- }
- case 'v':
- {
- GstVideoOrientation *vidorient = GST_VIDEO_ORIENTATION (source);
- gboolean flip = FALSE;
- gint center = 0;
-
- printf ("\n");
-
- if (gst_video_orientation_get_hflip (vidorient, &flip)) {
- gint new_value;
-
- printf ("Horizontal flip is %s\n", flip ? "on" : "off");
- printf ("\ntype 1 to toggle (-1 to cancel): ");
- res = scanf ("%d", &new_value);
- if (res != 1 || new_value == 1) {
- flip = !flip;
- if (gst_video_orientation_set_hflip (vidorient, flip)) {
- gst_video_orientation_get_hflip (vidorient, &flip);
- printf ("Now horizontal flip is %s\n", flip ? "on" : "off");
- } else {
- printf ("Error toggling horizontal flip\n");
- }
- } else {
- }
- } else {
- printf ("Horizontal flip control not available\n");
- }
-
- if (gst_video_orientation_get_vflip (vidorient, &flip)) {
- gint new_value;
-
- printf ("\nVertical flip is %s\n", flip ? "on" : "off");
- printf ("\ntype 1 to toggle (-1 to cancel): ");
- res = scanf ("%d", &new_value);
- if (res != 1 || new_value == 1) {
- flip = !flip;
- if (gst_video_orientation_set_vflip (vidorient, flip)) {
- gst_video_orientation_get_vflip (vidorient, &flip);
- printf ("Now vertical flip is %s\n", flip ? "on" : "off");
- } else {
- printf ("Error toggling vertical flip\n");
- }
- } else {
- }
- } else {
- printf ("Vertical flip control not available\n");
- }
-
- if (gst_video_orientation_get_hcenter (vidorient, &center)) {
- printf ("Horizontal center is %d\n", center);
- printf ("\ntype the new horizontal center value (-1 to cancel): ");
- res = scanf ("%d", &center);
- if (res != 1 || center != -1) {
- if (gst_video_orientation_set_hcenter (vidorient, center)) {
- gst_video_orientation_get_hcenter (vidorient, &center);
- printf ("Now horizontal center is %d\n", center);
- } else {
- printf ("Error setting horizontal center\n");
- }
- } else {
- }
- } else {
- printf ("Horizontal center control not available\n");
- }
-
- if (gst_video_orientation_get_vcenter (vidorient, &center)) {
- printf ("Vertical center is %d\n", center);
- printf ("\ntype the new vertical center value (-1 to cancel): ");
- res = scanf ("%d", &center);
- if (res != 1 || center != -1) {
- if (gst_video_orientation_set_vcenter (vidorient, center)) {
- gst_video_orientation_get_vcenter (vidorient, &center);
- printf ("Now vertical center is %d\n", center);
- } else {
- printf ("Error setting vertical center\n");
- }
- } else {
- }
- } else {
- printf ("Vertical center control not available\n");
- }
-
- }
- break;
- break;
- default:
- if (opt != 10)
- printf ("error: invalid option %c", opt);
- break;
- }
-
-done:
-
- return;
-
-}
-
-static gpointer
-read_user (gpointer data)
-{
-
- char opt;
-
- while (!exit_read) {
-
- print_options ();
-
- do {
- opt = getchar ();
- if (exit_read) {
- break;
- }
- } while (opt == '\n');
-
- run_options (opt);
-
- }
-
- return NULL;
-
-}
-
-static gboolean
-my_bus_callback (GstBus * bus, GstMessage * message, gpointer data)
-{
-
- switch (GST_MESSAGE_TYPE (message)) {
- case GST_MESSAGE_ERROR:{
- GError *err;
- gchar *debug;
- gchar *str;
-
- gst_message_parse_error (message, &err, &debug);
- str = gst_element_get_name (message->src);
- g_print ("%s error: %s\n", str, err->message);
- g_free (str);
- g_print ("Debug: %s\n", debug);
-
- g_error_free (err);
- g_free (debug);
-
- printf ("presse <ENTER> key to exit\n");
- exit_read = 1;
- g_main_loop_quit (loop);
- break;
- case GST_MESSAGE_EOS:
- /* end-of-stream */
- printf ("presse any key to exit\n");
- exit_read = 1;
- g_main_loop_quit (loop);
- break;
- default:
- break;
- }
- }
- return TRUE;
-}
-
-int
-main (int argc, char *argv[])
-{
-
- GThread *input_thread;
- gint numbuffers = -1;
- gchar device[128] = { '\0' };
- gchar input[128] = { '\0' };
- gulong frequency = 0;
- GstBus *bus;
-
- /* see for input option */
-
- int c;
-
- while (1) {
- static char long_options_desc[][64] = {
- {"Number of buffers to output before sending EOS"},
- {"Device location. Common in /dev/video0"},
- {"input/output (channel) to switch to"},
- {"frequency to tune to (in Hz)"},
- {0, 0, 0, 0}
- };
- static struct option long_options[] = {
- {"numbuffers", 1, 0, 'n'},
- {"device", 1, 0, 'd'},
- {"input", 1, 0, 'i'},
- {"frequency", 1, 0, 'f'},
- {0, 0, 0, 0}
- };
- /* getopt_long stores the option index here. */
- int option_index = 0;
-
- c = getopt_long (argc, argv, "n:d:i:f:h", long_options, &option_index);
-
- /* Detect the end of the options. */
- if (c == -1) {
- printf ("tip: use -h to see help message.\n");
- break;
- }
-
- switch (c) {
- case 0:
- /* If this option set a flag, do nothing else now. */
- if (long_options[option_index].flag != 0)
- break;
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case 'n':
- numbuffers = atoi (optarg);
- break;
-
- case 'd':
- strncpy (device, optarg, sizeof (device) / sizeof (device[0]));
- break;
-
- case 'i':
- strncpy (input, optarg, sizeof (input) / sizeof (input[0]));
- break;
-
- case 'f':
- frequency = atol (optarg);
- break;
-
- case 'h':
- printf ("Usage: v4l2src-test [OPTION]...\n");
- for (c = 0; long_options[c].name; ++c) {
- printf ("-%c, --%s\r\t\t\t\t%s\n", long_options[c].val,
- long_options[c].name, long_options_desc[c]);
- }
- exit (0);
- break;
-
- case '?':
- /* getopt_long already printed an error message. */
- printf ("Use -h to see help message.\n");
- break;
-
- default:
- abort ();
- }
- }
-
- /* Print any remaining command line arguments (not options). */
- if (optind < argc) {
- printf ("Use -h to see help message.\n" "non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- putchar ('\n');
- }
-
- /* init */
- gst_init (&argc, &argv);
-
- /* create elements */
- if (!(pipeline = gst_pipeline_new ("my_pipeline"))) {
- fprintf (stderr, "error: gst_pipeline_new return NULL");
- return -1;
- }
-
- if (!(source = gst_element_factory_make ("v4l2src", NULL))) {
- fprintf (stderr,
- "error: gst_element_factory_make (\"v4l2src\", NULL) return NULL");
- return -1;
- }
-
- if (!(sink = gst_element_factory_make ("xvimagesink", NULL))) {
- fprintf (stderr,
- "error: gst_element_factory_make (\"xvimagesink\", NULL) return NULL");
- return -1;
- }
-
- if (numbuffers > -1) {
- g_object_set (source, "num-buffers", numbuffers, NULL);
- }
- if (device[0]) {
- g_object_set (source, "device", device, NULL);
- }
- if (input[0]) {
- g_object_set (source, "input", input, NULL);
- }
- if (frequency) {
- g_object_set (source, "frequency", frequency, NULL);
- }
-
- /* you would normally check that the elements were created properly */
- bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
- gst_bus_add_watch (bus, my_bus_callback, NULL);
-
- /* put together a pipeline */
- gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL);
- gst_element_link_pads (source, "src", sink, "sink");
-
- /* start the pipeline */
- gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
- loop = g_main_loop_new (NULL, FALSE);
-
- input_thread = g_thread_try_new ("v4l2src-test", read_user, source, NULL);
-
- if (input_thread == NULL) {
- fprintf (stderr, "error: g_thread_try_new() failed");
- return -1;
- }
-
- g_main_loop_run (loop);
- g_thread_join (input_thread);
-
- gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
-
- gst_object_unref (bus);
- gst_object_unref (pipeline);
-
- gst_deinit ();
-
- return 0;
-
-}