Jetson Linux API 参考

32.7.4 版本
Argus::ICaptureSession 类参考抽象类

详细描述

Interface 到核心 CaptureSession 方法的接口。

定义于文件 65CaptureSession.h

Argus::ICaptureSession 的继承关系图
Argus::ICaptureSession 的协作图

公共成员函数

virtual Status cancelRequests ()=0
 从队列中移除所有先前提交的请求。 更多...
 
virtual uint32_t capture (const Request *request, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0
 提交单个捕获请求。 更多...
 
virtual uint32_t captureBurst (const std::vector< const Request * > &requestList, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0
 提交一组突发请求。 更多...
 
virtual uint32_t maxBurstRequests () const =0
 返回突发捕获中可以包含的最大捕获请求数。 更多...
 
virtual RequestcreateRequest (const CaptureIntent &intent=CAPTURE_INTENT_PREVIEW, Status *status=NULL)=0
 创建一个请求对象,该对象稍后可用于此 CaptureSession更多...
 
virtual OutputStreamSettingscreateOutputStreamSettings (const StreamType &type, Status *status=NULL)=0
 创建一个 OutputStreamSettings 对象,该对象用于配置 OutputStream 的创建(参见 createOutputStream)。 更多...
 
virtual OutputStreamcreateOutputStream (const OutputStreamSettings *settings, Status *status=NULL)=0
 使用 OutputStreamSettings 对象配置的设置创建一个 OutputStream 对象(参见 createOutputStreamSettings)。 更多...
 
virtual bool isRepeating () const =0
 如果存在流式请求,则返回 true。 更多...
 
virtual Status repeat (const Request *request)=0
 设置重复请求。 更多...
 
virtual Status repeatBurst (const std::vector< const Request * > &requestList)=0
 设置重复突发请求。 更多...
 
virtual Range< uint32_t > stopRepeat ()=0
 关闭任何重复捕获。 更多...
 
virtual Status waitForIdle (uint64_t timeout=TIMEOUT_INFINITE) const =0
 等待直到所有挂起的捕获完成。 更多...
 

静态公共成员函数

static const InterfaceIDid ()
 

受保护成员函数

 ~ICaptureSession ()
 

构造函数 & 析构函数文档

◆ ~ICaptureSession()

Argus::ICaptureSession::~ICaptureSession ( )
inlineprotected

定义于文件 228CaptureSession.h

成员函数文档

◆ cancelRequests()

virtual Status Argus::ICaptureSession::cancelRequests ( )
pure virtual

从队列中移除所有先前提交的请求。

当所有请求被取消时,FIFO 和流式请求都将被移除。如果重复捕获已启用,则在取消请求之前,将隐式调用 ICaptureSession::stopRepeat()

返回
此调用的成功/状态。

◆ capture()

virtual uint32_t Argus::ICaptureSession::capture ( const Request request,
uint64_t  timeout = TIMEOUT_INFINITE,
Status status = NULL 
)
pure virtual

提交单个捕获请求。

对于阻塞捕获会话(由 ICameraProvider::createBlockingCaptureSession 创建),它将等待直到请求被底层驱动程序接受。 对于非阻塞捕获会话(由 ICameraProvider::createCaptureSession 创建),它将请求的副本排队到队列并返回。

客户端可以在未来的调用中提交相同的请求实例。 请求将由运行时复制。

参数
[in]request捕获的参数。
[in]timeout超时时间,以纳秒为单位。 相机设备将尝试在超时期限内发出请求。 如果无法发出,它将返回并将 status 设置为 STATUS_UNAVAILABLE。
[out]status用于返回成功/状态的可选指针。
返回
捕获 ID,一个唯一标识(在此会话中)请求的数字。 如果提交请求失败,将返回零。 请求可能因超时或 request 的某些参数无效而失败。

◆ captureBurst()

virtual uint32_t Argus::ICaptureSession::captureBurst ( const std::vector< const Request * > &  requestList,
uint64_t  timeout = TIMEOUT_INFINITE,
Status status = NULL 
)
pure virtual

提交一组突发请求。

对于阻塞捕获会话(由 ICameraProvider::createBlockingCaptureSession 创建),它将等待直到第一个请求被底层驱动程序接受。 对于非阻塞捕获会话(由 ICameraProvider::createCaptureSession 创建),它将请求的副本排队到队列并返回。

运行时将接受整个突发或完全拒绝它(即,不会接受部分突发)。

参数
[in]requestList构成突发的请求列表。
[in]timeout超时时间,以纳秒为单位。 相机设备将尝试在超时期限内发出请求。 如果无法发出,它将返回并将 status 设置为 STATUS_UNAVAILABLE。
[out]status用于返回成功/状态的可选指针。
返回
与突发中的第一个请求关联的捕获 ID。 与每个后续请求关联的捕获的捕获 ID 将递增一。 如果提交请求失败,将返回零。 请求可能因超时或 request 的某些参数无效而失败。

◆ createOutputStream()

virtual OutputStream* Argus::ICaptureSession::createOutputStream ( const OutputStreamSettings settings,
Status status = NULL 
)
pure virtual

使用 OutputStreamSettings 对象配置的设置创建一个 OutputStream 对象(参见 createOutputStreamSettings)。

参数
[in]settings用于新输出流的设置。
[out]status用于返回成功/状态的可选指针。
返回
新创建的 OutputStream,如果失败则为 NULL。

◆ createOutputStreamSettings()

virtual OutputStreamSettings* Argus::ICaptureSession::createOutputStreamSettings ( const StreamType &  type,
Status status = NULL 
)
pure virtual

创建一个 OutputStreamSettings 对象,该对象用于配置 OutputStream 的创建(参见 createOutputStream)。

这些设置配置和创建的 OutputStream 类型由 StreamType 确定。

参数
[in]type要使用这些设置配置/创建的 OutputStream 的类型。
[out]status用于返回成功/状态的可选指针。
返回
新创建的 OutputStreamSettings,如果失败则为 NULL。

◆ createRequest()

virtual Request* Argus::ICaptureSession::createRequest ( const CaptureIntent &  intent = CAPTURE_INTENT_PREVIEW,
Status status = NULL 
)
pure virtual

创建一个请求对象,该对象稍后可用于此 CaptureSession

参数
[in]intent可选参数,用于指定捕获请求的意图,并指示驱动程序使用该意图的推荐设置填充请求。
[out]status用于返回成功/状态的可选指针。
另请参阅
ICaptureMetadata::getClientData()

◆ id()

static const InterfaceID& Argus::ICaptureSession::id ( )
inlinestatic

定义于文件 68CaptureSession.h

◆ isRepeating()

virtual bool Argus::ICaptureSession::isRepeating ( ) const
pure virtual

如果存在流式请求,则返回 true。

◆ maxBurstRequests()

virtual uint32_t Argus::ICaptureSession::maxBurstRequests ( ) const
pure virtual

返回突发捕获中可以包含的最大捕获请求数。

◆ repeat()

virtual Status Argus::ICaptureSession::repeat ( const Request request)
pure virtual

设置重复请求。

这是一种便捷方法,它将在请求队列为空且相机准备好接受新请求时,将请求排队。

要停止重复请求,请调用 stopRepeat()

参数
[in]request要重复的请求。
返回
调用的成功/状态。

◆ repeatBurst()

virtual Status Argus::ICaptureSession::repeatBurst ( const std::vector< const Request * > &  requestList)
pure virtual

设置重复突发请求。

这是一种便捷方法,它将在请求队列为空且相机准备好接受新请求时,将请求排队。

要停止重复请求,请调用 stopRepeat()

参数
[in]requestList构成重复突发的请求列表。
返回
调用的成功/状态。

◆ stopRepeat()

virtual Range<uint32_t> Argus::ICaptureSession::stopRepeat ( )
pure virtual

关闭任何重复捕获。

返回
由最近一次 repeat() / repeatBurst() 调用生成的捕获 ID 范围。 请注意,该范围内的某些捕获可能是由显式 capture() 调用在重复捕获生效时生成的。 如果最近一次 repeat() / repeatBurst() 调用未生成任何捕获,则将返回 Range<uint32_t>(0,0)

◆ waitForIdle()

virtual Status Argus::ICaptureSession::waitForIdle ( uint64_t  timeout = TIMEOUT_INFINITE) const
pure virtual

等待直到所有挂起的捕获完成。

参数
[in]timeout此调用的超时值(以纳秒为单位)。 如果管道在超时到期时仍未空闲,则调用将返回 STATUS_TIMEOUT。

此类文档从以下文件生成
. All rights reserved.