123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /* 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
|