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