22 #include <osg/ref_ptr>
26 class DtReadFramebufferCallback;
27 class DtVideoStreamManager;
29 class DtChannelManager;
75 virtual void notifyOtherStreamStarted(
const DtVideoStream& startedStream );
82 virtual void setAutoStart(
bool autoStart );
85 virtual bool autoStart()
const;
91 virtual void notifyOtherStreamStopped(
const DtVideoStream& stoppedStream );
97 virtual void setFromRecord(
108 virtual int channelWidth()
const;
111 virtual int channelHeight()
const;
114 virtual int channelX()
const;
117 virtual int channelY()
const;
120 virtual double horizontalFov()
const;
123 virtual double verticalFov()
const;
132 virtual void setWindowName(
const DtUnicode& windowName );
139 virtual void setChannelName(
const DtUnicode& channelName );
151 virtual void setDataType(
const DtUnicode& dataType );
157 virtual void setFrameRate(
int frameRate );
160 virtual int frameRate()
const;
169 virtual void setPixelFormat(
const DtUnicode& pixelFormat );
175 virtual void setNumBuffers(
int numBuffers );
178 virtual int numBuffers()
const;
183 virtual void setReadBuffer(
const DtUnicode& readBuffer );
191 virtual void setUseGPUForEncoding(
bool useGPU );
194 virtual bool useGPUForEncoding()
const;
202 void setEncodingFormat(
const DtUnicode& encodingFormat);
215 virtual void addImageTask(
220 virtual void removeImageTask(
227 virtual void setImageTask(
int index,
231 virtual void setImageTasks(
243 virtual void setParameterInt(
int taskElementIndex,
244 const DtUnicode& parameterName,
int value );
248 virtual void setParameterDouble(
int taskElementIndex,
249 const DtUnicode& parameterName,
double value );
253 virtual void setParameterBool(
int taskElementIndex,
254 const DtUnicode& parameterName,
bool value );
258 virtual void setParameterString(
int taskElementIndex,
263 virtual void setMetadataPublisher(
268 virtual void setMetadataPublisherType(
const DtUnicode& pubType );
272 virtual void setMetadataPublisherObserverName(
276 virtual void setMetadataPublisherParameters(
285 virtual void swapImageTasks(
int index1,
int index2 );
288 virtual bool saveVideoStream(
const DtUnicode& filePath )
const;
291 virtual bool loadVideoStream(
const DtUnicode& filePath );
295 virtual void reportFramebufferCallbackFailure();
332 boost::signalslib::signal<void ( const makArchives::DtImageTaskRecord& )>
336 boost::signalslib::signal<void ( const makArchives::DtImageTaskRecord& )>
343 boost::signalslib::signal<void (
348 boost::signalslib::signal<void ( int index, const makArchives::DtImageTaskRecord& )>
352 boost::signalslib::signal<void ( const makArchives::DtMetadataPublisherRecord& )>
356 boost::signalslib::signal<void ( const DtUnicode& )>
360 boost::signalslib::signal<void ( const DtUnicode& )>
364 boost::signalslib::signal<void ( const makArchives::DtNameValueLists& )>
378 boost::signalslib::signal<void (
379 int taskIndex,
const DtUnicode& parameter,
int value )>
384 boost::signalslib::signal<void (
385 int taskIndex,
const DtUnicode& parameter,
double value )>
390 boost::signalslib::signal<void (
391 int taskIndex,
const DtUnicode& parameter,
bool value )>
396 boost::signalslib::signal<void (
412 virtual void updateFov();
415 virtual void updateChannelWidthAndHeight();
420 virtual bool installFramebufferCallback();
424 virtual void removeFrameReadback();
427 virtual void slot_channelConfigurationModified(
const std::string& displayName,
428 const std::string& windowName,
const std::string& channelName );
431 virtual void slot_windowConfigurationModified(
const std::string& displayName,
432 const std::string& windowName );
439 virtual void slot_deleteReadFramebufferCallback();
442 virtual void slot_updateReadFramebufferCallbackIfNeeded();
448 virtual DtOsgChannel* findMatchingOsgChannel(
void)
const;
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:35
DtDe & myDe
Definition: DtVideoStream.h:466
Creator class for the Standard Video Stream.
Definition: DtVideoStream.h:481
A DtReadFramebufferCallback instance is installed as the draw callback of the camera attached to the ...
Definition: DtReadFramebufferCallback.h:33
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
boost::signalslib::signal< void(int taskIndex, const DtUnicode ¶meter, double value)> signal_doubleTaskParameterChanged
emitted when the specified double parameter/value is changed for the image task at task index ...
Definition: DtVideoStream.h:386
DtUnicode myClassName
Definition: DtVideoStream.h:468
VideoStreamStatus
Definition: DtVideoStream.h:39
DtOsgChannel * myChannel
Definition: DtVideoStream.h:465
int myChannelX
Definition: DtVideoStream.h:471
Definition: featureContext.h:37
boost::signalslib::signal< void(int taskIndex, const DtUnicode ¶meter, int value)> signal_intTaskParameterChanged
emitted when the specified integer parameter/value is changed for the image task at task index ...
Definition: DtVideoStream.h:380
int myChannelHeight
Definition: DtVideoStream.h:470
boost::signalslib::signal< void(int imageTaskIndex)> signal_imageTaskRemoved
emitted after a process image task element has been removed
Definition: DtVideoStream.h:340
Record for a sensor definition.
Definition: DtImageTaskRecord.h:20
#define DT_DLL_VRVVIDEOSTREAM
Definition: vrvVideoStream.h:20
Contains makVrv::DtDe class.
boost::signalslib::signal< void(const DtUnicode &)> signal_dataTypeChanged
emitted when the data type of the osg::image used to capture a frame changes
Definition: DtVideoStream.h:310
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:52
double myHorizontalFov
Definition: DtVideoStream.h:473
boost::signalslib::signal< void(const makArchives::DtNameValueLists &)> signal_metadataPublisherParametersChanged
emitted when metadatapublisher type-specific parameters change
Definition: DtVideoStream.h:365
boost::signalslib::signal< void(const DtUnicode &)> signal_pixelFormatChanged
emitted when the pixel format of the osg::image used to capture a frame changes
Definition: DtVideoStream.h:317
boost::signalslib::signal< void(const DtUnicode &)> signal_metadataPublisherTypeChanged
emitted when the metadata publisher type has changed
Definition: DtVideoStream.h:357
The abstract Channel Class.
Definition: DtChannel.h:35
DtVideoStreamManager is a singleton class that manages DtVideoStreams in VR-Vantage.
Definition: DtVideoStreamManager.h:35
boost::signalslib::signal< void(bool)> signal_videoStreamAutoStartChanged
emitted when the video stream's autoStart parameter is changed
Definition: DtVideoStream.h:374
boost::signalslib::signal< void(const DtUnicode &)> signal_readBufferChanged
emitted when the read buffer type changes
Definition: DtVideoStream.h:323
makArchives::DtVideoStreamRecord myVideoStreamRecord
Definition: DtVideoStream.h:462
boost::signalslib::signal< void(int)> signal_frameRateChanged
emitted when the the capture frame rate changes
Definition: DtVideoStream.h:313
VideoStreamStatus myStatus
Definition: DtVideoStream.h:475
double myVerticalFov
Definition: DtVideoStream.h:474
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signalslib::signal< void(const makArchives::DtImageTaskRecord &)> signal_imageTaskToBeRemoved
emitted when a process image task element is about to be removed
Definition: DtVideoStream.h:337
boost::signalslib::signal< void(int taskIndex, const DtUnicode ¶meter, bool value)> signal_boolTaskParameterChanged
emitted when the specified boolean parameter/value is changed for the image task at task index ...
Definition: DtVideoStream.h:392
stream is started but global video processing is disabled
Definition: DtVideoStream.h:46
DtSignalConnectionManager myConnections
Definition: DtVideoStream.h:476
boost::signalslib::signal< void(const DtUnicode &)> signal_metadataPublisherObserverNameChanged
emitted when the observer tracked by a metadata publisher changes
Definition: DtVideoStream.h:361
boost::signalslib::signal< void(int index, const makArchives::DtImageTaskRecord &)> signal_imageTaskChanged
emitted when the image task at index has changed
Definition: DtVideoStream.h:349
boost::signalslib::signal< void(const DtUnicode &)> signal_channelNameChanged
emitted when the channel that should be streamed changes
Definition: DtVideoStream.h:306
boost::signalslib::signal< void(const makArchives::DtMetadataPublisherRecord &)> signal_metadataPublisherChanged
emitted when the metadata publisher changes
Definition: DtVideoStream.h:353
voidpf stream
Definition: ioapi.h:39
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
osg::ref_ptr< DtReadFramebufferCallback > myChannelReadback
Definition: DtVideoStream.h:464
Base class to provide boost signal/slot management.
Record of a collection of sensor definitions.
Definition: DtVideoStreamRecord.h:17
int myChannelWidth
Definition: DtVideoStream.h:469
boost::signalslib::signal< void(const DtUnicode &)> signal_windowNameChanged
Signals raised when changes are made to the video stream configuration.
Definition: DtVideoStream.h:303
DtVideoStreamManager & myVideoStreamManager
Definition: DtVideoStream.h:463
boost::signalslib::signal< void(int)> signal_numBuffersChanged
emitted when the number of pixel buffer objects changes
Definition: DtVideoStream.h:320
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
stream is started and global video processing is enabled
Definition: DtVideoStream.h:44
boost::signalslib::signal< void(int index1, int index2)> signal_imageTasksSwapped
emitted when the order of two tasks are swapped
Definition: DtVideoStream.h:368
boost::signalslib::signal< void(const makArchives::DtImageTaskRecord &)> signal_imageTaskAdded
emitted when an process image task element is added
Definition: DtVideoStream.h:333
boost::signalslib::signal< void(int taskIndex, const DtUnicode ¶meter, const DtUnicode &value)> signal_stringTaskParameterChanged
emitted when the specified string parameter/value is changed for the image task at task index ...
Definition: DtVideoStream.h:398
Contains DLL export macros.
DtUnicode myInstanceName
Definition: DtVideoStream.h:467
boost::signalslib::signal< void(const DtUnicode &)> signal_encodingFormatChanged
emitted when the encoding format changes
Definition: DtVideoStream.h:329
boost::signalslib::signal< void(VideoStreamStatus)> signal_videoStreamStatusChanged
emitted when the video stream's status changes
Definition: DtVideoStream.h:371
Inherit this is you need a list of name/value pairs. Supports a list for each of int, double, string, and bool types.
Definition: DtNameValueLists.h:21
boost::signalslib::signal< void(bool)> signal_useGPUForEncodingChanged
emitted when the GPU vs CPU encoding setting changes
Definition: DtVideoStream.h:326
std::vector< DtImageTaskRecord > ImageTaskRecords
List of image task records.
Definition: DtVideoStreamRecord.h:112
stream is stopped
Definition: DtVideoStream.h:42
int myChannelY
Definition: DtVideoStream.h:472
boost::signalslib::signal< void(const makArchives::DtVideoStreamRecord::ImageTaskRecords &)> signal_imageTasksChanged
emitted when all image tasks have been replaced
Definition: DtVideoStream.h:345