gnomemm r1279 - in gstreamermm/trunk: . examples/ogg_player_gtkmm gst/src



Author: jaalburqu
Date: Thu Jan 10 18:24:18 2008
New Revision: 1279
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1279&view=rev

Log:
2008-01-10  Josà Alburquerque  <jaalburqu svn gnome org>

	* examples/ogg_player_gtkmm/PlayerWindow.cc: modified to use
	Gst::Query in PlayerWindow::on_forward() callback
	* gst/src/query.ccg:
	* gst/src/query.hg: added a Gst::QueryConvert::parse(dest_format,
	dest_value) method

Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/examples/ogg_player_gtkmm/PlayerWindow.cc
   gstreamermm/trunk/gst/src/query.ccg
   gstreamermm/trunk/gst/src/query.hg

Modified: gstreamermm/trunk/examples/ogg_player_gtkmm/PlayerWindow.cc
==============================================================================
--- gstreamermm/trunk/examples/ogg_player_gtkmm/PlayerWindow.cc	(original)
+++ gstreamermm/trunk/examples/ogg_player_gtkmm/PlayerWindow.cc	Thu Jan 10 18:24:18 2008
@@ -23,6 +23,7 @@
 #include <gstmm/clock.h>
 #include <gstmm/event.h>
 #include <gstmm/message.h>
+#include <gstmm/query.h>
 #include <iostream>
 #include <sstream>
 #include <iomanip>
@@ -226,8 +227,16 @@
     gint64 pos;
     Gst::Format fmt = Gst::FORMAT_TIME;
 
-    if (mainPipeline->query_position(fmt, pos))
+    Glib::RefPtr<Gst::Query> query =
+            Gst::QueryPosition::create(fmt);
+
+    Glib::RefPtr<Gst::QueryPosition> posQuery =
+        Glib::RefPtr<Gst::QueryPosition>::cast_dynamic(query);
+
+    if (mainPipeline->query(posQuery))
     {
+        posQuery->parse(fmt, pos);
+
         gint64 newPos = ((pos + skipAmount) < duration) ? (pos + skipAmount) :
             duration;
 

Modified: gstreamermm/trunk/gst/src/query.ccg
==============================================================================
--- gstreamermm/trunk/gst/src/query.ccg	(original)
+++ gstreamermm/trunk/gst/src/query.ccg	Thu Jan 10 18:24:18 2008
@@ -40,6 +40,11 @@
   gst_query_set_convert(gobj(), GstFormat(src_format), src_value, GstFormat(dest_format), dest_value);
 }
 
+void QueryConvert::parse(Format& dest_format, gint64& dest_value)
+{
+  gst_query_parse_convert(gobj(), NULL, NULL, (GstFormat*)(&dest_format), &dest_value);
+}
+
 void QueryConvert::parse(Format& src_format, gint64& src_value, Format& dest_format, gint64& dest_value)
 {
   gst_query_parse_convert(gobj(), (GstFormat*)(&src_format), &src_value, (GstFormat*)(&dest_format), &dest_value);

Modified: gstreamermm/trunk/gst/src/query.hg
==============================================================================
--- gstreamermm/trunk/gst/src/query.hg	(original)
+++ gstreamermm/trunk/gst/src/query.hg	Thu Jan 10 18:24:18 2008
@@ -50,6 +50,7 @@
 
   static Glib::RefPtr<Query> create(Format src_format, gint64 value, Format dest_format);
   void set(Format src_format, gint64 src_value, Format dest_format, gint64 dest_value);
+  void parse(Format& dest_format, gint64& dest_value);
   void parse(Format& src_format, gint64& src_value, Format& dest_format, gint64& dest_value);
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]