Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:57 +0000 (15:49 +0000)]
Use MediaManager rather than MediaTracker.
This also means that system_update_id doesn't need to be handled by
ContentDirectory anymore.
svn path=/trunk/; revision=229
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:51 +0000 (15:49 +0000)]
Introduce MediaManager.
It implements MediaProvider interface and will be responsible to manage all
MediaProviders. Currently it uses MediaTracker directly since it currently
doesn't have a plugin system.
svn path=/trunk/; revision=228
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:43 +0000 (15:49 +0000)]
Each MediaProvider prefixes each objectid with "root-id:".
This will allow the ContentDirectory to redirect the Browse requests to the
appropriate MediaProvider in a simple/efficient way.
svn path=/trunk/; revision=227
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:37 +0000 (15:49 +0000)]
Introduce MediaProvider interface that MediaTracker implements.
svn path=/trunk/; revision=226
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:30 +0000 (15:49 +0000)]
Put some more more comments and Refactor.
svn path=/trunk/; revision=225
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:24 +0000 (15:49 +0000)]
Extract the mime-type using GIO.
svn path=/trunk/; revision=224
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:18 +0000 (15:49 +0000)]
Require gio-2.0 (>= 2.16) and include it in the build.
svn path=/trunk/; revision=223
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:11 +0000 (15:49 +0000)]
Implement extraction of audio and video specific metadata.
svn path=/trunk/; revision=222
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:05 +0000 (15:49 +0000)]
Reduce the gstreamer dependency to 0.10.18.
svn path=/trunk/; revision=221
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:49:00 +0000 (15:49 +0000)]
Gst.TagList.copy_value.value is 'out' rather than 'ref'.
svn path=/trunk/; revision=220
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:48:55 +0000 (15:48 +0000)]
Refactor: A separate function for extraction of 'duration'.
svn path=/trunk/; revision=219
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:48:49 +0000 (15:48 +0000)]
Only react to PAUSED state-change if the previous state was READY.
svn path=/trunk/; revision=218
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:48:43 +0000 (15:48 +0000)]
Use 'this' keyword wherever possible. This makes code much more cleaner.
svn path=/trunk/; revision=217
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:48:37 +0000 (15:48 +0000)]
Add a gstreamer-based metadata extractor.
svn path=/trunk/; revision=216
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:48:30 +0000 (15:48 +0000)]
Add dependency to gstreamer >= 0.10.19.
svn path=/trunk/; revision=215
Zeeshan Ali (Khattak) [Sat, 19 Jul 2008 21:09:11 +0000 (21:09 +0000)]
No need to list all supported mimetypes in SourceProtocolInfo.
svn path=/trunk/; revision=214
Zeeshan Ali (Khattak) [Fri, 4 Jul 2008 14:27:50 +0000 (14:27 +0000)]
Declared all built sources in BUILT_SOURCES.
svn path=/trunk/; revision=213
Zeeshan Ali (Khattak) [Fri, 4 Jul 2008 14:27:38 +0000 (14:27 +0000)]
Fix a typo.
svn path=/trunk/; revision=212
Zeeshan Ali (Khattak) [Fri, 4 Jul 2008 14:27:29 +0000 (14:27 +0000)]
Prepare NEWS file for initial (0.1) release.
svn path=/trunk/; revision=211
Zeeshan Ali (Khattak) [Fri, 4 Jul 2008 14:27:23 +0000 (14:27 +0000)]
Update design doc and TODO files.
svn path=/trunk/; revision=210
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:53:37 +0000 (21:53 +0000)]
Put my name/copyright in the header.
svn path=/trunk/; revision=209
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:53:26 +0000 (21:53 +0000)]
Initialize the variables in the constructor.
svn path=/trunk/; revision=208
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:53:19 +0000 (21:53 +0000)]
Remove the unused commented-out code.
svn path=/trunk/; revision=207
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:53:12 +0000 (21:53 +0000)]
Use Vala's syntax for connecting signals with details.
svn path=/trunk/; revision=206
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:52:55 +0000 (21:52 +0000)]
Swap the sink and source ProtocolInfo.
svn path=/trunk/; revision=205
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:52:48 +0000 (21:52 +0000)]
Enable the ConnectionManager service.
svn path=/trunk/; revision=204
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:52:36 +0000 (21:52 +0000)]
Copy the ConnectionManager code from gupnp-media-renderer.
svn path=/trunk/; revision=203
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:52:25 +0000 (21:52 +0000)]
Put some description in README file.
svn path=/trunk/; revision=202
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 21:52:19 +0000 (21:52 +0000)]
Return an error on getting invalid arguments for 'Browse'.
svn path=/trunk/; revision=201
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 13:25:54 +0000 (13:25 +0000)]
Argument 'value' of query_variable signal should now be declared 'ref'.
svn path=/trunk/; revision=200
Zeeshan Ali (Khattak) [Thu, 3 Jul 2008 13:08:35 +0000 (13:08 +0000)]
Provide the 'creator' tag in DIDL xml for all items.
The same value is provided in 'author' and 'artist' tags for music and video
items respectively.
svn path=/trunk/; revision=199
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:36:43 +0000 (15:36 +0000)]
Hide the optional "GetSortExtensionCapabilities" action as well.
svn path=/trunk/; revision=198
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:36:26 +0000 (15:36 +0000)]
Implement "FeatureList" related queries and actions.
svn path=/trunk/; revision=197
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:36:16 +0000 (15:36 +0000)]
Implement "SearchCapabilities" and "SortCapabilities" related queries and actions.
svn path=/trunk/; revision=196
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:36:07 +0000 (15:36 +0000)]
Initialize "SystemUpdateID" variable and implement related query and action.
svn path=/trunk/; revision=195
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:36:01 +0000 (15:36 +0000)]
Comment out the optional actions and variables.
svn path=/trunk/; revision=194
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:35:54 +0000 (15:35 +0000)]
List the required actions/variable before the optional.
svn path=/trunk/; revision=193
Zeeshan Ali (Khattak) [Wed, 2 Jul 2008 15:35:46 +0000 (15:35 +0000)]
Disable the distribution and advertisement of the ConnectionManager service.
svn path=/trunk/; revision=192
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 21:05:28 +0000 (21:05 +0000)]
A temporary hack to make Vala compiler free string in structs.
We need this untill GB#526552 is fixed.
svn path=/trunk/; revision=191
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:57:34 +0000 (12:57 +0000)]
No need to check for null on values returned from tracker.
svn path=/trunk/; revision=190
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:57:24 +0000 (12:57 +0000)]
Put "dc:date" in the DIDL when available.
svn path=/trunk/; revision=189
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:57:14 +0000 (12:57 +0000)]
Put the actual "album" in the DIDL when available.
svn path=/trunk/; revision=188
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:56:55 +0000 (12:56 +0000)]
Refactor: separate functions for adding music, image and video items to DIDL.
svn path=/trunk/; revision=187
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:56:42 +0000 (12:56 +0000)]
Indentation fix.
svn path=/trunk/; revision=186
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:56:30 +0000 (12:56 +0000)]
Include "originalTrackNumber" in the DIDL for Music track objects.
svn path=/trunk/; revision=185
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:56:21 +0000 (12:56 +0000)]
Include the author, creator or artist in the DIDL when available.
svn path=/trunk/; revision=184
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:56:04 +0000 (12:56 +0000)]
Export the "abs_top_builddir" explicitly. Some installations need it.
svn path=/trunk/; revision=183
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:55:47 +0000 (12:55 +0000)]
tracker gives us empty string rather than null for each unavailable metadata.
svn path=/trunk/; revision=182
Zeeshan Ali (Khattak) [Tue, 1 Jul 2008 12:55:35 +0000 (12:55 +0000)]
Include the title instead of filename in the DIDL when it's available.
svn path=/trunk/; revision=181
Zeeshan Ali (Khattak) [Thu, 26 Jun 2008 20:38:55 +0000 (20:38 +0000)]
Correct the logic in MediaServer.set_friendly_name_and_udn ().
The values for UDN and FriendlyName were not set in the description doc if not
already present in the corresponding gconf keys.
svn path=/trunk/; revision=180
Zeeshan Ali (Khattak) [Mon, 23 Jun 2008 21:08:05 +0000 (21:08 +0000)]
Remove the now redundant 'using GLib' from all sources.
svn path=/trunk/; revision=179
Zeeshan Ali (Khattak) [Mon, 23 Jun 2008 21:07:54 +0000 (21:07 +0000)]
Start using the new Vala syntax for connecting signals with details.
svn path=/trunk/; revision=178
Zeeshan Ali (Khattak) [Mon, 23 Jun 2008 21:07:44 +0000 (21:07 +0000)]
A small fix to setisfy the latest Vala compiler.
svn path=/trunk/; revision=177
Zeeshan Ali (Khattak) [Mon, 16 Jun 2008 20:49:08 +0000 (20:49 +0000)]
Make all constants all CAPS.
svn path=/trunk/; revision=176
Zeeshan Ali (Khattak) [Sun, 15 Jun 2008 20:58:25 +0000 (20:58 +0000)]
Check for gupnp-media-server.vala file rather than now removed main.c file.
svn path=/trunk/; revision=175
Zeeshan Ali (Khattak) [Sun, 15 Jun 2008 13:33:06 +0000 (13:33 +0000)]
Add the vala stamp file to CLEANFILES.
svn path=/trunk/; revision=174
Zeeshan Ali (Khattak) [Sun, 15 Jun 2008 13:32:59 +0000 (13:32 +0000)]
Re-write the main module in Vala.
The main module's code now resides in MediaServer class as static methods. This
marks the completion of re-write of code in Vala. Yay!
svn path=/trunk/; revision=173
Zeeshan Ali (Khattak) [Sun, 15 Jun 2008 13:32:46 +0000 (13:32 +0000)]
Put all low-level stuff into a separate module.
This module will be the only one kept in C and all the code that currently
can't be written (easily) in Vala, will go there.
svn path=/trunk/; revision=172
Zeeshan Ali (Khattak) [Sun, 15 Jun 2008 13:32:37 +0000 (13:32 +0000)]
Check for gconf-2.0 Vala bindings and add it to the Vala compiler flags.
svn path=/trunk/; revision=171
Zeeshan Ali (Khattak) [Fri, 13 Jun 2008 16:17:25 +0000 (16:17 +0000)]
Introduce a separate configure option for a strict C compiler.
svn path=/trunk/; revision=170
Zeeshan Ali (Khattak) [Fri, 13 Jun 2008 16:17:15 +0000 (16:17 +0000)]
Re-write the MediaServer class in Vala.
svn path=/trunk/; revision=169
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 14:56:04 +0000 (14:56 +0000)]
Add the copyright header.
svn path=/trunk/; revision=168
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 14:50:20 +0000 (14:50 +0000)]
Correct a warning message (copy&paste mistake).
svn path=/trunk/; revision=167
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 14:49:51 +0000 (14:49 +0000)]
Enable the commented out code of get_container_children_count().
This code now works against the latest Vala (svn trunk). MediaTracker is fully
functional again, yay!
svn path=/trunk/; revision=166
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:02:20 +0000 (13:02 +0000)]
Use the nice and clean DBus API that Vala provides us.
svn path=/trunk/; revision=165
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:02:12 +0000 (13:02 +0000)]
Correct the types of two parameters of MediaTracker.browse().
svn path=/trunk/; revision=164
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:02:05 +0000 (13:02 +0000)]
Re-write ContentDirectory implementation in Vala.
svn path=/trunk/; revision=163
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:01:58 +0000 (13:01 +0000)]
Require Vala >= 0.3.4.
svn path=/trunk/; revision=162
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:01:38 +0000 (13:01 +0000)]
Re-write MediaTracker in Vala.
Doesn't really work. Thanks to dbus-glib bindings for Vala and tracker API.
svn path=/trunk/; revision=161
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:01:18 +0000 (13:01 +0000)]
Re-write X_MS_MediaReceiverRegistrar implementation in Vala.
svn path=/trunk/; revision=160
Zeeshan Ali (Khattak) [Thu, 12 Jun 2008 13:01:09 +0000 (13:01 +0000)]
Check for Vala and GUPnP bindings.
svn path=/trunk/; revision=159
Zeeshan Ali (Khattak) [Tue, 13 May 2008 21:17:49 +0000 (21:17 +0000)]
Put the services implementations into separate objects.
svn path=/trunk/; revision=158
Zeeshan Ali (Khattak) [Tue, 13 May 2008 21:17:38 +0000 (21:17 +0000)]
Provide 'res@resultion' in DIDL XML for audio and video items.
svn path=/trunk/; revision=157
Zeeshan Ali (Khattak) [Tue, 13 May 2008 21:17:31 +0000 (21:17 +0000)]
Xbox wants Images container to have ID of '16'.
svn path=/trunk/; revision=156
Zeeshan Ali (Khattak) [Tue, 13 May 2008 21:17:10 +0000 (21:17 +0000)]
Report the correct UPnP class of the items.
svn path=/trunk/; revision=155
Zeeshan Ali (Khattak) [Thu, 8 May 2008 14:41:08 +0000 (14:41 +0000)]
Quick security fix: only host the user's home dir.
This should be OK with most tracker setups since by default tracker only
indexes user's home dir.
svn path=/trunk/; revision=154
Zeeshan Ali (Khattak) [Thu, 8 May 2008 13:10:16 +0000 (13:10 +0000)]
Don't escape '/' in the path before putting it in HTTP URI.
svn path=/trunk/; revision=153
Zeeshan Ali (Khattak) [Thu, 8 May 2008 13:10:00 +0000 (13:10 +0000)]
Introduce a structure to hold container info: ID, title and tracker category.
svn path=/trunk/; revision=152
Zeeshan Ali (Khattak) [Wed, 7 May 2008 21:21:17 +0000 (21:21 +0000)]
Xbox 360 uses 'ContainerID' instead of 'ObjectID' for cotainers.
svn path=/trunk/; revision=151
Zeeshan Ali (Khattak) [Wed, 7 May 2008 21:21:09 +0000 (21:21 +0000)]
Add the newly added xbox 360 specific xml files to build.
svn path=/trunk/; revision=150
Zeeshan Ali (Khattak) [Wed, 7 May 2008 21:21:00 +0000 (21:21 +0000)]
Use a separate description document for Xbox 360 to keep the code simple.
svn path=/trunk/; revision=149
Zeeshan Ali (Khattak) [Wed, 7 May 2008 21:20:49 +0000 (21:20 +0000)]
Retrieve the services in version agnostic way.
svn path=/trunk/; revision=148
Zeeshan Ali (Khattak) [Wed, 7 May 2008 21:20:42 +0000 (21:20 +0000)]
Add basic support for Xbox.
svn path=/trunk/; revision=147
Zeeshan Ali (Khattak) [Tue, 6 May 2008 08:17:04 +0000 (08:17 +0000)]
Steal some more DLNA bits from rhythmbox GUPnP plugin.
svn path=/trunk/; revision=146
Zeeshan Ali (Khattak) [Sat, 3 May 2008 10:58:59 +0000 (10:58 +0000)]
Adapt to latest didl writer API.
We put a fake 'MP3' for all items in the DLNA's PN field for each item.
This should fix the playback of mp3 contents on DLNA-compliant MRs and CPs
without breaking the playback of non-mp3 contents on non-DLNA compliant MRs/CPs.
svn path=/trunk/; revision=145
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:14:30 +0000 (20:14 +0000)]
In Browse() implementation, never return more than 128 items in a single reply.
svn path=/trunk/; revision=144
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:14:22 +0000 (20:14 +0000)]
In Browse() implementation, respect 'StartingIndex' and 'RequestedCount' params.
svn path=/trunk/; revision=143
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:14:13 +0000 (20:14 +0000)]
offset param to Files.GetByServiceType method is zero-based.
svn path=/trunk/; revision=142
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:14:05 +0000 (20:14 +0000)]
Use tracker to get the number of items in a category.
svn path=/trunk/; revision=141
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:13:58 +0000 (20:13 +0000)]
Remove an unneeded param from a function.
svn path=/trunk/; revision=140
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:13:51 +0000 (20:13 +0000)]
Escape the path before making a URI from it.
svn path=/trunk/; revision=139
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:13:41 +0000 (20:13 +0000)]
Host the root directory rather than user's home directory.
This is done because tracker URI's are absolute file paths and it could be
tracking other directories as well.
svn path=/trunk/; revision=138
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:13:34 +0000 (20:13 +0000)]
Start using tracker for fetching the list of media files.
svn path=/trunk/; revision=137
Zeeshan Ali (Khattak) [Fri, 2 May 2008 20:13:25 +0000 (20:13 +0000)]
Fix a small typo.
svn path=/trunk/; revision=136
Zeeshan Ali (Khattak) [Mon, 28 Apr 2008 21:17:25 +0000 (21:17 +0000)]
Start using tracker for fetching the metadata.
svn path=/trunk/; revision=135
Zeeshan Ali (Khattak) [Mon, 28 Apr 2008 21:17:14 +0000 (21:17 +0000)]
Add skeleton for tracker-based media provider.
svn path=/trunk/; revision=134
Zeeshan Ali (Khattak) [Mon, 28 Apr 2008 21:17:02 +0000 (21:17 +0000)]
Remove first goal from TODO and update the design/plan.
svn path=/trunk/; revision=133
Zeeshan Ali (Khattak) [Wed, 23 Apr 2008 13:53:53 +0000 (13:53 +0000)]
No need to load the modified description document anymore.
svn path=/trunk/; revision=132
Zeeshan Ali (Khattak) [Wed, 23 Apr 2008 13:53:47 +0000 (13:53 +0000)]
Fetch the UDN and friendlyName from gconf.
Fetch the UDN and friendlyName from gconf and set them to default
values if gconf keys aren't already set.
svn path=/trunk/; revision=131
Zeeshan Ali (Khattak) [Wed, 23 Apr 2008 13:53:40 +0000 (13:53 +0000)]
Let the context choose the hostname/IP and port for us if not in gconf.
svn path=/trunk/; revision=130