* The CameraDevice class is a representation of a single camera connected to an
 * Android device, allowing for fine-grain control of image capture and
 * post-processing at high frame rates.
public abstract class CameraDevice implements AutoCloseable {
            // session:
            public static final int SESSION_OPERATION_MODE_NORMAL = 0;
            public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1;
            public static final int SESSION_OPERATION_MODE_VENDOR_START = 0x8000;

   // request:
 public static final int TEMPLATE_PREVIEW = 1;
          TEMPLATE_STILL_CAPTURE,
          TEMPLATE_RECORD,
          TEMPLATE_VIDEO_SNAPSHOT,
          TEMPLATE_ZERO_SHUTTER_LAG,
          TEMPLATE_MANUAL

    //内部类:StateCallback:
public void onClosed(@NonNull CameraDevice camera);
    //向外提供的接口分为创建 Request/ Session两类; 具体到每类又分为output/input(Reprocess)
public abstract CaptureRequest.Builder createCaptureRequest(@RequestTemplate int templateType);
    public abstract void createCaptureSession(@NonNull List<Surface> outputs,

            @NonNull CameraCaptureSession.StateCallback callback, @Nullable Handler handler);
}

/**
 * HAL2.1+ implementation of CameraDevice. Use CameraManager#open to instantiate
 */
public class CameraDeviceImpl extends CameraDevice

        implements IBinder.DeathRecipient {}


CameraDeviceImpl的内部类:

callback for tracking the progress of a CaptureRequest submitted to the camera device

Android camera: CameraDevice Class


通过CaputreCallbackHolder使用CaptureCallback,在submitCaptureRequest时维护mCaptureCallbackMap

Android camera: CameraDevice Class


实现ICameraDeviceCallback接口CameraManager向外提供的接口:

Android camera: CameraDevice Class


public static abstract class StateCallbackKK extends StateCallback

Android camera: CameraDevice Class

private final StateCallback mDeviceCallback;

public CameraDeviceImpl(String cameraId, StateCallback callback, Handle handler) {

        mDeviceCallback = callback;/*APP具体的*/
        mDeviceHandler = handler;

}

private volatile StateCallbackKK mSessionStateCallback;

mSessionStateCallback = mCurrentSession.getDeviceStateCallback();/*framework固定的*/

另外还有两个类:
Android camera: CameraDevice Class

相关文章:

  • 2022-01-22
  • 2021-10-27
  • 2021-04-22
  • 2021-04-04
  • 2021-06-15
  • 2021-12-16
猜你喜欢
  • 2021-09-14
  • 2021-12-16
  • 2021-08-06
  • 2021-08-04
  • 2021-12-07
  • 2021-12-27
相关资源
相似解决方案