DiXiM Home Network SDK Features
- 1
- 2
- 3
- 4
- 5
- 6
- DiXiM Home Network SDK Features
-
- Written in C language only.
- Designed to run with low memory for embedded system.
- Compact module size.
- Concurrent tasks are designed to share a single thread by default. Multithread usage can be combined as needed.
- Can activate more than one control points and devices at a time on the single UPnP stack.
- Superior interoperability and wide customer adoption.
- DiXiM SDK does NOT introduce CPU dependency by:
- Having no endian dependency.
- Not assuming arbitrary data types to have a certain size (such as hard-coding an 'int' to be 32bits)
- Not assuming a certain alignment or offset of structure members.
- Using no assembler.
- Not depending on interruptions.

- DiXiM Home Network SDK Structure
-
At the foundation of the SDK is the Porting Layer, an abstraction layer which absorbs platform differences, and upon which the UPnP Stack is built. The Various Control Points and Devices run on the UPnP Stack.
UPnP Stack StructureThe UPnP Stack is event driven. Events can occur from the Network or Timers. Certain functions invoked from the application can also generate events. Upper layer components register callback functions for lower layers, and they receive a notification when an event occurs and processes it.
For example, when a packet arrives at Network, Network Task Manager detects the arrival. If it is a SSDP packet, SSDP Listener handles it. If it is a HTTP packet, HTTP Server handles it.
If the SSDP packet is SSDP Search sent by Control Point, Device’ s Description Manager receives the callback and returns the response. If the SSDP packet is SSDP Search sent by Device, Control Point’s Device Manager receives the callback and handles it.
As described below, event handling is called back from lower layers to upper layers.
Processing events from Network or Timer is always done by single thread.
Control PointA Control Point discovers devices existing on the network using SSDP, and requests service actions using SOAP.
Device Manager manages the list of devices existing on the network by receiving SSDP and retrieving Device Description. Setting a filter allows managing devices only in which Control Point is interested. Control Point issues SOAP request for services that each device has. Subscribing an event for a service allows receiving the event when the service status is changed.
Event Manager manages the subscription status of event for a service and automatically renews the subscription before it expires. Some factors, such as plugging and unplugging network cables and changing Auto-IP to DHCP, or vice versa, may change the status of the network that Control Point is using. Network Interface Monitor monitors such change and notifies Device Manager and Event Manager. Then proper processes will be performed automatically.
DeviceDevice provides services to Control Point.
Type of Device and its providing services are described in the device description document, a XML format document managed by Description Manager. When search by SSDP Search is done from Control Point, a device returns the response according to the content of the device description. In addition SSDP alive is sent at Device startup and at a constant frequency, as well as SSDP byebye sent when exiting Device. HTTP Server includes UPnP Service, Description Service, and Document Service. A user can add unique services to UPnP Service and Document Service. Description Service is a service that returns the device description document when a request is sent to the URL described in SSDP's Location. Describing the configuration information for services in the device description is feasible with DiXiM SDK, but this information is eliminated by Description Service for distribution. For Document Service, HTTP service that handles a request for a specific URL and returns a response can be registered. By default a service that distributes files in a specific folder is implemented as one of the Document Services and is used to distribute device icons. A browser based-device setting tool can be implemented using Document Service. Description Service is also implemented as one of the Document Services. For UPnP Service, a service that handles SOAP request can be registered. Developing UPnP Service is usually the main part of the Device development. To register Document Service or UPnP Service, you must describe the details of the service in the device description document. Event Manager manages Control Points that subscribe events for services. Each Service notifies Event Manager of its status change and the event is sent for each Control Point subscribing it.
- DiXiM Porting Layer SDK Features (Features of Individual Modules)
DiXiM Porting Layer SDK (DiXiM PL SDK) works as an abstraction layer that absorbs platform differences, and includes a utility shared by other SDKs in DiXiM Home Network SDK.
DiXiM Porting Layer SDK abstracts the following:
- Memory management
- Network
- Time
- File system
- Thread and synchronization
- Random number
- Signal
- Log output
- Shared library
- Platform information
- DiXiM UPnP SDK Features
-
DiXiM UPnP SDK provides protocol stacks required by UPnP, such as device Discovery using SSDP and device Control using SOAP. More than one Control Points and Devices can run at a time on a single UPnP stack instance. The interface to communicate with a specific device, including DMS, HDRL, DMR, IGD, and Printer, is prepared as well. With these features, DiXiM UPnP SDK facilitates the development of home network client devices with built-in UPnP AV Control Point and devices with built-in UPnP Device. Having Media Server Control Point and Media Renderer Control Point features defined in the UPnP AV specification, DiXiM UPnP SDK strongly helps engineers who develop DLNA Guidelines-supported products such asDMP, M-DMP, DMC, and M-DMC, as well as +UP+, +DN+, +PR1+, +PR2+, and more.
DiXiM UPnP SDK also provides sample source code for these device classes and device capabilities defined in the DLNA Guidelines. Therefore DiXiM UPnP SDK can be used for implementing network protocol and engineers can focus on their products' differentiators, such as UI customization. Library including the UPnP AV MediaRendererDevice:1 feature is provided as well for developing DLNA DMR. Furthermore, UPnP specifications other than the UPnP AV specification, such as Basic Device, Internet Gateway Device (IGD), Low Power, Printer Basic, and Printer Enhanced, are supported as well as HDRL for developing home network devices.
- DiXiM UPnP Advanced SDK Features
-
Library and Sample source code based on UPnP AV Control Point feature are provided. They enable the following features required for highly practical client devices.
- CDS crawler feature that makes a database of all contents stored in server devices on the home network and categorizes these contents.
- File crawler feature that integrates contents in local storage devices with contents in other server devices on the home network and handles these contents.
- Feature that treats internet contents, such as YouTube and Flickr contents, equivalently to the contents on the home network.
- Feature that extracts meta data, such as, title, artist name, duration, and resolution, from contents in various file formats.
- DiXiM DMS SDK Features
-
DiXiM DMS SDK can be used for the development of home network server devices with build-in UPnP AV MediaServer Device, and provides a feature distributing content files via HTTP. Using DiXiM DMS SDK's API, you can register files in CDS in DMS. In addition, using the AutoSync feature allows you to automatically register the files on the file system in CDS and distribute them from DMS. Features to generate thumbnails of video and image content automatically and transcode audio and image content are also provided to help engineers building a rich DMS. Furthermore, DiXiM DMS SDK provides the support for UPnP AV MediaServerDevice:1 and implementations of ContentDirectoryService:1 and Connection ManagementService:1, as well as the source code that works as DMS with the UDO*9 defined in DLNA Guidelines v1.5. Based on the source code used when DigiOn earned the DLNA CertifiedTM Logo Certification, the source code in DiXiM DMS SDK is equivalent to DiXiM Media Server reference edition and has been improved continuously. With a DMS obtained by building the source code, pass in the latest version of DLNA CTT v1.5 is guaranteed.

