diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/smoothwave/demo-osssrc.c | 26 | ||||
-rw-r--r-- | ext/smoothwave/gstsmoothwave.c | 26 |
2 files changed, 28 insertions, 24 deletions
diff --git a/ext/smoothwave/demo-osssrc.c b/ext/smoothwave/demo-osssrc.c index 4807a3a4..457900d7 100644 --- a/ext/smoothwave/demo-osssrc.c +++ b/ext/smoothwave/demo-osssrc.c @@ -1,4 +1,4 @@ -#include <gnome.h> +#include <gtk/gtk.h> #include <gst/gst.h> extern gboolean _gst_plugin_spew; @@ -13,36 +13,35 @@ int main(int argc,char *argv[]) { GstElement *src; GstElementFactory *wavefactory; GstElement *wave; - + GtkWidget *wave_widget; GtkWidget *appwindow; - _gst_plugin_spew = TRUE; - gst_init(&argc,&argv); gst_plugin_load("libsmoothwave.so"); - gnome_init("Wave","0.0.1",argc,argv); + gtk_init(&argc,&argv); - bin = gst_bin_new("bin"); + bin = gst_pipeline_new("bin"); - srcfactory = gst_element_factory_find("audiosrc"); + srcfactory = gst_element_factory_find("sinesrc"); g_return_val_if_fail(srcfactory != NULL, -1); wavefactory = gst_element_factory_find("smoothwave"); g_return_val_if_fail(wavefactory != NULL, -1); src = gst_element_factory_create(srcfactory,"src"); - gtk_object_set(GTK_OBJECT(src),"bytes_per_read",(gulong)2048,NULL); + //g_object_set(G_OBJECT(src),"bytes_per_read",(gulong)2048,NULL); wave = gst_element_factory_create(wavefactory,"wave"); - gtk_object_set(GTK_OBJECT(wave),"width",256,"height",100,NULL); + g_object_set(G_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_pad_link(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")); + appwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); + g_object_get(G_OBJECT(wave),"widget",&wave_widget,NULL); + gtk_container_add(GTK_CONTAINER(appwindow), wave_widget); gtk_widget_show_all(appwindow); gst_element_set_state(GST_ELEMENT(bin),GST_STATE_READY); @@ -55,7 +54,8 @@ int main(int argc,char *argv[]) { return 0; } -gboolean idle_func(gpointer data) { +gboolean idle_func(gpointer data) +{ gst_bin_iterate(GST_BIN(data)); return TRUE; } diff --git a/ext/smoothwave/gstsmoothwave.c b/ext/smoothwave/gstsmoothwave.c index e6a55fcd..6b96dd9e 100644 --- a/ext/smoothwave/gstsmoothwave.c +++ b/ext/smoothwave/gstsmoothwave.c @@ -162,14 +162,16 @@ gst_smoothwave_chain (GstPad *pad, GstBuffer *buf) smoothwave = GST_SMOOTHWAVE(GST_OBJECT_PARENT (pad)); /* first deal with audio metadata */ -/* if (buf->meta) { */ -/* if (smoothwave->meta != NULL) { */ -/* /* FIXME: need to unref the old metadata so it goes away */ */ -/* } */ -/* /* we just make a copy of the pointer */ */ -/* smoothwave->meta = (MetaAudioRaw *)(buf->meta); */ -/* /* FIXME: now we have to ref the metadata so it doesn't go away */ */ -/* } */ +#if 0 + if (buf->meta) { + if (smoothwave->meta != NULL) { + /* FIXME: need to unref the old metadata so it goes away */ + } + /* we just make a copy of the pointer */ + smoothwave->meta = (MetaAudioRaw *)(buf->meta); + /* FIXME: now we have to ref the metadata so it doesn't go away */ + } +#endif /* g_return_if_fail(smoothwave->meta != NULL); */ @@ -192,10 +194,12 @@ gst_smoothwave_chain (GstPad *pad, GstBuffer *buf) ptr = (guint32 *)smoothwave->imagebuffer; for (i=0;i<(smoothwave->width*smoothwave->height)/4;i++) { - if (*ptr) - *(ptr++) -= ((*ptr & 0xf0f0f0f0ul) >> 4) + ((*ptr & 0xe0e0e0e0ul) >> 5); - else + if (*ptr){ + *ptr -= ((*ptr & 0xf0f0f0f0ul) >> 4) + ((*ptr & 0xe0e0e0e0ul) >> 5); ptr++; + }else{ + ptr++; + } } /* GST_DEBUG ("drawing"); */ |