![]() |
VR-Forces 5.0.3 Developer's Guide
|
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by windowName/ channelName.
Public Types | |
| enum | VideoStreamStatus { Stopped, Started, Suspended, Unavailable } |
Public Attributes | |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_windowNameChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_channelNameChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_dataTypeChanged |
| boost::signalslib::signal < void(int)> | signal_frameRateChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_pixelFormatChanged |
| boost::signalslib::signal < void(int)> | signal_numBuffersChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_readBufferChanged |
| boost::signalslib::signal < void(bool)> | signal_useGPUForEncodingChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_encodingFormatChanged |
| boost::signalslib::signal < void(const makArchives::DtImageTaskRecord &)> | signal_imageTaskAdded |
| boost::signalslib::signal < void(const makArchives::DtImageTaskRecord &)> | signal_imageTaskToBeRemoved |
| boost::signalslib::signal < void(int imageTaskIndex)> | signal_imageTaskRemoved |
| boost::signalslib::signal < void(const makArchives::DtVideoStreamRecord::ImageTaskRecords &)> | signal_imageTasksChanged |
| boost::signalslib::signal < void(int index, const makArchives::DtImageTaskRecord &)> | signal_imageTaskChanged |
| boost::signalslib::signal < void(const makArchives::DtMetadataPublisherRecord &)> | signal_metadataPublisherChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_metadataPublisherTypeChanged |
| boost::signalslib::signal < void(const DtUnicode &)> | signal_metadataPublisherObserverNameChanged |
| boost::signalslib::signal < void(const makArchives::DtNameValueLists &)> | signal_metadataPublisherParametersChanged |
| boost::signalslib::signal < void(int index1, int index2)> | signal_imageTasksSwapped |
| boost::signalslib::signal < void(VideoStreamStatus)> | signal_videoStreamStatusChanged |
| boost::signalslib::signal < void(bool)> | signal_videoStreamAutoStartChanged |
| boost::signalslib::signal < void(int taskIndex, const DtUnicode ¶meter, int value)> | signal_intTaskParameterChanged |
| boost::signalslib::signal < void(int taskIndex, const DtUnicode ¶meter, double value)> | signal_doubleTaskParameterChanged |
| boost::signalslib::signal < void(int taskIndex, const DtUnicode ¶meter, bool value)> | signal_boolTaskParameterChanged |
| boost::signalslib::signal < void(int taskIndex, const DtUnicode ¶meter, const DtUnicode &value)> | signal_stringTaskParameterChanged |
Protected Member Functions | |
| DtVideoStream (DtDe &de, DtVideoStreamManager &mgr, const DtUnicode &className, const DtUnicode &instanceName) | |
| virtual DtReadFramebufferCallback * | createFramebufferReadbackIfNecessary () |
| virtual void | updateFov () |
| virtual void | updateChannelWidthAndHeight () |
| virtual bool | installFramebufferCallback () |
| virtual void | removeFrameReadback () |
| virtual void | slot_channelConfigurationModified (const std::string &displayName, const std::string &windowName, const std::string &channelName) |
| virtual void | slot_windowConfigurationModified (const std::string &displayName, const std::string &windowName) |
| virtual void | slot_channelToBeDestroyed (DtChannelManager *mgr, DtChannel *channel) |
| virtual void | slot_deleteReadFramebufferCallback () |
| virtual void | slot_updateReadFramebufferCallbackIfNeeded () |
| virtual void | cleanChannel (DtOsgChannel *channel) |
| virtual DtOsgChannel * | findMatchingOsgChannel (void) const |
Private Member Functions | |
| DtVideoStream () | |
| DtVideoStream (const DtVideoStream &rhs) | |
| DtVideoStream & | operator= (const DtVideoStream &rhs) |
Friends | |
| class | DtVideoStreamCreator |
| class | DtVideoStreamManager |
|
virtual |
DTOR.
|
protected |
Constructor. Only called by friend class DtVideoStreamCreator. Instance name must be unique.
|
private |
Unimimplemented default constructor.
|
private |
Unimimplemented copy constructor.
|
virtual |
Get the name of this stream.
|
virtual |
Get the class of this stream This is the className that was given to the factory to construct this stream, and can be used to lookup a widget creator for a dialog that can edit it.
|
virtual |
Start streaming video.
|
virtual |
Tell the stream when another stream has started. The video stream maintains its own status, which includes whether or not it is available. It becomes unavailable when another stream is running on its window/channel.
|
virtual |
Stop streaming video.
|
virtual |
When autoStart is set to true, the video stream is started after all VR_Vantage initialization completes.
|
virtual |
Get whether the video stream should be auto started.
|
virtual |
Tell the stream when another stream has stopped. The video stream maintains its own status, which includes whether or not it is available. An unavailable stream becomes available when another stream running on its window/channel stops.
|
virtual |
Get the video stream's status.
|
virtual |
Initialize this video stream based on a DtVideoStreamRecord.
|
virtual |
Initialize this video stream based on another video stream.
|
virtual |
Channel parameters. Taken from the channel being streamed. These are only available after a stream has been started.
Get the width (in pixels) of the channel
|
virtual |
Get the height (in pixels) of the channel.
|
virtual |
Get the start x pixel of the channel.
|
virtual |
Get the start y pixel of the channel.
|
virtual |
Get the channel camera's horizontal Field Of View.
|
virtual |
Get the channel camera's vertical Field Of View.
|
virtual |
Video stream parameters. These wrap the DtVideoStreamRecord owned by the stream. Mutators cause the stream to be saved and signals to be raised when the values changed.
Set the name of the window the video will be captured from
|
virtual |
Get the window name that the streamed channel belongs to.
|
virtual |
Set the name of the channel within the specified window that the video will be captured from.
|
virtual |
Get the name of the channel to be streamed to video.
|
virtual |
Set the data type of the osg::image used to capture a frame. The following values are supported: "ubyte" "byte" "float" "int8888" "int8888R".
|
virtual |
Get the datatype to use.
|
virtual |
Set the capture frame rate (in seconds)
|
virtual |
Get the frame rate the video should be streamed at.
|
virtual |
Set the pixel format of the osg::image used to capture a frame. The following values are supported: "RGB" "BGR" "BGRA" "RGBA" "DEPTH".
|
virtual |
Get the pixel format.
|
virtual |
Set the number of pixel buffer objects used for image capture.
|
virtual |
Get the number of buffers to use.
|
virtual |
Set the read buffer type. Supported values are: "back" mean that it will omit the overlays in the streamed video "front" mean that it will include the overlays in the streamed video.
|
virtual |
Get the type of read buffer to use. Supported values are: "back" mean that it will omit the overlays in the streamed video "front" mean that it will include the overlays in the streamed video.
|
virtual |
Set whether or not to use the GPU for encoding the video stream.
|
virtual |
Get whether or not to use the GPU for encoding the video stream.
| void makVrv::DtVideoStream::setEncodingFormat | ( | const DtUnicode & | encodingFormat | ) |
Set the encoding format. Supported values are: "h264" "h265" only used for hardware encoding on the GPU this setting MUST be used in conjunction with the useGPUForEncoding field set to true.
| DtUnicode makVrv::DtVideoStream::encodingFormat | ( | ) | const |
Get the encoding format. Supported values are: "h264" "h265" only used for hardware encoding on the GPU this setting MUST be used in conjunction with the useGPUForEncoding field set to true.
|
virtual |
Add an image task to be part of the image task element pipeline. DtImageTaskRecord specifies the type of task and its initialization values.
|
virtual |
Remove an image task. A task that matches the argument image task record, in type and parameters, will be removed.
|
virtual |
Set the image processing task at a specific index. If there is already a task at that index, it is replaced. If index is >= the current image task list size, it is appended to the end of the list.
|
virtual |
Replace the entire set of image tasks with the specified image tasks.
|
virtual |
Get the image task records in the collection.
|
virtual |
Get the (non-const) image task records in the collection.
|
virtual |
Set the integer name/value parameter of the image task at the specified index.
|
virtual |
Set the double name/value parameter of the image task at the specified index.
|
virtual |
Set the boolean name/value parameter of the image task at the specified index.
|
virtual |
Set the string name/value parameter of the image task at the specified index.
|
virtual |
Set the metadata publisher type and parameters via a DtMetadataPublisherRecord.
|
virtual |
Set the type of metadata publisher this stream will use. "" indicates no publisher.
|
virtual |
Set the name of the Observer the metadata publisher should publish information about.
|
virtual |
Set all the name/value parameters for the metadata publisher.
|
virtual |
Get the metadata publisher record.
Swap the image tasks at the specified indices.
Save the video stream to the specified file.
Initialize the video stream from the specified file.
|
virtual |
If the draw callback (readback) detects an error, it calls this and then deletes itself.
|
protectedvirtual |
Create the callback that goes in the channel camera's post-render callback slot.
|
protectedvirtual |
Update the current vertical and horizontal fields of view.
|
protectedvirtual |
Update the current channel width and height.
|
protectedvirtual |
InstallFramebufferCallback detmerines the current parameters of a channel and installs a final draw callback on the channel to be streamed's camera.
|
protectedvirtual |
RemoveFrameCallback removes the final draw callback from the camera of the channel being streamed.
|
protectedvirtual |
Called when DtDe::signal_channelConfigurationModified is raised.
|
protectedvirtual |
Called when DtDe::signal_windowConfigurationModified is raised.
|
protectedvirtual |
Called by signal when a channel configuration is destroyed. Used to update the observer's delete button enabled status.
|
protectedvirtual |
cleanup the readframebuffer on the next pretick so that it is not deleted out from under the callback
|
protectedvirtual |
check to see if the callback needs to be recreated.
|
protectedvirtual |
Clean up before channel get destroyed (like destroyed hardware encoder)
|
protectedvirtual |
Find matching channel.
|
private |
Unimimplemented assignment operator.
|
friend |
Only DtVideoStreamCreator can construct a DtVideoStream.
|
friend |
Only DtVideoStreamManager can save a videoStream.
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_windowNameChanged |
Signals raised when changes are made to the video stream configuration.
emitted when the window containing the channel that should be streamed changes
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_channelNameChanged |
emitted when the channel that should be streamed changes
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_dataTypeChanged |
emitted when the data type of the osg::image used to capture a frame changes
| boost::signalslib::signal<void ( int )> makVrv::DtVideoStream::signal_frameRateChanged |
emitted when the the capture frame rate changes
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_pixelFormatChanged |
emitted when the pixel format of the osg::image used to capture a frame changes
| boost::signalslib::signal<void ( int )> makVrv::DtVideoStream::signal_numBuffersChanged |
emitted when the number of pixel buffer objects changes
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_readBufferChanged |
emitted when the read buffer type changes
| boost::signalslib::signal<void ( bool )> makVrv::DtVideoStream::signal_useGPUForEncodingChanged |
emitted when the GPU vs CPU encoding setting changes
| boost::signalslib::signal<void(const DtUnicode&)> makVrv::DtVideoStream::signal_encodingFormatChanged |
emitted when the encoding format changes
| boost::signalslib::signal<void ( const makArchives::DtImageTaskRecord& )> makVrv::DtVideoStream::signal_imageTaskAdded |
emitted when an process image task element is added
| boost::signalslib::signal<void ( const makArchives::DtImageTaskRecord& )> makVrv::DtVideoStream::signal_imageTaskToBeRemoved |
emitted when a process image task element is about to be removed
| boost::signalslib::signal<void ( int imageTaskIndex )> makVrv::DtVideoStream::signal_imageTaskRemoved |
emitted after a process image task element has been removed
| boost::signalslib::signal<void ( const makArchives::DtVideoStreamRecord::ImageTaskRecords& )> makVrv::DtVideoStream::signal_imageTasksChanged |
emitted when all image tasks have been replaced
| boost::signalslib::signal<void ( int index, const makArchives::DtImageTaskRecord& )> makVrv::DtVideoStream::signal_imageTaskChanged |
emitted when the image task at index has changed
| boost::signalslib::signal<void ( const makArchives::DtMetadataPublisherRecord& )> makVrv::DtVideoStream::signal_metadataPublisherChanged |
emitted when the metadata publisher changes
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_metadataPublisherTypeChanged |
emitted when the metadata publisher type has changed
| boost::signalslib::signal<void ( const DtUnicode& )> makVrv::DtVideoStream::signal_metadataPublisherObserverNameChanged |
emitted when the observer tracked by a metadata publisher changes
| boost::signalslib::signal<void ( const makArchives::DtNameValueLists& )> makVrv::DtVideoStream::signal_metadataPublisherParametersChanged |
emitted when metadatapublisher type-specific parameters change
| boost::signalslib::signal<void ( int index1, int index2 )> makVrv::DtVideoStream::signal_imageTasksSwapped |
emitted when the order of two tasks are swapped
| boost::signalslib::signal<void ( VideoStreamStatus )> makVrv::DtVideoStream::signal_videoStreamStatusChanged |
emitted when the video stream's status changes
| boost::signalslib::signal< void ( bool )> makVrv::DtVideoStream::signal_videoStreamAutoStartChanged |
emitted when the video stream's autoStart parameter is changed
| boost::signalslib::signal<void ( int taskIndex, const DtUnicode& parameter, int value )> makVrv::DtVideoStream::signal_intTaskParameterChanged |
emitted when the specified integer parameter/value is changed for the image task at task index
| boost::signalslib::signal<void ( int taskIndex, const DtUnicode& parameter, double value )> makVrv::DtVideoStream::signal_doubleTaskParameterChanged |
emitted when the specified double parameter/value is changed for the image task at task index
| boost::signalslib::signal<void ( int taskIndex, const DtUnicode& parameter, bool value )> makVrv::DtVideoStream::signal_boolTaskParameterChanged |
emitted when the specified boolean parameter/value is changed for the image task at task index
| boost::signalslib::signal<void ( int taskIndex, const DtUnicode& parameter, const DtUnicode& value )> makVrv::DtVideoStream::signal_stringTaskParameterChanged |
emitted when the specified string parameter/value is changed for the image task at task index
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |