diff options
author | Andy Wingo <wingo@pobox.com> | 2002-01-04 21:53:21 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2002-01-04 21:53:21 +0000 |
commit | d16d24c9b227ea2ccb7d90070b2b4587efcaabab (patch) | |
tree | 5f06a9f794383ee7033d391954c8830816ff6c54 /gst/smoothwave/demo-osssrc.c | |
parent | 684fe6b617b1dbd5ca3c5ba5392e4542d124c86a (diff) | |
download | gst-plugins-bad-d16d24c9b227ea2ccb7d90070b2b4587efcaabab.tar.gz gst-plugins-bad-d16d24c9b227ea2ccb7d90070b2b4587efcaabab.tar.bz2 gst-plugins-bad-d16d24c9b227ea2ccb7d90070b2b4587efcaabab.zip |
wave.c -> demo-osssrc.c this is probably broken, but then so is smoothwave
Original commit message from CVS:
wave.c -> demo-osssrc.c
this is probably broken, but then so is smoothwave
Diffstat (limited to 'gst/smoothwave/demo-osssrc.c')
-rw-r--r-- | gst/smoothwave/demo-osssrc.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gst/smoothwave/demo-osssrc.c b/gst/smoothwave/demo-osssrc.c new file mode 100644 index 00000000..6f5ee57a --- /dev/null +++ b/gst/smoothwave/demo-osssrc.c @@ -0,0 +1,61 @@ +#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; +} |