1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/*
* Copyright (C) 2013 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 android.hardware.camera2;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.params.OutputConfiguration;
import android.hardware.camera2.utils.LongParcelable;
import android.view.Surface;
/** @hide */
interface ICameraDeviceUser
{
/**
* Keep up-to-date with frameworks/av/include/camera/camera2/ICameraDeviceUser.h and
* frameworks/base/core/java/android/hardware/camera2/legacy/CameraDeviceUserShim.java
*/
void disconnect();
// ints here are status_t
// non-negative value is the requestId. negative value is status_t
int submitRequest(in CaptureRequest request, boolean streaming,
out LongParcelable lastFrameNumber);
int submitRequestList(in List<CaptureRequest> requestList, boolean streaming,
out LongParcelable lastFrameNumber);
int cancelRequest(int requestId, out LongParcelable lastFrameNumber);
/**
* Begin the device configuration.
*
* <p>
* beginConfigure must be called before any call to deleteStream, createStream,
* or endConfigure. It is not valid to call this when the device is not idle.
* <p>
*/
int beginConfigure();
/**
* End the device configuration.
*
* <p>
* endConfigure must be called after stream configuration is complete (i.e. after
* a call to beginConfigure and subsequent createStream/deleteStream calls). This
* must be called before any requests can be submitted.
* <p>
*/
int endConfigure();
int deleteStream(int streamId);
// non-negative value is the stream ID. negative value is status_t
int createStream(in OutputConfiguration outputConfiguration);
/**
* Create an input stream
*
* <p>Create an input stream of width, height, and format</p>
*
* @param width Width of the input buffers
* @param height Height of the input buffers
* @param format Format of the input buffers. One of HAL_PIXEL_FORMAT_*.
*
* @return stream ID if it's a non-negative value. status_t if it's a negative value.
*/
int createInputStream(int width, int height, int format);
/**
* Get the surface of the input stream.
*
* <p>It's valid to call this method only after a stream configuration is completed
* successfully and the stream configuration includes a input stream.</p>
*
* @param surface An output argument for the surface of the input stream buffer queue.
*/
int getInputSurface(out Surface surface);
int createDefaultRequest(int templateId, out CameraMetadataNative request);
int getCameraInfo(out CameraMetadataNative info);
int waitUntilIdle();
int flush(out LongParcelable lastFrameNumber);
}
|