AVBlocks for C++
3.0
Audio and Video Software Development Kit
|
Analyzes a file or a stream and provides information about its type and properties. More...
#include <avb.h>
Public Member Functions | |
virtual const char_t * | inputFile () const =0 |
Returns the input file previously set via setInputFile(). | |
virtual MediaSocketList * | inputs () const =0 |
Returns a modifiable collection of MediaSocket objects which describe the input data of the MediaInfo. | |
virtual primo::Stream * | inputStream () const =0 |
Returns the input stream previously set via setInputStream(). | |
virtual bool_t | isReady ()=0 |
Indicates whether stream info and metadata have been loaded and parsed. | |
virtual bool_t | load ()=0 |
Analyzes the input specified by setInputFile() or setInputStream() and loads the information in the MediaInfo object. | |
virtual primo::codecs::Metadata * | metadata () const =0 |
Returns the metadata for the input. | |
virtual bool_t | open ()=0 |
Analyzes the input specified by inputs() and loads the information in the MediaInfo object. | |
virtual MediaSocketList * | outputs () const =0 |
Returns an immutable collection of MediaSocket objects describing the audio and video streams (tracks) found in the input. | |
virtual bool_t | push (int32_t inputIndex, primo::codecs::MediaSample *inputSample)=0 |
Pushes input data to the MediaInfo. | |
virtual void | setInputFile (const char_t *filename)=0 |
Sets the input that should be analyzed. | |
virtual void | setInputStream (primo::Stream *stream)=0 |
Sets the input stream that should be analyzed. | |
virtual void | setStreamType (primo::codecs::StreamType::Enum streamType)=0 |
Forces a specific stream type. | |
virtual primo::codecs::StreamInfoEnum * | streams () const =0 |
Returns a collection of StreamInfo objects describing the audio and video streams (tracks) found in the input. | |
virtual primo::codecs::StreamSubType::Enum | streamSubType () const =0 |
Returns the stream subtype detected by MediaInfo. | |
virtual primo::codecs::StreamType::Enum | streamType () const =0 |
Returns the stream type previously set via setStreamType() or the one detected by MediaInfo. | |
Public Member Functions inherited from Block | |
virtual void | close ()=0 |
Closes the block. | |
virtual bool_t | endOfStream (int32_t inputIndex)=0 |
Tells the block that there's no more data for the specified input socket. | |
virtual const primo::error::ErrorInfo * | error () const =0 |
Returns the error information for the last operation. | |
virtual bool_t | flush ()=0 |
Flushes the data buffered in the block to the output. | |
virtual MediaSocketList * | inputs () const =0 |
Returns a modifiable collection of MediaSocket objects which describe the input data of the block. | |
virtual bool_t | open ()=0 |
Initializes the block based on the specified inputs and outputs. | |
virtual MediaSocketList * | outputs () const =0 |
Returns a modifiable collection of MediaSocket objects which describe the output data of the block. | |
virtual bool_t | pull (int32_t &outputIndex, primo::codecs::MediaSample *outputData)=0 |
Pulls output data from the block. | |
virtual bool_t | push (int32_t inputIndex, primo::codecs::MediaSample *inputSample)=0 |
Pushes input data to the block. | |
Public Member Functions inherited from Reference | |
virtual int32_t | release () const =0 |
Releases the instance. | |
virtual int32_t | retain () const =0 |
Retains the instance. | |
virtual int32_t | retainCount () const =0 |
Returns the current reference count. | |
Protected Member Functions | |
~MediaInfo () | |
This object can be destroyed only by the AVBlocks library. | |
Analyzes a file or a stream and provides information about its type and properties.
|
pure virtual |
Returns the input file previously set via setInputFile().
|
pure virtual |
Returns a modifiable collection of MediaSocket objects which describe the input data of the MediaInfo.
The collection contains one default MediaSocket that must be configured.
Each socket in the collection represents an input point - it can be a container with one or more streams or just an elementary stream.
Implements Block.
|
pure virtual |
Returns the input stream previously set via setInputStream().
|
pure virtual |
Indicates whether stream info and metadata have been loaded and parsed.
|
pure virtual |
Analyzes the input specified by setInputFile() or setInputStream() and loads the information in the MediaInfo object.
If this method is successful the information about the detected media streams (tracks) and metadata can be obtained from MediaInfo.
|
pure virtual |
Returns the metadata for the input.
Normally the caller is not required and should not release the returned object. However it is allowed to retain the Metadata object and it will be valid even when the MediaInfo instance is destroyed. In all cases when the caller retains the returned object it should release it when it is not needed anymore.
|
pure virtual |
Analyzes the input specified by inputs() and loads the information in the MediaInfo object.
If this method succeeds the information about the detected media streams (tracks) and metadata can be obtained from MediaInfo.
Implements Block.
|
pure virtual |
Returns an immutable collection of MediaSocket objects describing the audio and video streams (tracks) found in the input.
Implements Block.
|
pure virtual |
Pushes input data to the MediaInfo.
inputIndex | [in] Specifies the index of the input socket whose data is pushed to the MediaInfo. Must be zero. |
inputSample | [in] A pointer to a MediaSample object that contains the input data. |
Supported stream types: | StreamType::MPEG1_Video |
StreamType::MPEG2_Video | |
StreamType::H264 | |
StreamType::MPEG_TS |
Implements Block.
|
pure virtual |
Sets the input that should be analyzed.
filename | [in] a filename as an Unicode zero terminated string. If NULL the filename is cleared. When not NULL the filename is copied internally and is not required to be valid after the method returns. |
|
pure virtual |
Sets the input stream that should be analyzed.
This is an alternative to setInputFile().
stream | [in] A pointer to a Stream object. If NULL the input stream is cleared. Internally the Stream object is retained by MediaInfo, so it is safe to release it after this method returns. |
MediaInfo will use the input file when both an input file and input stream are set.
|
pure virtual |
Forces a specific stream type.
streamType | [in] stream type such as AVI, WAV, MP4, etc. |
If the input is a file and the stream type is not set, the stream type is deduced from the filename extension. If the input is a stream, MediaInfo requires the stream type to be specified. If the stream type is set to something other than StreamType::Unknown, it takes precedence and is used by MediaInfo regardless of the detected stream type.
|
pure virtual |
Returns a collection of StreamInfo objects describing the audio and video streams (tracks) found in the input.
Normally the caller is not required and should not release the returned object. However it is allowed to retain the collection and it will be valid even when the MediaInfo instance is destroyed. In all cases when the caller retains the returned collection it should release it when it is not needed anymore.
|
pure virtual |
Returns the stream subtype detected by MediaInfo.
|
pure virtual |
Returns the stream type previously set via setStreamType() or the one detected by MediaInfo.