Twonky SDK 8.1.0

Development Environment

Please note that the Twonky SDK for Android now requires Android Studio (no longer Eclipse) as a development environment, which is now state of the art for Android development. For further details please have a look at the latest developer guide.

Twonky Server

New Features

  • Audiobook support

From version 8.1 onwards Twonky Server supports the separation of audiobooks and music. If properly tagged, audiobooks are detected through metadata. If audiobooks cannot be detected based on metadata (e.g. not properly tagged), the user can also define shares that only contain audiobooks. Audiobooks are listed in the Music navigation tree in a separate node, called “Audiobooks”. Within this node, audiobooks are sorted by categories like artist, genre, or title.

Audiobooks are recognized by the following metadata:

    • ID3v1 tags with the genre “Audiobook” (value 183)
    • ID3v2 tags with the genre(s) configured by the ini file option "audiobookgenres" (case insensitive)
      • the Twonky Server settings pages allow to easily configure this list based on the genres found in the metadata of the shared music collection
    • import of an iTunes database containing items tagged as “Audiobook”

This feature does not only allow to browse more easily through audiobooks, but also enables client devices/applications to avoid shuffle and provide a resume function as demonstrated in the updated webUI and in the Twonky Ref App. When beaming audiobooks, the resume feature also depends on the renderer capability to play from a certain position. Some clients, e.g. WD, do not support seek and as such cannot resume.

When a renderer queue is enabled, normally all items are appended to the queue. In case of audiobooks, the queue is first emptied before the audiobook tracks are queued.
Please note that within the folder navigation audiobooks are treated like music items.

Improvements

  • Significant performance improvements over earlier versions
    • Initial scan time improved by up to 30%; individual scan time depends on content loaded. Largest improvements are seen with heavily tagged image files
    • Adding items into the navigation tree of the server has also been improved, contributing to the overall scan time improvement and also improve restart behavior
    • Restart performance improved by 68% over latest 7.2 version of Twonky Server
  • TLS 1.2 support
  • support for block-cipher in TLS for online services like Dropbox
  • added ini property escape_json to configure escaping of JSON feeds
  • "disablemf" no longer available as INI parameter - "disablemf=1" to be replaced with "enablereporting=0"
  • PNG images now use the file date in case the creation date is not present in the image metadata
  • TLS server connection now uses next available port if port is already in use
  • added HEVC support to mp4 scanner
  • added HEVC support to mpeg scanner
  • added INI parameter "audiobooks" holding the list of audiobook shares
  • added option to show filenames with or without file extension in folder view
  • added support for a custom HTTPS port setting in INI file
  • added support for pushing .ogg to WD TV Live
  • aggregation settings are now preserved during a rebuild database
  • client adaptation NO_AGGREGATION added to exclude malformed CDS from being aggregated, like Plex
  • dc:date is derived in long format from modification time of file if it is missing in the metadata of a file
  • dc:date is now provided in long format YYYY-MM-DDThh:mm:ss, if available and the client device can cope with the information
  • default value "1" for number of discs property removed as this led to odd results like disc 5 of 1
  • disabled HTTPS/TLS support as default on all platforms as this is not utilized
  • enhanced security for scripting access to Twonky Sever (new INI setting)
  • file scanner now estimates the framerate of an MPEG video, when this is not present in the metadata
  • file scanner now handles .dv .m4p .ogm .jps file extensions
  • file scanner now handles subtitle files .stl and .pjs
  • file scanner now scans MPEG video files with .mpv extension
  • for better mp4 file streaming performance Twonky Server now can reposition the moov box on-the-fly to the beginning of the file
  • iTunes metadata for Album, Artist, Genre and Title now overwrite embedded metadata
  • improved MKV-parser to find additional metadata
  • improved client adaptation for Naim devices
  • improved embedded albumart extraction for mp3 files and very large album arts
  • it is now possible to aggregate the "Mediatomb" server
  • list of servers available for aggregation is much faster updated
  • minimized the file eventing threads for Linux to optimize memory usage
  • multiuser db is now recreated in case current multiuser db could not be read
  • performance improvement when accessing audio file's album art
  • removed property res@bitrate for video files as the semantics are undefined (video bitrate or audio bitrate or ...)
  • server managed directories are now by default created in the user's home directory on Linux systems
  • signature of database is now always verified when server is started to avoid unnecessary database rebuilds when updating the Twonky Server
  • web UI
    • web UI and settings pages can now be enabled/disabled separately (added new INI param "enablewebui")
    • web UI: the beam/play icon is now only displayed if there is at least one item in the container
    • webUI now contains a link to online release notes

