The synchronization process

Multimedia synchronization is done in multiple passes, so that your application can begin playing media without having to wait for all metadata to be synchronized. You can update some or all of the media information for a mediastore, depending on your needs.

Because the mm-sync API functions are nonblocking, the same client thread that starts a synchronization can go on to perform other tasks while the operation completes. For instance, the thread can begin playing media after the file information has been uploaded. Also, if the synchronizer service doesn't have the resources to start an operation, it places the request in its “pending” queue and signals the client, which can monitor the synchronization progress through event notifications.