--Boundary-00=_2lyIDn+ysw3OrYs Content-Type: text/plain;charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi! Sometimes I download images from my friend's Canon Powershot S1 digital camera (PTP) with the kamera:/ kioslave. The problem is that the downloading of many images is dead slow. I investigated why kamera is so slow, when gphoto can read the images very fast. The conclusion: - The gp_camera init is called twice for each image (one for stat() and one for get()). This is the cause of the main part of the slowness. - The gp_camera_folder_list_folders is called once for each image (in the stat() function). I attached a patch which solves these problems: - The camera is not closed with every stat() and get() (This should be safe, I didn't removed more closeCamera(), since it can cause locking problems). - Modified the stat() function for probing an url for is it a file, not is it dir first. The patch is against the 3.5 branch. May I commit? ____________________________________________________________________ Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol. Probald ki most! http://www.freestart.hu --Boundary-00=_2lyIDn+ysw3OrYs Content-Type: text/x-diff;charset="us-ascii";name="kamera.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment;filename="kamera.diff" SW5kZXg6IGthbWVyYS9raW9zbGF2ZS9rYW1lcmEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGthbWVyYS9r aW9zbGF2ZS9rYW1lcmEuY3BwCShyZXZpc2lvbiA0NTgyODcpCisrKyBrYW1lcmEva2lvc2xhdmUv a2FtZXJhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsNyBAQAogCS8vIGF0dGVtcHQg dG8gaW5pdGlhbGl6ZSBsaWJncGhvdG8yIGFuZCBjaG9zZW4gY2FtZXJhIChyZXF1aXJlcyBsb2Nr aW5nKQogCS8vICh3aWxsIGluaXQgbV9jYW1lcmEsIHNpbmNlIHRoZSBtX2NhbWVyYSdzIGNvbmZp Z3VyYXRpb24gaXMgZW1wdHkpCiAJbV9jYW1lcmEgPSAwOworCW1faW5pdCA9IGZhbHNlOwogCW1f ZmlsZSA9IE5VTEw7CiAJbV9jb25maWcgPSBuZXcgS1NpbXBsZUNvbmZpZyhLUHJvdG9jb2xJbmZv Ojpjb25maWcoImNhbWVyYSIpKTsKIAltX2NvbnRleHQgPSBncF9jb250ZXh0X25ldygpOwpAQCAt MTAyLDEwICsxMDMsMTIgQEAKIAogLy8gaW5pdGlhbGl6ZXMgdGhlIGNhbWVyYSBmb3IgdXNhZ2Ug LSBzaG91bGQgYmUgZG9uZSBiZWZvcmUgb3BlcmF0aW9ucyBvdmVyIHRoZSB3aXJlCiBib29sIEth bWVyYVByb3RvY29sOjpvcGVuQ2FtZXJhKHZvaWQpIHsKKwlrZERlYnVnKDcxMjMpIDw8ICJvcGVu Q2FtZXJhOiAiIDw8IG1fY2FtZXJhIDw8IGVuZGw7CiAJaWYgKCFtX2NhbWVyYSkgewogCQlyZXBh cnNlQ29uZmlndXJhdGlvbigpOwotCX0gZWxzZSB7CisJfSBlbHNlIGlmICghbV9pbml0KSB7CiAJ CWludCByZXQsIHRyaWVzID0gMTU7CisJCWtkRGVidWcoNzEyMykgPDwgImdwX2NhbWVyYV9pbml0 IiA8PCBlbmRsOwogCQkKIAkJd2hpbGUgKHRyaWVzLS0pIHsKIAkJCXJldCA9IGdwX2NhbWVyYV9p bml0KG1fY2FtZXJhLCBtX2NvbnRleHQpOwpAQCAtMTE4LDYgKzEyMSw3IEBACiAJCQlyZXR1cm4g ZmFsc2U7CiAJCX0KIAl9CisJbV9pbml0ID0gdHJ1ZTsKIAlyZXR1cm4gdHJ1ZTsKIH0KIApAQCAt MTI2LDYgKzEzMCw3IEBACiB7CiAJaW50IGdwcjsKIAorCW1faW5pdCA9IGZhbHNlOwogCWlmICgh bV9jYW1lcmEpCiAJCXJldHVybjsKIApAQCAtMjg4LDcgKzI5Myw3IEBACiAJZmluaXNoZWQoKTsK IAlncF9maWxlX2ZyZWUobV9maWxlKTsKIAltX2ZpbGUgPSBOVUxMOwotCWNsb3NlQ2FtZXJhKCk7 CisvLwljbG9zZUNhbWVyYSgpOwogfQogCiAvLyBUaGUgS0lPIHNsYXZlICJzdGF0IiBmdW5jdGlv bi4KQEAgLTM0OSw2ICszNTQsMjQgQEAKIAogCS8vIGZwcmludGYoc3RkZXJyLCJzdGF0UmVndWxh ciglcylcbiIsdXJsLnBhdGgoKS5sYXRpbjEoKSk7CiAKKwkvLyBJcyAidXJsIiBhIGZpbGU/CisJ Q2FtZXJhRmlsZUluZm8gaW5mbzsKKwlncHIgPSBncF9jYW1lcmFfZmlsZV9nZXRfaW5mbyhtX2Nh bWVyYSwgdG9jc3RyKGZpeF9mb2xkZXJuYW1lKHVybC5kaXJlY3RvcnkoZmFsc2UpKSksIHRvY3N0 cih1cmwuZmlsZU5hbWUoKSksICZpbmZvLCBtX2NvbnRleHQpOworCWlmICggZ3ByICE9IEdQX0VS Uk9SX0ZJTEVfTk9UX0ZPVU5EICkgeyAvL21heWJlIGEgZGlyZWN0b3J5CisJCWlmIChncHIgIT0g R1BfT0spIHsKKwkJCWlmIChncHIgPT0gR1BfRVJST1JfRElSRUNUT1JZX05PVF9GT1VORCkKKwkJ CQllcnJvcihLSU86OkVSUl9ET0VTX05PVF9FWElTVCwgdXJsLnBhdGgoKSk7CisJCQllbHNlCisJ CQkJZXJyb3IoS0lPOjpFUlJfVU5LTk9XTiwgZ3BfcmVzdWx0X2FzX3N0cmluZyhncHIpKTsKKwkJ CWNsb3NlQ2FtZXJhKCk7CisJCQlyZXR1cm47CisJCX0KKwkJdHJhbnNsYXRlRmlsZVRvVURTKGVu dHJ5LCBpbmZvLCB1cmwuZmlsZU5hbWUoKSk7CisJCXN0YXRFbnRyeShlbnRyeSk7CisJCWZpbmlz aGVkKCk7CisJCXJldHVybjsKKwl9CisKIAkvLyBJcyAidXJsIiBhIGRpcmVjdG9yeT8KIAlDYW1l cmFMaXN0ICpkaXJMaXN0OwogCWdwX2xpc3RfbmV3KCZkaXJMaXN0KTsKQEAgLTM2MSw2ICszODQs NyBAQAogCQllbHNlCiAJCQllcnJvcihLSU86OkVSUl9VTktOT1dOLCBncF9yZXN1bHRfYXNfc3Ry aW5nKGdwcikpOwogCQlncF9saXN0X2ZyZWUoZGlyTGlzdCk7CisJCWtkRGVidWcoNzEyMykgPDwg ImdwX2NhbWVyYV9mb2xkZXJfbGlzdF9mb2xkZXJzIGVycm9yOiAiIDw8IGdwX3Jlc3VsdF9hc19z dHJpbmcoZ3ByKSA8PCBlbmRsOwogCQljbG9zZUNhbWVyYSgpOwogCQlyZXR1cm47CiAJfQpAQCAt Mzk5LDIwICs0MjMsNiBAQAogCX0KIAlncF9saXN0X2ZyZWUoZGlyTGlzdCk7CiAKLQkvLyBJcyAi dXJsIiBhIGZpbGU/Ci0JQ2FtZXJhRmlsZUluZm8gaW5mbzsKLQlncHIgPSBncF9jYW1lcmFfZmls ZV9nZXRfaW5mbyhtX2NhbWVyYSwgdG9jc3RyKGZpeF9mb2xkZXJuYW1lKHVybC5kaXJlY3Rvcnko ZmFsc2UpKSksIHRvY3N0cih1cmwuZmlsZU5hbWUoKSksICZpbmZvLCBtX2NvbnRleHQpOwotCWlm IChncHIgIT0gR1BfT0spIHsKLQkJaWYgKChncHIgPT0gR1BfRVJST1JfRklMRV9OT1RfRk9VTkQp IHx8IChncHIgPT0gR1BfRVJST1JfRElSRUNUT1JZX05PVF9GT1VORCkpCi0JCQllcnJvcihLSU86 OkVSUl9ET0VTX05PVF9FWElTVCwgdXJsLnBhdGgoKSk7Ci0JCWVsc2UKLQkJCWVycm9yKEtJTzo6 RVJSX1VOS05PV04sIGdwX3Jlc3VsdF9hc19zdHJpbmcoZ3ByKSk7Ci0JCWNsb3NlQ2FtZXJhKCk7 Ci0JCXJldHVybjsKLQl9Ci0JdHJhbnNsYXRlRmlsZVRvVURTKGVudHJ5LCBpbmZvLCB1cmwuZmls ZU5hbWUoKSk7Ci0Jc3RhdEVudHJ5KGVudHJ5KTsKLQlmaW5pc2hlZCgpOwogCWNsb3NlQ2FtZXJh KCk7CiB9CiAKQEAgLTQ0Miw3ICs0NTIsNyBAQAogCQkJZmluaXNoZWQoKTsKIAkJfQogCX0KLQlj bG9zZUNhbWVyYSgpOworLy8JY2xvc2VDYW1lcmEoKTsKIH0KIAogLy8gVGhlIEtJTyBzbGF2ZSAi bGlzdERpciIgZnVuY3Rpb24uCkluZGV4OiBrYW1lcmEva2lvc2xhdmUva2FtZXJhLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0ga2FtZXJhL2tpb3NsYXZlL2thbWVyYS5oCShyZXZpc2lvbiA0NTgyODcpCisrKyBr YW1lcmEva2lvc2xhdmUva2FtZXJhLmgJKHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzczLDcgQEAK IAlRU3RyaW5nIG1fY2ZnUGF0aDsKIAogCWludCBtX2ZpbGVTaXplOworCWJvb2wgbV9pbml0Owog CUNhbWVyYUZpbGUgKm1fZmlsZTsKIH07CiAjZW5kaWYK --Boundary-00=_2lyIDn+ysw3OrYs Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline = >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscrib= e << --Boundary-00=_2lyIDn+ysw3OrYs--