Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:44:09 +0000 (14:44 +0000)]
Add some basic doc comments for all classes.
svn path=/trunk/; revision=304
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:44:05 +0000 (14:44 +0000)]
Oops! Had forgotten to update my email in the vapi file.
svn path=/trunk/; revision=303
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:59 +0000 (14:43 +0000)]
Rename 'media-server' dir to 'rygel'.
svn path=/trunk/; revision=302
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:52 +0000 (14:43 +0000)]
Rename 'media-providers' directory to 'plugins.
svn path=/trunk/; revision=301
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:47 +0000 (14:43 +0000)]
Fix the root gconf path to reflect the new project name.
svn path=/trunk/; revision=300
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:42 +0000 (14:43 +0000)]
Rename 'GCONF_PATH' to 'ROOT_GCONF_PATH'.
svn path=/trunk/; revision=299
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:38 +0000 (14:43 +0000)]
Rename 'UPNP_CLASS' in Service classes to 'UPNP_TYPE'.
svn path=/trunk/; revision=298
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:32 +0000 (14:43 +0000)]
set dlna_operation and dlna_flags like rhythmbox-gupnp.
Patch from Florian Steinel <Florian.Steinel@googlemail.com>.
svn path=/trunk/; revision=297
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:28 +0000 (14:43 +0000)]
Use the new Tracker interface.
Tracker now has separate objects for separate API. Patch from
Florian Steinel <Florian.Steinel@googlemail.com>.
svn path=/trunk/; revision=296
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:23 +0000 (14:43 +0000)]
Remove some unnecessary null-checks.
Thanks to Florian Steinel for pointing it out.
svn path=/trunk/; revision=295
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:18 +0000 (14:43 +0000)]
Link against libgee.
svn path=/trunk/; revision=294
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:12 +0000 (14:43 +0000)]
Complete Redesign: More power to the plugins.
List of changes:
* Plugins now loaded into separate Media Servers.
* Plugins can now implement any kind of resources (only services atm).
* Service classes are now exposed to plugins so they can inherit from them.
* MediaTracker now inherits from ContentDirectory rather than ContentProvider.
* ContentProvider is removed.
svn path=/trunk/; revision=293
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:07 +0000 (14:43 +0000)]
Bump-up required vala version to 0.5.2.
svn path=/trunk/; revision=292
Zeeshan Ali (Khattak) [Tue, 25 Nov 2008 14:43:03 +0000 (14:43 +0000)]
The service classes should know their upnp classes themselves.
svn path=/trunk/; revision=291
Zeeshan Ali (Khattak) [Tue, 18 Nov 2008 21:00:18 +0000 (21:00 +0000)]
Remove the now unneeded methods from TrackerContainer.
Had forgotten to remove add_music_item_from_db and seconds_to_iso8601 methods.
svn path=/trunk/; revision=290
Zeeshan Ali (Khattak) [Tue, 18 Nov 2008 21:00:10 +0000 (21:00 +0000)]
Vala syntax update:
- structs need to be initialized now.
- struct fields don't need to be initialized to null anymore.
- initialize all variables before using them.
svn path=/trunk/; revision=289
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 18:24:44 +0000 (18:24 +0000)]
Override GLib.Object.constructed() instead of using 'construct' keyword.
svn path=/trunk/; revision=288
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 18:10:05 +0000 (18:10 +0000)]
Avoid using 'construct' now that we have flexible construction methods.
svn path=/trunk/; revision=287
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:42:02 +0000 (17:42 +0000)]
Don't keep GUPnP context and D-Bus proxy objects in TrackerItem.
It can access these from the parent container object.
svn path=/trunk/; revision=286
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:42:00 +0000 (17:42 +0000)]
Don't hide GUPnP context and D-Bus proxy objects.
svn path=/trunk/; revision=285
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:58 +0000 (17:41 +0000)]
Rename field/variable "tracker_category" to "category".
svn path=/trunk/; revision=284
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:56 +0000 (17:41 +0000)]
Refactor: Put common Tracker item code into a separate abstract class.
All Tracker item classes now inherit from this class.
svn path=/trunk/; revision=283
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:54 +0000 (17:41 +0000)]
Refactor: Separate classes for each item type.
These tracker-specific item classes are responsible for fetching their metadata
and serializing it.
svn path=/trunk/; revision=282
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:53 +0000 (17:41 +0000)]
Declare private fields as private.
svn path=/trunk/; revision=281
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:51 +0000 (17:41 +0000)]
Refactor: Add TrackerContainer.get_file_category().
Now MediaTracker doesn't talk to tracker directly.
svn path=/trunk/; revision=280
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:49 +0000 (17:41 +0000)]
More standard-compliant SCPDs.
Based on a patch by Ross Burton <ross@opennedhand.com>.
svn path=/trunk/; revision=279
Zeeshan Ali (Khattak) [Tue, 11 Nov 2008 17:41:47 +0000 (17:41 +0000)]
Create root container after it's children.
This is to pass the correct number of children to the constructor of the
root container.
svn path=/trunk/; revision=278
Zeeshan Ali (Khattak) [Mon, 10 Nov 2008 21:33:21 +0000 (21:33 +0000)]
Refactor: A more intelligent TrackerContainer.
As a result, MediaTracker class is now very slim.
svn path=/trunk/; revision=277
Zeeshan Ali (Khattak) [Mon, 10 Nov 2008 21:33:19 +0000 (21:33 +0000)]
Replace my non-working "@gstreamer.net" email with "@gnome.org" one.
svn path=/trunk/; revision=276
Zeeshan Ali (Khattak) [Mon, 10 Nov 2008 21:33:18 +0000 (21:33 +0000)]
File.query_info () doesn't return a weak anymore.
svn path=/trunk/; revision=275
Zeeshan Ali (Khattak) [Sun, 26 Oct 2008 21:34:24 +0000 (21:34 +0000)]
Add MAINTAINERS file.
svn path=/trunk/; revision=274
Zeeshan Ali (Khattak) [Sun, 26 Oct 2008 21:34:16 +0000 (21:34 +0000)]
Project renamed to "Rygel" to be moved to GNOME SVN.
svn path=/trunk/; revision=273
Zeeshan Ali (Khattak) [Wed, 10 Sep 2008 21:21:35 +0000 (21:21 +0000)]
Refactor: Put plugin stuff into a separate module.
svn path=/trunk/; revision=272
Zeeshan Ali (Khattak) [Wed, 10 Sep 2008 21:21:25 +0000 (21:21 +0000)]
Refactor: Put TrackerContainer class into a separate module.
svn path=/trunk/; revision=271
Zeeshan Ali (Khattak) [Wed, 10 Sep 2008 21:21:14 +0000 (21:21 +0000)]
Rename Tracker.Container to GUPnP.TrackerContainer.
svn path=/trunk/; revision=270
Zeeshan Ali (Khattak) [Wed, 10 Sep 2008 21:21:05 +0000 (21:21 +0000)]
Create the root container in the contructor of the media providers.
svn path=/trunk/; revision=269
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:53 +0000 (21:10 +0000)]
Remove the redundant 'title' field from the Tracker.Container class.
svn path=/trunk/; revision=268
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:46 +0000 (21:10 +0000)]
Start utilizing the MediaContainer class in MediaTracker.
svn path=/trunk/; revision=267
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:38 +0000 (21:10 +0000)]
Add MediaItem to vapi file and build.
svn path=/trunk/; revision=266
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:31 +0000 (21:10 +0000)]
Introduce a class for media items.
svn path=/trunk/; revision=265
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:23 +0000 (21:10 +0000)]
Start utilizing the MediaContainer class in media providers.
svn path=/trunk/; revision=264
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:14 +0000 (21:10 +0000)]
Add MediaObject and MediaContainer to vapi file and build.
svn path=/trunk/; revision=263
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:10:07 +0000 (21:10 +0000)]
Introduce a class for media containers.
svn path=/trunk/; revision=262
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:59 +0000 (21:09 +0000)]
Introduce a new abstract class for media objects.
It will be the responsibility of derived classes to implement serializing to
DIDLLiteWriter.
svn path=/trunk/; revision=261
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:52 +0000 (21:09 +0000)]
Add the root_id prefix to container's id at object creation time.
svn path=/trunk/; revision=260
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:44 +0000 (21:09 +0000)]
Keep the parent_id of the container in the Tracker.Container class.
svn path=/trunk/; revision=259
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:36 +0000 (21:09 +0000)]
Remove MediaProvider.get_root_children_count().
Remove MediaProvider.get_root_children_count() and allow each provider to
add metadata of it's root container to DIDL instead.
svn path=/trunk/; revision=258
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:27 +0000 (21:09 +0000)]
Rename MediaManger's get_root_container_metadata() to add_root_container_metadata().
svn path=/trunk/; revision=257
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:20 +0000 (21:09 +0000)]
Put the code and message from exception caught on the action error.
svn path=/trunk/; revision=256
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:13 +0000 (21:09 +0000)]
Assign a specific code (701) to "No such object" error.
svn path=/trunk/; revision=255
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:09:04 +0000 (21:09 +0000)]
Rename MediaManager's browse_root_container() to add_root_children().
svn path=/trunk/; revision=254
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:56 +0000 (21:08 +0000)]
Rename MediaProvider's browse() to add_children_metadata().
svn path=/trunk/; revision=253
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:46 +0000 (21:08 +0000)]
Rename MediaProvider's get_metadata() to add_metadata().
svn path=/trunk/; revision=252
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:37 +0000 (21:08 +0000)]
MediaProviders now get a DIDLiteWriter to add metadata to and no longer return didl strings.
svn path=/trunk/; revision=251
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:26 +0000 (21:08 +0000)]
Remove an unneeded try&catch block.
svn path=/trunk/; revision=250
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:20 +0000 (21:08 +0000)]
MediaProvider class now requires gupnp-av package.
svn path=/trunk/; revision=249
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:08:13 +0000 (21:08 +0000)]
Use Exceptions rather than returning null.
svn path=/trunk/; revision=248
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:07:55 +0000 (21:07 +0000)]
Use real name of the user rather than username in FriendlyName.
svn path=/trunk/; revision=247
Zeeshan Ali (Khattak) [Fri, 29 Aug 2008 21:07:46 +0000 (21:07 +0000)]
Make MediaProvider an abstract class rather than interface.
We will have to do this at some point anyway to put common functionality into
this module but the real reason to do this right now is that support for
constuct-only props in interfaces was recenlty dropped in Vala (for good
reasons).
svn path=/trunk/; revision=246
Zeeshan Ali (Khattak) [Sat, 16 Aug 2008 22:02:55 +0000 (22:02 +0000)]
Put MediaProvider in GUPnP namespace.
svn path=/trunk/; revision=245
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:57 +0000 (15:51 +0000)]
Move the core Media Server code into a separate subdirectory.
svn path=/trunk/; revision=244
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:38 +0000 (15:51 +0000)]
Remove Makefile.in on 'make maintainer-clean'.
svn path=/trunk/; revision=243
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:31 +0000 (15:51 +0000)]
Replace random ID generation function by a GQuark-based (persistant) one.
svn path=/trunk/; revision=242
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:26 +0000 (15:51 +0000)]
Better/recursive GIO-based plugin loading.
svn path=/trunk/; revision=241
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:20 +0000 (15:51 +0000)]
Disable generation of static libraries.
svn path=/trunk/; revision=240
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:13 +0000 (15:51 +0000)]
Re-introduce MediaTracker as a plugin.
svn path=/trunk/; revision=239
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:51:03 +0000 (15:51 +0000)]
- Introduce a plugins system. Ross should be happy now. :)
- Remove MediaTracker module.
svn path=/trunk/; revision=238
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:56 +0000 (15:50 +0000)]
Add get_root_children_count() to MediaProvider interface.
svn path=/trunk/; revision=237
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:50 +0000 (15:50 +0000)]
Add "title" prop to MediaProvider interface.
svn path=/trunk/; revision=236
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:42 +0000 (15:50 +0000)]
Don't add root ID prefix to root parent ID.
svn path=/trunk/; revision=235
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:37 +0000 (15:50 +0000)]
Get the root ID prefix from IDs rather than removing it.
svn path=/trunk/; revision=234
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:31 +0000 (15:50 +0000)]
Pass ID as is to browse() and get_metadata() of media providers.
svn path=/trunk/; revision=233
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:15 +0000 (15:50 +0000)]
No need for MediaManager to prefix IDs with root_id.
svn path=/trunk/; revision=232
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:09 +0000 (15:50 +0000)]
Correct a typo.
Now we export the ID of the container in the format we need to export it in.
svn path=/trunk/; revision=231
Zeeshan Ali (Khattak) [Tue, 5 Aug 2008 15:50:03 +0000 (15:50 +0000)]
- MediaProviders now get the "root_parent_id" though a prop.
- MediaManager now decides the IDs to use on it's own.
svn path=/trunk/; revision=230
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