Hi all,
I'm trying to make a small video player with Gstreamer and Gtk. I've seen the blog post on http://tristanswork.blogspot.com/2008/09/fullscreen-video-in-gstreamer-with-gtk.html and it helped me a lot. But I need to show real videos, and after I did read the Gstreamer documentation, I figured out that I should use Playbin to display the videos the simpler way. I modified the example I found on the blog to use Playbin instead of a handmade pipeline. When I run the application I have made, it only displays the Gtk window, without the video that should be on it. No output, no error. The code is as below: #include <stdio.h> #include <stdlib.h> #include <gst/gst.h> #include <gtk/gtk.h> #include <gst/interfaces/xoverlay.h> #include <gdk/gdk.h> #include <gdk/gdkx.h> static gboolean expose_callback(GtkWidget *widget, GdkEventExpose *event, gpointer data){ gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(data), GDK_WINDOW_XWINDOW(widget->window)); return TRUE; } int main(int argc, char** argv) { GstStateChangeReturn ret; GMainLoop *loop; GstElement *play, *sink; GtkWidget *window; /* init GStreamer */ gst_init (&argc, &argv); gtk_init (&argc, &argv); loop = g_main_loop_new (NULL, FALSE); /* set up */ play = gst_element_factory_make ("playbin", "play"); sink = gst_element_factory_make("xvimagesink", "videosink"); if (!sink) g_print ("output could not be found - check your install\n"); g_object_set (G_OBJECT (play), "video-sink", sink, NULL); g_object_set (G_OBJECT (play), "uri", "file:///home/jp/SpiritOfUbuntu.ogv", NULL); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(window), "expose-event", G_CALLBACK(expose_callback), sink); gtk_widget_show_all(window); gst_element_set_state (play, GST_STATE_PLAYING); if (ret == GST_STATE_CHANGE_FAILURE) { g_print ("Failed to start up pipeline!\n"); } /* now run */ g_main_loop_run (loop); /* also clean up */ gst_element_set_state (play, GST_STATE_NULL); gst_object_unref (GST_OBJECT (play)); return (EXIT_SUCCESS); } Any help will be very apreciated. Thanks a lot, Joao Paulo ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |