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
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 13:33:28 +0000 (15:33 +0200)]
core,mpris: Make use of GDBus prop change API
No need for using FreeDesktop.Properties.properties_changed when GDBus
provides us an API to hook to property changes.
Zeeshan Ali (Khattak) [Wed, 17 Nov 2010 13:42:03 +0000 (15:42 +0200)]
mpris: Require DBusProxy for all proxy interfaces
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 15:47:59 +0000 (17:47 +0200)]
external,mpris: Prefer async D-Bus proxies creation
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 13:59:20 +0000 (15:59 +0200)]
core,plugins: Load D-Bus properties only when needed
Don't load properties on D-Bus proxy creation if not needed.
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 13:35:16 +0000 (15:35 +0200)]
core: Remove work-around for bug#631044
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 13:27:19 +0000 (15:27 +0200)]
Require vala 0.11.2
Zeeshan Ali (Khattak) [Tue, 16 Nov 2010 14:42:24 +0000 (16:42 +0200)]
core: Only set dlnaManaged flags if non-zero
Only set dlnaManaged flags if any of the contained flag is set. This is
needed to comply with DLNA requirements 7.3.118.2-3.
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 20:09:45 +0000 (22:09 +0200)]
core: Correct resolution for MPEG_TS_SD_EU_ISO
Zeeshan Ali (Khattak) [Mon, 15 Nov 2010 13:17:27 +0000 (15:17 +0200)]
tracker: Keep only one hierarchy
Akom Chotiphantawanon [Mon, 15 Nov 2010 12:50:32 +0000 (19:50 +0700)]
Updated Thai Translation.
Daniel Șerbănescu [Sun, 14 Nov 2010 11:15:12 +0000 (13:15 +0200)]
Updated Romanian translation
Lucian Adrian Grijincu [Sun, 14 Nov 2010 11:11:57 +0000 (13:11 +0200)]
Updated Romanian translation
Gheyret T.Kenji [Sat, 13 Nov 2010 23:08:10 +0000 (00:08 +0100)]
Added UG translation
Gheyret T.Kenji [Sat, 13 Nov 2010 21:55:38 +0000 (22:55 +0100)]
Added UG translation
Fran Diéguez [Sat, 13 Nov 2010 00:58:55 +0000 (01:58 +0100)]
Updated Galician translations
Zeeshan Ali (Khattak) [Fri, 12 Nov 2010 15:51:53 +0000 (17:51 +0200)]
tracker: Handle updates in CategoryAllContainer
Handle graph updates in CategoryAllContainer instead of MetadataValues. In
CategoryAllContainer we can easily know if the update affect the container or
not, which is not true for MetadataValues and we end-up launching a lot of
redundant Tracker queries and network traffic.
Zeeshan Ali (Khattak) [Fri, 12 Nov 2010 15:51:05 +0000 (17:51 +0200)]
tracker: SearchContainer.get_children_count now protected
Zeeshan Ali (Khattak) [Fri, 12 Nov 2010 13:38:22 +0000 (15:38 +0200)]
tracker: Adapt to new Tracker update API
Zeeshan Ali (Khattak) [Fri, 12 Nov 2010 13:37:05 +0000 (15:37 +0200)]
tracker: Micro code-readability improvement
Ivar Smolin [Thu, 11 Nov 2010 07:14:32 +0000 (09:14 +0200)]
[l10n] Updated Estonian translation
Yaron Shahrabani [Thu, 11 Nov 2010 05:35:42 +0000 (07:35 +0200)]
Updated Hebrew translation.
Zeeshan Ali (Khattak) [Wed, 10 Nov 2010 14:21:08 +0000 (16:21 +0200)]
Announement for release 0.9.3
Zeeshan Ali (Khattak) [Wed, 10 Nov 2010 14:11:38 +0000 (16:11 +0200)]
ui,data: Port UI to gtk-3
Zeeshan Ali (Khattak) [Wed, 10 Nov 2010 13:19:40 +0000 (15:19 +0200)]
build: Build against gtk-3 only
At this point in unstable cycle, we can simply forget about gtk-2.
Zeeshan Ali (Khattak) [Wed, 10 Nov 2010 13:03:42 +0000 (15:03 +0200)]
data: Default config for upload and deletion
Zeeshan Ali (Khattak) [Tue, 9 Nov 2010 17:49:41 +0000 (19:49 +0200)]
core: Configuration for (dis)allowing deletion
Enable user to choose if she wants to (dis)allowing media object deletion.
Zeeshan Ali (Khattak) [Wed, 3 Nov 2010 11:45:45 +0000 (13:45 +0200)]
core: Configuration for (dis)allowing upload
Enable user to choose if she wants to (dis)allowing media object upload.
Jorge González [Tue, 9 Nov 2010 09:27:06 +0000 (10:27 +0100)]
Updated Spanish translation