android / android/camera-samples

VideoCapture throwing pending recording error after camera switch

Open
#485 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
5.5k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

Hi
I'm using camera x version 1.1.0-rc01, the issue has been persistent since beta versions of this release.
I can record easy without any issues on default camera state, but as soon as I switch the camera record fails.

`

cameraProviderFuture.addListener({

val cameraProvider = cameraProviderFuture.get()

val cameraCapabilities = CameraUtils.getCameraCapabilities(cameraProvider, lifecycleOwner)

val cameraSelector =
cameraCapabilities[viewModel.lensFacing.value % cameraCapabilities.size].camSelector
val quality = cameraCapabilities[viewModel.lensFacing.value].qualities[qualityIndex]
val qualitySelector = QualitySelector.from(quality)

val recorder = Recorder.Builder()
.setQualitySelector(qualitySelector)
.setExecutor(cameraExecutor)
.build()

// Video Capture.camera is null
videoCapture = VideoCapture.withOutput(recorder)

val preview = Preview.Builder().build().also {
it.setSurfaceProvider(previewView.surfaceProvider)
}

try {
cameraProvider.unbindAll()
cameraProvider.bindToLifecycle(
lifecycleOwner,
cameraSelector,
videoCapture,
preview
)
} catch (e: Exception) {
e.printStackTrace()
}

preview.setSurfaceProvider(previewView.surfaceProvider)

}, cameraExecutor)
`

Contributor guide

Open the contributing guide

Research direction

Start with the cameraProviderFuture listener and the bindToLifecycle call shown in the report, reproducing the failure after switching cameraSelector. Trace the unbindAll, VideoCapture, and Recorder setup to determine why recording reports a pending recording error; done means recording works after a camera switch.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.