rygel r363 - trunk/src/rygel
- From: zeeshanak svn gnome org
- To: svn-commits-list gnome org
- Subject: rygel r363 - trunk/src/rygel
- Date: Thu, 25 Dec 2008 11:59:10 +0000 (UTC)
Author: zeeshanak
Date: Thu Dec 25 11:59:10 2008
New Revision: 363
URL: http://svn.gnome.org/viewvc/rygel?rev=363&view=rev
Log:
Handle important messages on the pipeline bus.
Modified:
trunk/src/rygel/rygel-gst-stream.vala
Modified: trunk/src/rygel/rygel-gst-stream.vala
==============================================================================
--- trunk/src/rygel/rygel-gst-stream.vala (original)
+++ trunk/src/rygel/rygel-gst-stream.vala Thu Dec 25 11:59:10 2008
@@ -62,6 +62,10 @@
this.add_many (src, sink);
src.link (sink);
+
+ // Bus handler
+ var bus = this.get_bus ();
+ bus.add_watch (bus_handler);
}
private void on_new_buffer (Element sink,
@@ -80,5 +84,33 @@
return false;
}
+
+ private bool bus_handler (Gst.Bus bus,
+ Gst.Message message) {
+ bool ret = true;
+
+ if (message.type == MessageType.EOS) {
+ ret = false;
+ } else {
+ GLib.Error err;
+ string err_msg;
+
+ if (message.type == MessageType.ERROR) {
+ message.parse_error (out err, out err_msg);
+ critical ("Error from pipeline %s:%s", this.name, err_msg);
+
+ ret = false;
+ } else if (message.type == MessageType.WARNING) {
+ message.parse_warning (out err, out err_msg);
+ warning ("Warning from pipeline %s:%s", this.name, err_msg);
+ }
+ }
+
+ if (!ret) {
+ this.stream.end ();
+ }
+
+ return ret;
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]