5 idle_func (gpointer data)
7 gst_bin_iterate(GST_BIN(data));
13 main (int argc,char *argv[])
17 GstElement *videosink;
23 GtkWidget *gtk_socket;
26 gst_init(&argc,&argv);
28 gnome_init("Videotest","0.0.1",argc,argv);
30 bin = gst_bin_new("bin");
32 src = gst_elementfactory_make ("v4lsrc", "src");
33 gtk_object_set(GTK_OBJECT(src),"format",9,NULL);
34 gtk_object_set(GTK_OBJECT(src),"width",320,"height",240,NULL);
35 //gtk_object_set(GTK_OBJECT(src),"width",100,"height",100,NULL);
37 videosink = gst_elementfactory_make ("xvideosink", "videosink");
38 gtk_object_set(GTK_OBJECT(videosink),"width",320,"height",240,NULL);
40 gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
41 gst_bin_add(GST_BIN(bin),GST_ELEMENT(videosink));
43 gst_pad_connect(gst_element_get_pad(src,"src"),
44 gst_element_get_pad(videosink,"sink"));
46 appwindow = gnome_app_new("Videotest","Videotest");
48 vbox1 = gtk_vbox_new (FALSE, 0);
49 gtk_widget_show (vbox1);
51 button = gtk_button_new_with_label(_("test"));//_with_label (_("chup"));
52 gtk_widget_show (button);
53 gtk_box_pack_start (GTK_BOX (vbox1), button, FALSE, FALSE, 0);
55 draw = gst_util_get_int_arg (GTK_OBJECT (videosink), "xid"),
57 gtk_socket = gtk_socket_new ();
58 gtk_widget_show (gtk_socket);
60 gnome_app_set_contents(GNOME_APP(appwindow), vbox1);
62 gtk_box_pack_start (GTK_BOX (vbox1),
63 GTK_WIDGET(gtk_socket),
66 gtk_widget_realize (gtk_socket);
67 gtk_socket_steal (GTK_SOCKET (gtk_socket), draw);
69 gtk_object_set(GTK_OBJECT(appwindow),"allow_grow",TRUE,NULL);
70 gtk_object_set(GTK_OBJECT(appwindow),"allow_shrink",TRUE,NULL);
72 gtk_widget_show_all(appwindow);
74 gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
76 gtk_object_set(GTK_OBJECT(src),"bright",32000,"contrast", 32000,NULL);
78 //gtk_object_set(GTK_OBJECT(src),"tune",133250,NULL);
79 g_idle_add(idle_func,bin);