Proposed DLNA compliant MediaServer plugin
Submitted by Doug Galligan
Link to original bug (#722724)
Description
Created attachment 266919 ODID MediaServer plugin
The following is a patch to apply to the previous object model work proposed by CableLabs.
This work is for enhanced DLNA compliance using the certification test tools supplied by DLNA. This effort includes both a new MediaServer plugin here, and a new MediaEngine filed separately. They are designed to be used together and along with media that has been processed and indexed by our server-ingest tool. This tool is open-sourced from CableLabs and located at https://github.com/cablelabs/server-ingest
This is the configuration that CableLab uses to run the DLNA tests internally, and will be taken to the DLNA Plugfest next month. We plan to update both contributions with any fixes or enhancements leading up to, and resulting from this certification effort.
The MediaServer plugin name is ODID (On Disk Item Directory). This is a directory format that the server-ingest tool creates for media, and allows for all required DLNA operations. It is originally based off of the MediaExport plugin. However, instead of searching for media files directly, it looks for an .item file that serves as a proxy for media stored in an ODID. This ODID contains one or more media resources for the same item, indexing files for all seek scenarios, pre-generated playspeed media, and all required metadata.
The metadata harvested from the ODID is stored in a new sqlite file, odid.db and the cardinality between metadata and item has been expanded from 1-1 to 1-n in support of storing all available media resources for an item.
Patch 266919, "ODID MediaServer plugin":
changed.odid-media-server.diff