- MediaProviders now get the "root_parent_id" though a prop.
[profile/ivi/rygel.git] / ChangeLog
1 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
2
3         * src/gupnp-content-directory.vala:
4         * src/gupnp-media-manager.vala:
5         * src/gupnp-media-provider.vala:
6         * src/gupnp-media-tracker.vala:
7
8         - MediaProviders now get the "root_parent_id" though a prop.
9         - MediaManager now decides the IDs to use on it's own.
10
11 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
12
13         * src/gupnp-content-directory.vala:
14
15         Use MediaManager rather than MediaTracker. This also means that
16         system_update_id doesn't need to be handled by ContentDirectory
17         anymore.
18
19 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
20
21         * src/Makefile.am:
22         * src/gupnp-media-manager.vala:
23
24         Introduce MediaManager. It implements MediaProvider interface and will
25         be responsible to manage all MediaProviders. Currently it uses
26         MediaTracker directly since it currently doesn't have a plugin system.
27
28 2008-07-31  Zeeshan Ali Khattak  <zeenix@gmail.com>
29
30         * src/gupnp-media-tracker.vala:
31
32         Each MediaProvider prefixes each objectid with "root-id:". This will
33         allow the ContentDirectory to redirect the Browse requests to the
34         appropriate MediaProvider in a simple/efficient way.
35
36 2008-07-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
37
38         * src/Makefile.am:
39         * src/gupnp-media-provider.vala:
40         * src/gupnp-media-tracker.vala:
41
42         Introduce MediaProvider interface that MediaTracker
43         implements.
44
45 2008-07-18  Zeeshan Ali Khattak  <zeenix@gmail.com>
46
47         * src/gupnp-connection-manager.vala:
48
49         No need to list all supported mimetypes in SourceProtocolInfo.
50
51 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
52
53         * src/Makefile.am:
54
55         - Fix a typo.
56         - Declared all built sources in BUILT_SOURCES.
57
58 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
59
60         * NEWS:
61
62         Prepare NEWS file for initial (0.1) release.
63
64 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
65
66         * TODO:
67         * doc/design.txt:
68
69         Update design doc and TODO files.
70
71 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
72
73         * src/gupnp-connection-manager.vala:
74
75         - Swap the sink and source ProtocolInfo.
76         - Use Vala's syntax for connecting signals with details.
77         - Remove the unused commented-out code.
78         - Initialize the variables in the constructor.
79         - Put my name/copyright in the header.
80
81 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
82
83         * data/xml/Makefile.am:
84         * data/xml/description.xml:
85         * src/gupnp-media-server.vala:
86
87         Enable the ConnectionManager service.
88
89 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
90
91         * src/Makefile.am:
92         * src/gupnp-connection-manager.vala:
93
94         Copy the ConnectionManager code from gupnp-media-renderer.
95
96 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
97
98         * README:
99
100         Put some description in README file.
101
102 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
103
104         * src/gupnp-content-directory.vala:
105
106         Return an error on getting invalid arguments for 'Browse'.
107
108 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
109
110         * src/gupnp-content-directory.vala:
111
112         Argument 'value' of query_variable signal should now be declared 'ref'.
113
114 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
115
116         * src/gupnp-media-tracker.vala:
117
118         Provide the 'creator' tag in DIDL xml for all items. The same value is
119         provided in 'author' and 'artist' tags for music and video items
120         respectively.
121
122 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
123
124         * data/xml/ContentDirectory.xml:
125
126         Hide the optional "GetSortExtensionCapabilities" action as well.
127
128 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
129
130         * src/gupnp-content-directory.vala:
131
132         - Initialize "SystemUpdateID" variable and implement related query and
133           action.
134         - Implement "SearchCapabilities" and "SortCapabilities" related
135           queries and actions.
136         - Implement "FeatureList" related queries and actions.
137
138 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
139
140         * data/xml/ContentDirectory.xml:
141
142         - List the required actions/variable before the optional.
143         - Comment out the optional actions and variables.
144
145 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
146
147         * data/xml/Makefile.am:
148         * data/xml/description-xbox360.xml:
149         * data/xml/description.xml:
150
151         Disable the distribution and advertisement of the yet unimplemented
152         ConnectionManager service.
153
154 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
155
156         * src/gupnp-media-tracker.vala:
157
158         A temporary hack to make Vala compiler free string in structs. We need
159         this untill GB#526552 is fixed.
160
161 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
162
163         * src/gupnp-media-tracker.vala:
164
165         - Refactor: separate functions for adding music, image and video items
166           to DIDL.
167         - Put the actual "album" in the DIDL when available.
168         - Put "dc:date" in the DIDL when available.
169         - No need to check for null on values returned from tracker.
170
171 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
172
173         * src/gupnp-media-tracker.vala:
174
175         - Include the author, creator or artist in the DIDL when available.
176         - Include "originalTrackNumber" in the DIDL for Music track objects.
177         - Indentation fix.
178
179 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
180
181         * configure.ac:
182
183         Export the "abs_top_builddir" explicitly. Some installations need it.
184
185 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
186
187         * src/gupnp-media-tracker.vala:
188
189         - Include the title instead of filename in the DIDL when it's available.
190         - tracker gives us empty string rather than null for each unavailable
191           metadata.
192
193 2008-06-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
194
195         * src/gupnp-metadata-extractor.vala:
196
197         Put some more more comments and Refactor.
198
199 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
200
201         * src/gupnp-metadata-extractor.vala:
202
203         Extract the mime-type using GIO.
204
205 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
206
207         * configure.ac:
208         * src/Makefile.am:
209
210         Require gio-2.0 (>= 2.16) and include it in the build.
211
212 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
213
214         * src/gupnp-metadata-extractor.vala:
215
216         Implement extraction of audio and video specific metadata.
217
218 2008-06-26  Zeeshan Ali Khattak  <zeenix@gmail.com>
219
220         * src/gupnp-media-server.vala:
221
222         Correct the logic in MediaServer.set_friendly_name_and_udn (). The
223         values for UDN and FriendlyName were not set in the description doc if
224         not already present in the corresponding gconf keys.
225
226 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
227
228         * configure.ac:
229
230         Reduce the gstreamer dependency to 0.10.18.
231
232 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
233
234         * src/gupnp-metadata-extractor.vala:
235
236         - Use 'this' keyword wherever possible. This makes code much more
237           cleaner.
238         - Only react to PAUSED state-change if the previous state was READY.
239         - Refactor: A separate function for extraction of 'duration'.
240         - Gst.TagList.copy_value.value is 'out' rather than 'ref'.
241
242 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
243
244         * src/Makefile.am:
245         * src/gupnp-metadata-extractor.vala:
246
247         Add a gstreamer-based metadata extractor.
248
249 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
250
251         * configure.ac:
252         * src/Makefile.am:
253
254         Add dependency to gstreamer >= 0.10.19.
255
256 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
257
258         * src/gupnp-content-directory.vala:
259         * src/gupnp-media-receiver-registrar.vala:
260         * src/gupnp-media-server.vala:
261         * src/gupnp-media-tracker.vala:
262
263         Remove the now redundant 'using GLib' from all sources.
264
265 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
266
267         * src/gupnp-content-directory.vala:
268         * src/gupnp-media-receiver-registrar.vala:
269
270         Start using the new Vala syntax for connecting signals with details.
271
272 2008-06-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
273
274         * src/gupnp-media-tracker.vala:
275
276         A small fix to setisfy the latest Vala compiler.
277
278 2008-06-16  Zeeshan Ali Khattak  <zeenix@gmail.com>
279
280         * src/gupnp-media-tracker.vala:
281
282         Make all constants all CAPS.
283
284 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
285
286         * configure.ac:
287
288         Check for gupnp-media-server.vala file rather than now removed main.c
289         file.
290
291 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
292
293         * src/Makefile.am:
294
295         Add the vala stamp file to CLEANFILES.
296
297 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
298
299         * src/Makefile.am:
300         * src/gupnp-media-server.vala:
301         * src/main.c:
302
303         Re-write the main module in Vala. The main module's code now resides
304         in MediaServer class as static methods. This marks the completion of
305         re-write of code in Vala. Yay!
306
307 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
308
309         * src/Makefile.am:
310         * src/cstuff.c:
311         * src/cstuff.h:
312         * src/cstuff.vapi:
313
314         Put all low-level stuff into a separate module. This module will be
315         the only one kept in C and all the code that currently can't be
316         written (easily) in Vala, will go there.
317
318 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
319
320         * configure.ac:
321         * src/Makefile.am:
322
323         Check for gconf-2.0 Vala bindings and add it to the Vala compiler
324         flags.
325
326 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
327
328         * configure.ac:
329
330         Introduce a separate configure option for a strict C compiler.
331
332 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
333
334         * src/Makefile.am:
335         * src/gupnp-media-server.c:
336         * src/gupnp-media-server.h:
337         * src/gupnp-media-server.vala:
338
339         Re-write the MediaServer class in Vala.
340
341 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
342
343         * src/gupnp-media-receiver-registrar.vala:
344
345         Add the copyright header.
346
347 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
348
349         * src/gupnp-media-tracker.vala:
350
351         - Use the nice and clean DBus API that Vala provides us.
352         - Enable the commented out code of get_container_children_count() now
353           that it's working against the latest Vala (svn trunk). MediaTracker
354           is fully functional again, yay!
355         - Correct a warning message (copy&paste mistake).
356
357 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
358
359         * src/gupnp-media-tracker.vala:
360
361         Correct the types of two parameters of MediaTracker.browse().
362
363 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
364
365         * src/Makefile.am:
366         * src/gupnp-content-directory.c:
367         * src/gupnp-content-directory.h:
368         * src/gupnp-content-directory.vala:
369
370         Re-write ContentDirectory implementation in Vala.
371
372 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
373
374         * configure.ac:
375
376         Require Vala >= 0.3.4.
377
378 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
379
380         * configure.ac:
381         * src/Makefile.am:
382         * src/gupnp-content-directory.c:
383         * src/gupnp-media-tracker.c:
384         * src/gupnp-media-tracker.h:
385         * src/gupnp-media-tracker.vala:
386
387         Re-write MediaTracker in Vala. Doesn't really work. Thanks to
388         dbus-glib bindings for Vala and tracker API.
389
390 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
391
392         * src/Makefile.am:
393         * src/gupnp-media-receiver-registrar.c:
394         * src/gupnp-media-receiver-registrar.h:
395         * src/gupnp-media-receiver-registrar.vala:
396
397         Re-write X_MS_MediaReceiverRegistrar implementation in Vala.
398
399 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
400
401         * configure.ac:
402
403         Check for Vala and GUPnP bindings.
404
405 2008-05-14  Zeeshan Ali Khattak  <zeenix@gmail.com>
406
407         * src/Makefile.am:
408         * src/gupnp-content-directory.c:
409         * src/gupnp-content-directory.h:
410         * src/gupnp-media-receiver-registrar.c:
411         * src/gupnp-media-receiver-registrar.h:
412         * src/gupnp-media-server.c:
413
414         Put the services implementations into separate objects.
415
416 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
417
418         * src/gupnp-media-tracker.c:
419
420         - Report the correct UPnP class of the items.
421         - Xbox wants Images container to have ID of '16'.
422         - Provide 'res@resultion' in DIDL XML for audio and video items.
423
424 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
425
426         * src/gupnp-media-tracker.c:
427
428         Quick security fix: only host the user's home dir. This should be OK
429         with most tracker setups since by default tracker only indexes user's
430         home dir.
431
432 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
433
434         * src/gupnp-media-tracker.c:
435
436         - Introduce a structure to hold container info: ID, title and
437           associated tracker category.
438         - Don't escape '/' in the path before putting it in HTTP URI.
439
440 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
441
442         * src/gupnp-media-server.c:
443
444         Xbox 360 uses 'ContainerID' instead of 'ObjectID' for cotainers.
445
446 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
447
448         * data/xml/Makefile.am:
449
450         Add the newly added xbox 360 specific xml files to build.
451
452 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
453
454         * data/xml/description-xbox360.xml:
455         * src/main.c:
456
457         Use a separate description document for Xbox 360 to keep the code
458         simple.
459
460 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
461
462         * src/gupnp-media-server.c:
463
464         Retrieve the services in version agnostic way.
465
466 2008-05-06  Zeeshan Ali Khattak  <zeenix@gmail.com>
467
468         * data/xml/X_MS_MediaReceiverRegistrar1.xml:
469         * data/xml/description.xml:
470         * src/gupnp-media-server.c:
471         * src/main.c:
472
473         Add basic support for Xbox.
474
475 2008-05-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
476
477         * data/xml/description.xml:
478
479         Steal some more DLNA bits from rhythmbox GUPnP plugin.
480
481 2008-05-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
482
483         * src/gupnp-media-tracker.c:
484
485         Adapt to latest didl writer API. We put a fake 'MP3' for all items in
486         the DLNA's PN field for each item. This should fix the playback of mp3
487         contents on DLNA-compliant MRs and CPs without breaking the playback of
488         non-mp3 contents on non-DLNA compliant MRs/CPs.
489
490 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
491
492         * src/gupnp-media-tracker.c:
493
494         In Browse() implementation,
495         - respect 'StartingIndex' and 'RequestedCount' params.
496         - Never return more than 128 items in a single reply.
497
498 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
499
500         * src/gupnp-media-tracker.c:
501
502         - Use tracker to get the number of items in a category.
503         - offset param to Files.GetByServiceType method is zero-based.
504
505 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
506
507         * src/gupnp-media-tracker.c:
508
509         - Host the root directory rather than user's home directory since the
510           tracker URI's are absolute file paths and it could be tracking other
511           directories as well.
512         - Escape the path before making a URI from it.
513         - Remove an unneeded param from a function.
514
515 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
516
517         * src/gupnp-media-tracker.c:
518
519         Start using tracker for fetching the list of media files.
520
521 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
522
523         * src/gupnp-media-tracker.c:
524
525         Fix a small typo.
526
527 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
528
529         * configure.ac:
530         * src/Makefile.am:
531         * src/gupnp-media-tracker.c:
532
533         Start using tracker for fetching the metadata.
534
535 2008-04-28  Zeeshan Ali Khattak  <zeenix@gmail.com>
536
537         * src/Makefile.am:
538         * src/gupnp-media-server.c:
539         * src/gupnp-media-tracker.c:
540         * src/gupnp-media-tracker.h:
541
542         Add skeleton for tracker-based media provider.
543
544 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
545
546         * TODO:
547         * doc/design.txt:
548
549         Remove first goal from TODO and update the design/plan.
550
551 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
552
553         * src/main.c:
554
555         - Fetch the UDN and friendlyname from gconf and set them to default
556           values if gconf keys aren't already set.
557         - No need to load the modified description document anymore.
558
559 2008-04-22  Zeeshan Ali Khattak  <zeenix@gmail.com>
560
561         * src/main.c:
562
563         Let the context choose the hostname/IP and port for us if not
564         specified in gconf.
565
566 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
567
568         * src/gupnp-media-server.c:
569
570         - Implement 'BrowseMetadata'.
571         - Mime-type of mp3 files should be 'audio/mpeg' rather than
572         'audio/mp3'.
573         - Host user's home directory as '/media' and update paths accordingly.
574
575 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
576
577         * configure.ac:
578         * data/Makefile.am:
579         * data/xml/Makefile.am:
580         * src/Makefile.am:
581
582         Update/fix the build system for our dummy MS.
583
584 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
585
586         * src/gupnp-media-server.c:
587         * src/gupnp-media-server.h:
588         * src/main.c:
589
590         Implement a dummy MS.
591
592 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
593
594         * src/gupnp-media-server.c:
595         * src/gupnp-media-server.h:
596
597         Update the copyright/licence header.
598
599 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
600
601         * data/xml/ConnectionManager.xml:
602         * data/xml/ContentDirectory.xml:
603         * data/xml/description.xml:
604
605         - Advertise version 2 of MS and AV services.
606         - Some minor updates.
607
608 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
609
610         * doc/design.txt:
611
612         Simpler design:
613         - Rename MediaDb to MediaProvider.
614         - Replace MediaDbGroup and MediaDbPlugin by a single MediaDb.
615
616         * TODO:
617
618         Add TODO file and put the general plan in there.
619
620 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
621
622         * doc/design.txt:
623
624         Add some more objects and description to design doc.
625