Bug fixes

  • fixed issue with iOS photo access dialog being shown erroneously when only sharing music
  • DTCP: PS3 was not able to stream DTCP protected items provided by the mediafile plugin
  • DTCP: Twonky Server did not save the duration of uploaded content to the database
  • DTCP: fixed DLNA_PN property for DTCP protected files
  • DTCP: fixed seeking to the very beginning of a DTCP file
  • DTCP: fixed update-mechanism of SRM
  • DTCP: is was impossible to move DTCP content from Buffalo LS210D to Twonky Server
  • DTCP: the server did accept a DTCP content Get request before the AKE was finished
  • DTCP: updated buffer size to support 2nd generation DTCP-SRMs
  • INI option "compilationsdir" was also applied to files and not just to folders/directories
  • Twonky Server did not accept license key in lower case
  • Twonky Server no longer creates an unnecessary backup of db.info if it is terminated before the initial scan is completed
  • Twonky Server no longer registers on api.twonky.com when "enablereporting" is set to 0
  • fixed Roku activation localization pages
  • fixed a crash in the AIFF file scanner
  • fixed a crash while shutting down the Twonky Server (views module)
  • fixed a performance problem with web config UI due to periodic rpc/info_status calls
  • fixed a race condition between NIC changes while the server was shuting down
  • fixed album art not showing on certain devices (e.g. ONKYO TX-NR 809) because album art URI exceeded 127 characters
  • fixed cross site scripting issue in Twonky Server
  • fixed duration-parsing in the Matroska-filescanner
  • fixed issue with duplicated items in navigation tree when a share is deleted while Twonky Server is offline
  • fixed missing update event following a folder deletion when inotify is disabled
  • fixed multi-user login to webUI
  • fixed occasional UPnP upload failures during UPnP certification tests
  • fixed possible buffer overflow during navigation tree creation
  • fixed that "offline" changes of an aggregated server were not recognized
  • fixed that MKV files sometimes were shared with wrong date
  • fixed that aggregation servers where sending endless update events when aggregation each another
  • fixed that album art for aggregated items was missing
  • fixed that album art was delivered with mime-type application/octet-stream
  • fixed that byebye file was deleted when an IP address changed
  • fixed that embedded .png album art was handled as .jpg
  • fixed that in multi-user mode the shares differed from the shares in single user mode
  • fixed that it was not possible to change the shared folder in multi user mode
  • fixed that some audio files with .asf extension were treated as video content
  • fixed that subtitle files with capital letters for extension have not been scanned by Twonky Server
  • fixed that the server restarts its SSDP thread when it had received SSDP packages with wrong length
  • fixed that the twonky-locations.db was removed on a database rebuild together with all aggregations settings
  • ionice support was not correctly initialized and therefore not working
  • multiuser config page worked only if TLS was enabled
  • removed broken links in web config pages for Facebook, YouTube and Twitter
  • restricted permission to multi-user content led to the message "no content shared" instead of "access denied"
  • update Twonky Server with preserve settings on Windows did not work if installed as user process
  • views cache was not cleared during database rebuild
  • views cache was sometimes not written while aggregating other servers
  • web UI displayed wrong error messages when beaming to Apple TV

Known issues

  • LG TV Series 6 only displays video subtitles of first video in queue
  • Xbox One can not display photos from aggregated servers
  • duration calculation of MPEG2TS file is not always accurate
  • error in Mac OS logs for filedb-delete is actually only a warning; operation is not impacted
  • for ALAC files the bitrate is not always correctly parsed
  • UPnP inspector gets confused when Twonky Server provides multiple artist tags with different roles
  • occasionally, Twonky license key input results in "invalid key" on Linux systems
    • workaround: remove the appdata folder and try again
  • webUI
    • sometimes webUI with Opera does not show any thumbnails
    • thumbnails of some rotated images do not show up correctly in webUI
  • on some Windows installations using BootCamp for MAC, Twonky Server cannot be licensed. Twonky Server cannot store the entered license key and the server stays in trial mode.

QA information

CTT 2.0.3.9

MCVT 3.0.3.8

UCTT 2.0.62

LPTT 2.0.29

 

 

Twonky Client Components

New Features

  • added NMC_MDKEY_PLAYBACK keys for continuous media playback position
  • added new API NMC RPC reset_audiobook_position
  • added new API RPC play_from_position
  • added new API tm_dmrcp/dmscp_reset_audiobook_position[_async]
  • added new API tm_dmrcp_play_from_position2 with additional parameter nPositionBytes
  • audiobook support: added audiobook bookmark and object type
  • audiobook support: renderer play position is periodically saved for audiobooks
  • Twonky SDK Premium now available for Android
  • added support for SSO functionality on Android
  • added new asynchronous method variants to TSDK on iOS that use return blocks instead of listener
  • added support for SSO functionality for iOS

