[gst-devel] mpeg2parse3
vishnu at pobox.com
vishnu at pobox.com
Fri Sep 14 15:44:01 CEST 2001
Here are the changes for mpeg2parse3.c which i needed to build with
gtk-1.3.x (and without gnome). Enjoy!
--
Victory to the Divine Mother!!
http://sahajayoga.org
-------------- next part --------------
--- /home/joshua/gst/gstreamer/test/mpeg2parse3.c Fri Sep 14 15:42:15 2001
+++ mpeg2parse3.c Fri Sep 14 15:34:54 2001
@@ -1,4 +1,6 @@
-#include <gnome.h>
+#include <string.h>
+#include <stdlib.h>
+#include <gtk/gtk.h>
#include <gst/gst.h>
GstPipeline *pipeline;
@@ -29,6 +31,8 @@ void mpeg2parse_newpad(GstElement *parse
gst_bin_add(GST_BIN(pipeline),a_thread);
gst_element_set_state(a_thread,GST_STATE_PLAYING);
}
+ else
+ g_warning ("new-pad %s", gst_pad_get_name(pad));
}
void mpeg2parse_have_size(GstElement *videosink,gint width,gint height) {
@@ -44,26 +48,26 @@ int main(int argc,char *argv[]) {
g_print("have %d args\n",argc);
gst_init(&argc,&argv);
- gnome_init("MPEG2 Video player","0.0.1",argc,argv);
+ gtk_init (&argc, &argv);
// ***** construct the main pipeline *****
pipeline = GST_PIPELINE(gst_pipeline_new("pipeline"));
g_return_val_if_fail(pipeline != NULL, -1);
- if (strstr(argv[1],"video_ts")) {
+ char *filename = argv[1];
+ if (!filename)
+ filename = "/opt/vast/cache/gwh.vob";
+
+ if (strstr(filename, "video_ts")) {
src = gst_elementfactory_make("dvdsrc","src");
g_print("using DVD source\n");
} else {
- src = gst_elementfactory_make("disksrc","src");
+ src = gst_elementfactory_make("filesrc","src");
}
g_return_val_if_fail(src != NULL, -1);
- gtk_object_set(GTK_OBJECT(src),"location",argv[1],NULL);
- if (argc >= 3) {
- gtk_object_set(GTK_OBJECT(src),"bytesperread",atoi(argv[2]),NULL);
- g_print("block size is %d\n",atoi(argv[2]));
- }
- g_print("should be using file '%s'\n",argv[1]);
+ g_object_set(G_OBJECT(src),"location",filename,NULL);
+ g_print("should be using file '%s'\n",filename);
parse = gst_elementfactory_make("mpeg2parse","parse");
//parse = gst_elementfactory_make("mpeg1parse","parse");
@@ -123,21 +127,23 @@ int main(int argc,char *argv[]) {
// ***** construct the GUI *****
- appwindow = gnome_app_new("MPEG player","MPEG player");
+ appwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_socket = gtk_socket_new ();
gtk_widget_show (gtk_socket);
- gnome_app_set_contents(GNOME_APP(appwindow),
- GTK_WIDGET(gtk_socket));
+ gtk_container_add (GTK_CONTAINER (appwindow), gtk_socket);
gtk_widget_realize (gtk_socket);
gtk_socket_steal (GTK_SOCKET (gtk_socket),
- gst_util_get_int_arg (GTK_OBJECT(show), "xid"));
+ gst_util_get_int_arg (G_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_signal_connect (G_OBJECT(parse),"new_pad",
+ G_CALLBACK (mpeg2parse_newpad), pipeline);
+ g_signal_connect (G_OBJECT(src),"eos",
+ G_CALLBACK (eof), NULL);
+ g_signal_connect (G_OBJECT(show),"have_size",
+ G_CALLBACK (mpeg2parse_have_size), NULL);
g_print("setting to PLAYING state\n");
gst_element_set_state(GST_ELEMENT(pipeline),GST_STATE_PLAYING);
More information about the gstreamer-devel
mailing list