2 * Copyright (C) 2013 Canonical Ltd
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef CAMERA_CONTROL_H_
18 #define CAMERA_CONTROL_H_
20 #include <camera/Camera.h>
21 #include <camera/CameraParameters.h>
22 #include <gui/SurfaceTexture.h>
31 struct CameraControlListener
;
33 struct CameraControl
: public android::CameraListener
,
34 public android::SurfaceTexture::FrameAvailableListener
37 CameraControlListener
* listener
;
38 android::sp
<android::Camera
> camera
;
39 android::CameraParameters camera_parameters
;
40 android::sp
<android::SurfaceTexture
> preview_texture
;
42 // From android::SurfaceTexture::FrameAvailableListener
43 void onFrameAvailable();
45 // From android::CameraListener
46 void notify(int32_t msg_type
, int32_t ext1
, int32_t ext2
);
50 const android::sp
<android::IMemory
>& data
,
51 camera_frame_metadata_t
* metadata
);
53 void postDataTimestamp(
56 const android::sp
<android::IMemory
>& data
);
64 #endif // CAMERA_CONTROL_H_