diff options
Diffstat (limited to 'dom/media/systemservices/PCameras.ipdl')
-rw-r--r-- | dom/media/systemservices/PCameras.ipdl | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/dom/media/systemservices/PCameras.ipdl b/dom/media/systemservices/PCameras.ipdl new file mode 100644 index 000000000..b9fa58329 --- /dev/null +++ b/dom/media/systemservices/PCameras.ipdl @@ -0,0 +1,65 @@ +/* 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/. */ + +include protocol PContent; +include protocol PBackground; + +using mozilla::camera::CaptureEngine from "mozilla/media/CamerasTypes.h"; + +namespace mozilla { +namespace camera { + +struct CaptureCapability +{ + int width; + int height; + int maxFPS; + int expectedCaptureDelay; + int rawType; + int codecType; + bool interlaced; +}; + +async protocol PCameras +{ + manager PBackground; + +child: + async FrameSizeChange(CaptureEngine capEngine, int cap_id, int w, int h); + // transfers ownership of |buffer| from parent to child + async DeliverFrame(CaptureEngine capEngine, int cap_id, + Shmem buffer, size_t size, uint32_t time_stamp, + int64_t ntp_time, int64_t render_time); + async DeviceChange(); + async ReplyNumberOfCaptureDevices(int numdev); + async ReplyNumberOfCapabilities(int numdev); + async ReplyAllocateCaptureDevice(int numdev); + async ReplyGetCaptureCapability(CaptureCapability cap); + async ReplyGetCaptureDevice(nsCString device_name, nsCString device_id, bool scary); + async ReplyFailure(); + async ReplySuccess(); + async __delete__(); + +parent: + async NumberOfCaptureDevices(CaptureEngine engine); + async NumberOfCapabilities(CaptureEngine engine, nsCString deviceUniqueIdUTF8); + + async GetCaptureCapability(CaptureEngine engine, nsCString unique_idUTF8, int capability_number); + async GetCaptureDevice(CaptureEngine engine, int num); + + async AllocateCaptureDevice(CaptureEngine engine, nsCString unique_idUTF8, nsCString origin); + async ReleaseCaptureDevice(CaptureEngine engine, int numdev); + async StartCapture(CaptureEngine engine, int numdev, CaptureCapability capability); + async StopCapture(CaptureEngine engine, int numdev); + // transfers frame back + async ReleaseFrame(Shmem s); + + // Ask parent to delete us + async AllDone(); + // setup camera engine + async EnsureInitialized(CaptureEngine engine); +}; + +} // namespace camera +} // namespace mozilla |