reflekt's People
reflekt's Issues
FIXME in reflekt preview
add class reflekt watcher for metering time
add optional renderscript transform yuv to rgb in frame processor
Opportunity to add location to jpg picture
fixme coroutine adapter in preview
increase speed of precapture sequence
add optional not invert jpeg capture in front camera
Pixel 2 (Android 9): Failed to capture session
Stable reproducing.
Preview cannot be shown.
The following errors catched in Logs:
2019-02-05 00:35:35.868 17292-17319/tech.khana.reflekt I/Adreno: Build Config : S L 4.0.10 AArch64
2019-02-05 00:35:35.869 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:35.869 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1920)
2019-02-05 00:35:35.872 17292-17319/tech.khana.reflekt I/Adreno: PFP: 0x005ff110, ME: 0x005ff066
2019-02-05 00:35:35.872 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:35.873 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1920)
2019-02-05 00:35:35.877 17292-17319/tech.khana.reflekt I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
2019-02-05 00:35:35.877 17292-17319/tech.khana.reflekt I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2019-02-05 00:35:35.877 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:35.877 17292-17319/tech.khana.reflekt I/OpenGLRenderer: Initialized EGL, version 1.4
2019-02-05 00:35:35.877 17292-17319/tech.khana.reflekt D/OpenGLRenderer: Swap behavior 1
2019-02-05 00:35:35.898 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:35.898 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1920)
2019-02-05 00:35:35.900 17292-17317/tech.khana.reflekt D/reflekt-log: #onOpened
2019-02-05 00:35:35.902 17292-17317/tech.khana.reflekt D/reflekt-log: #startSession
2019-02-05 00:35:35.910 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:35.943 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface
2019-02-05 00:35:35.952 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:35.952 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:35.955 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:35.955 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:35.959 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:35.962 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface acquired
2019-02-05 00:35:36.061 17292-17317/tech.khana.reflekt W/CameraDevice-JV-1: Stream configuration failed due to: endConfigure:508: Camera 1: Unsupported set of inputs/outputs provided
2019-02-05 00:35:36.062 17292-17317/tech.khana.reflekt E/CameraCaptureSession: Session 0: Failed to create capture session; configuration failed
2019-02-05 00:35:36.065 17292-17292/tech.khana.reflekt E/reflekt-log: tech.khana.reflekt.core.CameraException$CameraSessionConfigurationFailed: Session configuration failed
at tech.khana.reflekt.ext.CoroutinesAdaptersKt$createCaptureSession$2$1.onConfigureFailed(CoroutinesAdapters.kt:26)
at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.lambda$onConfigureFailed$1(CallbackProxies.java:64)
at android.hardware.camera2.impl.-$$Lambda$CallbackProxies$SessionStateCallbackProxy$gvbTsp9UPpKJAbdycdci_ZW5BeI.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-02-05 00:35:36.066 17292-17292/tech.khana.reflekt E/reflekt-log: Session configuration failed
tech.khana.reflekt.core.CameraException$CameraSessionConfigurationFailed: Session configuration failed
at tech.khana.reflekt.ext.CoroutinesAdaptersKt$createCaptureSession$2$1.onConfigureFailed(CoroutinesAdapters.kt:26)
at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.lambda$onConfigureFailed$1(CallbackProxies.java:64)
at android.hardware.camera2.impl.-$$Lambda$CallbackProxies$SessionStateCallbackProxy$gvbTsp9UPpKJAbdycdci_ZW5BeI.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-02-05 00:35:36.299 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:36.299 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:36.302 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:36.302 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:36.305 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:39.334 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:39.334 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:39.338 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:39.338 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:39.342 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:39.459 17292-17317/tech.khana.reflekt D/reflekt-log: #close
2019-02-05 00:35:39.459 17292-17317/tech.khana.reflekt D/reflekt-log: #stopSession
2019-02-05 00:35:39.459 17292-17317/tech.khana.reflekt D/reflekt-log: #stopPreview
2019-02-05 00:35:39.460 17292-17317/tech.khana.reflekt D/reflekt-log: #stopRecord
2019-02-05 00:35:39.505 17292-17317/tech.khana.reflekt D/reflekt-log: #onClosed
2019-02-05 00:35:39.505 17292-17317/tech.khana.reflekt D/reflekt-log: #open
2019-02-05 00:35:39.544 17292-17317/tech.khana.reflekt D/reflekt-log: #onOpened
2019-02-05 00:35:39.545 17292-17317/tech.khana.reflekt D/reflekt-log: #startSession
2019-02-05 00:35:39.578 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface
2019-02-05 00:35:39.586 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:39.586 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:39.589 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:39.589 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:39.591 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:39.593 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface acquired
2019-02-05 00:35:39.676 17292-17317/tech.khana.reflekt E/Legacy-CameraDevice-JNI: LegacyCameraDevice_nativeDetectSurfaceDimens: Error while querying surface width No such device (-19).
2019-02-05 00:35:39.678 17292-17292/tech.khana.reflekt E/reflekt-log: Surface was abandoned
java.lang.IllegalArgumentException: Surface was abandoned
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:84)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:260)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:145)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:508)
at tech.khana.reflekt.ext.CoroutinesAdaptersKt.createCaptureSession(CoroutinesAdapters.kt:18)
at tech.khana.reflekt.core.ReflektCameraImpl$startSession$2.invokeSuspend(ReflektCamera.kt:153)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: android.hardware.camera2.legacy.LegacyExceptionUtils$BufferQueueAbandonedException
at android.hardware.camera2.legacy.LegacyExceptionUtils.throwOnError(LegacyExceptionUtils.java:73)
at android.hardware.camera2.legacy.LegacyCameraDevice.getSurfaceSize(LegacyCameraDevice.java:606)
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:82)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:260)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:145)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:508)
at tech.khana.reflekt.ext.CoroutinesAdaptersKt.createCaptureSession(CoroutinesAdapters.kt:18)
at tech.khana.reflekt.core.ReflektCameraImpl$startSession$2.invokeSuspend(ReflektCamera.kt:153)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-02-05 00:35:40.021 17292-17317/tech.khana.reflekt D/reflekt-log: #close
2019-02-05 00:35:40.021 17292-17317/tech.khana.reflekt D/reflekt-log: #stopSession
2019-02-05 00:35:40.021 17292-17317/tech.khana.reflekt D/reflekt-log: #stopPreview
2019-02-05 00:35:40.021 17292-17317/tech.khana.reflekt D/reflekt-log: #stopRecord
2019-02-05 00:35:40.078 17292-17317/tech.khana.reflekt D/reflekt-log: #onClosed
2019-02-05 00:35:40.079 17292-17317/tech.khana.reflekt D/reflekt-log: #open
2019-02-05 00:35:40.111 17292-17317/tech.khana.reflekt D/reflekt-log: #onOpened
2019-02-05 00:35:40.111 17292-17317/tech.khana.reflekt D/reflekt-log: #startSession
2019-02-05 00:35:40.133 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface
2019-02-05 00:35:40.139 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:40.139 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:40.142 17292-17292/tech.khana.reflekt D/reflekt-log: #onMeasure
2019-02-05 00:35:40.142 17292-17292/tech.khana.reflekt D/reflekt-log: #setMeasuredDimension(width=1080, newHeight=1440)
2019-02-05 00:35:40.145 17292-17292/tech.khana.reflekt D/reflekt-log: #onLayout
2019-02-05 00:35:40.146 17292-17292/tech.khana.reflekt D/reflekt-log: #acquireSurface acquired
2019-02-05 00:35:40.230 17292-17317/tech.khana.reflekt E/Legacy-CameraDevice-JNI: LegacyCameraDevice_nativeDetectSurfaceDimens: Error while querying surface width No such device (-19).
2019-02-05 00:35:40.232 17292-17292/tech.khana.reflekt E/reflekt-log: Surface was abandoned
java.lang.IllegalArgumentException: Surface was abandoned
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:84)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:260)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:145)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:508)
at tech.khana.reflekt.ext.CoroutinesAdaptersKt.createCaptureSession(CoroutinesAdapters.kt:18)
at tech.khana.reflekt.core.ReflektCameraImpl$startSession$2.invokeSuspend(ReflektCamera.kt:153)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: android.hardware.camera2.legacy.LegacyExceptionUtils$BufferQueueAbandonedException
at android.hardware.camera2.legacy.LegacyExceptionUtils.throwOnError(LegacyExceptionUtils.java:73)
at android.hardware.camera2.legacy.LegacyCameraDevice.getSurfaceSize(LegacyCameraDevice.java:606)
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:82)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:260)
at android.hardware.camera2.params.OutputConfiguration.<init>(OutputConfiguration.java:145)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:508)
at tech.khana.reflekt.ext.CoroutinesAdaptersKt.createCaptureSession(CoroutinesAdapters.kt:18)
at tech.khana.reflekt.core.ReflektCameraImpl$startSession$2.invokeSuspend(ReflektCamera.kt:153)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-02-05 00:36:40.533 17292-17317/tech.khana.reflekt D/reflekt-log: #close
2019-02-05 00:36:40.533 17292-17317/tech.khana.reflekt D/reflekt-log: #stopSession
2019-02-05 00:36:40.533 17292-17317/tech.khana.reflekt D/reflekt-log: #stopPreview
2019-02-05 00:36:40.534 17292-17317/tech.khana.reflekt D/reflekt-log: #stopRecord
2019-02-05 00:36:40.764 17292-17317/tech.khana.reflekt D/reflekt-log: #onClosed
reflekt preview size must depends on screen resolution
add frame processor to app
while session must be no more 3 surface
FIXME sometimes reflekt surfaces can be not released
Add flashlight support
check error handling in coroutines
Use TEMPLATE_VIDEO_SNAPSHOT for capture in while video recording
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.