On Sat, Nov 16, 2013 at 07:06:56PM +0200, Artem Marchenko wrote: > Thanks a lot, Mohammed! > There are two sliders in the app to control how often searchAndLock are > called and how soon unlock is to be called after it. > 1. Could you, please, play with it and see which values seem to give > better results? > For now I will be fine with any more or less sane combination.
The first slider is for focus mode. I keep it at 0 The second seems to control the period of darkness between each 2 pulses. The lower the better (but don't set it to 0). The thirs seems to control the duration of the pulse. The larger the better but I can not yet tell the best combination of values. The best result is when you don't unlock() but this is a misuse of the API and I would not be surprised if it fires back ;-) > 2. Also could you describe the result and how it behaves when you > change these values? or well.. it is also external light dependent. > Let's say if you go into dark place (where flashlight is to be used > anyway), does LED produce light soft and often enough to make, say, > locating keys in a bag possible? Or is it more like rare annoying > flashes? I think the light intensity is not dependant on the ambient light. I see it's fine in a dark room. What is annoying is the pulses but it's not that bad. I can try to record a video for you if my time permits (I cannot promise). > 3. Unlock > That is something I don't understand :/ > What do you mean that gstreamer output tells I have to call unlock? > Can you then play with the unlocking timer too? Maybe there is a magic > combination of values that will keep light almost constant? For > example, if we start searchAndLock() as often as every 50ms and don't > call unlock() ever. As I said earlier. You can decide not to call unlock() and keep calling searchAndLock(). I don't know if this is tolerated by Qt or not but I can see that GStreamer parts which work below Qt are not happy. searchAndLock() will trigger a full focus cycle and camera HAL expects a call to unlock(). Cheers, P.S. You can catch me on freenode (MSameer) if you use IRC. > Best regards, > Artem. > On Sat, Nov 16, 2013 at 6:56 PM, Mohammed Hassan > <[1]mohammed.has...@jollamobile.com> wrote: > > Great job Artem > I tried it and it works (it pulses as expected). > If I point camera to a lamp then the led lights up for a long time. > If I direct it away from the lamp then the pulses are shorter. > I personally am not sure about the Qt API but from gstreamer output, > I see that > you must call unlock(). > I will try to test it tomorrow morning and see if it will still fire > or not. > I guess we also need to tweak the timer for locking and unlocking > but I don't > really have any suggestions. > Cheers, > > On Sat, Nov 16, 2013 at 06:22:32PM +0200, Artem Marchenko wrote: > > I prepared the next test app, that starts searchAndLock() every > given > > number of ms and optionally does unlock() soon after it (not sure if > > you have to unlock before starting the next searchAndLock() ). Plus > you > > can play with the search mode if Manual happens to be not good > enough. > > Anybody willing to try on real hardware? Preferably both in dark and > > light environment (maybe flash starts in dark conditions only as > > Mohammed told). > > > Link to ARM RPM - [1][2]http://bit.ly/videofla109 > > > Or here's full source code > > > - > [2][3]https://github.com/amarchen/video-flash-trial/tree/v0.1-9/ > > > Cheers, > > Artem. > > > > On Sat, Nov 16, 2013 at 6:05 PM, Mohammed Hassan > > > <[3][4]mohammed.has...@jollamobile.com> wrote: > > > > The point is not to be in continuous focus mode (CAF) because if you > > are in that mode > > then camera might not try to focus if it happens to have focus > > already (CAF mode = camera > > tries to focus all the time). > > In manual or fixed focus modes, camera will not try to focus all the > > time and will instead > > wait until it is instructed to focus and then it will do it. > > That is simply the reason. > > CAF focus is not guaranteed to be out of focus but manual is > > guaranteed to be out > > of focus ;-) > > Cheers, > > > > On Sat, Nov 16, 2013 at 05:58:30PM +0200, Artem Marchenko wrote: > > > Can you explain why Fixed (manual) focus mode? :/ > > > Sorry to ask for details, it's a little difficult without the > device > > at > > > hand? > > > Are you trying to tell that in a Fixed mode camera will seek for > > focus > > > forever? > > > Artem. > > > On Sat, Nov 16, 2013 at 5:55 PM, Mohammed Hassan > > > > > > <[1][4][5]mohammed.has...@jollamobile.com> wrote: > > > > > > searchAndLock() should work as long as you are in a dark > > > place (that's what LED torch is for ;-)) > > > and make sure the focus mode is set to fixed focus mode. > > > Good luck! > > > Cheers, > > > > > > On Sat, Nov 16, 2013 at 05:35:47PM +0200, Artem Marchenko wrote: > > > > I used to work a little with GStreamer in the past, it wasn't > much > > > fun, > > > > though I was doing video processing, not just LED manipulation.. > > > > Oh well, I try searchAndLock trick, if it doesn't work, I'll > need > > to > > > > think if I am into diving to gstreamer or into waiting for the > > Torch > > > > API. Technically, waiting for Torch is correct probably, I am > just > > > > driven by the opportunity to make the very first torch for Jolla > > :) > > > > Cheers, > > > > Artem. > > > > > > > > On Sat, Nov 16, 2013 at 5:28 PM, Mohammed Hassan > > > > > > > > > > <[1][2][5][6]mohammed.has...@jollamobile.com> wrote: > > > > > > > > Hi Artem, > > > > > > > > On Sat, Nov 16, 2013 at 04:43:57PM +0200, Artem Marchenko wrote: > > > > > Thanks, Mohammed. > > > > > > > > > > I know that torch mode is not supported, but ON mode is. So my > > > > current > > > > > workaround idea is to make phone think it shoots video with > > flash > > > > mode > > > > > ON (ok, we can even shoot video for real if needed). > Assumption > > is > > > > that > > > > > video + flash mode ON should make phone record video with > light > > > > > constantly ON. Currently it doesn't work for me, maybe because > > > > > assumption is wrong or maybe I am just using some api the > wrong > > > way. > > > > > > > > It will not work that way. There is a special mode for torch > light > > > > but it's > > > > not yet been implemented. > > > > > > > > > 2nd workaround idea is to make phone seekAndLock all the time > > > > causing > > > > > flash to be ON. That is likely to result in a multitude of > short > > > > > flashes though. > > > > > > > > That can work but it will be slow "light bursts". > > > > A 3rd option would be going even below GSTreamer and Qt and talk > > to > > > > the camera HW directly. > > > > This is harder -trust me- and will tie you to the hardware. > > > > I am really sorry I don't have a solution for you :( > > > > I can only promise it will be available soon in an update. > > > > Cheers, > > > > > > > > > When you record video with the flash ON in a system camera > app, > > > does > > > > it > > > > > cause LED to have kith ON all the time? > > > > > > > > > > Artem. > > > > > > > > > > On Saturday, November 16, 2013, Mohammed Hassan wrote: > > > > > > > > > > Hi Artem, > > > > > On Sat, Nov 16, 2013 at 02:48:30PM +0200, Artem Marchenko > wrote: > > > > > > Hi All > > > > > > *Context* > > > > > > I am trying to build a flashlight app, but the same question > > is > > > > > valid > > > > > > for any camera app that wants to shoot photos/videos in low > > > > > light. > > > > > > *The problem* > > > > > > I am trying to control LED flash by setting flash mode to ON > > > (api > > > > > > confirms that ON mode is supported) and starting camera. > > Nothing > > > > > > happens. I also tried actually capturing photo, shooting > video > > > > > and > > > > > > seekAndLocking. I don't have a device myself, but kind > people > > on > > > > > IRC > > > > > > told that only two short LED flashes happen (during seeking > > for > > > > > focus > > > > > > probably). > > > > > > Could somebody, please, advise how to control flash in > > Sailfish > > > > > OS? Or > > > > > > maybe you could confirm that libhybris flash control just > > isn't > > > > > wired > > > > > > to Qt level? > > > > > This is unfortunately not supported. > > > > > The only flash modes supported now are: on, off or auto. > > > > > Torch light mode is not yet supported but I assure you it will > > > come > > > > > in an update soon. > > > > > I am not that familiar with Qt but I know it's a limitation of > > the > > > > > layer underneath Qt. > > > > > The best you can do now is to wait for the phone itself and > > tinker > > > > > as you like and I am > > > > > sure you will manage to do it :-) > > > > > Cheers, > > > > > P.S. libhybris camera wrapper is not used by sailfish. It > might > > or > > > > > might not work. > > > > > _______________________________________________ > > > > > SailfishOS.org Devel mailing list > > > > > > > > > > -- > > > > > Artem Marchenko > > > > > > > > > > > > > > > [1][2][3][6][7]http://agilesoftwaredevelopment.com > > > > > [2][3][4][7][8]http://twitter.com/AgileArtem > > > > > > > > > > References > > > > > > > > > > 1. [4][5][8][9]http://agilesoftwaredevelopment.com/ > > > > > 2. [5][6][9][10]http://twitter.com/AgileArtem > > > > > > > > -- > > > > Artem Marchenko > > > > [6][7][10][11]http://agilesoftwaredevelopment.com > > > > [7][8][11][12]http://twitter.com/AgileArtem > > > > > > > > References > > > > > > > > 1. mailto:[9][12][13]mohammed.has...@jollamobile.com > > > > 2. [10][13][14]http://agilesoftwaredevelopment.com/ > > > > 3. [11][14][15]http://twitter.com/AgileArtem > > > > 4. [12][15][16]http://agilesoftwaredevelopment.com/ > > > > 5. [13][16][17]http://twitter.com/AgileArtem > > > > 6. [14][17][18]http://agilesoftwaredevelopment.com/ > > > > 7. [15][18][19]http://twitter.com/AgileArtem > > > > > > -- > > > Artem Marchenko > > > [16][19][20]http://agilesoftwaredevelopment.com > > > [17][20][21]http://twitter.com/AgileArtem > > > > > > References > > > > > > 1. mailto:[21][22]mohammed.has...@jollamobile.com > > > 2. mailto:[22][23]mohammed.has...@jollamobile.com > > > 3. [23][24]http://agilesoftwaredevelopment.com/ > > > 4. [24][25]http://twitter.com/AgileArtem > > > 5. [25][26]http://agilesoftwaredevelopment.com/ > > > 6. [26][27]http://twitter.com/AgileArtem > > > 7. [27][28]http://agilesoftwaredevelopment.com/ > > > 8. [28][29]http://twitter.com/AgileArtem > > > 9. mailto:[29][30]mohammed.has...@jollamobile.com > > > 10. [30][31]http://agilesoftwaredevelopment.com/ > > > 11. [31][32]http://twitter.com/AgileArtem > > > 12. [32][33]http://agilesoftwaredevelopment.com/ > > > 13. [33][34]http://twitter.com/AgileArtem > > > 14. [34][35]http://agilesoftwaredevelopment.com/ > > > 15. [35][36]http://twitter.com/AgileArtem > > > 16. [36][37]http://agilesoftwaredevelopment.com/ > > > 17. [37][38]http://twitter.com/AgileArtem > > > > -- > > Artem Marchenko > > [38][39]http://agilesoftwaredevelopment.com > > [39][40]http://twitter.com/AgileArtem > > > > References > > > > 1. [41]http://bit.ly/videofla109 > > 2. [42]https://github.com/amarchen/video-flash-trial/tree/v0.1-9/ > > 3. mailto:[43]mohammed.has...@jollamobile.com > > 4. mailto:[44]mohammed.has...@jollamobile.com > > 5. mailto:[45]mohammed.has...@jollamobile.com > > > 6. [46]http://agilesoftwaredevelopment.com/ > > 7. [47]http://twitter.com/AgileArtem > > > 8. [48]http://agilesoftwaredevelopment.com/ > > 9. [49]http://twitter.com/AgileArtem > > > 10. [50]http://agilesoftwaredevelopment.com/ > > 11. [51]http://twitter.com/AgileArtem > > > 12. mailto:[52]mohammed.has...@jollamobile.com > > 13. [53]http://agilesoftwaredevelopment.com/ > > 14. [54]http://twitter.com/AgileArtem > > 15. [55]http://agilesoftwaredevelopment.com/ > > 16. [56]http://twitter.com/AgileArtem > > 17. [57]http://agilesoftwaredevelopment.com/ > > 18. [58]http://twitter.com/AgileArtem > > 19. [59]http://agilesoftwaredevelopment.com/ > > 20. [60]http://twitter.com/AgileArtem > > 21. mailto:[61]mohammed.has...@jollamobile.com > > 22. mailto:[62]mohammed.has...@jollamobile.com > > 23. [63]http://agilesoftwaredevelopment.com/ > > 24. [64]http://twitter.com/AgileArtem > > 25. [65]http://agilesoftwaredevelopment.com/ > > 26. [66]http://twitter.com/AgileArtem > > 27. [67]http://agilesoftwaredevelopment.com/ > > 28. [68]http://twitter.com/AgileArtem > > 29. mailto:[69]mohammed.has...@jollamobile.com > > 30. [70]http://agilesoftwaredevelopment.com/ > > 31. [71]http://twitter.com/AgileArtem > > 32. [72]http://agilesoftwaredevelopment.com/ > > 33. [73]http://twitter.com/AgileArtem > > 34. [74]http://agilesoftwaredevelopment.com/ > > 35. [75]http://twitter.com/AgileArtem > > 36. [76]http://agilesoftwaredevelopment.com/ > > 37. [77]http://twitter.com/AgileArtem > > 38. [78]http://agilesoftwaredevelopment.com/ > > 39. [79]http://twitter.com/AgileArtem > > -- > Artem Marchenko > [80]http://agilesoftwaredevelopment.com > [81]http://twitter.com/AgileArtem > > References > > 1. mailto:mohammed.has...@jollamobile.com > 2. http://bit.ly/videofla109 > 3. https://github.com/amarchen/video-flash-trial/tree/v0.1-9/ > 4. mailto:mohammed.has...@jollamobile.com > 5. mailto:mohammed.has...@jollamobile.com > 6. mailto:mohammed.has...@jollamobile.com > 7. http://agilesoftwaredevelopment.com/ > 8. http://twitter.com/AgileArtem > 9. http://agilesoftwaredevelopment.com/ > 10. http://twitter.com/AgileArtem > 11. http://agilesoftwaredevelopment.com/ > 12. http://twitter.com/AgileArtem > 13. mailto:mohammed.has...@jollamobile.com > 14. http://agilesoftwaredevelopment.com/ > 15. http://twitter.com/AgileArtem > 16. http://agilesoftwaredevelopment.com/ > 17. http://twitter.com/AgileArtem > 18. http://agilesoftwaredevelopment.com/ > 19. http://twitter.com/AgileArtem > 20. http://agilesoftwaredevelopment.com/ > 21. http://twitter.com/AgileArtem > 22. mailto:mohammed.has...@jollamobile.com > 23. mailto:mohammed.has...@jollamobile.com > 24. http://agilesoftwaredevelopment.com/ > 25. http://twitter.com/AgileArtem > 26. http://agilesoftwaredevelopment.com/ > 27. http://twitter.com/AgileArtem > 28. http://agilesoftwaredevelopment.com/ > 29. http://twitter.com/AgileArtem > 30. mailto:mohammed.has...@jollamobile.com > 31. http://agilesoftwaredevelopment.com/ > 32. http://twitter.com/AgileArtem > 33. http://agilesoftwaredevelopment.com/ > 34. http://twitter.com/AgileArtem > 35. http://agilesoftwaredevelopment.com/ > 36. http://twitter.com/AgileArtem > 37. http://agilesoftwaredevelopment.com/ > 38. http://twitter.com/AgileArtem > 39. http://agilesoftwaredevelopment.com/ > 40. http://twitter.com/AgileArtem > 41. http://bit.ly/videofla109 > 42. https://github.com/amarchen/video-flash-trial/tree/v0.1-9/ > 43. mailto:mohammed.has...@jollamobile.com > 44. mailto:mohammed.has...@jollamobile.com > 45. mailto:mohammed.has...@jollamobile.com > 46. http://agilesoftwaredevelopment.com/ > 47. http://twitter.com/AgileArtem > 48. http://agilesoftwaredevelopment.com/ > 49. http://twitter.com/AgileArtem > 50. http://agilesoftwaredevelopment.com/ > 51. http://twitter.com/AgileArtem > 52. mailto:mohammed.has...@jollamobile.com > 53. http://agilesoftwaredevelopment.com/ > 54. http://twitter.com/AgileArtem > 55. http://agilesoftwaredevelopment.com/ > 56. http://twitter.com/AgileArtem > 57. http://agilesoftwaredevelopment.com/ > 58. http://twitter.com/AgileArtem > 59. http://agilesoftwaredevelopment.com/ > 60. http://twitter.com/AgileArtem > 61. mailto:mohammed.has...@jollamobile.com > 62. mailto:mohammed.has...@jollamobile.com > 63. http://agilesoftwaredevelopment.com/ > 64. http://twitter.com/AgileArtem > 65. http://agilesoftwaredevelopment.com/ > 66. http://twitter.com/AgileArtem > 67. http://agilesoftwaredevelopment.com/ > 68. http://twitter.com/AgileArtem > 69. mailto:mohammed.has...@jollamobile.com > 70. http://agilesoftwaredevelopment.com/ > 71. http://twitter.com/AgileArtem > 72. http://agilesoftwaredevelopment.com/ > 73. http://twitter.com/AgileArtem > 74. http://agilesoftwaredevelopment.com/ > 75. http://twitter.com/AgileArtem > 76. http://agilesoftwaredevelopment.com/ > 77. http://twitter.com/AgileArtem > 78. http://agilesoftwaredevelopment.com/ > 79. http://twitter.com/AgileArtem > 80. http://agilesoftwaredevelopment.com/ > 81. http://twitter.com/AgileArtem _______________________________________________ SailfishOS.org Devel mailing list