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