Sigh. You are determined not to listen to someone that knows what they are talking about, because they wrote the actual code. I'll give it one more try, then I am out of here:
0) All communication between calibre and the device is by listing files and transferring them. No code is ever executed on the device by calibre.
1) MTP is a transacted protocol. It does not include any file locking. File locking if it occurs at all must occur on the device.
2) Listing files on the device, literally involves transferring file data from the device to calibre. The data in question is directory entries and actual file data for files for which internal metadata has to be read. Therefore if listing is taking a long time, it is taking a long time because transfer of file data is taking a long time. And that process is entirely limited by the speed at which your device can read files from its memory and shove the data down the USB cable.
3) metadata.calibre is never manipulated on the device, see point 0
For the last time, the problems are in your device. All the best, I am done here.
|