The multimedia synchronizer service, mm-sync, performs synchronization of media content on attached mediastores. Synchronization is the process by which a device's media information is examined and uploaded into a database. Each mediastore has its own database that contains metadata such as the media type (audio, video, or photo), track names and language, cover art, and so on.
The mm-sync service is capable of:
Your client applications can use mm-sync to synchronize some or all mediastore content at any time through API calls. The extracted media information helps these applications find, organize, and play media, as well as provide end users with helpful and up-to-date information.
The mm-sync service selects the best synchronizer for a given mediastore to ensure users have the most accurate and complete metadata. The synchronization proceeds in steps and uses the QDB database server to transfer the uploaded information into persistent storage.
Mediastore insertions or removals are not detected by mm-sync. Your application can make system calls (e.g., readdir()) to search for attached mediastores that are mounted in your local filesystem, and then manually synchronize their media contents with mm-sync. Also, you can use the mm-detect component to keep track of the attached mediastores and automatically invoke mm-sync to synchronize a mediastore immediately after it is inserted. Thus, mm-detect implements automatic synchronization, not mm-sync.
Changes in device filesystems, such as individual file additions or removals, are also not detected by mm-sync. Client applications must explicitly synchronize mediastore content to guarantee up-to-date file information for their users. An advantage of this approach is that mm-sync won't do a synchronization for every mediastore insertion or change of content, which would consume many system resources and likely slow down client applications.