+++ /dev/null
-Makefile
-Makefile.in
-*.o
-*.lo
-*.la
-.deps
-.libs
-
-test
+++ /dev/null
-noinst_LTLIBRARIES = libcrashtest.la
-
-libcrashtest_la_SOURCES = dummy.c
-libcrashtest_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
-
-noinst_HEADERS = dummy.h
-
-noinst_PROGRAMS = test
-test_LDADD = libcrashtest.la $(GLIB_LIBS)
-test_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
+++ /dev/null
-#include <dummy.h>
-
-Dummy *dummy_new() {
- Dummy *dummy;
-
- dummy = g_malloc(sizeof(Dummy));
-
- dummy->flags = 0;
- dummy->name = NULL;
-
- return dummy;
-}
-
-Dummy *dummy_new_with_name(gchar *name) {
- Dummy *dummy = dummy_new();
-
- dummy->name = g_strdup(name);
-
- return dummy;
-}
+++ /dev/null
-#ifndef __DUMMY_H__
-#define __DUMMY_H__
-
-#include <glib.h>
-
-#define DUMMY(dummy) ((Dummy *)(dummy))
-
-typedef struct _Dummy Dummy;
-
-struct _Dummy {
- gint flags;
-
- gchar *name;
-};
-
-Dummy *dummy_new();
-Dummy *dummy_new_with_name(gchar *name);
-
-#endif /* __DUMMY_H__ */
+++ /dev/null
-#include <glib.h>
-#include <dummy.h>
-
-int main(int argc,char *argv[]) {
- Dummy *driver,*passenger;
-
- driver = dummy_new();
- passenger = dummy_new_with_name("moron");
-
- g_print("created a couple of dummies, %p and %p\n",driver,passenger);
-}
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-GstPipeline *pipeline;
-GstElement *v_queue, *a_queue, *v_thread, *a_thread;
-GtkWidget *appwindow;
-GtkWidget *gtk_socket;
-
-void eof(GstElement *src) {
- g_print("have eos, quitting\n");
- exit(0);
-}
-
-gboolean idle_func(gpointer data) {
- gst_bin_iterate(GST_BIN(data));
- return TRUE;
-}
-
-void mpeg2parse_newpad(GstElement *parser,GstPad *pad, GstElement *pipeline) {
-
- g_print("***** a new pad %s was created\n", gst_pad_get_name(pad));
-
- if (strncmp(gst_pad_get_name(pad), "video_", 6) == 0) {
- gst_pad_connect(pad, gst_element_get_pad(v_queue,"sink"));
- gst_bin_add(GST_BIN(pipeline),v_thread);
- gst_element_set_state(v_thread,GST_STATE_PLAYING);
- } else if (strcmp(gst_pad_get_name(pad), "private_stream_1.0") == 0) {
- gst_pad_connect(pad, gst_element_get_pad(a_queue,"sink"));
- gst_bin_add(GST_BIN(pipeline),a_thread);
- gst_element_set_state(a_thread,GST_STATE_PLAYING);
- }
-}
-
-void mpeg2parse_have_size(GstElement *videosink,gint width,gint height) {
- gtk_widget_set_usize(gtk_socket,width,height);
- gtk_widget_show_all(appwindow);
-}
-
-int main(int argc,char *argv[]) {
- GstElement *src, *parse;
- GstElement *v_decode, *show, *color;
- GstElement *a_decode, *osssink;
-
- if (argc < 5) {
- g_print("usage: %s dvdlocation title chapter angle\n", argv[0]);
- exit(1);
- }
-
- gst_init(&argc,&argv);
- gnome_init("MPEG2 Video player","0.0.1",argc,argv);
-
- // ***** construct the main pipeline *****
- pipeline = GST_PIPELINE(gst_pipeline_new("pipeline"));
- g_return_val_if_fail(pipeline != NULL, -1);
-
- src = gst_elementfactory_make("dvdsrc","src");
- g_return_val_if_fail(src != NULL, -1);
- gtk_object_set(GTK_OBJECT(src),"location",argv[1],NULL);
- gtk_object_set(GTK_OBJECT(src),"title",atoi(argv[2]),NULL);
- gtk_object_set(GTK_OBJECT(src),"chapter",atoi(argv[3]),NULL);
- gtk_object_set(GTK_OBJECT(src),"angle",atoi(argv[4]),NULL);
-
- parse = gst_elementfactory_make("mpeg2parse","parse");
- //parse = gst_elementfactory_make("mpeg1parse","parse");
- g_return_val_if_fail(parse != NULL, -1);
-
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(parse));
-
- gst_element_connect(src,"src",parse,"sink");
-
-
- // ***** pre-construct the video thread *****
- v_thread = GST_ELEMENT(gst_thread_new("v_thread"));
- g_return_val_if_fail(v_thread != NULL, -1);
-
- v_queue = gst_elementfactory_make("queue","v_queue");
- g_return_val_if_fail(v_queue != NULL, -1);
-
- v_decode = gst_elementfactory_make("mpeg2dec","decode_video");
- g_return_val_if_fail(v_decode != NULL, -1);
-
- color = gst_elementfactory_make("colorspace","color");
- g_return_val_if_fail(color != NULL, -1);
-
- show = gst_elementfactory_make("xvideosink","show");
- g_return_val_if_fail(show != NULL, -1);
-
- gst_bin_add(GST_BIN(v_thread),GST_ELEMENT(v_queue));
- gst_bin_add(GST_BIN(v_thread),GST_ELEMENT(v_decode));
- gst_bin_add(GST_BIN(v_thread),GST_ELEMENT(color));
- gst_bin_add(GST_BIN(v_thread),GST_ELEMENT(show));
-
- gst_element_connect(v_queue,"src",v_decode,"sink");
- gst_element_connect(v_decode,"src",color,"sink");
- gst_element_connect(color,"src",show,"sink");
-
-
- // ***** pre-construct the audio thread *****
- a_thread = GST_ELEMENT(gst_thread_new("a_thread"));
- g_return_val_if_fail(a_thread != NULL, -1);
-
- a_queue = gst_elementfactory_make("queue","a_queue");
- g_return_val_if_fail(a_queue != NULL, -1);
-
- a_decode = gst_elementfactory_make("a52dec","decode_audio");
- g_return_val_if_fail(a_decode != NULL, -1);
-
- osssink = gst_elementfactory_make("osssink","osssink");
- g_return_val_if_fail(osssink != NULL, -1);
-
- gst_bin_add(GST_BIN(a_thread),GST_ELEMENT(a_queue));
- gst_bin_add(GST_BIN(a_thread),GST_ELEMENT(a_decode));
- gst_bin_add(GST_BIN(a_thread),GST_ELEMENT(osssink));
-
- gst_element_connect(a_queue,"src",a_decode,"sink");
- gst_element_connect(a_decode,"src",osssink,"sink");
-
-
- // ***** construct the GUI *****
- appwindow = gnome_app_new("DVD Player","DVD Player");
-
- gtk_socket = gtk_socket_new ();
- gtk_widget_show (gtk_socket);
-
- gnome_app_set_contents(GNOME_APP(appwindow),
- GTK_WIDGET(gtk_socket));
-
- gtk_widget_realize (gtk_socket);
- gtk_socket_steal (GTK_SOCKET (gtk_socket),
- gst_util_get_int_arg (GTK_OBJECT(show), "xid"));
-
- gtk_signal_connect(GTK_OBJECT(parse),"new_pad",mpeg2parse_newpad, pipeline);
- gtk_signal_connect(GTK_OBJECT(src),"eos",GTK_SIGNAL_FUNC(eof),NULL);
- gtk_signal_connect(GTK_OBJECT(show),"have_size",mpeg2parse_have_size, pipeline);
-
- g_print("setting to PLAYING state\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
-
- gtk_idle_add(idle_func,pipeline);
-
- gdk_threads_enter();
- gtk_main();
- gdk_threads_leave();
-
- return 0;
-}
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-static gboolean
-idle_func (gpointer data)
-{
- gst_bin_iterate(GST_BIN(data));
-
- return TRUE;
-}
-
-int
-main (int argc,char *argv[])
-{
- GstElement *bin;
- GstElement *src;
- GstElement *dvdec;
- //GstElement *cspace;
- GstElement *deint;
- GstElement *videosink;
-
- GtkWidget *appwindow;
- GtkWidget *vbox1;
- GtkWidget *button;
- guint32 draw;
- GtkWidget *gtk_socket;
-
-
- gst_init(&argc,&argv);
-
- gnome_init("Videotest","0.0.1",argc,argv);
-
- bin = gst_pipeline_new("pipeline");
-
- if (argc == 1) {
- src = gst_elementfactory_make ("dv1394src", "src");
- } else {
- src = gst_elementfactory_make ("filesrc", "src");
- gtk_object_set(GTK_OBJECT(src),"location",argv[1],"bytesperread",480,NULL);
- }
- dvdec = gst_elementfactory_make ("dvdec", "decoder");
- if (!dvdec) fprintf(stderr,"no dvdec\n"),exit(1);
-// cspace = gst_elementfactory_make ("colorspace", "cspace");
- deint = gst_elementfactory_make ("deinterlace", "deinterlace");
- videosink = gst_elementfactory_make ("xvideosink", "videosink");
- if (!videosink) fprintf(stderr,"no dvdec\n"),exit(1);
- gtk_object_set(GTK_OBJECT(videosink),"width",720,"height",576,NULL);
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(dvdec));
-// gst_bin_add(GST_BIN(bin),GST_ELEMENT(cspace));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(videosink));
-
- gst_element_connect(src,"src",dvdec,"sink");
-// gst_element_connect(cspace,"src",videosink,"sink");
-// gst_element_connect(dvdec,"video",cspace,"sink");
- gst_element_connect(dvdec,"video",deint,"sink");
- gst_element_connect(deint,"src",videosink,"sink");
-
- appwindow = gnome_app_new("Videotest","Videotest");
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- button = gtk_button_new_with_label(_("test"));//_with_label (_("chup"));
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (vbox1), button, FALSE, FALSE, 0);
-
- draw = gst_util_get_int_arg (GTK_OBJECT (videosink), "xid"),
-
- gtk_socket = gtk_socket_new ();
- gtk_widget_set_usize(gtk_socket,720,576);
- gtk_widget_show (gtk_socket);
-
- gnome_app_set_contents(GNOME_APP(appwindow), vbox1);
-
- gtk_box_pack_start (GTK_BOX (vbox1),
- GTK_WIDGET(gtk_socket),
- TRUE, TRUE, 0);
-
- gtk_widget_realize (gtk_socket);
- gtk_socket_steal (GTK_SOCKET (gtk_socket), draw);
-
- gtk_object_set(GTK_OBJECT(appwindow),"allow_grow",TRUE,NULL);
- gtk_object_set(GTK_OBJECT(appwindow),"allow_shrink",TRUE,NULL);
-
- gtk_widget_show_all(appwindow);
-
-#ifndef GST_DISABLE_LOADSAVE
- xmlSaveFile("dvshow.xml",gst_xml_write(GST_ELEMENT(bin)));
-#endif
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- g_idle_add(idle_func,bin);
-
- gtk_main();
-
- exit (0);
-}
-
+++ /dev/null
-#include <glib.h>
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-/* we don't need a lock around the application's state yet, since it's 1
- bit. as it gets more fleshed in, we'll need a lock so the callbacks
- don't screw around with state unexpectedly */
-static gboolean playing = TRUE;
-
-void eof(GstElement *src) {
- GST_DEBUG(0,"have EOF\n");
- playing = FALSE;
-}
-
-int main(int argc,char *argv[]) {
- GstElement *pipeline;
- GstElement *decodethread;
- GstElementFactory *srcfactory;
- GstElement *src;
- GstElementFactory *decodefactory;
- GstElement *decode;
- GstElementFactory *queuefactory;
- GstElement *queue;
- GstElement *playthread;
- GstElementFactory *sinkfactory;
- GstElement *sink;
-
- gst_init(&argc,&argv);
-
- /* first create the main pipeline */
- pipeline = GST_ELEMENT(gst_pipeline_new("pipeline"));
-
- /* then the decode thread, source, and decoder */
- decodethread = gst_thread_new("decodethread");
-
- srcfactory = gst_elementfactory_find("filesrc");
- src = gst_elementfactory_create(srcfactory,"src");
- g_object_set(G_OBJECT(src),"location",argv[1],NULL);
- gst_bin_add(GST_BIN(decodethread),GST_ELEMENT(src));
-
- _gst_plugin_spew = TRUE;
-
- if (argc > 2)
- gst_plugin_load(argv[2]);
- else
- gst_plugin_load_all();
- decodefactory = gst_elementfactory_find("mpg123");
- decode = gst_elementfactory_create(decodefactory,"decode");
- gst_bin_add(GST_BIN(decodethread),GST_ELEMENT(decode));
- gst_element_add_ghost_pad(GST_ELEMENT(decodethread),
- gst_element_get_pad(decode,"src"),"src");
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(decode,"sink"));
-
- /* then the play thread and sink */
- playthread = gst_thread_new("playthread");
-
- sinkfactory = gst_elementfactory_find("osssink");
- sink = gst_elementfactory_create(sinkfactory,"sink");
- gst_bin_add(GST_BIN(playthread),GST_ELEMENT(sink));
- gst_element_add_ghost_pad(GST_ELEMENT(playthread),
- gst_element_get_pad(sink,"sink"),"sink");
-
- /* create the queue */
- queuefactory = gst_elementfactory_find("queue");
- queue = gst_elementfactory_create(queuefactory,"queue");
-
- /* add threads to the main pipeline */
- gst_bin_add(GST_BIN(pipeline),decodethread);
- gst_bin_add(GST_BIN(pipeline),queue);
- gst_bin_add(GST_BIN(pipeline),playthread);
-
- gst_pad_connect(gst_element_get_pad(decodethread,"src"),
-// gst_element_get_pad(queue,"sink"));
-// gst_pad_connect(gst_element_get_pad(queue,"src"),
- gst_element_get_pad(playthread,"sink"));
-
- g_signal_connect(G_OBJECT(src),"eof",
- G_CALLBACK(eof),NULL);
-
- g_print("\nsetting up the decode thread to *NOT* thread\n");
-// gtk_object_set(GTK_OBJECT(decodethread),"create_thread",TRUE,NULL);
- g_object_set(G_OBJECT(playthread),"create_thread",FALSE,NULL);
-
- g_print("\neverything's built, setting it up to be runnable\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_READY);
-
- g_print("\nok, runnable, hitting 'play'...\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
-
- g_print("\niterating on %p and %p\n",decodethread,playthread);
- while (playing) {
- gst_bin_iterate(GST_BIN(playthread));
- /* buffers got wedged in the queue, unstick them */
-// while (((GstQueue *)queue)->buffers_queued)
-// gst_connection_push(GST_CONNECTION(queue));
-// gst_thread_iterate(GST_THREAD(playthread));
-// g_print("stuffed and unstuck the queue\n");
-// sleep(1);
- }
- return 0;
-}
+++ /dev/null
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <glib.h>
-#include <gst/gst.h>
-
-int main(int argc,char *argv[]) {
- int fd;
- GstElement *pipeline, *osssrc, *fdsink;
- GstElementFactory *osssrcfactory, *fdsinkfactory;
-
- gst_init(&argc,&argv);
-
- pipeline = GST_ELEMENT(gst_pipeline_new("pipeline"));
-
- osssrcfactory = gst_elementfactory_find("osssrc");
- osssrc = gst_elementfactory_create(osssrcfactory,"osssrc");
-
- fd = open(argv[1],O_CREAT|O_RDWR);
-
- fdsinkfactory = gst_elementfactory_find("fdsink");
- fdsink = gst_elementfactory_create(fdsinkfactory,"fdsink");
- g_object_set(G_OBJECT(fdsink),"fd",fd);
-
- /* add objects to the main pipeline */
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(osssrc));
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(fdsink));
-
- /* connect src to sink */
- gst_pad_connect(gst_element_get_pad(osssrc,"src"),
- gst_element_get_pad(fdsink,"sink"));
-
- g_print("\nok, runnable, hitting 'play'...\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
-
- while(1) {
- gst_bin_iterate(GST_BIN(pipeline));
- }
-}
-
+++ /dev/null
-#include <stdio.h>
-#include <math.h>
-#include <gtk/gtk.h>
-#include <gst/gst.h>
-#include <gst/control/control.h>
-
-static gint quit_live(GtkWidget *window, GdkEventAny *e, gpointer data) {
- gtk_main_quit();
- return FALSE;
-}
-
-static void dynparm_log_value_changed(GtkAdjustment *adj,GstDParam *dparam) {
- GValue **point;
- g_return_if_fail(dparam != NULL);
- g_return_if_fail(GST_IS_DPARAM (dparam));
-
- point = GST_DPARAM_GET_POINT(dparam, 0LL);
-
- GST_DPARAM_LOCK(dparam);
- g_print("setting value from %f to %f\n", g_value_get_float(point[0]), (gfloat)exp(adj->value));
- g_value_set_float(point[0], (gfloat)exp(adj->value));
- GST_DPARAM_READY_FOR_UPDATE(dparam) = TRUE;
- GST_DPARAM_UNLOCK(dparam);
-}
-
-static void dynparm_value_changed(GtkAdjustment *adj,GstDParam *dparam) {
- GValue **point;
- g_return_if_fail(dparam != NULL);
- g_return_if_fail(GST_IS_DPARAM (dparam));
-
- point = GST_DPARAM_GET_POINT(dparam, 0LL);
-
- GST_DPARAM_LOCK(dparam);
- g_print("setting value from %f to %f\n", g_value_get_float(point[0]), adj->value);
- g_value_set_float(point[0], adj->value);
- GST_DPARAM_READY_FOR_UPDATE(dparam) = TRUE;
- GST_DPARAM_UNLOCK(dparam);
-}
-
-
-int main(int argc,char *argv[]) {
- GtkWidget *window;
- GtkWidget *hbox;
- GtkAdjustment *volume_adj;
- GtkAdjustment *freq_adj;
- GtkWidget *volume_slider;
- GtkWidget *freq_slider;
-
- GstElement *thread, *sinesrc, *osssink;
- GstDParamManager *dpman;
- GstDParam *volume;
- GstDParam *freq;
- GstDParamSpec *spec;
-
- GValue **vals;
-
- gtk_init(&argc,&argv);
- gst_init(&argc,&argv);
- gst_control_init(&argc,&argv);
-
- /***** construct the pipeline *****/
-
- g_print("creating elements\n");
- thread = gst_thread_new("live-example");
- sinesrc = gst_elementfactory_make("sinesrc","sine-source");
- osssink = gst_elementfactory_make("osssink","sound-sink");
- gst_bin_add(GST_BIN(thread),sinesrc);
- gst_bin_add(GST_BIN(thread),osssink);
- gst_element_connect(sinesrc,"src",osssink,"sink");
- g_object_set(G_OBJECT(osssink),"fragment",0x00180008,NULL);
- g_object_set(G_OBJECT(sinesrc),"buffersize",64,NULL);
-
- dpman = gst_dpman_get_manager (sinesrc);
-
- freq = gst_dparam_smooth_new(G_TYPE_FLOAT);
- vals = GST_DPARAM_GET_POINT(freq, 0LL);
-
- g_value_set_float(vals[0], 10.0);
-
- // this defines the maximum slope that this
- // param can change. This says that in 50ms
- // the value can change by a maximum of one semitone
- // (the log of one semitone is 0.693)
- g_value_set_float(vals[1], 0.693);
- g_value_set_float(vals[2], 50000000.0);
-
- // set the default update period to 0.5ms, or 2000Hz
- GST_DPARAM_DEFAULT_UPDATE_PERIOD(freq) = 2000000LL;
-
- volume = gst_dparam_smooth_new(G_TYPE_FLOAT);
- vals = GST_DPARAM_GET_POINT(volume, 0LL);
-
- // this defines the maximum slope that this
- // param can change. This says that in 10ms
- // the value can change by a maximum of 0.2
- g_value_set_float(vals[1], 0.2);
- g_value_set_float(vals[2], 10000000.0);
-
- // set the default update period to 0.5ms, or 2000Hz
- GST_DPARAM_DEFAULT_UPDATE_PERIOD(volume) = 2000000LL;
-
- g_assert(gst_dpman_attach_dparam (dpman, "volume", volume));
- g_assert(gst_dpman_attach_dparam (dpman, "freq", freq));
-
- gst_dpman_set_mode(dpman, "synchronous");
-
- /***** set up the GUI *****/
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_default_size(GTK_WINDOW(window), 80, 400);
- g_signal_connect(window,"delete_event",GTK_SIGNAL_FUNC(quit_live),NULL);
- hbox = gtk_hbox_new(TRUE,0);
- gtk_container_add(GTK_CONTAINER(window),hbox);
-
- spec = gst_dpman_get_dparam_spec (dpman, "volume");
- volume_adj = (GtkAdjustment*)gtk_adjustment_new(g_value_get_float(spec->default_val),
- g_value_get_float(spec->min_val),
- g_value_get_float(spec->max_val), 0.1, 0.01, 0.01);
- volume_slider = gtk_vscale_new(volume_adj);
- gtk_scale_set_digits(GTK_SCALE(volume_slider), 2);
- gtk_box_pack_start(GTK_BOX(hbox),volume_slider,TRUE,TRUE,0);
-
- spec = gst_dpman_get_dparam_spec (dpman, "freq");
- freq_adj = (GtkAdjustment*)gtk_adjustment_new((gfloat)log(g_value_get_float(spec->default_val)),
- (gfloat)log(g_value_get_float(spec->min_val)),
- (gfloat)log(g_value_get_float(spec->max_val)), 0.1, 0.01, 0.01);
- freq_slider = gtk_vscale_new(freq_adj);
- gtk_scale_set_digits(GTK_SCALE(freq_slider), 2);
- gtk_box_pack_start(GTK_BOX(hbox),freq_slider,TRUE,TRUE,0);
-
-
- /***** set up the handlers and such *****/
- //gtk_signal_connect(volume_adj,"value-changed",GTK_SIGNAL_FUNC(volume_changed),sinesrc);
- g_signal_connect(volume_adj,"value-changed",
- GTK_SIGNAL_FUNC(dynparm_value_changed),
- volume);
-
- g_signal_connect(freq_adj,"value-changed",
- GTK_SIGNAL_FUNC(dynparm_log_value_changed),
- freq);
- gtk_adjustment_value_changed(volume_adj);
- gtk_adjustment_value_changed(freq_adj);
-
- g_print("starting pipeline\n");
-
- /***** start everything up *****/
- gst_element_set_state(thread,GST_STATE_PLAYING);
-
-
- gtk_widget_show_all(window);
- gtk_main();
-
- return 0;
-}
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-void spectrum_chain(GstPad *pad,GstBuffer *buf);
-gboolean idle_func(gpointer data);
-
-GtkWidget *drawingarea;
-
-int main(int argc,char *argv[]) {
- GstElement *bin;
- GstElementFactory *srcfactory;
- GstElement *src;
- GstElementFactory *spectrumfactory;
- GstElement *spectrum;
- GstPad *spectrumpad;
-
- GtkWidget *appwindow;
-
- _gst_plugin_spew = TRUE;
-
- gst_init(&argc,&argv);
- gst_plugin_load("libgstspectrum.so");
- gnome_init("Spectrum","0.0.1",argc,argv);
-
- bin = gst_bin_new("bin");
-
- srcfactory = gst_elementfactory_find("osssrc");
- spectrumfactory = gst_elementfactory_find("gstspectrum");
-
- src = gst_elementfactory_create(srcfactory,"src");
- gtk_object_set(GTK_OBJECT(src),"bytes_per_read",(gulong)1024,NULL);
- spectrum = gst_elementfactory_create(spectrumfactory,"spectrum");
- gtk_object_set(GTK_OBJECT(spectrum),"width",256,NULL);
-
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(spectrum));
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(spectrum,"sink"));
-
- spectrumpad = gst_pad_new("sink",GST_PAD_SINK);
- gst_pad_set_chain_function(spectrumpad,spectrum_chain);
-
- gst_pad_connect(gst_element_get_pad(spectrum,"src"),spectrumpad);
-
- appwindow = gnome_app_new("spectrum","Spectrum");
- drawingarea = gtk_drawing_area_new();
- gtk_drawing_area_size(GTK_DRAWING_AREA(drawingarea),256,32);
- gnome_app_set_contents(GNOME_APP(appwindow),drawingarea);
- gtk_widget_show_all(appwindow);
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_READY);
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- g_idle_add(idle_func,src);
-
- gtk_main();
-
- return 0;
-}
-
-
-void spectrum_chain(GstPad *pad,GstBuffer *buf) {
- gint i;
- guchar *data = buf->data;
-
- gdk_draw_rectangle(drawingarea->window,drawingarea->style->black_gc,
- TRUE,0,0,GST_BUFFER_SIZE(buf),25);
- for (i=0;i<GST_BUFFER_SIZE(buf);i++) {
- gdk_draw_rectangle(drawingarea->window,drawingarea->style->white_gc,
- TRUE,i,32-data[i],1,data[i]);
- }
- gst_buffer_unref(buf);
-}
-
-gboolean idle_func(gpointer data) {
- //gst_src_push(GST_SRC(data));
- return TRUE;
-}
+++ /dev/null
-#include <gst/gst.h>
-
-#include <stdlib.h>
-#include "mem.h"
-
-extern gboolean _gst_plugin_spew;
-
-GstPipeline *teardown_create_pipeline() {
- GstPipeline *pipeline;
- GstElementFactory *srcfactory, *sinkfactory;
- GstElement *src, *sink;
- GstPad *srcpad, *sinkpad;
-
- pipeline = GST_PIPELINE (gst_pipeline_new("pipeline"));
- g_return_val_if_fail(pipeline != NULL, NULL);
-
- srcfactory = gst_elementfactory_find("fakesrc");
- g_return_val_if_fail(srcfactory != NULL, NULL);
- sinkfactory = gst_elementfactory_find("fakesink");
- g_return_val_if_fail(sinkfactory != NULL, NULL);
- src = gst_elementfactory_create(srcfactory,"src");
- g_return_val_if_fail(src != NULL, NULL);
- sink = gst_elementfactory_create(sinkfactory,"sink");
- g_return_val_if_fail(sink != NULL, NULL);
-
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(sink));
-
- srcpad = gst_element_get_pad(src,"src");
- g_return_val_if_fail(srcpad != NULL, NULL);
- sinkpad = gst_element_get_pad(sink,"sink");
- g_return_val_if_fail(srcpad != NULL, NULL);
-
- gst_pad_connect(srcpad,sinkpad);
-
- return GST_PIPELINE(pipeline);
-}
-
-void teardown_destroy_pipeline(GstPipeline *pipeline) {
- gst_element_destroy(pipeline);
-}
-
-
-int main(int argc,char *argv[]) {
- GstElement *pipeline, *src;
- int i,max = 1;
- long usage1,usage2;
-
-// _gst_plugin_spew = TRUE;
-
- gst_init(&argc,&argv);
-
- if (argc == 2)
- max = atoi(argv[1]);
-
- usage1 = vmsize();
- for (i=0;i<max;i++) {
- pipeline = GST_ELEMENT (teardown_create_pipeline());
- src = gst_bin_get_by_name(GST_BIN(pipeline),"src");
-// g_print("got source %p, pushing",src);
-// for (j=0;j<max;j++) {
-// gst_src_push(GST_SRC(src));
-// g_print(".");
-// }
-// g_print("\n");
- teardown_destroy_pipeline(GST_PIPELINE (pipeline));
- }
- usage2 = vmsize();
- g_print("uses %ld bytes\n",usage2-usage1);
-
- return 0;
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include <gst/gst.h>
-
-void play (GtkButton *button, gpointer data)
-{
- gtk_signal_emit_by_name(GTK_OBJECT(data), "play");
-}
-
-void reset (GtkButton *button, gpointer data)
-{
- gtk_signal_emit_by_name(GTK_OBJECT(data), "reset");
-}
-
-int main(int argc, char **argv)
-{
- guint channels;
- GtkWidget *window, *vbox, *play_button, *reset_button, *quit_button;
- GstElement *filesrc, *mad, *stereo2mono, *pod, *osssink, *pipeline;
-
- gst_init (&argc, &argv);
- gtk_init (&argc, &argv);
-
- if (argc!=2) {
- g_print("usage: %s <mp3-filename>\n", argv[0]);
- exit(-1);
- }
-
- filesrc = gst_elementfactory_make("filesrc", "filesrc");
- mad = gst_elementfactory_make("mad", "mad");
- pod = gst_elementfactory_make("playondemand", "playondemand");
- osssink = gst_elementfactory_make("osssink", "osssink");
-
- gtk_object_set(GTK_OBJECT(filesrc), "location", argv[1], NULL);
- gtk_object_set(GTK_OBJECT(osssink), "fragment", 0x00180008, NULL);
- gtk_object_get(GTK_OBJECT(osssink), "channels", &channels, NULL);
-
- pipeline = gst_pipeline_new("app");
-
- gst_bin_add(GST_BIN(pipeline), filesrc);
- gst_bin_add(GST_BIN(pipeline), mad);
- gst_bin_add(GST_BIN(pipeline), pod);
- gst_bin_add(GST_BIN(pipeline), osssink);
-
- gst_element_connect(filesrc, "src", mad, "sink");
- gst_element_connect(pod, "src", osssink, "sink");
-
- if (channels != 2) {
- gst_element_connect(mad, "src", pod, "sink");
- } else {
- stereo2mono = gst_elementfactory_make("stereo2mono", "stereo2mono");
- gst_bin_add(GST_BIN(pipeline), stereo2mono);
- gst_element_connect(mad, "src", stereo2mono, "sink");
- gst_element_connect(stereo2mono, "src", pod, "sink");
- }
-
- gst_element_set_state(pipeline, GST_STATE_PLAYING);
-
- /* initialize gui elements ... */
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- vbox = gtk_vbox_new(FALSE, 0);
- play_button = gtk_button_new_with_label("play");
- reset_button = gtk_button_new_with_label("reset");
- quit_button = gtk_button_new_with_label("quit");
-
- /* do the packing stuff ... */
- gtk_window_set_default_size(GTK_WINDOW(window), 96, 96);
- gtk_container_add(GTK_CONTAINER(window), vbox);
- gtk_box_pack_start(GTK_BOX(vbox), play_button, FALSE, FALSE, 2);
- gtk_box_pack_start(GTK_BOX(vbox), reset_button, FALSE, FALSE, 2);
- gtk_box_pack_start(GTK_BOX(vbox), quit_button, FALSE, FALSE, 2);
-
- /* connect things ... */
- gtk_signal_connect(GTK_OBJECT(play_button), "clicked", play, pod);
- gtk_signal_connect(GTK_OBJECT(reset_button), "clicked", reset, pod);
- gtk_signal_connect(GTK_OBJECT(quit_button), "clicked", gtk_main_quit, NULL);
-
- /* show the gui. */
- gtk_widget_show(play_button);
- gtk_widget_show(reset_button);
- gtk_widget_show(quit_button);
- gtk_widget_show(vbox);
- gtk_widget_show(window);
- gtk_idle_add((GtkFunction)gst_bin_iterate, pipeline);
-
- gtk_main();
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include <gst/gst.h>
-
-void set_speed (GtkAdjustment *adj, gpointer data)
-{
- GstElement *speed = GST_ELEMENT(data);
- gtk_object_set(GTK_OBJECT(speed), "speed", adj->value, NULL);
-}
-
-int main(int argc, char **argv)
-{
- GtkWidget *window, *vbox, *hscale, *button;
- GstElement *filesrc, *mad, *stereo2mono, *speed, *osssink, *pipeline;
-
- gst_init (&argc, &argv);
- gtk_init (&argc, &argv);
-
- if (argc!=2) {
- g_print("usage: %s <your.mp3>\n", argv[0]);
- exit(-1);
- }
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_default_size(GTK_WINDOW(window), 400, 80);
- vbox = gtk_vbox_new(FALSE, 0);
- gtk_widget_show(vbox);
- hscale = gtk_hscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(1.0, 0.01, 4.0,
- 0.1, 0.0, 0.0)));
- gtk_scale_set_digits(GTK_SCALE(hscale), 2);
- gtk_range_set_update_policy(GTK_RANGE(hscale), GTK_UPDATE_CONTINUOUS);
- button = gtk_button_new_with_label("quit");
- gtk_container_add(GTK_CONTAINER(window), vbox);
- gtk_box_pack_start(GTK_BOX(vbox), hscale, TRUE, TRUE, 2);
- gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 2);
- gtk_widget_show(hscale);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", gtk_main_quit, NULL);
- gtk_widget_show(button);
-
- filesrc = gst_elementfactory_make("filesrc", "filesrc");
- mad = gst_elementfactory_make("mad", "mad");
- stereo2mono = gst_elementfactory_make("stereo2mono", "stereo2mono");
- speed = gst_elementfactory_make("speed", "speed");
- osssink = gst_elementfactory_make("osssink", "osssink");
- gtk_object_set(GTK_OBJECT(osssink), "fragment", 0x00180008, NULL);
-
- gtk_signal_connect(GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(hscale))),
- "value_changed", set_speed, speed);
-
- pipeline = gst_pipeline_new("app");
- gst_bin_add(GST_BIN(pipeline), filesrc);
- gst_bin_add(GST_BIN(pipeline), mad);
- gst_bin_add(GST_BIN(pipeline), stereo2mono);
- gst_bin_add(GST_BIN(pipeline), speed);
- gst_bin_add(GST_BIN(pipeline), osssink);
- gst_element_connect(filesrc, "src", mad, "sink");
- gst_element_connect(mad, "src", stereo2mono, "sink");
- gst_element_connect(stereo2mono, "src", speed, "sink");
- gst_element_connect(speed, "src", osssink, "sink");
- gtk_object_set(GTK_OBJECT(filesrc), "location", argv[1], NULL);
-
- gst_element_set_state(pipeline, GST_STATE_PLAYING);
-
- gtk_widget_show(window);
- gtk_idle_add((GtkFunction)gst_bin_iterate, pipeline);
-
- gtk_main();
-}
+++ /dev/null
-#include <gst/gst.h>
-
-int main(int argc,char *argv[]) {
- GstType *mp3type;
- GList *factories;
- GstElement *src;
- GList *padlist;
-
- gst_init(&argc,&argv);
- gst_plugin_load_all();
-
- bin = gst_bin_new("bin");
-
- filesrc = gst_filesrc_new("filesrc");
- g_print("created filesrc\n");
- if (argc == 2)
- gst_filesrc_set_filename(filesrc,argv[1]);
- else
- gst_filesrc_set_filename(filesrc,"Thank_you_very_much.au");
- g_print("loaded file '%s'\n",gst_filesrc_get_filename(filesrc));
-
-
- /* now it's time to get the parser */
- autype = gst_type_get_by_mime("audio/au");
- factories = gst_type_get_sinks(autype);
- if (factories != NULL)
- parsefactory = GST_ELEMENTFACTORY(factories->data);
- else {
- g_print("sorry, can't find anyone registered to sink 'au'\n");
- return 1;
- }
- parse = gst_elementfactory_create(parsefactory,"parser");
- if (parse == NULL) {
- g_print("sorry, couldn't create parser\n");
- return 1;
- }
-
-
- osssink = gst_osssink_new("osssink");
-
- gtk_signal_connect(GTK_OBJECT(filesrc),"eof",
- GTK_SIGNAL_FUNC(eof),NULL);
-
- /* add objects to the main pipeline */
- gst_bin_add(GST_BIN(bin),GST_OBJECT(filesrc));
- gst_bin_add(GST_BIN(bin),GST_OBJECT(parse));
- gst_bin_add(GST_BIN(bin),GST_OBJECT(osssink));
-
- /* connect src to sink */
- gst_pad_connect(gst_element_get_pad(filesrc,"src"),
- gst_element_get_pad(parse,"sink"));
- gst_pad_connect(gst_element_get_pad(parse,"src"),
- gst_element_get_pad(osssink,"sink"));
-
- while(1)
- gst_filesrc_push(GST_SRC(filesrc));
-
- gst_object_destroy(GST_OBJECT(osssink));
- gst_object_destroy(GST_OBJECT(parse));
- gst_object_destroy(GST_OBJECT(filesrc));
- gst_object_destroy(GST_OBJECT(bin));
-}
-
+++ /dev/null
-#include <glib.h>
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-GstTypeFactory testfactory = { "test/test", ".tst", NULL };
-
-int main(int argc,char *argv[]) {
- guint16 id;
- GstType *type;
- GstElementFactory *element;
- GList *types, *elements;
-
-// _gst_plugin_spew = TRUE;
-
- gst_init(&argc,&argv);
-// gst_plugin_load_all();
- gst_plugin_load("libgstparseau.so");
- gst_plugin_load("libgstparsewav.so");
- gst_plugin_load("libgstxa.so");
- gst_plugin_load("libstereo.so");
- gst_plugin_load("libvolume.so");
- gst_plugin_load("libsmoothwave.so");
- gst_plugin_load("libgstspectrum.so");
- gst_plugin_load("libsynaesthesia.so");
- gst_plugin_load("libvumeter.so");
-
- id = gst_type_register(&testfactory);
-
- types = gst_type_get_list();
- while (types) {
- type = (GstType *)types->data;
- g_print("%d: have type '%s'\n",type->id,type->mime);
- types = g_list_next(types);
- }
-
- elements = gst_elementfactory_get_list();
- while (elements) {
- element = (GstElementFactory *)elements->data;
- g_print("%d: have elementfactory '%s': \"%s\"\n",element->type,
- element->name,element->details->longname);
- elements = g_list_next(elements);
- }
-}
+++ /dev/null
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <glib.h>
-#include <gst/gst.h>
-
-int main(int argc,char *argv[]) {
- int fd;
- GstPipeline *pipeline;
- GstElement *osssrc, *videosrc, *fdsink, *encoder, *compress, *video_queue, *video_thread;
- GstElementFactory *osssrcfactory, *fdsinkfactory, *encoderfactory, *compressfactory;
- GstElementFactory *videosrcfactory;
-
- gst_init(&argc,&argv);
-
- gst_plugin_load("v4lsrc");
- gst_plugin_load("aviencoder");
- gst_plugin_load("jpeg");
-
- pipeline = GST_PIPELINE (gst_pipeline_new("pipeline"));
-
- osssrcfactory = gst_elementfactory_find("osssrc");
- osssrc = gst_elementfactory_create(osssrcfactory,"osssrc");
-
- videosrcfactory = gst_elementfactory_find("v4lsrc");
- videosrc = gst_elementfactory_create(videosrcfactory,"videosrc");
- compressfactory = gst_elementfactory_find("jpegenc");
- compress = gst_elementfactory_create(compressfactory,"jpegenc");
- encoderfactory = gst_elementfactory_find("aviencoder");
- encoder = gst_elementfactory_create(encoderfactory,"aviencoder");
- g_object_set(G_OBJECT(videosrc),"width",320,"height",240,NULL);
- g_object_set(G_OBJECT(videosrc),"format",9,NULL);
-
- g_object_set(G_OBJECT(encoder),"video","00:I420",NULL);
-
- fd = open(argv[1],O_CREAT|O_RDWR|O_TRUNC);
-
- fdsinkfactory = gst_elementfactory_find("fdsink");
- fdsink = gst_elementfactory_create(fdsinkfactory,"fdsink");
- g_object_set(G_OBJECT(fdsink),"fd",fd,NULL);
-
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(videosrc));
-
- /* add objects to the main pipeline */
- video_thread = gst_thread_new("video_thread");
- g_return_val_if_fail(video_thread != NULL, -1);
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(compress));
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(encoder));
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(fdsink));
-
-
- /* connect src to sink */
- gst_element_add_ghost_pad(GST_ELEMENT(video_thread),
- // gst_element_get_pad(compress,"sink"));
- //gst_pad_connect(gst_element_get_pad(compress,"src"),
- gst_element_get_pad(encoder,"video_00"),"video_00");
- gst_pad_connect(gst_element_get_pad(encoder,"src"),
- gst_element_get_pad(fdsink,"sink"));
-
-
- // construct queue and connect everything in the main pipeline
- video_queue = gst_elementfactory_make("queue","video_queue");
- g_object_set(G_OBJECT(video_queue),"max_level",30,NULL);
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_queue));
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_thread));
- gst_pad_connect(gst_element_get_pad(videosrc, "src"),
- gst_element_get_pad(video_queue,"sink"));
- gst_pad_connect(gst_element_get_pad(video_queue,"src"),
- gst_element_get_pad(video_thread,"video_00"));
-
- g_object_set(G_OBJECT(video_thread),"create_thread",TRUE,NULL);
- g_print("\neverything's built, setting it up to be runnable\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_READY);
- g_print("\nok, runnable, hitting 'play'...\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
-
- while(1)
- gst_bin_iterate(GST_BIN(pipeline));
-}
-
+++ /dev/null
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <glib.h>
-#include <gst/gst.h>
-
-int main(int argc,char *argv[]) {
- int fd;
- GstPipeline *pipeline;
- GstElement *osssrc, *videosrc, *fdsink, *encoder, *compress, *video_queue, *video_thread;
- GstElementFactory *osssrcfactory, *fdsinkfactory, *encoderfactory, *compressfactory;
- GstElementFactory *videosrcfactory;
-
- gst_init(&argc,&argv);
-
- gst_plugin_load("v4lsrc");
- gst_plugin_load("aviencoder");
- gst_plugin_load("wincodec");
-
- pipeline = GST_PIPELINE (gst_pipeline_new("pipeline"));
-
- osssrcfactory = gst_elementfactory_find("osssrc");
- osssrc = gst_elementfactory_create(osssrcfactory,"osssrc");
-
- videosrcfactory = gst_elementfactory_find("v4lsrc");
- videosrc = gst_elementfactory_create(videosrcfactory,"videosrc");
- compressfactory = gst_elementfactory_find("winenc");
- compress = gst_elementfactory_create(compressfactory,"winenc");
- g_assert(compress != NULL);
- encoderfactory = gst_elementfactory_find("aviencoder");
- encoder = gst_elementfactory_create(encoderfactory,"aviencoder");
- g_object_set(G_OBJECT(videosrc),"width",320,"height",240,NULL);
- g_object_set(G_OBJECT(videosrc),"format",5,NULL);
-
- g_object_set(G_OBJECT(encoder),"video","00:DIV3",NULL);
-
- fd = open(argv[1],O_CREAT|O_RDWR|O_TRUNC);
-
- fdsinkfactory = gst_elementfactory_find("fdsink");
- fdsink = gst_elementfactory_create(fdsinkfactory,"fdsink");
- g_object_set(G_OBJECT(fdsink),"fd",fd,NULL);
-
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(videosrc));
-
- /* add objects to the main pipeline */
- video_thread = gst_thread_new("video_thread");
- g_return_val_if_fail(video_thread != NULL, -1);
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(compress));
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(encoder));
- gst_bin_add(GST_BIN(video_thread),GST_ELEMENT(fdsink));
-
-
- /* connect src to sink */
- gst_element_add_ghost_pad(GST_ELEMENT(video_thread),
- gst_element_get_pad(compress,"sink"),"sink");
- gst_pad_connect(gst_element_get_pad(compress,"src"),
- gst_element_get_pad(encoder,"video_00"));
- gst_pad_connect(gst_element_get_pad(encoder,"src"),
- gst_element_get_pad(fdsink,"sink"));
-
-
- // construct queue and connect everything in the main pipeline
- video_queue = gst_elementfactory_make("queue","video_queue");
- g_object_set(G_OBJECT(video_queue),"max_level",30,NULL);
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_queue));
- gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_thread));
- gst_pad_connect(gst_element_get_pad(videosrc, "src"),
- gst_element_get_pad(video_queue,"sink"));
- gst_pad_connect(gst_element_get_pad(video_queue,"src"),
- gst_element_get_pad(video_thread,"sink"));
-
- g_object_set(G_OBJECT(video_thread),"create_thread",TRUE,NULL);
- g_print("\neverything's built, setting it up to be runnable\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_READY);
- g_print("\nok, runnable, hitting 'play'...\n");
- gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
-
- while(1)
- gst_bin_iterate(GST_BIN(pipeline));
-}
-
+++ /dev/null
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <glib.h>
-#include <gst/gst.h>
-#include <gnome.h>
-
-static void
-gst_play_have_type (GstElement *sink, GstElement *sink2, gpointer data)
-{
- GST_DEBUG (0,"GstPipeline: play have type %p\n", (gboolean *)data);
-
- *(gboolean *)data = TRUE;
-}
-
-gboolean
-idle_func (gpointer data)
-{
- return gst_bin_iterate (GST_BIN (data));
-}
-
-static GstCaps*
-gst_play_typefind (GstBin *bin, GstElement *element)
-{
- gboolean found = FALSE;
- GstElement *typefind;
- GstCaps *caps = NULL;
-
- GST_DEBUG (0,"GstPipeline: typefind for element \"%s\" %p\n",
- GST_ELEMENT_NAME(element), &found);
-
- typefind = gst_elementfactory_make ("typefind", "typefind");
- g_return_val_if_fail (typefind != NULL, FALSE);
-
- gtk_signal_connect (GTK_OBJECT (typefind), "have_type",
- GTK_SIGNAL_FUNC (gst_play_have_type), &found);
-
- gst_pad_connect (gst_element_get_pad (element, "src"),
- gst_element_get_pad (typefind, "sink"));
-
- gst_bin_add (bin, typefind);
-
- gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
-
- // push a buffer... the have_type signal handler will set the found flag
- gst_bin_iterate (bin);
-
- gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
-
- caps = gst_pad_get_caps (gst_element_get_pad (element, "src"));
-
- gst_pad_disconnect (gst_element_get_pad (element, "src"),
- gst_element_get_pad (typefind, "sink"));
- gst_bin_remove (bin, typefind);
-
- return caps;
-}
-
-static GstElement*
-get_video_encoder_bin (void)
-{
- GstElement *bin;
- GstElement *encoder, *queue, *colorspace, *videoscale;
-
- bin = gst_bin_new ("video_encoder_bin");
-
- colorspace = gst_elementfactory_make ("colorspace", "colorspace");
- g_assert (colorspace != NULL);
- videoscale = gst_elementfactory_make ("videoscale", "videoscale");
- g_assert (videoscale != NULL);
- gtk_object_set (GTK_OBJECT (videoscale), "width", 352, "height", 288, NULL);
- encoder = gst_elementfactory_make ("mpeg2enc", "video_encoder");
- g_assert (encoder != NULL);
- queue = gst_elementfactory_make ("queue", "video_encoder_queue");
- g_assert (queue != NULL);
-
- gst_bin_add (GST_BIN (bin), colorspace);
- gst_bin_add (GST_BIN (bin), videoscale);
- gst_bin_add (GST_BIN (bin), encoder);
- gst_bin_add (GST_BIN (bin), queue);
-
- gst_element_connect (colorspace, "src", videoscale, "sink");
- gst_element_connect (videoscale, "src", encoder, "sink");
- gst_element_connect (encoder, "src", queue, "sink");
-
- gst_element_add_ghost_pad (bin, gst_element_get_pad (colorspace, "sink"), "sink");
- gst_element_add_ghost_pad (bin, gst_element_get_pad (queue, "src"), "src");
-
- return bin;
-}
-
-static GstElement*
-get_audio_encoder_bin (void)
-{
- GstElement *bin;
- GstElement *encoder, *queue;
-
- bin = gst_bin_new ("audio_encoder_bin");
-
- encoder = gst_elementfactory_make ("mpegaudio", "audio_encoder");
- g_assert (encoder != NULL);
- queue = gst_elementfactory_make ("queue", "audio_encoder_queue");
- g_assert (queue != NULL);
-
- gst_bin_add (GST_BIN (bin), encoder);
- gst_bin_add (GST_BIN (bin), queue);
-
- gst_element_connect (encoder, "src", queue, "sink");
-
- gst_element_add_ghost_pad (bin, gst_element_get_pad (encoder, "sink"), "sink");
- gst_element_add_ghost_pad (bin, gst_element_get_pad (queue, "src"), "src");
-
- return bin;
-}
-
-int main(int argc,char *argv[])
-{
- GstElement *filesrc, *audio_enc, *video_enc;
- GstElement *muxthread_video, *muxer, *fdsink_video;
- GstElement *muxthread_audio, *fdsink_audio;
- GstElement *bin;
- GstCaps *srccaps;
- GstElement *new_element;
- GstAutoplug *autoplug;
- gint fd_video;
- gint fd_audio;
-
- g_thread_init(NULL);
- gst_init(&argc,&argv);
- gnome_init("autoplug","0.0.1", argc,argv);
-
- if (argc != 4) {
- g_print("usage: %s <in_filename> <out_video> <out_audio>\n", argv[0]);
- exit(-1);
- }
-
- /* create a new bin to hold the elements */
- bin = gst_pipeline_new("pipeline");
- g_assert(bin != NULL);
-
- /* create a disk reader */
- filesrc = gst_elementfactory_make("filesrc", "disk_source");
- g_assert(filesrc != NULL);
- gtk_object_set(GTK_OBJECT(filesrc),"location", argv[1],NULL);
-
- gst_bin_add (GST_BIN (bin), filesrc);
-
- srccaps = gst_play_typefind (GST_BIN (bin), filesrc);
-
- if (!srccaps) {
- g_print ("could not autoplug, unknown media type...\n");
- exit (-1);
- }
-
- audio_enc = get_audio_encoder_bin();
- video_enc = get_video_encoder_bin();
-
- autoplug = gst_autoplugfactory_make ("staticrender");
- g_assert (autoplug != NULL);
-
- new_element = gst_autoplug_to_renderers (autoplug,
- srccaps,
- video_enc,
- audio_enc,
- NULL);
-
- if (!new_element) {
- g_print ("could not autoplug, no suitable codecs found...\n");
- exit (-1);
- }
-
- gst_object_ref (GST_OBJECT (filesrc));
- gst_bin_remove (GST_BIN (bin), filesrc);
- gst_object_destroy (GST_OBJECT (bin));
-
- // FIXME hack, reparent the filesrc so the scheduler doesn't break
- bin = gst_pipeline_new("pipeline");
-
- gst_bin_add (GST_BIN (bin), filesrc);
- gst_bin_add (GST_BIN (bin), new_element);
-
- gst_element_connect (filesrc, "src", new_element, "sink");
-
- muxer = gst_elementfactory_make ("system_encode", "muxer");
- g_assert (muxer != NULL);
-
- if (gst_bin_get_by_name (GST_BIN (new_element), "video_encoder_bin")) {
- muxthread_video = gst_thread_new("thread_video");
-
- fdsink_video = gst_elementfactory_make ("fdsink", "fdsink_video");
- g_assert (fdsink_video != NULL);
- fd_video = open (argv[2], O_CREAT|O_RDWR|O_TRUNC);
- gtk_object_set (GTK_OBJECT (fdsink_video), "fd", fd_video, NULL);
-
- gst_element_connect (video_enc, "src", fdsink_video, "sink");
- gst_bin_add (GST_BIN (muxthread_video), fdsink_video);
-
- gst_bin_add (GST_BIN (bin), muxthread_video);
- }
-
- if (gst_bin_get_by_name (GST_BIN (new_element), "audio_encoder_bin")) {
- muxthread_audio = gst_thread_new("thread_audio");
-
- fdsink_audio = gst_elementfactory_make ("fdsink", "fdsink_audio");
- g_assert (fdsink_audio != NULL);
- fd_audio = open (argv[3], O_CREAT|O_RDWR|O_TRUNC);
- gtk_object_set (GTK_OBJECT (fdsink_audio), "fd", fd_audio, NULL);
-
- gst_element_connect (audio_enc, "src", fdsink_audio, "sink");
- gst_bin_add (GST_BIN (muxthread_audio), fdsink_audio);
-
- gst_bin_add (GST_BIN (bin), muxthread_audio);
- }
-
- //gtk_object_set (GTK_OBJECT (muxer), "video", "00", NULL);
- //gtk_object_set (GTK_OBJECT (muxer), "audio", "00", NULL);
-
- /* start playing */
- gst_element_set_state(GST_ELEMENT(bin), GST_STATE_PLAYING);
-
- gtk_idle_add(idle_func, bin);
-
- gst_main();
-
- /* stop the bin */
- gst_element_set_state(GST_ELEMENT(bin), GST_STATE_NULL);
-
- gst_pipeline_destroy(bin);
-
- exit(0);
-}
-
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-gboolean idle_func(gpointer data);
-
-GstElement *videosink;
-GstElement *videosink2;
-GstElement *src;
-
-int main(int argc,char *argv[]) {
- GstElement *bin;
- GstElement *tee;
- GstElementFactory *srcfactory;
- GstElementFactory *videosinkfactory;
-
- GtkWidget *appwindow;
- GtkWidget *appwindow2;
- GtkWidget *vbox1;
- GtkWidget *button;
- GtkWidget *draw;
- GtkWidget *draw2;
-
-
- //_gst_plugin_spew = TRUE;
- gst_init(&argc,&argv);
-
- gnome_init("Videotest","0.0.1",argc,argv);
-
- bin = gst_bin_new("bin");
-
- srcfactory = gst_elementfactory_find("v4lsrc");
- g_return_val_if_fail(srcfactory != NULL,-1);
- videosinkfactory = gst_elementfactory_find("videosink");
- g_return_val_if_fail(videosinkfactory != NULL,-1);
-
- src = gst_elementfactory_create(srcfactory,"src");
- gtk_object_set(GTK_OBJECT(src),"format",3,NULL);
- gtk_object_set(GTK_OBJECT(src),"width",320,"height",240,NULL);
-
- videosink = gst_elementfactory_create(videosinkfactory,"videosink");
- gtk_object_set(GTK_OBJECT(videosink),"xv_enabled",FALSE,NULL);
- gtk_object_set(GTK_OBJECT(videosink),"width",320,"height",240,NULL);
-
- videosink2 = gst_elementfactory_create(videosinkfactory,"videosink2");
- gtk_object_set(GTK_OBJECT(videosink2),"xv_enabled",FALSE,NULL);
- gtk_object_set(GTK_OBJECT(videosink2),"width",320,"height",240,NULL);
-
- tee = gst_elementfactory_make ("tee", "tee");
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(tee));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(videosink));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(videosink2));
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(tee,"sink"));
- gst_pad_connect(gst_element_request_pad_by_name (tee,"src%d"),
- gst_element_get_pad(videosink,"sink"));
- gst_pad_connect(gst_element_request_pad_by_name (tee,"src%d"),
- gst_element_get_pad(videosink2,"sink"));
-
- appwindow = gnome_app_new("Videotest","Videotest");
- appwindow2 = gnome_app_new("Videotest2","Videotest2");
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- button = gtk_button_new_with_label(_("test"));//_with_label (_("chup"));
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (vbox1), button, FALSE, FALSE, 0);
- //gtk_widget_set_usize (button, 50, 50);
- //gtk_widget_set_usize (button, 0, 0);
-
- draw = gst_util_get_pointer_arg(GTK_OBJECT(videosink),"widget"),
- gtk_box_pack_start (GTK_BOX (vbox1),
- draw,
- TRUE, TRUE, 0);
- gtk_widget_show (draw);
-
- draw2 = gst_util_get_pointer_arg(GTK_OBJECT(videosink2),"widget"),
- gtk_widget_show (draw2);
-
- gnome_app_set_contents(GNOME_APP(appwindow), vbox1);
-
- gnome_app_set_contents(GNOME_APP(appwindow2), draw2);
-
- gtk_object_set(GTK_OBJECT(appwindow),"allow_grow",TRUE,NULL);
- gtk_object_set(GTK_OBJECT(appwindow),"allow_shrink",TRUE,NULL);
-
- gtk_widget_show_all(appwindow);
- gtk_widget_show_all(appwindow2);
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- gtk_object_set(GTK_OBJECT(src),"bright",32000,"contrast", 32000,NULL);
-
- //gtk_object_set(GTK_OBJECT(src),"tune",133250,NULL);
- g_idle_add(idle_func,bin);
-
- gtk_main();
-
- return 0;
-}
-
-gboolean idle_func(gpointer data) {
- //static int i=0;
- //g_print("pushing %d\n",i++);
- gst_bin_iterate(GST_BIN(data));
- return TRUE;
-}
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-static gboolean
-idle_func (gpointer data)
-{
- gst_bin_iterate(GST_BIN(data));
-
- return TRUE;
-}
-
-int
-main (int argc,char *argv[])
-{
- GstElement *bin;
- GstElement *src;
- GstElement *videosink;
-
- GtkWidget *appwindow;
- GtkWidget *vbox1;
- GtkWidget *button;
- guint32 draw;
- GtkWidget *gtk_socket;
-
-
- gst_init(&argc,&argv);
-
- gnome_init("Videotest","0.0.1",argc,argv);
-
- bin = gst_pipeline_new("pipeline");
-
- src = gst_elementfactory_make ("v4lsrc", "src");
- gtk_object_set(GTK_OBJECT(src),"format",9,NULL);
- gtk_object_set(GTK_OBJECT(src),"width",320,"height",240,NULL);
- //gtk_object_set(GTK_OBJECT(src),"width",100,"height",100,NULL);
-
- videosink = gst_elementfactory_make ("xvideosink", "videosink");
- gtk_object_set(GTK_OBJECT(videosink),"width",320,"height",240,NULL);
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(videosink));
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(videosink,"sink"));
-
- appwindow = gnome_app_new("Videotest","Videotest");
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
-
- button = gtk_button_new_with_label(_("test"));//_with_label (_("chup"));
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (vbox1), button, FALSE, FALSE, 0);
-
- draw = gst_util_get_int_arg (GTK_OBJECT (videosink), "xid"),
-
- gtk_socket = gtk_socket_new ();
- gtk_widget_show (gtk_socket);
-
- gnome_app_set_contents(GNOME_APP(appwindow), vbox1);
-
- gtk_box_pack_start (GTK_BOX (vbox1),
- GTK_WIDGET(gtk_socket),
- TRUE, TRUE, 0);
-
- gtk_widget_realize (gtk_socket);
- gtk_socket_steal (GTK_SOCKET (gtk_socket), draw);
-
- gtk_object_set(GTK_OBJECT(appwindow),"allow_grow",TRUE,NULL);
- gtk_object_set(GTK_OBJECT(appwindow),"allow_shrink",TRUE,NULL);
-
- gtk_widget_show_all(appwindow);
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- gtk_object_set(GTK_OBJECT(src),"bright",32000,"contrast", 32000,NULL);
-
- //gtk_object_set(GTK_OBJECT(src),"tune",133250,NULL);
- g_idle_add(idle_func,bin);
-
- gtk_main();
-
- exit (0);
-}
-
+++ /dev/null
-#include <gnome.h>
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-gboolean idle_func(gpointer data);
-
-GtkWidget *drawingarea;
-
-int main(int argc,char *argv[]) {
- GstElement *bin;
- GstElementFactory *srcfactory;
- GstElement *src;
- GstElementFactory *wavefactory;
- GstElement *wave;
-
- GtkWidget *appwindow;
-
- _gst_plugin_spew = TRUE;
-
- gst_init(&argc,&argv);
- gst_plugin_load("libsmoothwave.so");
- gnome_init("Wave","0.0.1",argc,argv);
-
- bin = gst_bin_new("bin");
-
- srcfactory = gst_elementfactory_find("audiosrc");
- g_return_val_if_fail(srcfactory != NULL, -1);
- wavefactory = gst_elementfactory_find("smoothwave");
- g_return_val_if_fail(wavefactory != NULL, -1);
-
- src = gst_elementfactory_create(srcfactory,"src");
- gtk_object_set(GTK_OBJECT(src),"bytes_per_read",(gulong)2048,NULL);
- wave = gst_elementfactory_create(wavefactory,"wave");
- gtk_object_set(GTK_OBJECT(wave),"width",256,"height",100,NULL);
-
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(wave));
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(wave,"sink"));
-
- appwindow = gnome_app_new("wave","Wave");
- gnome_app_set_contents(GNOME_APP(appwindow),gst_util_get_pointer_arg(GTK_OBJECT(wave),"widget"));
- gtk_widget_show_all(appwindow);
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_READY);
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- g_idle_add(idle_func,bin);
-
- gtk_main();
-
- return 0;
-}
-
-gboolean idle_func(gpointer data) {
- gst_bin_iterate(GST_BIN(data));
- return TRUE;
-}
+++ /dev/null
-#include <gst/gst.h>
-
-extern gboolean _gst_plugin_spew;
-
-gboolean idle_func(gpointer data);
-
-GstElement *src;
-
-int
-main (int argc,char *argv[])
-{
- GstElement *bin;
- GstElement *effect;
- GstElement *osssink;
-
- gst_init(&argc,&argv);
-
- bin = gst_bin_new("bin");
-
- src = gst_elementfactory_make("XMMS_INPUT_mpeg_layer_1/2/3_player_1.2.4", "xmms_plugin");
- //src = gst_elementfactory_make("XMMS_INPUT_oggvorbis_player_0.1", "xmms_plugin");
- //src = gst_elementfactory_make("XMMS_INPUT_mikmod_player_1.2.4", "xmms_plugin");
- //src = gst_elementfactory_make("XMMS_INPUT_tone_generator_1.2.4", "xmms_plugin");
- g_return_val_if_fail(src != NULL, -1);
-
- //effect = gst_elementfactory_make("XMMS_EFFECT_voice_removal_plugin_1.2.4", "xmms_effect");
- effect = gst_elementfactory_make("XMMS_EFFECT_extra_stereo_plugin_1.2.4", "xmms_effect");
- //effect = gst_elementfactory_make("XMMS_EFFECT_echo_plugin_1.2.4", "xmms_effect");
- g_return_val_if_fail(effect != NULL, -1);
-
- g_object_set (G_OBJECT (src), "location", argv[1], NULL);
- //gtk_object_set (G_OBJECT (src), "filename", "tone://1000", NULL);
-
- g_print ("Song Info (text:length): %s\n",gst_util_get_string_arg (G_OBJECT (src), "song_info"));
- //gtk_object_set (G_OBJECT (src), "show_about", TRUE, NULL);
- //gtk_object_set (G_OBJECT (src), "configure", TRUE, NULL);
- //gtk_object_set (G_OBJECT (src), "show_file_info", TRUE, NULL);
-
- osssink = gst_elementfactory_make("osssink", "osssink");
- g_return_val_if_fail(osssink != NULL, -1);
-
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(effect));
- gst_bin_add(GST_BIN(bin),GST_ELEMENT(osssink));
-
- gst_pad_connect(gst_element_get_pad(src,"src"),
- gst_element_get_pad(effect,"sink"));
- gst_pad_connect(gst_element_get_pad(effect,"src"),
- gst_element_get_pad(osssink,"sink"));
-
- gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
-
- g_idle_add(idle_func, bin);
-
- //gtk_main();
-
- return 0;
-}
-
-gboolean
-idle_func (gpointer data)
-{
- gst_bin_iterate(GST_BIN(data));
-
- return TRUE;
-}