rygel r398 - trunk/src/rygel
- From: zeeshanak svn gnome org
- To: svn-commits-list gnome org
- Subject: rygel r398 - trunk/src/rygel
- Date: Thu, 25 Dec 2008 12:02:21 +0000 (UTC)
Author: zeeshanak
Date: Thu Dec 25 12:02:21 2008
New Revision: 398
URL: http://svn.gnome.org/viewvc/rygel?rev=398&view=rev
Log:
Streamer properly handles interactive contents.
Currently just images.
Modified:
trunk/src/rygel/rygel-streamer.vala
Modified: trunk/src/rygel/rygel-streamer.vala
==============================================================================
--- trunk/src/rygel/rygel-streamer.vala (original)
+++ trunk/src/rygel/rygel-streamer.vala Thu Dec 25 12:02:21 2008
@@ -137,7 +137,11 @@
return;
}
- this.handle_streaming_item (msg, item);
+ if (item.upnp_class == MediaItem.IMAGE_CLASS) {
+ this.handle_interactive_item (msg, item);
+ } else {
+ this.handle_streaming_item (msg, item);
+ }
}
private void handle_path_request (Soup.Message msg,
@@ -195,5 +199,33 @@
error.message);
}
}
+
+ private void handle_interactive_item (Soup.Message msg,
+ MediaItem item) {
+ string uri = item.res.uri;
+
+ File file = File.new_for_uri (uri);
+
+ unowned string contents;
+ unowned string etag_out;
+ size_t length;
+ try {
+ file.load_contents (null,
+ out contents,
+ out length,
+ out etag_out);
+ } catch (Error error) {
+ warning ("Failed to load contents from URI: %s: %s\n",
+ uri,
+ error.message);
+ msg.set_status (Soup.KnownStatusCode.NOT_FOUND);
+ return;
+ }
+
+ msg.set_status (Soup.KnownStatusCode.OK);
+ msg.response_body.append (Soup.MemoryUse.COPY,
+ contents,
+ length);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]