Zeeshan Ali (Khattak) [Wed, 12 Jan 2011 14:37:09 +0000 (16:37 +0200)]
core: All configs allow disabling of UPnP
Add option to disable UPnP to all configuration sources.
Zeeshan Ali (Khattak) [Fri, 17 Dec 2010 15:52:12 +0000 (17:52 +0200)]
core,data: Correct name of 'upnp_enabled' in user config
Zeeshan Ali (Khattak) [Fri, 17 Dec 2010 15:25:49 +0000 (17:25 +0200)]
core,data: Correct meaning for 'upnp_enabled' config
'upnp_enabled' in the configuration now really means what it says:
Enable/Disable the UPnP devices. So its now set to 'true' by default and
if you set this to 'false', you can still stream media (currently only over
HTTP) from it. Of course, that means you need to know the URI of the item.
Zeeshan Ali (Khattak) [Fri, 17 Dec 2010 15:23:16 +0000 (17:23 +0200)]
core: Correct handling of an N/A config
If a configuration key is not available from a configuration source, we should
be throwing the appropriate error.
Zeeshan Ali (Khattak) [Tue, 11 Jan 2011 17:08:08 +0000 (19:08 +0200)]
ui,core,i18n: Move config writing to UI
Core and plugins didn't do any user configuration writing, so better
separate out all writing part to a subclass in UI code.
Zeeshan Ali (Khattak) [Tue, 11 Jan 2011 15:11:36 +0000 (17:11 +0200)]
core,plugins: MS plugin constructor takes root container
Instead of expecting inheriting classes of MediaServerPlugin to implement
get_root_container method, require the root container to be passed to the
construction method.
This also fixes the issue of external plugin accessing uninitialized
fields.
Zeeshan Ali (Khattak) [Tue, 11 Jan 2011 14:13:28 +0000 (16:13 +0200)]
Add Jens to maintainer's list
Zeeshan Ali (Khattak) [Tue, 11 Jan 2011 13:56:58 +0000 (15:56 +0200)]
external: Remove ExternalPlugin.service_name field
This field was redundant since Plugin.name field was set to the same
value. This also fixes a crash since service_name was being accessed
from Plugin class before it was set.
Friedel Wolff [Mon, 10 Jan 2011 20:26:01 +0000 (22:26 +0200)]
New partial translation for Afrikaans (af)
Zeeshan Ali (Khattak) [Mon, 10 Jan 2011 15:34:02 +0000 (17:34 +0200)]
Release 0.9.5
Daniel Nylander [Sun, 9 Jan 2011 20:26:41 +0000 (21:26 +0100)]
Updated Swedish translation
Fran Diéguez [Sun, 9 Jan 2011 16:19:48 +0000 (17:19 +0100)]
Updated Galician translations
Ivar Smolin [Sat, 8 Jan 2011 12:01:25 +0000 (14:01 +0200)]
[l10n] Updated Estonian translation
Zeeshan Ali (Khattak) [Fri, 7 Jan 2011 22:56:22 +0000 (00:56 +0200)]
build: Require gupnp-vala >= 0.7.2
Arun Raghavan [Thu, 18 Nov 2010 15:15:48 +0000 (20:45 +0530)]
build,media-export: Require & adapt to gupnp-dlna 0.5
Jens Georg [Mon, 3 Jan 2011 19:53:02 +0000 (20:53 +0100)]
media-export: Speed-up get_children and search
Jens Georg [Mon, 3 Jan 2011 19:32:04 +0000 (20:32 +0100)]
Revert "media-export: Try to prevent full table scan"
This reverts commit
a409ed3b95c89193a0266b29e3600bd9d5943ff1.
Jens Georg [Wed, 29 Dec 2010 20:30:10 +0000 (21:30 +0100)]
media-export: Fix coding style
Jens Georg [Wed, 29 Dec 2010 00:19:43 +0000 (01:19 +0100)]
media-export: Simplify fallback extraction
A S Alam [Sun, 2 Jan 2011 03:00:17 +0000 (08:30 +0530)]
update for Punjabi Translaiton
Petr Kovar [Wed, 29 Dec 2010 22:42:46 +0000 (23:42 +0100)]
Update Czech translation by Marek Cernocky
Reviewed by Petr Kovar.
Daniel Nylander [Wed, 29 Dec 2010 16:37:19 +0000 (17:37 +0100)]
Updated Swedish translation
Matej Urbančič [Tue, 28 Dec 2010 22:32:28 +0000 (23:32 +0100)]
Updated Slovenian translation
Nguyễn Thái Ngọc Duy [Tue, 28 Dec 2010 02:26:40 +0000 (09:26 +0700)]
Added Vietnamese translation
Zeeshan Ali (Khattak) [Fri, 24 Dec 2010 02:28:44 +0000 (04:28 +0200)]
test: Update AlbumArt test build rules
Zeeshan Ali (Khattak) [Fri, 24 Dec 2010 02:22:29 +0000 (04:22 +0200)]
core: Keep empty MediaServer plugins, inactivate
If the root container of a MediaServer plugin is empty, deactivate the plugin
until the situation changes.
Zeeshan Ali (Khattak) [Fri, 24 Dec 2010 01:50:47 +0000 (03:50 +0200)]
core,plugins: Rename Plugin.available to active
Gheyret T.Kenji [Thu, 23 Dec 2010 18:35:22 +0000 (19:35 +0100)]
Added UG translation
Zeeshan Ali (Khattak) [Thu, 23 Dec 2010 15:22:06 +0000 (17:22 +0200)]
core,plugins: Don't pass GUPnP.Context to MediaServer plugins
Zeeshan Ali (Khattak) [Thu, 23 Dec 2010 15:14:10 +0000 (17:14 +0200)]
external: No need to pass 'host_ip' around everywhere
Zeeshan Ali (Khattak) [Thu, 23 Dec 2010 15:08:51 +0000 (17:08 +0200)]
core,external: Move '@ADDRESS@' substitution to core
Zeeshan Ali (Khattak) [Thu, 23 Dec 2010 14:59:32 +0000 (16:59 +0200)]
core: Micro indentation fix
Zeeshan Ali (Khattak) [Thu, 23 Dec 2010 14:57:42 +0000 (16:57 +0200)]
core,external: No need for special album art class
Thumbnail class is enough, no need for a special subclass for album art.
Zeeshan Ali (Khattak) [Wed, 22 Dec 2010 15:08:27 +0000 (17:08 +0200)]
core,plugins: MediaServerPlugin now an abstract class
Instances of this class aren't of any use since default implementation of
its virtual method 'get_root_container' simply returns a null. So since
plugins have to create subclasses of this anyways, marking it and method
'get_root_container' as abstract.
Zeeshan Ali (Khattak) [Wed, 22 Dec 2010 12:56:10 +0000 (14:56 +0200)]
core,tracker: MetadataValues.is_child_id_unique -> SimpleContainer
Move is_child_id_unique() method of MetadataValues to parent
SimpleContainer and make it 'public' as its useful for all users.
This method was broken for (intially) empty containers after the
introduction of SimpleContainer.add_child_container. This patch also fixes
that issue by comparing the ID string in question with that of emtpy child
containers as well.
Zeeshan Ali (Khattak) [Wed, 22 Dec 2010 13:00:29 +0000 (15:00 +0200)]
core,plugins: SimpleContainer.add_child() -> add_child_item()
Replace add_child() method of SimpleContainer by a more specific method,
add_child_item() and hence making it compulsory to use the specific
addition methods. This also implies that SimpleContainer now always delays
addition of empty child containers until they remain empty.
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 21:18:17 +0000 (23:18 +0200)]
tracker: Utilize add_child_container() in RootContainer
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 21:16:19 +0000 (23:16 +0200)]
core: Some debug log from SimpleContainer.add_child_container()
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 21:15:42 +0000 (23:15 +0200)]
core: Document SimpleContainer.add_child_container()
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 20:47:27 +0000 (22:47 +0200)]
core,tracker: CategoryContainer.add_child_container -> SimpleContainer
Move add_child_container method of Tracker.CategoryContainer to parent
SimpleContainer in core so that all plugins can make use of it.
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 16:27:59 +0000 (18:27 +0200)]
tracker: Remove wrong 'async' declaration of a method
Zeeshan Ali (Khattak) [Tue, 21 Dec 2010 16:15:14 +0000 (18:15 +0200)]
tracker: Avoid exposing empty containers
Very often it happens that we don't have enough metadata available from tracker
to populate our hierarchies and we end-up exposing empty containers. Not only
empty containers are contrary to user's expectations but apparently DLNA CTT
isn't able to digest them.
This patch makes category containers delay addition of child containers to
actual (exposed) hierarchy until they produce some offspring.
Zeeshan Ali (Khattak) [Sat, 18 Dec 2010 22:25:27 +0000 (00:25 +0200)]
core: Support search by child count
Add support for search of media containers by their child count.
Ivar Smolin [Mon, 20 Dec 2010 12:27:26 +0000 (14:27 +0200)]
[l10n] Updated Estonian translation
Yaron Shahrabani [Sat, 18 Dec 2010 22:54:55 +0000 (00:54 +0200)]
Updated Hebrew translation.
Jorge González [Sat, 18 Dec 2010 13:38:28 +0000 (14:38 +0100)]
Updated Spanish translation
Kjartan Maraas [Fri, 17 Dec 2010 13:41:09 +0000 (14:41 +0100)]
Updated Norwegian bokmål translation
Zeeshan Ali (Khattak) [Fri, 17 Dec 2010 12:57:20 +0000 (14:57 +0200)]
core: Fix service & item path conflict
Since our HTTP server uses the same SoupServer for streaming items as
GUPnP does for serving description files, we need to change the (external)
paths of services to not conflict with that of our items.
Zeeshan Ali (Khattak) [Thu, 16 Dec 2010 17:33:59 +0000 (19:33 +0200)]
core,tests: Shorter HTTP URLs
- Remove redundant 'RygelHTTPServer' prefix (plugin names are unique).
- Abbreviate parameter names in URL.
Zeeshan Ali (Khattak) [Thu, 16 Dec 2010 17:32:59 +0000 (19:32 +0200)]
i18n: Update translated/ignored files list
Zeeshan Ali (Khattak) [Wed, 15 Dec 2010 18:00:02 +0000 (20:00 +0200)]
core: Empty SortCriteria means no SortCriteria
Zeeshan Ali (Khattak) [Wed, 15 Dec 2010 17:54:02 +0000 (19:54 +0200)]
core: Sort in ascending order by default
I had gotten the idea of ascending and descending reversed in my head so
ended-up sorting by title in wrong (descending) order.
Zeeshan Ali (Khattak) [Mon, 13 Dec 2010 17:28:22 +0000 (19:28 +0200)]
core: Stop the waiting loop on timeout
If wait for container update times-out, stop spinning the wait loop.
Zeeshan Ali (Khattak) [Mon, 13 Dec 2010 17:03:23 +0000 (19:03 +0200)]
core: Add timeouts to container update waiting code
Zeeshan Ali (Khattak) [Mon, 13 Dec 2010 16:59:41 +0000 (18:59 +0200)]
core: Don't wait for item when there is no need to
The 'updated' signal from the container could be emitted 'before' we start
to wait for it so better first check if item is already there and then
wait if its not.
Matej Urbančič [Sat, 11 Dec 2010 19:58:11 +0000 (20:58 +0100)]
Updated Slovenian translation
Matej Urbančič [Sat, 11 Dec 2010 19:56:33 +0000 (20:56 +0100)]
Updated Slovenian translation
Zeeshan Ali (Khattak) [Thu, 9 Dec 2010 21:13:40 +0000 (23:13 +0200)]
core: Don't trust player to set URI immediately
This is problematic in case of playbin plugin where the underlying
playbin2 element doesn't set URI immediately so when we read the 'uri'
property immediately after writing to it, we get an empty string.
Sunil Mohan Adapa [Wed, 8 Dec 2010 19:31:36 +0000 (01:01 +0530)]
tracker: SearchContainer.escape_string() -> Query
The escape_string utility function meant for escaping strings to be
used in SPARQL query more correctly belongs to the Query class that
deals with SPARQL query generation.
Sunil Mohan Adapa [Tue, 7 Dec 2010 17:34:01 +0000 (23:04 +0530)]
tracker: Item factories provide properties only
Instead of providing key chains directly, item factories now only provide
property strings. These property strings are mapped to key chains during query
construction using the global property to key chain map.
Sunil Mohan Adapa [Tue, 7 Dec 2010 17:41:17 +0000 (23:11 +0530)]
tracker: A map from UPnP to tracker properties
A global map that can be used to convert UPnP properties to tracker
property key chains. This shall be used later to generate a selection
query in a generic manner.
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Sunil Mohan Adapa [Sun, 5 Dec 2010 01:48:27 +0000 (07:18 +0530)]
tracker: Use property function for sorting
Tracker claims to be more efficient when using property functions instead
of variables. Property functions work just fine for sorting too. This
patch uses property function instead of variable for modified date
sorting.
Sunil Mohan Adapa [Sun, 5 Dec 2010 00:39:47 +0000 (06:09 +0530)]
tracker: Treat 'nie:url' property like others
Zeeshan Ali (Khattak) [Wed, 8 Dec 2010 18:38:04 +0000 (20:38 +0200)]
tracker: Refactor CategoryContainer children
Move common code from CategoryContainer children to CategoryContainer.
Zeeshan Ali (Khattak) [Wed, 8 Dec 2010 18:32:20 +0000 (20:32 +0200)]
tracker: Add "New" container
Under each category container, add a child container that lists all items
of that category that were added (to tracker-store) less than 3 days ago.
Zeeshan Ali (Khattak) [Wed, 8 Dec 2010 18:24:17 +0000 (20:24 +0200)]
tracker: Remove a redundant constant
Zeeshan Ali (Khattak) [Wed, 8 Dec 2010 16:23:44 +0000 (18:23 +0200)]
tracker: Add title-based hierarchies
Under each category container, add a container providing a title-based
hierarchy: One container for each unique starting character of all the titles
available for the contegory in question. Something like this:
Music
|
|----> Genre
|..
^
|----> Titles
|
|---> A
|
|--> Alpha
|--> alright
^
|---> B
|
|--> Bravo
|--> brave
|..
^
^ |..
|..
Zeeshan Ali (Khattak) [Wed, 8 Dec 2010 16:11:13 +0000 (18:11 +0200)]
tracker: Allow subclasses to fail on title/ID creation
Allow create_id_for_title and create_title_for_value virtual methods of
MetadataValues to return null. When these methods return null for a
metadata value, we simply ignore that value.
Zeeshan Ali (Khattak) [Wed, 1 Dec 2010 22:04:44 +0000 (00:04 +0200)]
core: Advertise transcoder if DLNA PN is different
Only refuse to advertise the transcoder for an item if it's DLNA profile
is the same as that of the item in question.
Sunil Mohan Adapa [Tue, 30 Nov 2010 17:27:09 +0000 (22:57 +0530)]
core: Fix incorrect copyright info in
91cd1f69
Sunil Mohan Adapa [Thu, 25 Nov 2010 19:55:02 +0000 (01:25 +0530)]
core: Search on non-searchable returns no results
Search on a non-searchable container returns no results as per
UPnP A/V ContentDirectory specification.
Zeeshan Ali (Khattak) [Tue, 30 Nov 2010 16:33:29 +0000 (18:33 +0200)]
core: Update copyrights and author info
Sunil Mohan Adapa [Thu, 25 Nov 2010 19:54:18 +0000 (01:24 +0530)]
core: Only advertize searchable containers as such
Set the 'searchable' attribute in the DIDL depending on whether a
container is searchable or not.
Sunil Mohan Adapa [Thu, 25 Nov 2010 19:46:02 +0000 (01:16 +0530)]
core,plugins: Introducing SearchableContainer
Move MediaContainer.search (and related methods) to separate interface,
SearchableContainer. Not every container needs to be searchable and allowing
search in them only makes searches on top containers slow. Now only the
container that needs to be searchable implement this new interface.
Zeeshan Ali (Khattak) [Mon, 29 Nov 2010 15:37:12 +0000 (17:37 +0200)]
Release 0.9.4
Jens Georg [Sun, 28 Nov 2010 00:21:06 +0000 (01:21 +0100)]
media-export: Speed up "derivedFrom" searches
Jens Georg [Sun, 28 Nov 2010 00:14:03 +0000 (01:14 +0100)]
media-export: Try to prevent full table scan
Jens Georg [Sat, 27 Nov 2010 21:06:03 +0000 (22:06 +0100)]
media-export: Remove useless comment
Jens Georg [Sat, 27 Nov 2010 19:45:02 +0000 (20:45 +0100)]
media-export: Only on-disk container are writable
Special containers like "Filesystem" or the query folders should not be
marked writable.
Jens Georg [Sat, 23 Oct 2010 22:48:33 +0000 (00:48 +0200)]
media-export: Disable plugin if error while init
If there's a problem reading the database e.g. disable plugin right
away
Zeeshan Ali (Khattak) [Sun, 28 Nov 2010 18:55:10 +0000 (20:55 +0200)]
tests: Update HTTPPost test
Zeeshan Ali (Khattak) [Sun, 28 Nov 2010 16:13:45 +0000 (18:13 +0200)]
media-export: Fix build issues in commit 34157a0
Zeeshan Ali (Khattak) [Sun, 28 Nov 2010 16:06:34 +0000 (18:06 +0200)]
tracker: Fix year in copyright headers
Zeeshan Ali (Khattak) [Sun, 28 Nov 2010 15:36:38 +0000 (17:36 +0200)]
core,plugins,tests: Change in coding-style
If the first argument to a function does not fit on the same line, we now
put the opening '(' on the next line rather than having it at the end of
the first line.
Zeeshan Ali (Khattak) [Sun, 28 Nov 2010 15:33:08 +0000 (17:33 +0200)]
core: Minor coding-style fix
Zeeshan Ali (Khattak) [Fri, 26 Nov 2010 14:09:31 +0000 (16:09 +0200)]
core: Rename a variable to make everything fit 80-columns
Jens Georg [Sat, 27 Nov 2010 14:00:41 +0000 (15:00 +0100)]
media-export: Fix bgo#635598
Always use the real root container, otherwise signals do not get
propagated properly
Zeeshan Ali (Khattak) [Thu, 25 Nov 2010 18:21:10 +0000 (20:21 +0200)]
media-export: Minor coding-style fixes
Zeeshan Ali (Khattak) [Thu, 25 Nov 2010 18:20:39 +0000 (20:20 +0200)]
media-export: Remove inline methods from HarvestingTask
Aron Xu [Wed, 24 Nov 2010 16:17:20 +0000 (00:17 +0800)]
Update Simplified Chinese translation.
Zeeshan Ali (Khattak) [Mon, 22 Nov 2010 12:41:40 +0000 (14:41 +0200)]
core: Fix visibility ItemCreator.create_uri()
Zeeshan Ali (Khattak) [Fri, 19 Nov 2010 17:24:15 +0000 (19:24 +0200)]
core: Wait for new item to appear
After adding a new item in a container, wair for it to actually appear
under the container in the hierarchy. This is needed to satisfy DLNA CTT
testcase 7.3.26.4,5.
Zeeshan Ali (Khattak) [Fri, 19 Nov 2010 15:50:23 +0000 (17:50 +0200)]
core: Micro coding-style fix
Gheyret T.Kenji [Sat, 20 Nov 2010 11:58:44 +0000 (12:58 +0100)]
Added UG translation
Zeeshan Ali (Khattak) [Fri, 19 Nov 2010 13:13:20 +0000 (15:13 +0200)]
core: Wait for container update after HTTP POST
Wait for updated signal from the parent container after pushing content
to a child item before returning an 'OK' to the client. This is needed to
satisfy the bogus check at the end of the DLNA CTT testcase 7.3.136.4.
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 17:18:16 +0000 (19:18 +0200)]
core: Minor optimization/re-factor
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 17:08:48 +0000 (19:08 +0200)]
core: Don't use expired cache of description doc
If the template device description was modified after cached description
was modified/created, use the template device description. Without this
change, user had to manually remove the cached description documents each
time we modified the templates.
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 15:13:04 +0000 (17:13 +0200)]
core: Remove now redundant vala work-arounds
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 14:19:39 +0000 (16:19 +0200)]
mpris: Simplify DBus related code
- Require interface MediaPlayer2 from MediaPlayer2.Player as they are
always implemented by the same object.
- Create proxy for only MediaPlayer2.Player interface and use that
everywhere. No need to use Properties.get_all.
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 14:18:45 +0000 (16:18 +0200)]
mpris: Remove bogus comment resulting from C&P