[rygel] media-export: Port old bugfix
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] media-export: Port old bugfix
- Date: Sun, 26 Jun 2016 21:25:12 +0000 (UTC)
commit 88addb96b144a4fe7ce591ba12fed1ff61b83394
Author: Jens Georg <mail jensge org>
Date: Sun Jun 26 22:42:05 2016 +0200
media-export: Port old bugfix
Transform the date to something accepted by DLNA.
Signed-off-by: Jens Georg <mail jensge org>
.../media-export/rygel-media-export-extractor.vala | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/src/plugins/media-export/rygel-media-export-extractor.vala
b/src/plugins/media-export/rygel-media-export-extractor.vala
index b0ed62c..012e274 100644
--- a/src/plugins/media-export/rygel-media-export-extractor.vala
+++ b/src/plugins/media-export/rygel-media-export-extractor.vala
@@ -103,6 +103,10 @@ public class Rygel.MediaExport.Extractor : Object {
var mtime = file_info.get_attribute_uint64
(FileAttribute.TIME_MODIFIED);
this.serialized_info.insert (Serializer.MODIFIED, "t", mtime);
+
+ TimeVal tv = { (long) mtime, 0 };
+ this.serialized_info.insert (Serializer.DATE, "s", tv.to_iso8601 ());
+
var content_type = ContentType.get_mime_type
(file_info.get_content_type ());
this.serialized_info.insert (Serializer.MIME_TYPE, "s", content_type);
@@ -110,11 +114,21 @@ public class Rygel.MediaExport.Extractor : Object {
var id = Checksum.compute_for_string (ChecksumType.MD5,
file.get_uri ());
this.serialized_info.insert (Serializer.ID, "s", id);
- this.serialized_info.insert (Serializer.URI, "s",
- file.get_uri ());
+ this.serialized_info.insert (Serializer.URI, "s", file.get_uri ());
}
public new Variant? @get () {
+ // If the date has a timezone offset, make sure it contains a
+ // colon bgo#702231, DLNA 7.3.21.1
+ var date = this.serialized_info.lookup_value (Serializer.DATE,
+ VariantType.STRING);
+ if ("T" in date.get_string ()) {
+ var fixed_date = new Soup.Date.from_string (date.get_string ());
+ var new_date = fixed_date.to_string (Soup.DateFormat.ISO8601_FULL);
+
+ this.serialized_info.insert (Serializer.DATE, "s", new_date);
+ }
+
return this.serialized_info.end ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]