2013-05-17 18:48:25 -07:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2013-05-09 23:25:25 -07:00
|
|
|
/* vim: set ts=2 et sw=2 tw=80: */
|
2013-05-17 18:48:25 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*/
|
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
enum CameraMode { "picture", "video" };
|
|
|
|
|
|
|
|
/* Used for the dimensions of a captured picture,
|
|
|
|
a preview stream, a video capture stream, etc. */
|
|
|
|
dictionary CameraSize
|
|
|
|
{
|
|
|
|
unsigned long width = 0;
|
|
|
|
unsigned long height = 0;
|
|
|
|
};
|
2014-02-10 19:09:23 -08:00
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
/* Pre-emptive camera configuration options. */
|
|
|
|
dictionary CameraConfiguration
|
|
|
|
{
|
|
|
|
CameraMode mode = "picture";
|
|
|
|
CameraSize previewSize = null;
|
|
|
|
DOMString recorderProfile = "cif"; // or some other recording profile
|
|
|
|
// supported by the CameraControl
|
2014-02-10 19:09:23 -08:00
|
|
|
};
|
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
callback CameraErrorCallback = void (DOMString error);
|
2014-02-10 19:09:23 -08:00
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
callback GetCameraCallback = void (CameraControl camera,
|
|
|
|
CameraConfiguration configuration);
|
2014-02-10 19:09:23 -08:00
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
interface CameraManager
|
|
|
|
{
|
|
|
|
/* get a camera instance; 'camera' is one of the camera
|
|
|
|
identifiers returned by getListOfCameras() below.
|
|
|
|
*/
|
2013-05-09 23:25:25 -07:00
|
|
|
[Throws]
|
2014-02-13 21:28:57 -08:00
|
|
|
void getCamera(DOMString camera,
|
|
|
|
CameraConfiguration initialConfiguration,
|
|
|
|
GetCameraCallback callback,
|
2013-05-09 23:25:25 -07:00
|
|
|
optional CameraErrorCallback errorCallback);
|
2013-05-14 03:59:11 -07:00
|
|
|
|
2014-02-13 21:28:57 -08:00
|
|
|
/* return an array of camera identifiers, e.g.
|
|
|
|
[ "front", "back" ]
|
2013-05-14 03:59:11 -07:00
|
|
|
*/
|
2013-05-09 23:25:25 -07:00
|
|
|
[Throws]
|
|
|
|
sequence<DOMString> getListOfCameras();
|
|
|
|
};
|