1 2008-08-03 Zeeshan Ali Khattak <zeenix@gmail.com>
3 * src/gupnp-content-directory.vala:
4 * src/gupnp-media-manager.vala:
5 * src/gupnp-media-provider.vala:
6 * src/gupnp-media-tracker.vala:
8 - MediaProviders now get the "root_parent_id" though a prop.
9 - MediaManager now decides the IDs to use on it's own.
11 2008-08-02 Zeeshan Ali Khattak <zeenix@gmail.com>
13 * src/gupnp-content-directory.vala:
15 Use MediaManager rather than MediaTracker. This also means that
16 system_update_id doesn't need to be handled by ContentDirectory
19 2008-08-02 Zeeshan Ali Khattak <zeenix@gmail.com>
22 * src/gupnp-media-manager.vala:
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.
28 2008-07-31 Zeeshan Ali Khattak <zeenix@gmail.com>
30 * src/gupnp-media-tracker.vala:
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.
36 2008-07-30 Zeeshan Ali Khattak <zeenix@gmail.com>
39 * src/gupnp-media-provider.vala:
40 * src/gupnp-media-tracker.vala:
42 Introduce MediaProvider interface that MediaTracker
45 2008-07-18 Zeeshan Ali Khattak <zeenix@gmail.com>
47 * src/gupnp-connection-manager.vala:
49 No need to list all supported mimetypes in SourceProtocolInfo.
51 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
56 - Declared all built sources in BUILT_SOURCES.
58 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
62 Prepare NEWS file for initial (0.1) release.
64 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
69 Update design doc and TODO files.
71 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
73 * src/gupnp-connection-manager.vala:
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.
81 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
83 * data/xml/Makefile.am:
84 * data/xml/description.xml:
85 * src/gupnp-media-server.vala:
87 Enable the ConnectionManager service.
89 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
92 * src/gupnp-connection-manager.vala:
94 Copy the ConnectionManager code from gupnp-media-renderer.
96 2008-07-04 Zeeshan Ali Khattak <zeenix@gmail.com>
100 Put some description in README file.
102 2008-07-03 Zeeshan Ali Khattak <zeenix@gmail.com>
104 * src/gupnp-content-directory.vala:
106 Return an error on getting invalid arguments for 'Browse'.
108 2008-07-03 Zeeshan Ali Khattak <zeenix@gmail.com>
110 * src/gupnp-content-directory.vala:
112 Argument 'value' of query_variable signal should now be declared 'ref'.
114 2008-07-03 Zeeshan Ali Khattak <zeenix@gmail.com>
116 * src/gupnp-media-tracker.vala:
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
122 2008-07-02 Zeeshan Ali Khattak <zeenix@gmail.com>
124 * data/xml/ContentDirectory.xml:
126 Hide the optional "GetSortExtensionCapabilities" action as well.
128 2008-07-02 Zeeshan Ali Khattak <zeenix@gmail.com>
130 * src/gupnp-content-directory.vala:
132 - Initialize "SystemUpdateID" variable and implement related query and
134 - Implement "SearchCapabilities" and "SortCapabilities" related
136 - Implement "FeatureList" related queries and actions.
138 2008-07-02 Zeeshan Ali Khattak <zeenix@gmail.com>
140 * data/xml/ContentDirectory.xml:
142 - List the required actions/variable before the optional.
143 - Comment out the optional actions and variables.
145 2008-07-02 Zeeshan Ali Khattak <zeenix@gmail.com>
147 * data/xml/Makefile.am:
148 * data/xml/description-xbox360.xml:
149 * data/xml/description.xml:
151 Disable the distribution and advertisement of the yet unimplemented
152 ConnectionManager service.
154 2008-07-02 Zeeshan Ali Khattak <zeenix@gmail.com>
156 * src/gupnp-media-tracker.vala:
158 A temporary hack to make Vala compiler free string in structs. We need
159 this untill GB#526552 is fixed.
161 2008-07-01 Zeeshan Ali Khattak <zeenix@gmail.com>
163 * src/gupnp-media-tracker.vala:
165 - Refactor: separate functions for adding music, image and video items
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.
171 2008-07-01 Zeeshan Ali Khattak <zeenix@gmail.com>
173 * src/gupnp-media-tracker.vala:
175 - Include the author, creator or artist in the DIDL when available.
176 - Include "originalTrackNumber" in the DIDL for Music track objects.
179 2008-06-30 Zeeshan Ali Khattak <zeenix@gmail.com>
183 Export the "abs_top_builddir" explicitly. Some installations need it.
185 2008-06-30 Zeeshan Ali Khattak <zeenix@gmail.com>
187 * src/gupnp-media-tracker.vala:
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
193 2008-06-29 Zeeshan Ali Khattak <zeenix@gmail.com>
195 * src/gupnp-metadata-extractor.vala:
197 Put some more more comments and Refactor.
199 2008-06-27 Zeeshan Ali Khattak <zeenix@gmail.com>
201 * src/gupnp-metadata-extractor.vala:
203 Extract the mime-type using GIO.
205 2008-06-27 Zeeshan Ali Khattak <zeenix@gmail.com>
210 Require gio-2.0 (>= 2.16) and include it in the build.
212 2008-06-27 Zeeshan Ali Khattak <zeenix@gmail.com>
214 * src/gupnp-metadata-extractor.vala:
216 Implement extraction of audio and video specific metadata.
218 2008-06-26 Zeeshan Ali Khattak <zeenix@gmail.com>
220 * src/gupnp-media-server.vala:
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.
226 2008-06-25 Zeeshan Ali Khattak <zeenix@gmail.com>
230 Reduce the gstreamer dependency to 0.10.18.
232 2008-06-25 Zeeshan Ali Khattak <zeenix@gmail.com>
234 * src/gupnp-metadata-extractor.vala:
236 - Use 'this' keyword wherever possible. This makes code much more
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'.
242 2008-06-25 Zeeshan Ali Khattak <zeenix@gmail.com>
245 * src/gupnp-metadata-extractor.vala:
247 Add a gstreamer-based metadata extractor.
249 2008-06-25 Zeeshan Ali Khattak <zeenix@gmail.com>
254 Add dependency to gstreamer >= 0.10.19.
256 2008-06-24 Zeeshan Ali Khattak <zeenix@gmail.com>
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:
263 Remove the now redundant 'using GLib' from all sources.
265 2008-06-24 Zeeshan Ali Khattak <zeenix@gmail.com>
267 * src/gupnp-content-directory.vala:
268 * src/gupnp-media-receiver-registrar.vala:
270 Start using the new Vala syntax for connecting signals with details.
272 2008-06-23 Zeeshan Ali Khattak <zeenix@gmail.com>
274 * src/gupnp-media-tracker.vala:
276 A small fix to setisfy the latest Vala compiler.
278 2008-06-16 Zeeshan Ali Khattak <zeenix@gmail.com>
280 * src/gupnp-media-tracker.vala:
282 Make all constants all CAPS.
284 2008-06-15 Zeeshan Ali Khattak <zeenix@gmail.com>
288 Check for gupnp-media-server.vala file rather than now removed main.c
291 2008-06-15 Zeeshan Ali Khattak <zeenix@gmail.com>
295 Add the vala stamp file to CLEANFILES.
297 2008-06-15 Zeeshan Ali Khattak <zeenix@gmail.com>
300 * src/gupnp-media-server.vala:
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!
307 2008-06-15 Zeeshan Ali Khattak <zeenix@gmail.com>
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.
318 2008-06-13 Zeeshan Ali Khattak <zeenix@gmail.com>
323 Check for gconf-2.0 Vala bindings and add it to the Vala compiler
326 2008-06-13 Zeeshan Ali Khattak <zeenix@gmail.com>
330 Introduce a separate configure option for a strict C compiler.
332 2008-06-13 Zeeshan Ali Khattak <zeenix@gmail.com>
335 * src/gupnp-media-server.c:
336 * src/gupnp-media-server.h:
337 * src/gupnp-media-server.vala:
339 Re-write the MediaServer class in Vala.
341 2008-06-12 Zeeshan Ali Khattak <zeenix@gmail.com>
343 * src/gupnp-media-receiver-registrar.vala:
345 Add the copyright header.
347 2008-06-12 Zeeshan Ali Khattak <zeenix@gmail.com>
349 * src/gupnp-media-tracker.vala:
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).
357 2008-06-12 Zeeshan Ali Khattak <zeenix@gmail.com>
359 * src/gupnp-media-tracker.vala:
361 Correct the types of two parameters of MediaTracker.browse().
363 2008-06-12 Zeeshan Ali Khattak <zeenix@gmail.com>
366 * src/gupnp-content-directory.c:
367 * src/gupnp-content-directory.h:
368 * src/gupnp-content-directory.vala:
370 Re-write ContentDirectory implementation in Vala.
372 2008-06-11 Zeeshan Ali Khattak <zeenix@gmail.com>
376 Require Vala >= 0.3.4.
378 2008-06-11 Zeeshan Ali Khattak <zeenix@gmail.com>
382 * src/gupnp-content-directory.c:
383 * src/gupnp-media-tracker.c:
384 * src/gupnp-media-tracker.h:
385 * src/gupnp-media-tracker.vala:
387 Re-write MediaTracker in Vala. Doesn't really work. Thanks to
388 dbus-glib bindings for Vala and tracker API.
390 2008-06-07 Zeeshan Ali Khattak <zeenix@gmail.com>
393 * src/gupnp-media-receiver-registrar.c:
394 * src/gupnp-media-receiver-registrar.h:
395 * src/gupnp-media-receiver-registrar.vala:
397 Re-write X_MS_MediaReceiverRegistrar implementation in Vala.
399 2008-06-07 Zeeshan Ali Khattak <zeenix@gmail.com>
403 Check for Vala and GUPnP bindings.
405 2008-05-14 Zeeshan Ali Khattak <zeenix@gmail.com>
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:
414 Put the services implementations into separate objects.
416 2008-05-08 Zeeshan Ali Khattak <zeenix@gmail.com>
418 * src/gupnp-media-tracker.c:
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.
424 2008-05-08 Zeeshan Ali Khattak <zeenix@gmail.com>
426 * src/gupnp-media-tracker.c:
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
432 2008-05-08 Zeeshan Ali Khattak <zeenix@gmail.com>
434 * src/gupnp-media-tracker.c:
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.
440 2008-05-08 Zeeshan Ali Khattak <zeenix@gmail.com>
442 * src/gupnp-media-server.c:
444 Xbox 360 uses 'ContainerID' instead of 'ObjectID' for cotainers.
446 2008-05-07 Zeeshan Ali Khattak <zeenix@gmail.com>
448 * data/xml/Makefile.am:
450 Add the newly added xbox 360 specific xml files to build.
452 2008-05-07 Zeeshan Ali Khattak <zeenix@gmail.com>
454 * data/xml/description-xbox360.xml:
457 Use a separate description document for Xbox 360 to keep the code
460 2008-05-07 Zeeshan Ali Khattak <zeenix@gmail.com>
462 * src/gupnp-media-server.c:
464 Retrieve the services in version agnostic way.
466 2008-05-06 Zeeshan Ali Khattak <zeenix@gmail.com>
468 * data/xml/X_MS_MediaReceiverRegistrar1.xml:
469 * data/xml/description.xml:
470 * src/gupnp-media-server.c:
473 Add basic support for Xbox.
475 2008-05-05 Zeeshan Ali Khattak <zeenix@gmail.com>
477 * data/xml/description.xml:
479 Steal some more DLNA bits from rhythmbox GUPnP plugin.
481 2008-05-03 Zeeshan Ali Khattak <zeenix@gmail.com>
483 * src/gupnp-media-tracker.c:
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.
490 2008-05-02 Zeeshan Ali Khattak <zeenix@gmail.com>
492 * src/gupnp-media-tracker.c:
494 In Browse() implementation,
495 - respect 'StartingIndex' and 'RequestedCount' params.
496 - Never return more than 128 items in a single reply.
498 2008-05-02 Zeeshan Ali Khattak <zeenix@gmail.com>
500 * src/gupnp-media-tracker.c:
502 - Use tracker to get the number of items in a category.
503 - offset param to Files.GetByServiceType method is zero-based.
505 2008-05-02 Zeeshan Ali Khattak <zeenix@gmail.com>
507 * src/gupnp-media-tracker.c:
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
512 - Escape the path before making a URI from it.
513 - Remove an unneeded param from a function.
515 2008-05-02 Zeeshan Ali Khattak <zeenix@gmail.com>
517 * src/gupnp-media-tracker.c:
519 Start using tracker for fetching the list of media files.
521 2008-04-29 Zeeshan Ali Khattak <zeenix@gmail.com>
523 * src/gupnp-media-tracker.c:
527 2008-04-29 Zeeshan Ali Khattak <zeenix@gmail.com>
531 * src/gupnp-media-tracker.c:
533 Start using tracker for fetching the metadata.
535 2008-04-28 Zeeshan Ali Khattak <zeenix@gmail.com>
538 * src/gupnp-media-server.c:
539 * src/gupnp-media-tracker.c:
540 * src/gupnp-media-tracker.h:
542 Add skeleton for tracker-based media provider.
544 2008-04-23 Zeeshan Ali Khattak <zeenix@gmail.com>
549 Remove first goal from TODO and update the design/plan.
551 2008-04-23 Zeeshan Ali Khattak <zeenix@gmail.com>
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.
559 2008-04-22 Zeeshan Ali Khattak <zeenix@gmail.com>
563 Let the context choose the hostname/IP and port for us if not
566 2008-04-21 Zeeshan Ali Khattak <zeenix@gmail.com>
568 * src/gupnp-media-server.c:
570 - Implement 'BrowseMetadata'.
571 - Mime-type of mp3 files should be 'audio/mpeg' rather than
573 - Host user's home directory as '/media' and update paths accordingly.
575 2008-04-21 Zeeshan Ali Khattak <zeenix@gmail.com>
579 * data/xml/Makefile.am:
582 Update/fix the build system for our dummy MS.
584 2008-04-21 Zeeshan Ali Khattak <zeenix@gmail.com>
586 * src/gupnp-media-server.c:
587 * src/gupnp-media-server.h:
590 Implement a dummy MS.
592 2008-04-21 Zeeshan Ali Khattak <zeenix@gmail.com>
594 * src/gupnp-media-server.c:
595 * src/gupnp-media-server.h:
597 Update the copyright/licence header.
599 2008-04-21 Zeeshan Ali Khattak <zeenix@gmail.com>
601 * data/xml/ConnectionManager.xml:
602 * data/xml/ContentDirectory.xml:
603 * data/xml/description.xml:
605 - Advertise version 2 of MS and AV services.
606 - Some minor updates.
608 2008-04-13 Zeeshan Ali Khattak <zeenix@gmail.com>
613 - Rename MediaDb to MediaProvider.
614 - Replace MediaDbGroup and MediaDbPlugin by a single MediaDb.
618 Add TODO file and put the general plan in there.
620 2008-04-13 Zeeshan Ali Khattak <zeenix@gmail.com>
624 Add some more objects and description to design doc.