todo

来自「Media transfer protocol implementation o」· 代码 · 共 45 行

TXT
45
字号
TODO file:----------SPEEDUP fixes:1. SPEED: Cache the object info for all items on the device.  Right now, ptp_getobjectinfo() is called repeatedly on the same  objects during startup, track listing, file listing, playlist listing,  album listing and whatever we implement tomorrow. A lot of useless  communication can be saved by cacheing this info. Notice that this  needs to be updated whenever flush_handles() is called too.2. SPEED: Cache the supported object properties at first read/startup.  then use the cache to check for supported props instead of calling  out to PTP with ptp_mtp_getobjectpropssupported() every time.  The cache would be an array of size params->deviceinfo.ImageFormats_len  with a list for each format of the properties it will support. Notice   that this needs to be updated whenever flush_handles() is called too.3. SPEED: Cache track metadata, file metadata etc, perhaps this is not   desirable since the application using libmtp will do this anyway.4. SPEED: Whenever we add an object (file, track, playlist...) we  should only need to update the cache with relevant data. Atleast for  speed caches 1 and 2 above.FEATURE fixes:1. FEATURE: Make abstract playlists really become size -1 when created as   the ones created on the device instead of the current 1 byte size.  (Is this possible using enhanced commands? See TODO remarks in  the create_abstract_entity() function)2. FEATURE: Support playback and volume setting on devices that have it.  (I don't have one that does - Linus.)3. FEATURE: Make an API that can return several devices and let the user   choose which one to operate, not just connect to the first one...4. FEATURE: Support relevant events. MTP devices seen in existance provide  events for "object added" and "object deleted". These should result in  atleast a call to the flus_handles() function.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?