Jetson Linux API Reference
35.3.1 Release
Stream.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
6
* are met:
7
* * Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* * Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* * Neither the name of NVIDIA CORPORATION nor the names of its
13
* contributors may be used to endorse or promote products derived
14
* from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
17
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
28
36
#ifndef _ARGUS_STREAM_H
37
#define _ARGUS_STREAM_H
38
39
namespace
Argus
40
{
41
47
DEFINE_NAMED_UUID_CLASS
(StreamType);
48
59
class
OutputStream
:
public
InterfaceProvider
,
public
Destructable
60
{
61
protected
:
62
~OutputStream
() {}
63
};
64
77
class
OutputStreamSettings
:
public
InterfaceProvider
,
public
Destructable
78
{
79
protected
:
80
~OutputStreamSettings
() {}
81
};
82
90
DEFINE_UUID
(InterfaceID, IID_OUTPUT_STREAM_SETTINGS, 52f2b830,3d52,11e6,bdf4,08,00,20,0c,9a,66);
91
class
IOutputStreamSettings
:
public
Interface
92
{
93
public
:
94
static
const
InterfaceID
&
id
() {
return
IID_OUTPUT_STREAM_SETTINGS; }
95
100
virtual
Status
setCameraDevice
(
CameraDevice
* device) = 0;
101
virtual
CameraDevice
*
getCameraDevice
()
const
= 0;
102
103
protected
:
104
~IOutputStreamSettings
() {}
105
};
106
117
class
InputStream
:
public
InterfaceProvider
,
public
Destructable
118
{
119
protected
:
120
virtual
~InputStream
() {}
121
};
122
135
class
InputStreamSettings
:
public
InterfaceProvider
,
public
Destructable
136
{
137
protected
:
138
virtual
~InputStreamSettings
() {};
139
};
140
148
DEFINE_UUID
(InterfaceID, IID_INPUT_STREAM_SETTINGS, 9609cd10,804b,11ec,bf44,08,00,20,0c,9a,66);
149
class
IInputStreamSettings
:
public
Interface
150
{
151
public
:
152
static
const
InterfaceID
&
id
() {
return
IID_INPUT_STREAM_SETTINGS; }
153
158
virtual
Status
setCameraDevice
(
CameraDevice
* device) = 0;
159
virtual
CameraDevice
*
getCameraDevice
()
const
= 0;
160
161
protected
:
162
~IInputStreamSettings
() {}
163
};
164
165
}
// namespace Argus
166
167
#endif // _ARGUS_STREAM_H
Argus::DEFINE_NAMED_UUID_CLASS
DEFINE_NAMED_UUID_CLASS(BufferType)
Argus::OutputStream
Definition:
Stream.h:59
Argus::IOutputStreamSettings::id
static const InterfaceID & id()
Definition:
Stream.h:94
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::IInputStreamSettings
Definition:
Stream.h:149
Argus
Definition:
BayerAverageMap.h:39
Argus::IInputStreamSettings::~IInputStreamSettings
~IInputStreamSettings()
Definition:
Stream.h:162
Argus::InputStream
Definition:
Stream.h:117
Argus::Interface
The top-level interface class.
Definition:
Types.h:351
Argus::IOutputStreamSettings::setCameraDevice
virtual Status setCameraDevice(CameraDevice *device)=0
Set the camera device to use as the source for this stream.
Argus::OutputStreamSettings
Definition:
Stream.h:77
Argus::InputStream::~InputStream
virtual ~InputStream()
Definition:
Stream.h:120
Argus::InterfaceID
A unique identifier for a libargus Interface.
Definition:
Types.h:361
Argus::IInputStreamSettings::getCameraDevice
virtual CameraDevice * getCameraDevice() const =0
Argus::InterfaceProvider
The base interface for a class that provides libargus Interfaces.
Definition:
Types.h:382
Argus::OutputStreamSettings::~OutputStreamSettings
~OutputStreamSettings()
Definition:
Stream.h:80
Argus::InputStreamSettings::~InputStreamSettings
virtual ~InputStreamSettings()
Definition:
Stream.h:138
Argus::InputStreamSettings
Definition:
Stream.h:135
Argus::IOutputStreamSettings::~IOutputStreamSettings
~IOutputStreamSettings()
Definition:
Stream.h:104
Argus::IInputStreamSettings::setCameraDevice
virtual Status setCameraDevice(CameraDevice *device)=0
Set the camera device to use this stream.
Argus::IInputStreamSettings::id
static const InterfaceID & id()
Definition:
Stream.h:152
Argus::CameraDevice
Definition:
CameraDevice.h:54
Argus::IOutputStreamSettings::getCameraDevice
virtual CameraDevice * getCameraDevice() const =0
Argus::Destructable
A top level object class for libargus objects that are created and owned by the client.
Definition:
Types.h:419
Argus::OutputStream::~OutputStream
~OutputStream()
Definition:
Stream.h:62
Argus::IOutputStreamSettings
Definition:
Stream.h:91
Argus::Status
Status
Status values returned by API function calls.
Definition:
Types.h:97
Advance Information | Subject to Change | Generated by NVIDIA | Sun Mar 26 2023 19:12:37 | PR-08664-R32