| Index: media/capture/video/android/video_capture_device_tango_android.h
|
| diff --git a/media/capture/video/android/video_capture_device_tango_android.h b/media/capture/video/android/video_capture_device_tango_android.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..904fa8c556e4c5dd4892f433036613c167253682
|
| --- /dev/null
|
| +++ b/media/capture/video/android/video_capture_device_tango_android.h
|
| @@ -0,0 +1,63 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef MEDIA_CAPTURE_VIDEO_ANDROID_VIDEO_CAPTURE_DEVICE_TANGO_ANDROID_H_
|
| +#define MEDIA_CAPTURE_VIDEO_ANDROID_VIDEO_CAPTURE_DEVICE_TANGO_ANDROID_H_
|
| +
|
| +#include <jni.h>
|
| +
|
| +#include "base/macros.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "tango_client_api_glue.h"
|
| +#include "video_capture_device_android.h"
|
| +
|
| +namespace media {
|
| +
|
| +class CAPTURE_EXPORT VideoCaptureDeviceTangoAndroid
|
| + : public VideoCaptureDeviceAndroid {
|
| + public:
|
| + explicit VideoCaptureDeviceTangoAndroid(
|
| + const VideoCaptureDeviceDescriptor& device_descriptor);
|
| + ~VideoCaptureDeviceTangoAndroid() override;
|
| +
|
| + static void EnumerateDevices(
|
| + VideoCaptureDeviceDescriptors* device_descriptors);
|
| + static void EnumerateDeviceCapabilities(
|
| + const VideoCaptureDeviceDescriptor& descriptor,
|
| + VideoCaptureFormats* supported_formats);
|
| +
|
| + static bool RegisterVideoCaptureDevice(JNIEnv* env);
|
| +
|
| + void AllocateAndStart(const VideoCaptureParams& params,
|
| + std::unique_ptr<Client> client) override;
|
| + void StopAndDeAllocate() override;
|
| + void GetPhotoState(GetPhotoStateCallback callback) override{};
|
| + void SetPhotoOptions(mojom::PhotoSettingsPtr settings,
|
| + SetPhotoOptionsCallback callback) override{};
|
| + void TakePhoto(TakePhotoCallback callback) override{};
|
| +
|
| + void OnPointCloudAvailable(uint32_t num_points,
|
| + float* const points,
|
| + double timestamp);
|
| +
|
| + // Implement
|
| + // org.chromium.media.VideoCaptureTango.nativeOnTangoServiceConnected.
|
| + void OnTangoServiceConnected(JNIEnv* env, jobject obj, jobject binder);
|
| +
|
| + // Implement org.chromium.media.VideoCaptureTango.nativeTangoDisconnect.
|
| + void TangoDisconnect(JNIEnv* env, jobject obj);
|
| +
|
| + private:
|
| + friend class VideoCaptureDeviceTangoAndroidTest;
|
| +
|
| + void Connect(const std::string& uuid);
|
| +
|
| + std::unique_ptr<TangoClientApiGlue::TangoCameraIntrinsics> intrinsics_;
|
| + base::WeakPtrFactory<VideoCaptureDeviceTangoAndroid> weak_ptr_factory_;
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceTangoAndroid);
|
| +};
|
| +
|
| +} // namespace media
|
| +
|
| +#endif // MEDIA_CAPTURE_VIDEO_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_
|
|
|