Improvements

  • TLS 1.2 support
  • support for block-cipher in TLS for online services like Dropbox
  • added client adaptation support to RSS by adding X-PV-CLIENTNAME header entry
  • added event handling to rpc API
  • added ini property escape_json to configure escaping of JSON feeds
  • added metadata to device information if a device is a TV, mobile or music player
  • added parent container properties to RSS response
  • added reason for critical error to NMC_STATE_KEY_CRITICAL_ERROR notification
  • enabled persistent connection for queue handler communication
  • enabled persistent connections for SOAP requests
  • improved queue playback on Kodi/XBMC
  • queue item bookmarks can be used to restore browse position on server
  • removed bookmarks for common playlists and myTwonky nodes
  • implemented workaround for metadata duration parsing for Lollipop devices
  • improved download manager to recreate download list from local server on Android
  • removed SHARE_ITUNES setting on Android
  • removed getLocalFileObjectID API on Android
  • added RPC helper functions for configuring Twonky stack at runtime on iOS
  • removed TMSOptionShareiTunes and getLocalFileObjectID APIs on iOS

Bug Fixes

  • Web API: well-known bookmarks were not JSON escaped
  • fixed JSON escape of apostrophe
  • fixed TLS-failure with Flickr
  • fixed issue where go bookmark failed if item references an invalid parent container
  • fixed issue where twonkylib did not start properly on mobile platforms
  • fixed issues with XBMC and picture beaming
  • fixed skipping between tracks when beaming to Samsung TV series F
  • deprecated cache and managedlist classes in TSDK Android
  • fixed multiple issues in MediaResource class on Android
  • cloud script authentication on iOS no longer blocks for m4a content on Dropbox
  • fixed issue with iOS photo access dialog being shown erroneously when only sharing music

Known Issues

  • LDMR with customer set UDN is treated as 3rd party DMR by remote queue handlers
  • LG TV Series 6 only displays video subtitles of first video in queue
  • Roku does not support seek for music
  • go_parent() sometimes does not recover the position within the parent container
  • local renderer setting remains disabled after setting it private in general settings on Android
  • async go directory may incorrectly go to server level right after startup
  • changes in twonky-startup.txt does not have any effect if application is upgraded in place on iOS
  • issues with XBMC and picture beaming
  • CTT fails for DMC test 7.3.26.2 (bug filed with DLNA) #won't fix
  • Beaming issues
    • XBox360 does not support beaming online content
    • cannot beam multiple items to Xbox One #won't fix#

 

 

Twonky Ref App 

Twonky Ref App Android

Development Environment

Please note that the Twonky SDK for Android now requires Android Studio (no longer Eclipse) as a development environment, which is now state of the art for Android development. For further details please have a look at the latest developer guide.

New Features

  • bookmarking use case
  • support for SSO use cases
  • audiobooks support

Improvements

  • added about screen

Bug Fixes

  • "cannot load data" was displayed in list items
  • Facebook pictures slideshow didn't work
  • fixed a problem that the app stoped responding when user enabled aggregation while also disabling all shares
  • fixed that the app crashed after repeated playback
  • fixed that the server version is displayed incorrectly in reference app
  • modifying metadata did crash the app
  • shared items display was incorrect

Known Issues

  • DTCP content playback stops when user performs seek
  • DTCP content playback stops when user resumes paused playback
  • deleted SSO account does not expire in secondary device without restart
  • downloaded DTCP content appears greyed out in local servers library
  • local renderer setting remains disabled after setting it private in general settings on Android
  • local video is shown with wrong aspect ratio
  • pause does not work when beaming DLNA content to Sony TV
  • seeking forward to the end of the song stops playback on Apple TV
  • user cannot play content from queue while a content is already being played
  • user cannot resume to play the content after sleep
  • volume cannot be controlled when content is beamed to Samsung TV

Twonky Ref App iOS

New Features

  • support for SSO use cases
  • audiobooks support

Improvements

  • added a new twonkyDMRControlData class to unify queue loading sample code
  • added new volume slider and mute controls

Bug Fixes

  • Flickr video playback fixed
  • fixed that Clear Queue button invoked online service
  • fixed that deleting a video from queue list view didn't remove the video from DMR view
  • user could no longer highlight several items in Queue view
  • view now returns to DMR control view when picking any item from Queue
  • when device was held vertically, a blank strip appeared at the bottom of the screen when the user goes from Queue to Local Renderer
  • when selecting a different renderer view didn't return to DMR control

Known Issues

  • DTCP content playback stops when user performs seek
  • DTCP content playback stops when user resumes paused playback
  • deleted SSO account does not expire in secondary device without restart
  • pause does not work when beaming DLNA content to Sony TV
  • seeking forward to the end of the song stops playback on Apple TV
  • user cannot play content from queue while a content is already being played
  • 'Shuffle' and 'Repeat' icons available when image slideshow is beamed
  • DMR control shows black screen while playback continues when leaving video view and coming back to it
  • DNLA content duration doesn't update correctly
  • app crashes when it downloads a content after sleep
  • app freezes if user taps [Select All] and [Clear Queue] continuously
  • removing account will not remove online items from queue list
  • shuffle doesn't work with Facebook content
  • shuffle is not working when beaming content from DLNA server
  • state restoration is broken in iOS 8.3
  • when iPhone goes to sleep queue list gets cleared
  • wrong status for download after app resumes

 

 

Table of contents