public final class

VideoCaptureConfig<T extends VideoOutput>

extends java.lang.Object

implements UseCaseConfig<VideoCapture>, ImageOutputConfig, ThreadConfig

 java.lang.Object

↳androidx.camera.video.impl.VideoCaptureConfig<T>

Gradle dependencies

compile group: 'androidx.camera', name: 'camera-video', version: '1.2.0-alpha01'

  • groupId: androidx.camera
  • artifactId: camera-video
  • version: 1.2.0-alpha01

Artifact androidx.camera:camera-video:1.2.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

Config for a video capture use case.

In the earlier stage, the VideoCapture is deprioritized.

Summary

Fields
public static final Config.Option<VideoOutput>OPTION_VIDEO_OUTPUT

Constructors
publicVideoCaptureConfig(OptionsBundle config)

Methods
public ConfiggetConfig()

public intgetInputFormat()

Retrieves the format of the image that is fed as input.

public VideoOutputgetVideoOutput()

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Fields

public static final Config.Option<VideoOutput> OPTION_VIDEO_OUTPUT

Constructors

public VideoCaptureConfig(OptionsBundle config)

Methods

public VideoOutput getVideoOutput()

public int getInputFormat()

Retrieves the format of the image that is fed as input.

This should always be PRIVATE for VideoCapture.

public Config getConfig()

Source

/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.camera.video.impl;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.camera.core.impl.Config;
import androidx.camera.core.impl.ImageFormatConstants;
import androidx.camera.core.impl.ImageOutputConfig;
import androidx.camera.core.impl.OptionsBundle;
import androidx.camera.core.impl.UseCaseConfig;
import androidx.camera.core.internal.ThreadConfig;
import androidx.camera.video.VideoCapture;
import androidx.camera.video.VideoOutput;

/**
 * Config for a video capture use case.
 *
 * <p>In the earlier stage, the VideoCapture is deprioritized.
 *
 * @param <T> the type of VideoOutput
 */
@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
public final class VideoCaptureConfig<T extends VideoOutput>
        implements UseCaseConfig<VideoCapture<T>>,
        ImageOutputConfig,
        ThreadConfig {

    // Option Declarations:
    // *********************************************************************************************

    public static final Option<VideoOutput> OPTION_VIDEO_OUTPUT =
            Option.create("camerax.video.VideoCapture.videoOutput", VideoOutput.class);

    // *********************************************************************************************

    private final OptionsBundle mConfig;

    public VideoCaptureConfig(@NonNull OptionsBundle config) {
        mConfig = config;
    }

    @SuppressWarnings("unchecked")
    @NonNull
    public T getVideoOutput() {
        return (T) retrieveOption(OPTION_VIDEO_OUTPUT);
    }

    /**
     * Retrieves the format of the image that is fed as input.
     *
     * <p>This should always be PRIVATE for VideoCapture.
     */
    @Override
    public int getInputFormat() {
        return ImageFormatConstants.INTERNAL_DEFINED_IMAGE_FORMAT_PRIVATE;
    }

    @NonNull
    @Override
    public Config getConfig() {
        return mConfig;
    }
}