Platinum 0.3.8 --------------- fixed: crash in MicroMediaController (ctrlpoint really) when devices go away and a new one reappear. The control point was not removing subscribers from its list for the removed device. added: Visual Studio 2005 project files changed: switched to using new Neptune Logging system changed: PLT_DeviceHost now appends the ip address to friendly name if asked Platinum 0.3.7 --------------- changed: removed projects in the works from solution changed: dont restrict an interface to have the MULTICAST flag to send multicast data. If it's not multicast, it just won't send it. Cygwin doesn't report MULTICAST flag properly on interfaces that are multicast so that's why. fixed: clear SyncMediaBrowser cache for a device when it disappears changed: put back interface matching in proxy using netmask fixed: linux build fixed: workaround Windows Media Player bug that replaces back slashes to forward slashes in a url query ! fixed: duplicate headers in crawler response changed: fileserver now defaults to serving root "/" with all children so that crawler can use /foo.wma changed: made ProcessFileRequest overridable for Crawler changed: Mega update: - revamped to use http handlers from Neptune - extensive switch to using address instead of pointers for NPT_HttpRequest & NPT_HttpResponse - using eventhandlers now in devicehost (static for desc & scpds + dynamic for control/event) and controlpoint (event notifications) - fixed host advertising twice byebye on exit - Moved DeviceHost and Ctrlpoint Start/Stop into protected. It's PLT_UPnP now that starts and stop a device (via Add/Remove..) - Created templated PLT_HttpRequestHandler fixed: 10 secs to get a M-SEARCH response is fine fixed: make it possible to pass an address to send the response back from a search, this is necessary when the udp.connect didn't actually find out which local interface to use fixed: now advertises on all interfaces even in broadcast fixed: setting MX to 1 in proxy, setting extra header to make sure we don't loop more changed: new ssdp proxy using broadcast instead of unicast, no need to keep track of unicasters anymore changed: when using broadcast mode, try to use interface broadcast address instead of 255.255.255.255 changed: made presentation url public (so it can be overridden from the outside) hacked: device icons changed: better advertising in broadcast mode (less verbose) fixed: crash when a device disappears while trying to unsubscribe fixed: subscribers being added twice fixed: no need to set random seed in task, must be done in threads instead (using thread id) changed: added a media cache to cache data responses from servers to speed up fixed: better event support (fixed a couple of bugs), unsubscribe on device remove, still need to implement subscription renewal changed: improved NPT_Directory to read size & type with 1 call fixed: assuming forward unix style delimiters in resource urls was wrong, we want to keep whatever we're passed, it may matter changed: now can specify to keep file extension in item title changed: can now put a list of UUIDs to ignore in a ctrl point changed: now sends a search on localhost if no valid interfaces were found changed: now supports broadcast announcements for devices (mainly used by XBOX) fixed: changed callbackurls list to be NPT_List instead of NPT_List for event subscribers to fix a weird crash fixed: SsdpListenTask takes a true UdpSocket if broadcast mode set changed: adding support of NPT_StringFinder for NPT_List containers changed: using a HttpUrl for base urls instead of string changed: StreamHandler interface, now passing socket info to ModifyResource Platinum 0.3.6 --------------- - fixed list of devices not being cleared when ctrl point is stopped - fixed setting bad content length when serving a file with a byte-range request causing - filemediaserver now exposes one resource per network interface and put the proper one first (one the browse request was received on) - start listening for ssdp when upnp starts and stops when it stops - reversing back adding the Search method to ContentDirectory service - rewrite of action processing after finding a major flaw due to parallel processing of multiple calls to the same action. Now each invocation of an action gets its own sets of arguments (in and out). Platinum 0.3.5 --------------- Fixes/Changes: - updated directory structure so that everything falls under Build/Targets (even scons based stuff) - Fixing ip address being 0.0.0.0 in media resources under cygwin in some cases - switching to using HTTP/1.0 for http responses - scons build output to Targets top level folder now - fixed bug where files with no extensions were not advertised (linux) - now strips the executables in Targets folder only in release build - Fixed cygwin bug where devices wouldn't be detected when started after a Control Point. Was advertising on disconnected interfaces. - Fixed logging wrong ip address, now defaults to 127.0.0.1 if no valid one found - fixed bug in server socket task - added back HttpClientTests to solution - fixed bug in client socket task - switch to using NPT_StringOutputStream instead of PLT_OutputStringStream - improved PLT_Downloader - started working on a SQLite abstraction layer for a better Media Server (work in progress) Platinum 0.3.2 --------------- Fixes/Changes: - Tasks and TaskManager rewrote. No more housekeeping thread to cleanup tasks. Tasks are automatically cleaned up when done. - Stopping a ControlPoint will also stop the SSDP search tasks. - HttpServer can limit the number of connections (threads) it can handle at once. - Didl processing rewrote. Didl objects are more C++ oriented now. - Some progress in regards to DLNA validation. HTTP Server is 1.0 only (connections are closed immediately once all data has been sent. No more keep-alive support). - Started working on Ozone (Sqlite3 abstraction layer) Platinum 0.3.1 --------------- Fixes/Changes: - Fixed LightSample Test - Fixed MediaRenderer Test - Removed old source and project files to avoid confusion Platinum 0.3.00 --------------- Fixes/Changes: - Added MacOSX support. - Fixed socket abortion problem on Linux (using a pipe). - Complete rewrite to use threads instead of interrupt driven round-robin. The benefit is that throughput is now greatly improved (for streaming especially). - Addded a new App: MediaCrawler - Split up AV MediaServer code. Now the FileMediaServer is one implementation of the AV MediaServer. More to follow. - Added README, CHANGELOG, LICENSE files Known issues: - AV MediaServer Search not implemented yet. - Http server does not use a thread pool. This can be a problem with hungry ControlPoints like the Intel Tools AV MediaController. Platinum 0.2.00 --------------- Fixes/Changes: - Added support for Linux, Xbox, cygwin platforms (using Scons http://scons.org) - Now using timeouts on sockets. Fixed search not being repeatly sent. - Moved Neptune under ThirdParty folder Known issues: - Aborting on some platforms (linux/xbox) is not immediate. Sockets cannot be easily aborted by simply calling closesocket. Platinum 0.1.00 --------------- Initial Release