Hi there, SO I started taking a look at how tracker-miner-file.c processes the files by sending it to the tracker-extract process by using the libtracker-extract library. It uses quite a bit of GAsync calls in cascading order before it all is done processing. But so far only the tracker:volume handling is in the wrong location and not accessible by libtracker-extract users. That is the miner_files_add_to_datasource call in tracker-miner-file.c and all the code that depends on this call: mostly volume handling. Everything else I've started porting to this extract-test.c file that probably, most likely even, doesn't yet compile but that has the bean for a get_metadata_async and a get_metadata_finish API that will be usable by a external process like an MTP daemon. The idea is to put such an API into libtracker-extract and then nicely wrap it with Qt, C#, Vala, etc bindings. I've just attached my unfinished business as my gf has arrived and I really need to stop coding in a few minutes (or else ...). :-) Any experienced Tracker developer will see where I'm going with that code. An early review would be welcome. Kind regards, Philip -- Philip Van Hoof Software developer Codeminded BVBA - http://codeminded.be
Attachment:
extract-test.c
Description: Text Data