How do you avoid a grey scale grainy 680x480 PreviewView?

0

When launching a PreviewView, sometimes the video appears grainy, at a low resolution (680x480). Is this being triggered by something that I'm doing?

See a side-by-side comparison of my PreviewViews. The application in both images are using the exact same code. It seems to happen randomly.

Main camera code:

package com.adriansoftware.myapplication

import android.Manifest
import android.annotation.SuppressLint
import android.content.pm.PackageManager
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.camera.camera2.Camera2Config
import androidx.camera.core.*
import androidx.camera.core.impl.VideoCaptureConfig
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.view.PreviewView
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.google.common.util.concurrent.ListenableFuture
import java.util.concurrent.Executors

private const val tag = "RecordActivity"
private const val REQUEST_CODE_PERMISSIONS = 10

class MainActivity : AppCompatActivity(), CameraXConfig.Provider {
    private lateinit var camera: Camera
    private val REQUIRED_PERMISSIONS = arrayOf(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
    private lateinit var cameraProviderFuture: ListenableFuture<ProcessCameraProvider>
    private lateinit var videoCapture: VideoCapture
    private val executor = Executors.newSingleThreadExecutor()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        if (!allPermissionsGranted()) {
            Log.v(tag, "Attempting to request permissions...")
            ActivityCompat.requestPermissions(
                this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS)
        }
    }

    override fun onRequestPermissionsResult(
        requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
        if (requestCode == REQUEST_CODE_PERMISSIONS) {
            if (!allPermissionsGranted()) {
                Toast.makeText(this,
                    "Permissions not granted by the user.",
                    Toast.LENGTH_SHORT).show()
                finish()
            }
        }
    }

    /**
     * Check if all permission specified in the manifest have been granted
     */
    private fun allPermissionsGranted() = REQUIRED_PERMISSIONS.all {
        ContextCompat.checkSelfPermission(
            baseContext, it) == PackageManager.PERMISSION_GRANTED
    }

    override fun getCameraXConfig(): CameraXConfig {
        return Camera2Config
            .defaultConfig()
    }

    fun startCameraOne(view: View) {
        startCameraProvider(findViewById(R.id.preview1))
    }

    fun startCameraTwo(view: View) {
        startCameraProvider(findViewById(R.id.preview2))
    }


    fun startCameraProvider(previewView: PreviewView) {
        cameraProviderFuture = ProcessCameraProvider.getInstance(baseContext)
        cameraProviderFuture.addListener(Runnable {
            val cameraProvider = cameraProviderFuture.get()
            bindPreview(previewView, cameraProvider)
        }, ContextCompat.getMainExecutor(baseContext))
    }

    @SuppressLint("RestrictedApi")
    private fun bindPreview(previewView: PreviewView, cameraProvider: ProcessCameraProvider) {
        CameraX.unbindAll()
        val cameraSelector: CameraSelector = CameraSelector.Builder()
            .requireLensFacing(CameraSelector.LENS_FACING_FRONT)
            .build()

        val preview: Preview = Preview.Builder()
            .setCameraSelector(cameraSelector)
            .build()
        videoCapture = VideoCaptureConfig.Builder().apply {
            setCameraSelector(cameraSelector)
        }.build()

        camera = cameraProvider.bindToLifecycle(this as LifecycleOwner,
            cameraSelector,
            videoCapture,
            preview)
        previewView.scaleType = PreviewView.ScaleType.FILL_CENTER
        preview.setSurfaceProvider((previewView as PreviewView).createSurfaceProvider(camera.cameraInfo))
    }
}

enter image description here

enter image description here

With the following logs:

2020-05-14 20:03:27.431 4551-4590/com.adriansoftware.myapplication I/Adreno: QUALCOMM build                   : 9b214d0, Ibc75db1fca
    Build Date                       : 06/30/19
    OpenGL ES Shader Compiler Version: EV031.26.06.00
    Local Branch                     : AU124
    Remote Branch                    : 
    Remote Branch                    : 
    Reconstruct Branch               : 
