[rygel] renderer: Improve mime-type comparing
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] renderer: Improve mime-type comparing
- Date: Sat, 13 Apr 2013 12:06:54 +0000 (UTC)
commit 64f65d14514405758f8613ded9957a737455a2dc
Author: Jens Georg <jensg openismus com>
Date: Sat Mar 16 19:26:43 2013 +0100
renderer: Improve mime-type comparing
https://bugzilla.gnome.org/show_bug.cgi?id=694814
src/librygel-renderer-gst/rygel-playbin-player.vala | 5 -----
src/librygel-renderer/rygel-av-transport.vala | 15 ++++++++++++---
src/librygel-renderer/rygel-media-player.vala | 1 +
3 files changed, 13 insertions(+), 8 deletions(-)
---
diff --git a/src/librygel-renderer-gst/rygel-playbin-player.vala
b/src/librygel-renderer-gst/rygel-playbin-player.vala
index f33158e..cbe5427 100644
--- a/src/librygel-renderer-gst/rygel-playbin-player.vala
+++ b/src/librygel-renderer-gst/rygel-playbin-player.vala
@@ -56,11 +56,6 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer {
"audio/x-wav",
"audio/x-ac3",
"audio/x-m4a",
- "audio/L16;rate=44100;channels=2",
- "audio/L16;rate=44100;channels=1",
- "audio/L16;channels=2;rate=44100",
- "audio/L16;channels=1;rate=44100",
- "audio/L16;rate=44100",
"audio/l16;rate=44100;channels=2",
"audio/l16;rate=44100;channels=1",
"audio/l16;channels=2;rate=44100",
diff --git a/src/librygel-renderer/rygel-av-transport.vala b/src/librygel-renderer/rygel-av-transport.vala
index 0c843de..4305469 100644
--- a/src/librygel-renderer/rygel-av-transport.vala
+++ b/src/librygel-renderer/rygel-av-transport.vala
@@ -275,9 +275,8 @@ internal class Rygel.AVTransport : Service {
var features = msg.response_headers.get_one
("contentFeatures.dlna.org");
- if (mime != null &&
- !(mime in this.player.get_mime_types () ||
- this.is_playlist (mime, features))) {
+ if (!this.is_valid_mime_type (mime) &&
+ !this.is_playlist (mime, features)) {
action.return_error (714, _("Illegal MIME-type"));
return;
@@ -324,6 +323,16 @@ internal class Rygel.AVTransport : Service {
}
}
+ private bool is_valid_mime_type (string? mime) {
+ if (mime == null) {
+ return false;
+ }
+
+ var normalized = mime.down ().replace (" ", "");
+
+ return normalized in this.player.get_mime_types ();
+ }
+
private void get_media_info_cb (Service service,
ServiceAction action) {
if (!this.check_instance_id (action)) {
diff --git a/src/librygel-renderer/rygel-media-player.vala b/src/librygel-renderer/rygel-media-player.vala
index 68d54a2..feb2e73 100644
--- a/src/librygel-renderer/rygel-media-player.vala
+++ b/src/librygel-renderer/rygel-media-player.vala
@@ -101,5 +101,6 @@ public interface Rygel.MediaPlayer : GLib.Object {
public abstract string[] get_protocols ();
/// Return the MIME types supported by this renderer.
+ /// The mime types in this list should be all lowercase.
public abstract string[] get_mime_types ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]