protected string source_protocol_info {
owned get {
- var protocol_info = "http-get:*:*:*";
- TranscodeManager tm = get_transcode_manager ();
-
- if (tm != null) {
- protocol_info += tm.get_protocol_info ();
- }
-
- return protocol_info;
+ return this.get_http_server ().get_protocol_info ();
}
}
action.return ();
}
- private TranscodeManager? get_transcode_manager () {
- TranscodeManager manager = null;
+ private HTTPServer get_http_server () {
+ HTTPServer server = null;
var root_device = (Rygel.RootDevice) this.root_device;
foreach (var service in root_device.services) {
if (service.get_type().is_a (typeof (Rygel.ContentDirectory))) {
var content_directory = (Rygel.ContentDirectory) service;
- manager = (TranscodeManager) content_directory.http_server;
+ server = content_directory.http_server;
}
}
- return manager;
+ return server;
}
}
return create_uri_for_path (query);
}
+ internal override string get_protocol_info () {
+ var protocol_info = "http-get:*:*:*";
+ var base_info = base.get_protocol_info ();
+
+ if (base_info != "")
+ protocol_info += "," + base_info;
+
+ return protocol_info;
+ }
+
private void on_request_completed (HTTPRequest request) {
/* Remove the request from our list. */
this.requests.remove (request);
return transcoder;
}
- public string get_protocol_info () {
+ internal virtual string get_protocol_info () {
string protocol_info = "";
foreach (var transcoder in this.transcoders) {
- protocol_info += ",http-get:*:" + transcoder.mime_type +
+ if (protocol_info != "") // No comma before the first one
+ protocol_info += ",";
+
+ protocol_info += "http-get:*:" + transcoder.mime_type +
":DLNA.ORG_PN=" + transcoder.dlna_profile;
}