Replace my non-working "@gstreamer.net" email with "@gnome.org" one.
[profile/ivi/rygel.git] / ChangeLog
1 2008-11-10  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
2
3         * AUTHORS:
4         * src/media-server/cstuff.c:
5         * src/media-server/cstuff.h:
6
7         Replace my non-working "@gstreamer.net" email with "@gnome.org" one.
8
9 2008-10-29  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
10
11         * src/media-server/rygel-media-manager.vala:
12         * src/media-server/rygel-metadata-extractor.vala:
13
14         File.query_info () doesn't return a weak anymore.
15
16 2008-10-26  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
17
18         * MAINTAINERS:
19
20         Add MAINTAINERS file.
21
22 2008-10-26  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
23
24         * README:
25         * configure.ac:
26         * data/xml/Makefile.am:
27         * data/xml/description-xbox360.xml:
28         * data/xml/description.xml:
29         * doc/design.txt:
30         * src/media-providers/tracker/Makefile.am:
31         * src/media-providers/tracker/gupnp-media-tracker.vala:
32         * src/media-providers/tracker/gupnp-tracker-container.vala:
33         * src/media-providers/tracker/gupnp-tracker-plugin.vala:
34         * src/media-providers/tracker/rygel-media-tracker.vala:
35         * src/media-providers/tracker/rygel-tracker-container.vala:
36         * src/media-providers/tracker/rygel-tracker-plugin.vala:
37         * src/media-server/Makefile.am:
38         * src/media-server/gupnp-connection-manager.vala:
39         * src/media-server/gupnp-content-directory.vala:
40         * src/media-server/gupnp-media-container.vala:
41         * src/media-server/gupnp-media-item.vala:
42         * src/media-server/gupnp-media-manager.vala:
43         * src/media-server/gupnp-media-object.vala:
44         * src/media-server/gupnp-media-provider.vala:
45         * src/media-server/gupnp-media-receiver-registrar.vala:
46         * src/media-server/gupnp-media-server.vala:
47         * src/media-server/gupnp-metadata-extractor.vala:
48         * src/media-server/rygel-connection-manager.vala:
49         * src/media-server/rygel-content-directory.vala:
50         * src/media-server/rygel-media-container.vala:
51         * src/media-server/rygel-media-item.vala:
52         * src/media-server/rygel-media-manager.vala:
53         * src/media-server/rygel-media-object.vala:
54         * src/media-server/rygel-media-provider.vala:
55         * src/media-server/rygel-media-receiver-registrar.vala:
56         * src/media-server/rygel-media-server.vala:
57         * src/media-server/rygel-metadata-extractor.vala:
58
59         Project renamed to "Rygel" to be moved to GNOME SVN.
60
61 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
62
63         * src/media-providers/tracker/Makefile.am:
64         * src/media-providers/tracker/gupnp-media-tracker.vala:
65         * src/media-providers/tracker/gupnp-tracker-plugin.vala:
66
67         Refactor: Put plugin stuff into a separate module.
68
69 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
70
71         * src/media-providers/tracker/Makefile.am:
72         * src/media-providers/tracker/gupnp-media-tracker.vala:
73         * src/media-providers/tracker/gupnp-tracker-container.vala:
74
75         Refactor: Put TrackerContainer class into a separate module.
76
77 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
78
79         * src/media-providers/tracker/gupnp-media-tracker.vala:
80
81         Rename Tracker.Container to GUPnP.TrackerContainer.
82
83 2008-08-31  Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
84
85         * src/media-providers/tracker/gupnp-media-tracker.vala:
86         * src/media-server/gupnp-media-manager.vala:
87
88         Create the root container in the contructor of the media providers.
89
90 2008-08-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
91
92         * src/media-providers/tracker/gupnp-media-tracker.vala:
93
94         Remove the redundant 'title' field from the Tracker.Container class.
95
96 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
97
98         * src/media-server/gupnp-media-item.vala:
99
100         Introduce a class for media items.
101
102         * src/media-server/Makefile.am:
103
104         Add MediaItem to vapi file and build.
105
106         * src/media-providers/tracker/gupnp-media-tracker.vala:
107
108         Start utilizing the MediaContainer class in MediaTracker.
109
110 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
111
112         * src/media-server/gupnp-media-object.vala:
113
114         Introduce a new abstract class for media objects. It will be the
115         responsibility of derived classes to implement serializing to
116         DIDLLiteWriter.
117
118         * src/media-server/gupnp-media-container.vala:
119
120         Introduce a class for media containers.
121
122         * src/media-server/Makefile.am:
123
124         Add MediaObject and MediaContainer to vapi file and build.
125
126         * src/media-providers/tracker/gupnp-media-tracker.vala:
127         * src/media-server/gupnp-media-manager.vala:
128
129         Start utilizing the MediaContainer class in media providers.
130
131 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
132
133         * src/media-providers/tracker/gupnp-media-tracker.vala:
134
135         - Keep the parent_id of the container in the Tracker.Container class.
136         - Add the root_id prefix to container's id at object creation time.
137
138 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
139
140         * src/media-providers/tracker/gupnp-media-tracker.vala:
141         * src/media-server/gupnp-media-manager.vala:
142         * src/media-server/gupnp-media-provider.vala:
143
144         Remove MediaProvider.get_root_children_count() and allow each provider
145         to add metadata of it's root container to DIDL instead.
146
147 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
148
149         * src/media-server/gupnp-media-manager.vala:
150
151         Rename MediaManger's get_root_container_metadata() to
152         add_root_container_metadata().
153
154 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
155
156         * src/media-server/gupnp-content-directory.vala:
157
158         Put the code and message from exception caught on the action error.
159
160 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
161
162         * src/media-server/gupnp-media-provider.vala:
163
164         Assign a specific code (701) to "No such object" error.
165
166 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
167
168         * src/media-server/gupnp-media-manager.vala:
169
170         Rename MediaManager's browse_root_container() to add_root_children().
171
172 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
173
174         * src/media-providers/tracker/gupnp-media-tracker.vala:
175         * src/media-server/gupnp-content-directory.vala:
176         * src/media-server/gupnp-media-manager.vala:
177         * src/media-server/gupnp-media-provider.vala:
178
179         - Rename MediaProvider's get_metadata() to add_metadata().
180         - Rename MediaProvider's browse() to add_children_metadata().
181
182 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
183
184         * src/media-providers/tracker/gupnp-media-tracker.vala:
185         * src/media-server/gupnp-content-directory.vala:
186         * src/media-server/gupnp-media-manager.vala:
187         * src/media-server/gupnp-media-provider.vala:
188
189         MediaProviders now get a DIDLiteWriter to add metadata to and no longer
190         return didl strings.
191
192 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
193
194         * src/media-server/gupnp-media-manager.vala:
195
196         Remove an unneeded try&catch block.
197
198 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
199
200         * src/media-server/Makefile.am:
201
202         MediaProvider class now requires gupnp-av package.
203
204 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
205
206         * src/media-providers/tracker/gupnp-media-tracker.vala:
207         * src/media-server/gupnp-content-directory.vala:
208         * src/media-server/gupnp-media-manager.vala:
209         * src/media-server/gupnp-media-provider.vala:
210
211         Use Exceptions rather than returning null.
212
213 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
214
215         * src/media-server/gupnp-media-server.vala:
216
217         Use real name of the user rather than username in FriendlyName.
218
219 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
220
221         * src/media-providers/tracker/gupnp-media-tracker.vala:
222         * src/media-server/gupnp-media-manager.vala:
223         * src/media-server/gupnp-media-provider.vala:
224
225         Make MediaProvider an abstract class rather than interface. We will have
226         to do this at some point anyway to put common functionality into this
227         module but the real reason to do this right now is that support for
228         constuct-only props in interfaces was recenlty dropped in Vala (for good
229         reasons).
230
231 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
232
233         * src/media-server/gupnp-media-provider.vala:
234
235         Put MediaProvider in GUPnP namespace.
236
237 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
238
239         * configure.ac:
240         * src/Makefile.am:
241         * src/cstuff.c:
242         * src/cstuff.h:
243         * src/cstuff.vapi:
244         * src/gupnp-connection-manager.vala:
245         * src/gupnp-content-directory.vala:
246         * src/gupnp-media-manager.vala:
247         * src/gupnp-media-provider.vala:
248         * src/gupnp-media-receiver-registrar.vala:
249         * src/gupnp-media-server.vala:
250         * src/gupnp-metadata-extractor.vala:
251         * src/media-providers/tracker/Makefile.am:
252         * src/media-server/Makefile.am:
253         * src/media-server/cstuff.c:
254         * src/media-server/cstuff.h:
255         * src/media-server/cstuff.vapi:
256         * src/media-server/gupnp-connection-manager.vala:
257         * src/media-server/gupnp-content-directory.vala:
258         * src/media-server/gupnp-media-manager.vala:
259         * src/media-server/gupnp-media-provider.vala:
260         * src/media-server/gupnp-media-receiver-registrar.vala:
261         * src/media-server/gupnp-media-server.vala:
262         * src/media-server/gupnp-metadata-extractor.vala:
263
264         Move the core Media Server code into a separate subdirectory.
265
266 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
267
268         * src/media-providers/Makefile.am:
269
270         Remove Makefile.in on 'make maintainer-clean'.
271
272 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
273
274         * src/gupnp-media-manager.vala:
275
276         - Better/recursive GIO-based plugin loading.
277         - Replace random ID generation function by a GQuark-based (persistant)
278           one.
279
280 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
281
282         * configure.ac:
283
284         Disable generation of static libraries.
285
286 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
287
288         * configure.ac:
289         * src/Makefile.am:
290         * src/media-providers/Makefile.am:
291         * src/media-providers/tracker/Makefile.am:
292         * src/media-providers/tracker/gupnp-media-tracker.vala:
293
294         Re-introduce MediaTracker as a plugin.
295
296 2008-08-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
297
298         * src/Makefile.am:
299         * src/cstuff.vapi:
300         * src/gupnp-media-manager.vala:
301         * src/gupnp-media-tracker.vala:
302
303         - Introduce a plugins system. Ross should be happy now. :)
304         - Remove MediaTracker module.
305
306 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
307
308         * src/gupnp-media-manager.vala:
309         * src/gupnp-media-provider.vala:
310         * src/gupnp-media-tracker.vala:
311
312         - Add "title" prop to MediaProvider interface.
313         - Add get_root_children_count() to MediaProvider interface.
314
315 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
316
317         * src/gupnp-media-tracker.vala:
318
319         - Correct a typo. Now we export the ID of the container in the format we
320           need to export it in.
321         - No need for MediaManager to prefix IDs with root_id.
322         - Pass ID as is to browse() and get_metadata() of media providers.
323         - Get the root ID prefix from IDs rather than removing it.
324         - Don't add root ID prefix to root parent ID.
325
326 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
327
328         * src/gupnp-content-directory.vala:
329         * src/gupnp-media-manager.vala:
330         * src/gupnp-media-provider.vala:
331         * src/gupnp-media-tracker.vala:
332
333         - MediaProviders now get the "root_parent_id" though a prop.
334         - MediaManager now decides the IDs to use on it's own.
335
336 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
337
338         * src/gupnp-content-directory.vala:
339
340         Use MediaManager rather than MediaTracker. This also means that
341         system_update_id doesn't need to be handled by ContentDirectory
342         anymore.
343
344 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
345
346         * src/Makefile.am:
347         * src/gupnp-media-manager.vala:
348
349         Introduce MediaManager. It implements MediaProvider interface and will
350         be responsible to manage all MediaProviders. Currently it uses
351         MediaTracker directly since it currently doesn't have a plugin system.
352
353 2008-07-31  Zeeshan Ali Khattak  <zeenix@gmail.com>
354
355         * src/gupnp-media-tracker.vala:
356
357         Each MediaProvider prefixes each objectid with "root-id:". This will
358         allow the ContentDirectory to redirect the Browse requests to the
359         appropriate MediaProvider in a simple/efficient way.
360
361 2008-07-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
362
363         * src/Makefile.am:
364         * src/gupnp-media-provider.vala:
365         * src/gupnp-media-tracker.vala:
366
367         Introduce MediaProvider interface that MediaTracker
368         implements.
369
370 2008-07-18  Zeeshan Ali Khattak  <zeenix@gmail.com>
371
372         * src/gupnp-connection-manager.vala:
373
374         No need to list all supported mimetypes in SourceProtocolInfo.
375
376 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
377
378         * src/Makefile.am:
379
380         - Fix a typo.
381         - Declared all built sources in BUILT_SOURCES.
382
383 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
384
385         * NEWS:
386
387         Prepare NEWS file for initial (0.1) release.
388
389 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
390
391         * TODO:
392         * doc/design.txt:
393
394         Update design doc and TODO files.
395
396 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
397
398         * src/gupnp-connection-manager.vala:
399
400         - Swap the sink and source ProtocolInfo.
401         - Use Vala's syntax for connecting signals with details.
402         - Remove the unused commented-out code.
403         - Initialize the variables in the constructor.
404         - Put my name/copyright in the header.
405
406 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
407
408         * data/xml/Makefile.am:
409         * data/xml/description.xml:
410         * src/gupnp-media-server.vala:
411
412         Enable the ConnectionManager service.
413
414 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
415
416         * src/Makefile.am:
417         * src/gupnp-connection-manager.vala:
418
419         Copy the ConnectionManager code from gupnp-media-renderer.
420
421 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
422
423         * README:
424
425         Put some description in README file.
426
427 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
428
429         * src/gupnp-content-directory.vala:
430
431         Return an error on getting invalid arguments for 'Browse'.
432
433 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
434
435         * src/gupnp-content-directory.vala:
436
437         Argument 'value' of query_variable signal should now be declared 'ref'.
438
439 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
440
441         * src/gupnp-media-tracker.vala:
442
443         Provide the 'creator' tag in DIDL xml for all items. The same value is
444         provided in 'author' and 'artist' tags for music and video items
445         respectively.
446
447 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
448
449         * data/xml/ContentDirectory.xml:
450
451         Hide the optional "GetSortExtensionCapabilities" action as well.
452
453 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
454
455         * src/gupnp-content-directory.vala:
456
457         - Initialize "SystemUpdateID" variable and implement related query and
458           action.
459         - Implement "SearchCapabilities" and "SortCapabilities" related
460           queries and actions.
461         - Implement "FeatureList" related queries and actions.
462
463 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
464
465         * data/xml/ContentDirectory.xml:
466
467         - List the required actions/variable before the optional.
468         - Comment out the optional actions and variables.
469
470 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
471
472         * data/xml/Makefile.am:
473         * data/xml/description-xbox360.xml:
474         * data/xml/description.xml:
475
476         Disable the distribution and advertisement of the yet unimplemented
477         ConnectionManager service.
478
479 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
480
481         * src/gupnp-media-tracker.vala:
482
483         A temporary hack to make Vala compiler free string in structs. We need
484         this untill GB#526552 is fixed.
485
486 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
487
488         * src/gupnp-media-tracker.vala:
489
490         - Refactor: separate functions for adding music, image and video items
491           to DIDL.
492         - Put the actual "album" in the DIDL when available.
493         - Put "dc:date" in the DIDL when available.
494         - No need to check for null on values returned from tracker.
495
496 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
497
498         * src/gupnp-media-tracker.vala:
499
500         - Include the author, creator or artist in the DIDL when available.
501         - Include "originalTrackNumber" in the DIDL for Music track objects.
502         - Indentation fix.
503
504 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
505
506         * configure.ac:
507
508         Export the "abs_top_builddir" explicitly. Some installations need it.
509
510 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
511
512         * src/gupnp-media-tracker.vala:
513
514         - Include the title instead of filename in the DIDL when it's available.
515         - tracker gives us empty string rather than null for each unavailable
516           metadata.
517
518 2008-06-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
519
520         * src/gupnp-metadata-extractor.vala:
521
522         Put some more more comments and Refactor.
523
524 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
525
526         * src/gupnp-metadata-extractor.vala:
527
528         Extract the mime-type using GIO.
529
530 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
531
532         * configure.ac:
533         * src/Makefile.am:
534
535         Require gio-2.0 (>= 2.16) and include it in the build.
536
537 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
538
539         * src/gupnp-metadata-extractor.vala:
540
541         Implement extraction of audio and video specific metadata.
542
543 2008-06-26  Zeeshan Ali Khattak  <zeenix@gmail.com>
544
545         * src/gupnp-media-server.vala:
546
547         Correct the logic in MediaServer.set_friendly_name_and_udn (). The
548         values for UDN and FriendlyName were not set in the description doc if
549         not already present in the corresponding gconf keys.
550
551 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
552
553         * configure.ac:
554
555         Reduce the gstreamer dependency to 0.10.18.
556
557 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
558
559         * src/gupnp-metadata-extractor.vala:
560
561         - Use 'this' keyword wherever possible. This makes code much more
562           cleaner.
563         - Only react to PAUSED state-change if the previous state was READY.
564         - Refactor: A separate function for extraction of 'duration'.
565         - Gst.TagList.copy_value.value is 'out' rather than 'ref'.
566
567 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
568
569         * src/Makefile.am:
570         * src/gupnp-metadata-extractor.vala:
571
572         Add a gstreamer-based metadata extractor.
573
574 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
575
576         * configure.ac:
577         * src/Makefile.am:
578
579         Add dependency to gstreamer >= 0.10.19.
580
581 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
582
583         * src/gupnp-content-directory.vala:
584         * src/gupnp-media-receiver-registrar.vala:
585         * src/gupnp-media-server.vala:
586         * src/gupnp-media-tracker.vala:
587
588         Remove the now redundant 'using GLib' from all sources.
589
590 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
591
592         * src/gupnp-content-directory.vala:
593         * src/gupnp-media-receiver-registrar.vala:
594
595         Start using the new Vala syntax for connecting signals with details.
596
597 2008-06-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
598
599         * src/gupnp-media-tracker.vala:
600
601         A small fix to setisfy the latest Vala compiler.
602
603 2008-06-16  Zeeshan Ali Khattak  <zeenix@gmail.com>
604
605         * src/gupnp-media-tracker.vala:
606
607         Make all constants all CAPS.
608
609 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
610
611         * configure.ac:
612
613         Check for gupnp-media-server.vala file rather than now removed main.c
614         file.
615
616 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
617
618         * src/Makefile.am:
619
620         Add the vala stamp file to CLEANFILES.
621
622 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
623
624         * src/Makefile.am:
625         * src/gupnp-media-server.vala:
626         * src/main.c:
627
628         Re-write the main module in Vala. The main module's code now resides
629         in MediaServer class as static methods. This marks the completion of
630         re-write of code in Vala. Yay!
631
632 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
633
634         * src/Makefile.am:
635         * src/cstuff.c:
636         * src/cstuff.h:
637         * src/cstuff.vapi:
638
639         Put all low-level stuff into a separate module. This module will be
640         the only one kept in C and all the code that currently can't be
641         written (easily) in Vala, will go there.
642
643 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
644
645         * configure.ac:
646         * src/Makefile.am:
647
648         Check for gconf-2.0 Vala bindings and add it to the Vala compiler
649         flags.
650
651 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
652
653         * configure.ac:
654
655         Introduce a separate configure option for a strict C compiler.
656
657 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
658
659         * src/Makefile.am:
660         * src/gupnp-media-server.c:
661         * src/gupnp-media-server.h:
662         * src/gupnp-media-server.vala:
663
664         Re-write the MediaServer class in Vala.
665
666 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
667
668         * src/gupnp-media-receiver-registrar.vala:
669
670         Add the copyright header.
671
672 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
673
674         * src/gupnp-media-tracker.vala:
675
676         - Use the nice and clean DBus API that Vala provides us.
677         - Enable the commented out code of get_container_children_count() now
678           that it's working against the latest Vala (svn trunk). MediaTracker
679           is fully functional again, yay!
680         - Correct a warning message (copy&paste mistake).
681
682 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
683
684         * src/gupnp-media-tracker.vala:
685
686         Correct the types of two parameters of MediaTracker.browse().
687
688 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
689
690         * src/Makefile.am:
691         * src/gupnp-content-directory.c:
692         * src/gupnp-content-directory.h:
693         * src/gupnp-content-directory.vala:
694
695         Re-write ContentDirectory implementation in Vala.
696
697 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
698
699         * configure.ac:
700
701         Require Vala >= 0.3.4.
702
703 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
704
705         * configure.ac:
706         * src/Makefile.am:
707         * src/gupnp-content-directory.c:
708         * src/gupnp-media-tracker.c:
709         * src/gupnp-media-tracker.h:
710         * src/gupnp-media-tracker.vala:
711
712         Re-write MediaTracker in Vala. Doesn't really work. Thanks to
713         dbus-glib bindings for Vala and tracker API.
714
715 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
716
717         * src/Makefile.am:
718         * src/gupnp-media-receiver-registrar.c:
719         * src/gupnp-media-receiver-registrar.h:
720         * src/gupnp-media-receiver-registrar.vala:
721
722         Re-write X_MS_MediaReceiverRegistrar implementation in Vala.
723
724 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
725
726         * configure.ac:
727
728         Check for Vala and GUPnP bindings.
729
730 2008-05-14  Zeeshan Ali Khattak  <zeenix@gmail.com>
731
732         * src/Makefile.am:
733         * src/gupnp-content-directory.c:
734         * src/gupnp-content-directory.h:
735         * src/gupnp-media-receiver-registrar.c:
736         * src/gupnp-media-receiver-registrar.h:
737         * src/gupnp-media-server.c:
738
739         Put the services implementations into separate objects.
740
741 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
742
743         * src/gupnp-media-tracker.c:
744
745         - Report the correct UPnP class of the items.
746         - Xbox wants Images container to have ID of '16'.
747         - Provide 'res@resultion' in DIDL XML for audio and video items.
748
749 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
750
751         * src/gupnp-media-tracker.c:
752
753         Quick security fix: only host the user's home dir. This should be OK
754         with most tracker setups since by default tracker only indexes user's
755         home dir.
756
757 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
758
759         * src/gupnp-media-tracker.c:
760
761         - Introduce a structure to hold container info: ID, title and
762           associated tracker category.
763         - Don't escape '/' in the path before putting it in HTTP URI.
764
765 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
766
767         * src/gupnp-media-server.c:
768
769         Xbox 360 uses 'ContainerID' instead of 'ObjectID' for cotainers.
770
771 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
772
773         * data/xml/Makefile.am:
774
775         Add the newly added xbox 360 specific xml files to build.
776
777 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
778
779         * data/xml/description-xbox360.xml:
780         * src/main.c:
781
782         Use a separate description document for Xbox 360 to keep the code
783         simple.
784
785 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
786
787         * src/gupnp-media-server.c:
788
789         Retrieve the services in version agnostic way.
790
791 2008-05-06  Zeeshan Ali Khattak  <zeenix@gmail.com>
792
793         * data/xml/X_MS_MediaReceiverRegistrar1.xml:
794         * data/xml/description.xml:
795         * src/gupnp-media-server.c:
796         * src/main.c:
797
798         Add basic support for Xbox.
799
800 2008-05-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
801
802         * data/xml/description.xml:
803
804         Steal some more DLNA bits from rhythmbox GUPnP plugin.
805
806 2008-05-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
807
808         * src/gupnp-media-tracker.c:
809
810         Adapt to latest didl writer API. We put a fake 'MP3' for all items in
811         the DLNA's PN field for each item. This should fix the playback of mp3
812         contents on DLNA-compliant MRs and CPs without breaking the playback of
813         non-mp3 contents on non-DLNA compliant MRs/CPs.
814
815 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
816
817         * src/gupnp-media-tracker.c:
818
819         In Browse() implementation,
820         - respect 'StartingIndex' and 'RequestedCount' params.
821         - Never return more than 128 items in a single reply.
822
823 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
824
825         * src/gupnp-media-tracker.c:
826
827         - Use tracker to get the number of items in a category.
828         - offset param to Files.GetByServiceType method is zero-based.
829
830 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
831
832         * src/gupnp-media-tracker.c:
833
834         - Host the root directory rather than user's home directory since the
835           tracker URI's are absolute file paths and it could be tracking other
836           directories as well.
837         - Escape the path before making a URI from it.
838         - Remove an unneeded param from a function.
839
840 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
841
842         * src/gupnp-media-tracker.c:
843
844         Start using tracker for fetching the list of media files.
845
846 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
847
848         * src/gupnp-media-tracker.c:
849
850         Fix a small typo.
851
852 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
853
854         * configure.ac:
855         * src/Makefile.am:
856         * src/gupnp-media-tracker.c:
857
858         Start using tracker for fetching the metadata.
859
860 2008-04-28  Zeeshan Ali Khattak  <zeenix@gmail.com>
861
862         * src/Makefile.am:
863         * src/gupnp-media-server.c:
864         * src/gupnp-media-tracker.c:
865         * src/gupnp-media-tracker.h:
866
867         Add skeleton for tracker-based media provider.
868
869 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
870
871         * TODO:
872         * doc/design.txt:
873
874         Remove first goal from TODO and update the design/plan.
875
876 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
877
878         * src/main.c:
879
880         - Fetch the UDN and friendlyname from gconf and set them to default
881           values if gconf keys aren't already set.
882         - No need to load the modified description document anymore.
883
884 2008-04-22  Zeeshan Ali Khattak  <zeenix@gmail.com>
885
886         * src/main.c:
887
888         Let the context choose the hostname/IP and port for us if not
889         specified in gconf.
890
891 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
892
893         * src/gupnp-media-server.c:
894
895         - Implement 'BrowseMetadata'.
896         - Mime-type of mp3 files should be 'audio/mpeg' rather than
897         'audio/mp3'.
898         - Host user's home directory as '/media' and update paths accordingly.
899
900 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
901
902         * configure.ac:
903         * data/Makefile.am:
904         * data/xml/Makefile.am:
905         * src/Makefile.am:
906
907         Update/fix the build system for our dummy MS.
908
909 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
910
911         * src/gupnp-media-server.c:
912         * src/gupnp-media-server.h:
913         * src/main.c:
914
915         Implement a dummy MS.
916
917 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
918
919         * src/gupnp-media-server.c:
920         * src/gupnp-media-server.h:
921
922         Update the copyright/licence header.
923
924 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
925
926         * data/xml/ConnectionManager.xml:
927         * data/xml/ContentDirectory.xml:
928         * data/xml/description.xml:
929
930         - Advertise version 2 of MS and AV services.
931         - Some minor updates.
932
933 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
934
935         * doc/design.txt:
936
937         Simpler design:
938         - Rename MediaDb to MediaProvider.
939         - Replace MediaDbGroup and MediaDbPlugin by a single MediaDb.
940
941         * TODO:
942
943         Add TODO file and put the general plan in there.
944
945 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
946
947         * doc/design.txt:
948
949         Add some more objects and description to design doc.
950