The SDK must be able to detect the presence of their device during SDK initialization without interaction with the user. Source detection via sample-processing is not recommended due to the excessive overhead required. If possible, the device should provide asynchronous callback notification for source detection. Although BDM implementation can partially compensate for dynamically-sized templates, the mapping is not efficient and can result in large amounts of unused allocated memory. If dynamic templates are absolutely necessary for the device to function properly, the maximum size for the dynamic templates should be kept as small as possible.
Some devices require a source to be present for proper initialization.
Although the BDM can be implemented such that this initialization is performed invisibly, the overall performance of the BDM, and specifically, the performance of the sample channel will be affected. It is highly recommended that the SDK provide a function for displaying the raw sample data. It is also recommended that the SDK provide functions for displaying as many of the template types as possible. Many devices are designed to process the raw data in the physical device and only transfer some kind of template to the host system, thus reducing overhead and transfer time. In this case, the SDK should also provide a function for displaying this template.