2020-05-14 20:03:27.431 4551-4590/com.adriansoftware.myapplication I/Adreno: Build Config                     : S P 8.0.6 AArch64
2020-05-14 20:03:27.434 4551-4590/com.adriansoftware.myapplication I/Adreno: PFP: 0x016ee185, ME: 0x00000000
2020-05-14 20:03:28.412 4551-4551/com.adriansoftware.myapplication W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@23cde6e
2020-05-14 20:03:28.497 4551-4551/com.adriansoftware.myapplication V/ViewUtils: Setting image filter for tagged ImageView
2020-05-14 20:03:28.497 4551-4551/com.adriansoftware.myapplication I/chatty: uid=10324(com.adriansoftware.myapplication) identical 5 lines
2020-05-14 20:03:28.497 4551-4551/com.adriansoftware.myapplication V/ViewUtils: Setting image filter for tagged ImageView
2020-05-14 20:03:28.498 4551-4551/com.adriansoftware.myapplication I/CameraManagerGlobal: Connecting to camera service
2020-05-14 20:03:29.722 4551-8582/com.adriansoftware.myapplication D/CameraRepository: Added camera: 0
2020-05-14 20:03:29.730 4551-8582/com.adriansoftware.myapplication I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_FULL
2020-05-14 20:03:29.731 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-05-14 20:03:29.732 4551-8582/com.adriansoftware.myapplication D/CameraRepository: Added camera: 1
2020-05-14 20:03:29.734 4551-8582/com.adriansoftware.myapplication I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_FULL
2020-05-14 20:03:29.734 4551-8582/com.adriansoftware.myapplication D/CameraRepository: Added camera: 2
2020-05-14 20:03:29.734 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 1
2020-05-14 20:03:29.735 4551-8582/com.adriansoftware.myapplication I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
2020-05-14 20:03:29.735 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 2
2020-05-14 20:03:29.736 4551-4551/com.adriansoftware.myapplication D/MainActivity: Active preview view resolution: 714x714
2020-05-14 20:03:29.767 4551-8588/com.adriansoftware.myapplication D/CCodec: allocate(c2.qti.avc.encoder)
2020-05-14 20:03:29.768 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Available Codec2 services: "default" "software"
2020-05-14 20:03:29.768 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "default"
2020-05-14 20:03:29.769 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "default" created
2020-05-14 20:03:29.769 4551-8588/com.adriansoftware.myapplication I/CCodec: setting up 'default' as default (vendor) store
2020-05-14 20:03:29.769 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "default"
2020-05-14 20:03:29.770 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "default" created
2020-05-14 20:03:29.771 4551-8588/com.adriansoftware.myapplication I/CCodec: Created component [c2.qti.avc.encoder]
2020-05-14 20:03:29.771 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: read media type: video/avc
2020-05-14 20:03:29.773 4551-8588/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2020-05-14 20:03:29.774 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: ignoring local param raw.color (0xc2001809) as it is already supported
2020-05-14 20:03:29.774 4551-8588/com.adriansoftware.myapplication I/CCodecConfig: query failed after returning 20 values (BAD_INDEX)
2020-05-14 20:03:29.774 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is Dict {
      c2::u32 algo.bitrate-mode.value = 3
      c2::i32 algo.priority.value = -1
      c2::float algo.rate.value = 30
      c2::u32 coded.bitrate.value = 20000000
      c2::float coded.frame-rate.value = 30
      c2::u32 coded.pl.level = 20480
      c2::u32 coded.pl.profile = 20480
      c2::u32 coded.vui.color.matrix = 255
      c2::u32 coded.vui.color.primaries = 0
      c2::u32 coded.vui.color.range = 0
      c2::u32 coded.vui.color.transfer = 255
      c2::u32 coding.intra-refresh.mode = 0
      c2::float coding.intra-refresh.period = 0
      c2::u32 coding.request-sync-frame.value = 0
      c2::i64 coding.sync-frame-interval.value = 1000000
      Buffer coding.temporal-layering = {
        00000000:  10 00 00 00 07 20 01 52  00 00 00 00 00 00 00 00  ..... .R........
      }
      c2::u32 default.color.matrix = 255
      c2::u32 default.color.primaries = 0
      c2::u32 default.color.range = 0
      c2::u32 default.color.transfer = 255
      c2::u32 input.delay.value = 0
      string input.media-type.value = "video/raw"
      c2::u32 output.buffers.prepend-header.value = 2
      c2
2020-05-14 20:03:29.774 4551-8588/com.adriansoftware.myapplication W/ColorUtils: expected specified color aspects (0:0:255:255)
2020-05-14 20:03:29.776 4551-8593/com.adriansoftware.myapplication D/CCodec: allocate(c2.android.aac.encoder)
2020-05-14 20:03:29.776 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "default"
2020-05-14 20:03:29.777 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "default" created
2020-05-14 20:03:29.778 4551-8593/com.adriansoftware.myapplication I/CCodec: setting up 'default' as default (vendor) store
2020-05-14 20:03:29.778 4551-8593/com.adriansoftware.myapplication E/Codec2Client: createComponent(c2.android.aac.encoder) -- call failed: NOT_FOUND.
2020-05-14 20:03:29.778 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "software"
2020-05-14 20:03:29.779 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "software" created
2020-05-14 20:03:29.781 4551-8593/com.adriansoftware.myapplication I/CCodec: Created component [c2.android.aac.encoder]
2020-05-14 20:03:29.781 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: read media type: audio/mp4a-latm
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.max-count.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.subscribed-indices.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: input.buffers.allocator-ids.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.allocator-ids.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.allocator-ids.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2020-05-14 20:03:29.782 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.pool-ids.values
2020-05-14 20:03:29.783 4551-8593/com.adriansoftware.myapplication I/CCodecConfig: query failed after returning 9 values (BAD_INDEX)
2020-05-14 20:03:29.783 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is Dict {
      c2::u32 coded.bitrate.value = 64000
      c2::u32 coded.pl.level = 0
      c2::u32 coded.pl.profile = 8192
      c2::u32 coding.aac-sbr-mode.value = 3
      c2::u32 input.buffers.max-size.value = 2048
      c2::u32 input.delay.value = 0
      string input.media-type.value = "audio/raw"
      string output.media-type.value = "audio/mp4a-latm"
      c2::u32 raw.channel-count.value = 1
      c2::u32 raw.sample-rate.value = 44100
    }
2020-05-14 20:03:29.786 4551-8588/com.adriansoftware.myapplication D/CCodec: allocate(c2.qti.avc.encoder)
2020-05-14 20:03:29.786 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "default"
2020-05-14 20:03:29.788 4551-8588/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "default" created
2020-05-14 20:03:29.788 4551-8588/com.adriansoftware.myapplication I/CCodec: setting up 'default' as default (vendor) store
2020-05-14 20:03:29.789 4551-8588/com.adriansoftware.myapplication I/CCodec: Created component [c2.qti.avc.encoder]
2020-05-14 20:03:29.789 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: read media type: video/avc
2020-05-14 20:03:29.790 4551-8588/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2020-05-14 20:03:29.791 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: ignoring local param raw.color (0xc2001809) as it is already supported
2020-05-14 20:03:29.792 4551-8588/com.adriansoftware.myapplication I/CCodecConfig: query failed after returning 20 values (BAD_INDEX)
2020-05-14 20:03:29.792 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is Dict {
      c2::u32 algo.bitrate-mode.value = 3
      c2::i32 algo.priority.value = -1
      c2::float algo.rate.value = 30
      c2::u32 coded.bitrate.value = 20000000
      c2::float coded.frame-rate.value = 30
      c2::u32 coded.pl.level = 20480
      c2::u32 coded.pl.profile = 20480
      c2::u32 coded.vui.color.matrix = 255
      c2::u32 coded.vui.color.primaries = 0
      c2::u32 coded.vui.color.range = 0
      c2::u32 coded.vui.color.transfer = 255
      c2::u32 coding.intra-refresh.mode = 0
      c2::float coding.intra-refresh.period = 0
      c2::u32 coding.request-sync-frame.value = 0
      c2::i64 coding.sync-frame-interval.value = 1000000
      Buffer coding.temporal-layering = {
        00000000:  10 00 00 00 07 20 01 52  00 00 00 00 00 00 00 00  ..... .R........
      }
      c2::u32 default.color.matrix = 255
      c2::u32 default.color.primaries = 0
      c2::u32 default.color.range = 0
      c2::u32 default.color.transfer = 255
      c2::u32 input.delay.value = 0
      string input.media-type.value = "video/raw"
      c2::u32 output.buffers.prepend-header.value = 2
      c2
2020-05-14 20:03:29.792 4551-8588/com.adriansoftware.myapplication W/ColorUtils: expected specified color aspects (0:0:255:255)
2020-05-14 20:03:29.793 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: no c2 equivalents for color-format
2020-05-14 20:03:29.793 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: no c2 equivalents for encoder
2020-05-14 20:03:29.794 4551-8588/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is   c2::u32 coded.bitrate.value = 8388608
      c2::u32 raw.pixel-format.value = 34
      c2::u32 raw.size.height = 480
      c2::u32 raw.size.width = 640
2020-05-14 20:03:29.794 4551-8588/com.adriansoftware.myapplication W/ColorUtils: expected specified color aspects (0:0:255:255)
2020-05-14 20:03:29.794 4551-8588/com.adriansoftware.myapplication W/Codec2Client: query -- param skipped: index = 3254781982.
2020-05-14 20:03:29.794 4551-8588/com.adriansoftware.myapplication D/CCodec: setup formats input: AMessage(what = 0x00000000) = {
      Rect crop(0, 0, 639, 479)
      int32_t color-standard = 130816
      int32_t color-range = 0
      int32_t color-transfer = 65791
      int32_t frame-rate = 30
      int32_t height = 480
      int32_t intra-refresh-period = 0
      string mime = "video/raw"
      int32_t prepend-sps-pps-to-idr-frames = 1
      int32_t priority = 1
      int32_t width = 640
      int32_t android._dataspace = 12648448
      int32_t android._color-format = 2130708361
      int32_t color-format = 2130708361
    } and output: AMessage(what = 0x00000000) = {
      int32_t bitrate = 8388608
      int32_t bitrate-mode = 1
      Rect crop(0, 0, 639, 479)
      int32_t width = 640
      int32_t color-standard = 130816
      int32_t color-range = 0
      int32_t color-transfer = 65791
      int32_t frame-rate = 30
      int32_t height = 480
      int32_t intra-refresh-period = 0
      int32_t level = 1
      int32_t max-bitrate = 8388608
      string mime = "video/avc"
      int32_t prepend-sps-pps-to-idr-frames = 1
      int32_t priority = 1
      int32_t profile = 1
    }
2020-05-14 20:03:29.795 4551-8588/com.adriansoftware.myapplication D/CCodec: input format changed to AMessage(what = 0x00000000) = {
      Rect crop(0, 0, 639, 479)
      int32_t color-standard = 130820
      int32_t color-range = 2
      int32_t color-transfer = 65791
      int32_t frame-rate = 30
      int32_t height = 480
      int32_t intra-refresh-period = 0
      string mime = "video/raw"
      int32_t prepend-sps-pps-to-idr-frames = 1
      int32_t priority = 1
      int32_t width = 640
      int32_t android._dataspace = 281346048
      int32_t android._color-format = 2130708361
      int32_t color-format = 2130708361
    }
2020-05-14 20:03:29.797 4551-8588/com.adriansoftware.myapplication D/GraphicBufferSource: setting dataspace: 0x10c50000, acquired=0
2020-05-14 20:03:29.797 4551-8588/com.adriansoftware.myapplication D/CCodec: ISConfig timeOffset 0us (=> INVALID_OPERATION) timeLapse 0fps as 0fps (=> INVALID_OPERATION) start at 0us resume at -1us
2020-05-14 20:03:29.802 4551-8593/com.adriansoftware.myapplication D/CCodec: allocate(c2.android.aac.encoder)
2020-05-14 20:03:29.802 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Creating a Codec2 client to service "default"
2020-05-14 20:03:29.803 4551-8593/com.adriansoftware.myapplication I/Codec2Client: Client to Codec2 service "default" created
2020-05-14 20:03:29.803 4551-8593/com.adriansoftware.myapplication I/CCodec: setting up 'default' as default (vendor) store
2020-05-14 20:03:29.805 4551-8593/com.adriansoftware.myapplication I/CCodec: Created component [c2.android.aac.encoder]
2020-05-14 20:03:29.805 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: read media type: audio/mp4a-latm
2020-05-14 20:03:29.806 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.max-count.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.subscribed-indices.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: input.buffers.allocator-ids.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.allocator-ids.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.allocator-ids.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2020-05-14 20:03:29.807 4551-8593/com.adriansoftware.myapplication D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.pool-ids.values
2020-05-14 20:03:29.808 4551-8593/com.adriansoftware.myapplication I/CCodecConfig: query failed after returning 9 values (BAD_INDEX)
2020-05-14 20:03:29.808 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is Dict {
      c2::u32 coded.bitrate.value = 64000
      c2::u32 coded.pl.level = 0
      c2::u32 coded.pl.profile = 8192
      c2::u32 coding.aac-sbr-mode.value = 3
      c2::u32 input.buffers.max-size.value = 2048
      c2::u32 input.delay.value = 0
      string input.media-type.value = "audio/raw"
      string output.media-type.value = "audio/mp4a-latm"
      c2::u32 raw.channel-count.value = 1
      c2::u32 raw.sample-rate.value = 44100
    }
2020-05-14 20:03:29.809 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: no c2 equivalents for aac-profile
2020-05-14 20:03:29.809 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: no c2 equivalents for encoder
2020-05-14 20:03:29.809 4551-8593/com.adriansoftware.myapplication D/CCodecConfig: c2 config diff is   c2::u32 coded.bitrate.value = 96000
      c2::u32 raw.sample-rate.value = 48000
2020-05-14 20:03:29.809 4551-8593/com.adriansoftware.myapplication W/Codec2Client: query -- param skipped: index = 1107298332.
2020-05-14 20:03:29.809 4551-8593/com.adriansoftware.myapplication D/CCodec: setup formats input: AMessage(what = 0x00000000) = {
      int32_t channel-count = 1
      int32_t max-input-size = 2048
      string mime = "audio/raw"
      int32_t sample-rate = 48000
    } and output: AMessage(what = 0x00000000) = {
      int32_t bitrate = 96000
      int32_t channel-count = 1
      int32_t level = 0
      int32_t max-bitrate = 96000
      string mime = "audio/mp4a-latm"
      int32_t profile = 2
      int32_t sample-rate = 48000
    }
2020-05-14 20:03:29.823 4551-4551/com.adriansoftware.myapplication I/VideoCapture: source: 1 audioSampleRate: 48000 channelConfig: 16 audioFormat: 2 bufferSize: 3840
2020-05-14 20:03:29.827 4551-8584/com.adriansoftware.myapplication D/Camera: Use cases [androidx.camera.core.VideoCapture@a4499fe, Preview:androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] now ONLINE for camera 2
2020-05-14 20:03:29.828 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 2
2020-05-14 20:03:29.828 4551-8584/com.adriansoftware.myapplication D/Camera: Resetting Capture Session
2020-05-14 20:03:29.828 4551-8584/com.adriansoftware.myapplication D/Camera: releasing session in state INITIALIZED
2020-05-14 20:03:29.828 4551-8584/com.adriansoftware.myapplication D/Camera: Transitioning camera internal state: INITIALIZED --> OPENING
2020-05-14 20:03:29.828 4551-8584/com.adriansoftware.myapplication D/Camera: Opening camera: 2
2020-05-14 20:03:29.829 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: All use case: [androidx.camera.core.VideoCapture-361a9a7d-a582-4d4e-9dc9-18c9b3960b5d, androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.842 4551-8584/com.adriansoftware.myapplication D/Camera: Use case androidx.camera.core.VideoCapture@a4499fe INACTIVE for camera 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/Camera: Use case Preview:androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5 INACTIVE for camera 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [] for camera: 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/Camera: Use case Preview:androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5 ACTIVE for camera 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/Camera: Use case Preview:androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5 RESET for camera 2
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/Camera: Resetting Capture Session
2020-05-14 20:03:29.843 4551-8584/com.adriansoftware.myapplication D/Camera: releasing session in state OPENING
2020-05-14 20:03:29.844 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.844 4551-8584/com.adriansoftware.myapplication D/Camera: CameraDevice.onOpened(): 2
2020-05-14 20:03:29.845 4551-8584/com.adriansoftware.myapplication D/Camera: Transitioning camera internal state: OPENING --> OPENED
2020-05-14 20:03:29.845 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: All use case: [androidx.camera.core.VideoCapture-361a9a7d-a582-4d4e-9dc9-18c9b3960b5d, androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.847 4551-8584/com.adriansoftware.myapplication D/CaptureSession: Some surfaces were closed.
2020-05-14 20:03:29.848 4551-8584/com.adriansoftware.myapplication D/Camera: Posting surface closed
    java.lang.Throwable
        at androidx.camera.camera2.internal.Camera2CameraImpl.postSurfaceClosedError(Camera2CameraImpl.java:920)
        at androidx.camera.camera2.internal.Camera2CameraImpl$3.onFailure(Camera2CameraImpl.java:861)
        at androidx.camera.core.impl.utils.futures.Futures$CallbackListener.run(Futures.java:338)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2020-05-14 20:03:29.855 4551-8584/com.adriansoftware.myapplication D/Camera: Use case Preview:androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5 RESET for camera 2
2020-05-14 20:03:29.855 4551-8584/com.adriansoftware.myapplication D/Camera: Resetting Capture Session
2020-05-14 20:03:29.855 4551-8584/com.adriansoftware.myapplication D/Camera: releasing session in state OPENED
2020-05-14 20:03:29.855 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.855 4551-8584/com.adriansoftware.myapplication D/UseCaseAttachState: All use case: [androidx.camera.core.VideoCapture-361a9a7d-a582-4d4e-9dc9-18c9b3960b5d, androidx.camera.core.Preview-6bc38f70-2068-4f4d-afc6-8606114fe9a5] for camera: 2
2020-05-14 20:03:29.869 4551-8584/com.adriansoftware.myapplication D/CaptureSession: Opening capture session.
2020-05-14 20:03:29.993 4551-8584/com.adriansoftware.myapplication D/CaptureSession: Attempting to send capture request onConfigured
2020-05-14 20:03:29.993 4551-8584/com.adriansoftware.myapplication D/CaptureSession: Issuing request for session.
2020-05-14 20:03:29.996 4551-8584/com.adriansoftware.myapplication D/CaptureSession: CameraCaptureSession.onConfigured() mState=OPENED
2020-05-14 20:03:29.996 4551-8584/com.adriansoftware.myapplication D/CaptureSession: CameraCaptureSession.onReady() OPENED
android
android-camera
android-camera2
asked on Stack Overflow May 15, 2020 by Adrian Elder

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0