Jetson Linux API 参考文档

32.7.4 版本
CaptureSession.h
前往此文件的文档。
1 /*
2  * 版权所有 (c) 2016-2017, NVIDIA CORPORATION。保留所有权利。
3  *
4  * 只要满足以下条件,就允许以源代码和二进制形式重新分发和使用,无论是否经过
5  * 修改:
6  *
7  * * 源代码的重新分发必须保留上述版权声明,
8  * 此条件列表以及以下免责声明。
9  * * 二进制形式的重新分发必须在随发行版提供的
10  * 文档和/或其他材料中复制上述版权声明、此条件列表以及以下免责声明。
11  *
12  * * 未经事先书面许可,不得使用 NVIDIA CORPORATION 的名称或其
13  * 贡献者的名称来认可或推广源自本软件的产品。
14  *
15  *
16  * 本软件由版权所有者“按原样”提供,并且不作任何明示或暗示的保证,包括但不限于
17  * 对适销性和特定用途适用性的暗示保证。在任何情况下,版权所有者或
18  * 贡献者均不对任何直接、间接、附带、特殊、
19  * 惩戒性或后果性损害(包括但不限于
20  * 替代商品或服务的采购;使用、数据或
21  * 利润损失;或业务中断)承担责任,无论其是如何造成的,也无论其基于何种责任理论,
22  * 无论是合同、严格责任还是侵权行为
23  * (包括疏忽或其他原因)以任何方式因使用本软件而引起,即使已被告知可能发生此类损害。
24  *
25  *
26  */
27 
28 
36 #ifndef _ARGUS_CAPTURE_SESSION_H
37 #define _ARGUS_CAPTURE_SESSION_H
38 
39 namespace Argus
40 {
41 
52 {
53 protected
55 };
56 
64 DEFINE_UUID(InterfaceID, IID_CAPTURE_SESSION, 813644f5,bc21,4013,af44,dd,da,b5,7a,9d,13);
65 class ICaptureSession : public Interface
66 {
67 public
68  static const InterfaceID& id() { return IID_CAPTURE_SESSION; }
69 
78  virtual Status cancelRequests() = 0;
79 
101  virtual uint32_t capture(const Request* request,
102  uint64_t timeout = TIMEOUT_INFINITE,
103  Status* status = NULL) = 0;
104 
129  virtual uint32_t captureBurst(const std::vector<const Request*>& requestList,
130  uint64_t timeout = TIMEOUT_INFINITE,
131  Status* status = NULL) = 0;
132 
136  virtual uint32_t maxBurstRequests() const = 0;
137 
148  virtual Request* createRequest(const CaptureIntent& intent = CAPTURE_INTENT_PREVIEW,
149  Status* status = NULL) = 0;
150 
161  virtual OutputStreamSettings* createOutputStreamSettings(const StreamType& type,
162  Status* status = NULL) = 0;
163 
173  virtual OutputStream* createOutputStream(const OutputStreamSettings* settings,
174  Status* status = NULL) = 0;
175 
179  virtual bool isRepeating() const = 0;
180 
192  virtual Status repeat(const Request* request) = 0;
193 
205  virtual Status repeatBurst(const std::vector<const Request*>& requestList) = 0;
206 
216  virtual Range<uint32_t> stopRepeat() = 0;
217 
225  virtual Status waitForIdle(uint64_t timeout = TIMEOUT_INFINITE) const = 0;
226 
227 protected
229 };
230 
231 } // namespace Argus
232 
233 #endif // _ARGUS_CAPTURE_SESSION_H
Argus::TIMEOUT_INFINITE
const uint64_t TIMEOUT_INFINITE
用于无限超时的常量。
定义: Types.h:88
Argus::OutputStream
定义: Stream.h:59
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::Request
定义: Request.h:48
Argus
定义: BayerAverageMap.h:39
Argus::ICaptureSession::repeat
virtual Status repeat(const Request *request)=0
设置重复请求。
Argus::ICaptureSession::repeatBurst
virtual Status repeatBurst(const std::vector< const Request * > &requestList)=0
设置重复的 burst 请求。
Argus::Interface
顶层接口类。
定义: Types.h:346
Argus::OutputStreamSettings
定义: Stream.h:77
Argus::Range
Range 模板类。
定义: Types.h:798
Argus::ICaptureSession::id
static const InterfaceID & id()
定义: CaptureSession.h:68
Argus::ICaptureSession::isRepeating
virtual bool isRepeating() const =0
如果存在流式请求,则返回 true。
Argus::ICaptureSession::createRequest
virtual Request * createRequest(const CaptureIntent &intent=CAPTURE_INTENT_PREVIEW, Status *status=NULL)=0
创建一个请求对象,该对象稍后可与此 CaptureSession 一起使用。
Argus::InterfaceID
libargus 接口的唯一标识符。
定义: Types.h:356
Argus::ICaptureSession::cancelRequests
virtual Status cancelRequests()=0
从队列中移除所有先前提交的请求。
Argus::CaptureSession
定义: CaptureSession.h:51
Argus::InterfaceProvider
为提供 libargus 接口的类提供的基础接口。
定义: Types.h:377
Argus::ICaptureSession::createOutputStreamSettings
virtual OutputStreamSettings * createOutputStreamSettings(const StreamType &type, Status *status=NULL)=0
创建一个 OutputStreamSettings 对象,该对象用于配置 OutputStream 的创建(参见...
Argus::ICaptureSession::stopRepeat
virtual Range< uint32_t > stopRepeat()=0
关闭任何重复捕获。
Argus::ICaptureSession::capture
virtual uint32_t capture(const Request *request, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0
提交单个捕获请求。
Argus::CaptureSession::~CaptureSession
~CaptureSession()
定义: CaptureSession.h:54
Argus::ICaptureSession::captureBurst
virtual uint32_t captureBurst(const std::vector< const Request * > &requestList, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0
提交 burst 请求。
Argus::ICaptureSession::maxBurstRequests
virtual uint32_t maxBurstRequests() const =0
返回 burst 捕获中可以包含的最大捕获请求数。
Argus::ICaptureSession::~ICaptureSession
~ICaptureSession()
定义: CaptureSession.h:228
Argus::ICaptureSession::waitForIdle
virtual Status waitForIdle(uint64_t timeout=TIMEOUT_INFINITE) const =0
等待直到所有待处理的捕获完成。
Argus::ICaptureSession::createOutputStream
virtual OutputStream * createOutputStream(const OutputStreamSettings *settings, Status *status=NULL)=0
使用 OutputStreamSettings 对象配置的设置创建 OutputStream 对象(参见 c...
Argus::Destructable
客户端创建和拥有的 libargus 对象的顶层对象类。
定义: Types.h:414
Argus::Status
状态
API 函数调用返回的状态值。
定义: Types.h:93
Argus::ICaptureSession
定义: CaptureSession.h:65
. All rights reserved.