Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rygel for openSUSE:Factory checked in at 2023-04-03 17:46:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rygel (Old) and /work/SRC/openSUSE:Factory/.rygel.new.9019 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rygel" Mon Apr 3 17:46:26 2023 rev:91 rq:1076880 version:0.42.2 Changes: -------- --- /work/SRC/openSUSE:Factory/rygel/rygel.changes 2023-02-14 16:46:13.446726657 +0100 +++ /work/SRC/openSUSE:Factory/.rygel.new.9019/rygel.changes 2023-04-03 17:46:29.922684787 +0200 @@ -1,0 +2,11 @@ +Sat Apr 1 13:45:40 UTC 2023 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 0.42.2: + + Server: + - Fix issue with urls having "." in them + - Export disc numbers + + Tracker3: Export disc numbers + + MediaExport: Export disc numbers + + Updated translations. + +------------------------------------------------------------------- Old: ---- rygel-0.42.1.tar.xz New: ---- rygel-0.42.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rygel.spec ++++++ --- /var/tmp/diff_new_pack.rS7e0L/_old 2023-04-03 17:46:30.771041572 +0200 +++ /var/tmp/diff_new_pack.rS7e0L/_new 2023-04-03 17:46:30.795165461 +0200 @@ -21,7 +21,7 @@ %define typelibver 2_8 Name: rygel -Version: 0.42.1 +Version: 0.42.2 Release: 0 Summary: UPnP/DLNA home media server for GNOME License: LGPL-2.0-or-later ++++++ rygel-0.42.1.tar.xz -> rygel-0.42.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/NEWS new/rygel-0.42.2/NEWS --- old/rygel-0.42.1/NEWS 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/NEWS 2023-03-19 11:15:08.000000000 +0100 @@ -1,3 +1,30 @@ +0.42.2 (stable) +=============== + +Server + - Fix issue with urls having "." in them + - Export disc numbers + +Tracker3 + - Export disc numbers + +MediaExport + - Export disc numbers + +All + - Translation updates + +Bugs fixed in this release: + - https://gitlab.gnome.org/GNOME/rygel/issues/225 + - https://gitlab.gnome.org/GNOME/rygel/issues/223 + +All contributors to this release: + - Jens Georg <m...@jensge.org> + - Sabri Ãnal <libreaj...@gmail.com> + +Added/updated translations: + - tr.po, courtesy of Sabri Ãnal + 0.42.1 (stable) =============== - Fix incomplete API/ABI switch to 2.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/data/rygel.conf new/rygel-0.42.2/data/rygel.conf --- old/rygel-0.42.1/data/rygel.conf 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/data/rygel.conf 2023-03-19 11:15:08.000000000 +0100 @@ -63,6 +63,10 @@ # found. Default is to true which will allow any peer to access anything. acl-fallback-policy=true +# If set to true, Rygel will disable various features that improve compatibility +# with many clients, but break standard conformance +strict-dlna=false + # Plugin specific sections # # Some options are generic and some are specific to each plugin. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/doc/man/rygel.conf.xml new/rygel-0.42.2/doc/man/rygel.conf.xml --- old/rygel-0.42.1/doc/man/rygel.conf.xml 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/doc/man/rygel.conf.xml 2023-03-19 11:15:08.000000000 +0100 @@ -234,6 +234,14 @@ <para>This is the default policy that is used if no access control provider is found on the D-Bus. Use <userinput>true</userinput> to allow access from every peer, <userinput>false</userinput> to deny all access. If it is not specified, the default fall-back policy is <userinput>true</userinput>.</para> </listitem> </varlistentry> + <varlistentry> + <term> + <option>strict-dlna</option> + </term> + <listitem> + <para>Disabled by default. Use <userinput>true</userinput> to disable a set of features that improve compatibility with many clients, but break standard conformance</para> + </listitem> + </varlistentry> </variablelist> </refsect1> <refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/meson.build new/rygel-0.42.2/meson.build --- old/rygel-0.42.1/meson.build 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/meson.build 2023-03-19 11:15:08.000000000 +0100 @@ -1,4 +1,4 @@ -project('rygel', 'vala', 'c', version : '0.42.1', meson_version : '>= 0.58.0') +project('rygel', 'vala', 'c', version : '0.42.2', meson_version : '>= 0.58.0') vala = meson.get_compiler('vala') # Check for the required vala version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/po/tr.po new/rygel-0.42.2/po/tr.po --- old/rygel-0.42.1/po/tr.po 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/po/tr.po 2023-03-19 11:15:08.000000000 +0100 @@ -12,16 +12,16 @@ msgstr "" "Project-Id-Version: rygel gnome-2-32\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/rygel/issues\n" -"POT-Creation-Date: 2022-09-12 11:46+0000\n" -"PO-Revision-Date: 2022-07-23 01:18+0300\n" -"Last-Translator: Emin Tufan Ãetin <etce...@gmail.com>\n" +"POT-Creation-Date: 2023-02-22 12:00+0000\n" +"PO-Revision-Date: 2023-03-06 16:12+0300\n" +"Last-Translator: Sabri Ãnal <libreaj...@gmail.com>\n" "Language-Team: Türkçe <gnome-t...@gnome.org>\n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Gtranslator 2.91.7\n" +"X-Generator: Poedit 3.1.1\n" "X-POOTLE-MTIME: 1433415626.000000\n" #: data/rygel.desktop.in:3 @@ -297,12 +297,12 @@ #: src/librygel-core/rygel-energy-management-helper.c:55 #, c-format msgid "Failed to get a socket: %s" -msgstr "Yuva alma baÅarısız oldu: %s" +msgstr "Yuva alınamadı: %s" #: src/librygel-core/rygel-energy-management-helper.c:62 #, c-format msgid "Failed to get MAC address for %s: %s" -msgstr "%s için MAC adresi alma baÅarısız oldu: %s" +msgstr "%s için MAC adresi alınamadı: %s" #: src/librygel-core/rygel-energy-management-helper.c:104 msgid "MAC and network type querying not implemented" @@ -417,7 +417,7 @@ #: src/librygel-db/database.vala:306 #, c-format msgid "Failed to roll back transaction: %s" -msgstr "İÅlemi geri alma baÅarısız oldu: %s" +msgstr "İÅlem geri alınamadı: %s" #: src/librygel-renderer-gst/rygel-playbin-player.vala:370 msgid "" @@ -528,7 +528,7 @@ #: src/librygel-ruih/rygel-ruih-servicemanager.vala:105 #, c-format msgid "Failed to monitor the file %s â %s" -msgstr "%s dosyasının izlenmesi baÅarısız oldu â %s" +msgstr "%s dosyası izlenemedi â %s" #: src/librygel-ruih/rygel-ruih-servicemanager.vala:128 #, c-format @@ -561,7 +561,7 @@ #: src/librygel-server/rygel-browse.vala:134 #, c-format msgid "Failed to browse â%sâ: %s\n" -msgstr "â%sâ göz atma baÅarısız oldu: %s\n" +msgstr "â%sâ göz atılamadı: %s\n" #: src/librygel-server/rygel-client-hacks.vala:147 msgid "Not Applicable" @@ -658,7 +658,7 @@ #: src/librygel-server/rygel-item-destroyer.vala:68 #, c-format msgid "Failed to destroy object â%sâ: %s" -msgstr "â%sâ nesnesinin yok edilmesi baÅarısız oldu: %s" +msgstr "â%sâ nesnesi yok edilemedi: %s" #: src/librygel-server/rygel-item-destroyer.vala:105 #: src/librygel-server/rygel-item-updater.vala:283 @@ -691,7 +691,7 @@ #: src/librygel-server/rygel-item-updater.vala:89 #, c-format msgid "Failed to update object â%sâ: %s" -msgstr "â%sâ nesnesinin güncellenmesi baÅarısız oldu: %s" +msgstr "â%sâ nesnesi güncellenemedi: %s" #: src/librygel-server/rygel-item-updater.vala:162 #: src/librygel-server/rygel-object-creator.vala:614 @@ -1120,18 +1120,18 @@ #: src/plugins/media-export/rygel-media-export-extract.vala:90 #, c-format msgid "Failed to discover URI %s: %s" -msgstr "URI %s bulma baÅarısız oldu:%s" +msgstr "%s URI bulunamadı: %s" #: src/plugins/media-export/rygel-media-export-extract.vala:105 #, c-format msgid "Failed to read from pipe: %s" -msgstr "Kanaldan okuma baÅarısız oldu: %s" +msgstr "Kanaldan okunamadı: %s" #: src/plugins/media-export/rygel-media-export-extract.vala:132 #: src/plugins/media-export/rygel-media-export-extract.vala:144 #, c-format msgid "Failed to send error to parent: %s" -msgstr "Ãst sürece hata gönderimi baÅarısız oldu: %s" +msgstr "Ãst sürece hata gönderilemedi: %s" #: src/plugins/media-export/rygel-media-export-extract.vala:157 msgid "â helper binary for Rygel to extract metadata" @@ -1180,7 +1180,7 @@ #: src/plugins/media-export/rygel-media-export-harvesting-task.vala:191 #, c-format msgid "Failed to query database: %s" -msgstr "Veri tabanı sorgusu baÅarısız oldu: %s" +msgstr "Veri tabanı sorgulanamadı: %s" #: src/plugins/media-export/rygel-media-export-harvesting-task.vala:272 #, c-format @@ -1213,8 +1213,7 @@ #: src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala:67 #, c-format msgid "Failed to force reindex to fix database: %s" -msgstr "" -"Veri tabanı onarımı için yeniden dizinlemeye zorlama baÅarısız oldu: %s" +msgstr "Veri tabanı onarımı için yeniden dizinlemeye zorlanamadı: %s" #: src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala:78 #, c-format @@ -1239,7 +1238,7 @@ #: src/plugins/media-export/rygel-media-export-media-cache.vala:218 #, c-format msgid "Failed to get update IDs: %s" -msgstr "Güncelleme Kimliklerini (ID) alma baÅarısız oldu: %s" +msgstr "Güncelleme Kimlikleri (ID) alınamadı: %s" #: src/plugins/media-export/rygel-media-export-media-cache.vala:401 #, c-format @@ -1248,12 +1247,12 @@ #: src/plugins/media-export/rygel-media-export-media-cache.vala:526 msgid "Failed to get reset token" -msgstr "Sıfırlama fiÅi alma baÅarısız oldu" +msgstr "Sıfırlama jetonu alınamadı" #: src/plugins/media-export/rygel-media-export-media-cache.vala:538 #, c-format msgid "Failed to persist ServiceResetToken: %s" -msgstr "ServiceResetTokenâi sürdürme baÅarısız oldu: %s" +msgstr "ServiceResetTokenâi sürdürülemedi: %s" #: src/plugins/media-export/rygel-media-export-media-cache.vala:548 #, c-format @@ -1313,7 +1312,7 @@ #: src/plugins/media-export/rygel-media-export-metadata-extractor.vala:104 msgid "Failed to gracefully stop the process. Using KILL" -msgstr "Süreci düzgünce durdurma baÅarısız oldu. KILL kullanılıyor" +msgstr "Süreci düzgünce durdurulamadı. KILL kullanılıyor" #. Process exitted properly -> That shouldn't really #. happen @@ -1451,17 +1450,17 @@ #: src/plugins/media-export/rygel-media-export-trackable-db-container.vala:64 #, c-format msgid "Failed to save object: %s" -msgstr "Nesne kaydetme baÅarısız oldu: %s" +msgstr "Nesne kaydedilemedi: %s" #: src/plugins/media-export/rygel-media-export-trackable-db-container.vala:79 #, c-format msgid "Failed to add object: %s" -msgstr "Nesne ekleme baÅarısız oldu: %s" +msgstr "Nesne eklenemedi: %s" #: src/plugins/media-export/rygel-media-export-trackable-db-container.vala:87 #, c-format msgid "Failed to remove object: %s" -msgstr "Nesne kaldırma baÅarısız oldu: %s" +msgstr "Nesne kaldırılamadı: %s" #: src/plugins/media-export/rygel-media-export-writable-db-container.vala:108 #, c-format @@ -1529,7 +1528,7 @@ #: src/plugins/tracker/rygel-tracker-category-all-container.vala:54 #, c-format msgid "Failed to create a Tracker connection: %s" -msgstr "Tracker baÄlantısı oluÅturma baÅarısız oldu: %s" +msgstr "Tracker baÄlantısı oluÅturulamadı: %s" #: src/plugins/tracker/rygel-tracker-metadata-container.vala:58 #, c-format @@ -1570,7 +1569,7 @@ #: src/rygel/rygel-acl.vala:110 #, c-format msgid "Failed to query ACL: %s" -msgstr "ACL sorgusu baÅarısız oldu: %s" +msgstr "ACL sorgulanamadı: %s" #: src/rygel/rygel-acl.vala:127 #, c-format @@ -1593,7 +1592,7 @@ #: src/ui/rygel-writable-user-config.vala:119 #, c-format msgid "Failed to save configuration data to file â%sâ: %s" -msgstr "â%sâ dosyasına yapılandırma bilgisi kaydedilemedi: %s" +msgstr "Yapılandırma verisi â%sâ dosyasına kaydedilemedi: %s" #: src/ui/rygel-writable-user-config.vala:214 #, c-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/librygel-core/rygel-xml-utils.vala new/rygel-0.42.2/src/librygel-core/rygel-xml-utils.vala --- old/rygel-0.42.1/src/librygel-core/rygel-xml-utils.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/librygel-core/rygel-xml-utils.vala 2023-03-19 11:15:08.000000000 +0100 @@ -27,6 +27,24 @@ * XML utility API. */ public class Rygel.XMLUtils { + public static Xml.Ns* get_namespace (Xml.Node *root, string href, string prefix) { + + Xml.Ns* ns = root->new_ns (href, prefix); + if (ns != null) { + return ns; + } + + // ns was null, so the namespace exists. Go find it. + ns = root->ns_def; + while (ns != null) { + if (ns->prefix == prefix) { + return ns; + } + } + + assert_not_reached (); + } + /* Copy-paste from gupnp and ported to Vala. */ public static Xml.Node* get_element (Xml.Node *node, ...) { Xml.Node *ret = node; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/librygel-server/rygel-media-file-item.vala new/rygel-0.42.2/src/librygel-server/rygel-media-file-item.vala --- old/rygel-0.42.1/src/librygel-server/rygel-media-file-item.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/librygel-server/rygel-media-file-item.vala 2023-03-19 11:15:08.000000000 +0100 @@ -192,13 +192,23 @@ string uri_extension = null; // Use the extension from the source content filename, if it has an // extension - string basename = Path.get_basename (this.get_primary_uri ()); - int dot_index = -1; - if (basename != null) { - dot_index = basename.last_index_of ("."); - if (dot_index > -1) { - uri_extension = basename.substring (dot_index + 1); + + try { + var uri = GLib.Uri.parse (this.get_primary_uri (), UriFlags.NONE); + if (uri.get_scheme () == "file") { + string basename = Path.get_basename (this.get_primary_uri ()); + int dot_index = -1; + if (basename != null) { + dot_index = basename.last_index_of ("."); + if (dot_index > -1) { + uri_extension = basename.substring (dot_index + 1); + } + } + } else { + debug ("Uri is not a file, but %s, skipping extension detection", uri.get_scheme()); } + } catch (Error err) { + debug ("Failed to parse primary uri, skipping extension detection"); } if (uri_extension == null) { @@ -230,6 +240,7 @@ mime_to_ext.set ("audio/vnd.dlna.adts", "adts"); mime_to_ext.set ("audio/mpeg", "mp3"); mime_to_ext.set ("audio/3gpp", "3gp"); + mime_to_ext.set ("audio/flac", "flac"); // images string[] images = {"jpeg", "png"}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/librygel-server/rygel-music-item.vala new/rygel-0.42.2/src/librygel-server/rygel-music-item.vala --- old/rygel-0.42.1/src/librygel-server/rygel-music-item.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/librygel-server/rygel-music-item.vala 2023-03-19 11:15:08.000000000 +0100 @@ -36,6 +36,7 @@ public new const string UPNP_CLASS = "object.item.audioItem.musicTrack"; public int track_number { get; set; default = -1; } + public int disc_number { get; set; default = -1; } public Thumbnail album_art { get; set; } @@ -76,8 +77,11 @@ switch (property) { case "upnp:originalTrackNumber": - return this.compare_int_props (this.track_number, - item.track_number); + return this.compare_int_props (this.track_number, + item.track_number); + case "upnp:originalDiscNumber": + return this.compare_int_props (this.disc_number, + item.disc_number); default: return base.compare_by_property (item, property); } @@ -87,6 +91,7 @@ base.apply_didl_lite (didl_object); this.track_number = didl_object.track_number; + //FIXME: this.disc_number = didl_object.disc_number; if (didl_object.album_art != null && didl_object.album_art.length > 0) { if (this.album_art == null) @@ -103,6 +108,24 @@ if (this.track_number >= 0) { didl_item.track_number = this.track_number; + + // Hack for now, probably should move to gupnp-av + Xml.Node *node = didl_item.xml_node; + Xml.Ns *ns = null; + + bool strict_sharing = false; + + try { + strict_sharing = MetaConfig.get_default().get_bool ("general", "strict-dlna"); + } catch (Error err) {} + + if (strict_sharing) { + ns = XMLUtils.get_namespace(node, "http://www.rygel-project.org/ns/", "rygel"); + } else { + ns = didl_item.get_upnp_namespace (); + } + + node->new_child (ns, "originalDiscNumber", this.disc_number.to_string ()); } if (!this.place_holder && this.album_art != null) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/librygel-server/rygel-subtitle.vala new/rygel-0.42.2/src/librygel-server/rygel-subtitle.vala --- old/rygel-0.42.1/src/librygel-server/rygel-subtitle.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/librygel-server/rygel-subtitle.vala 2023-03-19 11:15:08.000000000 +0100 @@ -47,19 +47,7 @@ Xml.Node *item_node = didl_item.xml_node; Xml.Node *root_node = item_node->doc->get_root_element (); - weak Xml.Ns sec_ns = root_node->new_ns ("http://www.sec.co.kr/", "sec"); - // sec_ns apparently already existed. Search for the namespace node - if (sec_ns == null) { - weak Xml.Ns it = root_node->ns_def; - while (it != null) { - if (it.prefix == "sec") { - sec_ns = it; - - break; - } - it = it.next; - } - } + var sec_ns = XMLUtils.get_namespace (root_node, "http://www.sec.co.kr/", "sec"); Xml.Node *sec_node = item_node->new_child (sec_ns, "CaptionInfoEx", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/plugins/media-export/rygel-media-export-media-cache.vala new/rygel-0.42.2/src/plugins/media-export/rygel-media-export-media-cache.vala --- old/rygel-0.42.1/src/plugins/media-export/rygel-media-export-media-cache.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/plugins/media-export/rygel-media-export-media-cache.vala 2023-03-19 11:15:08.000000000 +0100 @@ -991,6 +991,7 @@ music_item.genre = statement.column_text (DetailColumn.GENRE); music_item.track_number = statement.column_int (DetailColumn.TRACK); + music_item.disc_number = statement.column_int (DetailColumn.DISC); music_item.lookup_album_art (); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/plugins/tracker3/rygel-tracker-music-item-factory.vala new/rygel-0.42.2/src/plugins/tracker3/rygel-tracker-music-item-factory.vala --- old/rygel-0.42.1/src/plugins/tracker3/rygel-tracker-music-item-factory.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/plugins/tracker3/rygel-tracker-music-item-factory.vala 2023-03-19 11:15:08.000000000 +0100 @@ -41,6 +41,7 @@ CHANNELS, BITS_PER_SAMPLE, BITRATE, + AUDIO_DISC_NUM, LAST_KEY } @@ -70,6 +71,7 @@ this.properties.add ("upnp:nrAudioChannels"); this.properties.add ("upnp:bitsPerSample"); this.properties.add ("upnp:bitrate"); + this.properties.add ("rygel:originalVolumeNumber"); } public override MediaFileItem create (string id, @@ -125,6 +127,11 @@ (MusicMetadata.AUDIO_TRACK_NUM); } + if (metadata.is_bound (MusicMetadata.AUDIO_DISC_NUM)) { + music.disc_number = (int) metadata.get_integer + (MusicMetadata.AUDIO_DISC_NUM); + } + if (metadata.is_bound (MusicMetadata.AUDIO_ARTIST)) { music.artist = metadata.get_string (MusicMetadata.AUDIO_ARTIST); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rygel-0.42.1/src/plugins/tracker3/rygel-tracker-selection-query.vala new/rygel-0.42.2/src/plugins/tracker3/rygel-tracker-selection-query.vala --- old/rygel-0.42.1/src/plugins/tracker3/rygel-tracker-selection-query.vala 2023-02-11 08:59:15.000000000 +0100 +++ new/rygel-0.42.2/src/plugins/tracker3/rygel-tracker-selection-query.vala 2023-03-19 11:15:08.000000000 +0100 @@ -31,17 +31,8 @@ public const string ITEM_VARIABLE = "?item"; public const string STORAGE_VARIABLE = "?storage"; - private const string SHARED_FILTER = ""; /*"(!BOUND(nmm:uPnPShared(" + - ITEM_VARIABLE + ")) ||" + - " nmm:uPnPShared(" + - ITEM_VARIABLE + - ") = true) && " + - "(BOUND(nie:isStoredAs(" + - ITEM_VARIABLE + ")))";*/ private const string STRICT_SHARED_FILTER = "(BOUND(nmm:dlnaProfile(" + ITEM_VARIABLE + ")))"; - private const string AVAILABLE_FILTER = "(tracker:available(nie:isStoredAs(" + - ITEM_VARIABLE + ")) = true)"; private string uri_filter; @@ -168,22 +159,30 @@ var filters = new ArrayList<string> (); filters.add_all (this.filters); - // Make sure we don't expose items that are marked not to be shared - // filters.add (SHARED_FILTER); - // Make sure we don't expose items on removable media that isn't - // mounted - //filters.add (AVAILABLE_FILTER); + bool strict = false; // If strict sharing is enabled, only expose files that have a DLNA - // profile set + // profile set. + // + // Check global strict sharing first, the old option will override the + // global setting try { var config = MetaConfig.get_default (); - if (config.get_bool ("Tracker3", "strict-sharing")) { - filters.add (STRICT_SHARED_FILTER); + if (config.get_bool ("general", "strict-dlna")) { + strict = true; } } catch (Error error) {}; + try { + var config = MetaConfig.get_default (); + strict = config.get_bool ("Tracker3", "strict-sharing"); + } catch (Error error) {}; + + if (strict) { + filters.add (STRICT_SHARED_FILTER); + } + // Limit the files to a set of folders that may have been configured if (uri_filter != null) { filters.add (uri_filter);