minicap
minicap copied to clipboard
screen freeze after starting minicap
phone:
- manufacturer: 'OPPO'
- model: 'OPPO X9007'
- version: '4.3'
- abi: 'armeabi-v7a'
- sdk: '18'
after starting minicap on device manually:
F:\>adb shell
shell@X9007:/ $ cd /data/local/tmp
cd /data/local/tmp
shell@X9007:/data/local/tmp $ LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/mi
nicap -P 1080x1920@1080x1920/0
cal/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 <
PID: 25100
INFO: Using projection 1080x1920@1080x1920/0
INFO: (external/MY_minicap/src/minicap_18.cpp:239) Creating SurfaceComposerClien
t
INFO: (external/MY_minicap/src/minicap_18.cpp:242) Performing SurfaceComposerCli
ent init check
INFO: (external/MY_minicap/src/minicap_18.cpp:249) Creating virtual display
INFO: (external/MY_minicap/src/minicap_18.cpp:255) Creating CPU consumer
INFO: (external/MY_minicap/src/minicap_18.cpp:259) Creating buffer queue
INFO: (external/MY_minicap/src/minicap_18.cpp:264) Creating frame waiter
INFO: (external/MY_minicap/src/minicap_18.cpp:268) Publishing virtual display
INFO: (jni/minicap/JpgEncoder.cpp:64) Allocating 6268932 bytes for JPG encoder
The whole screen will be frozen immediately, not response to any touch or click gesture.
then close minicap via Ctrl+C. Current application, whatever it is on device, will show ANR message.
For other device(Meizu m1 note). it will be frozen too after a while. phone info:
- manufacturer: 'Meizu'
- model: 'Meizu m1 note'
- version: '4.4.4'
- abi: 'armeabi-v7a'
- sdk: '19'
What is the possible reason for this problem? Both of the two devices use custom android ROM.
Probably minicap isn't able to convert the frames quickly enough on those devices, the system runs out of free framebuffers, and due to maker customizations decides to lock up itself instead of killing old buffers.
The situation could be improved somewhat by using separate threads for the frame tracking and conversion, but I'm not sure when I'll have the time to work on that. Also, I don't have any device that exhibits that problem.
If you or your company wants to get those devices supported, consider becoming a hardware sponsor to speed things up.
@sorccu First of all, thanks for your advice. It seems that this problem turns out to be that there are too many frames available before consuming them on above mentioned device OPPO.
If we consume these available frames when there are more than 3 ones, and release consumed frame, then the device screen will be fine, no longer freeze anymore.
this is some kind of work around I guess.
But here is another thing, what if there is only one frame? This happened on Meitu phone(other custom ROM). Device is normal, you can do what you want, but minicap can only receive the first one frame.
manufacturer: 'Meitu'
model: 'Meitu MK150'
version: '4.2.1'
abi: 'armeabi-v7a'
sdk: '17'
What could cause that?
Hello , I have the same issue. My phone information:
manufacturer: 'Acer'
model: 'S510'
version: '4.2.2'
abi: 'armeabi-v7a'
sdk: '17'
It just can get first one frame , when I touch phone screen , It dosen't change frame.