|
AVBlocks for C++
3.4
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 bool_t | pull (int32_t &outputIndex, primo::codecs::MediaSample *outputData)=0 |
| Pulls output data from 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().
References inputFile().
Referenced by inputFile().
|
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.
References inputs().
Referenced by inputs().
|
pure virtual |
Returns the input stream previously set via setInputStream().
References inputStream().
Referenced by inputStream().
|
pure virtual |
Indicates whether stream info and metadata have been loaded and parsed.
References isReady().
Referenced by isReady().
|
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.
References load().
Referenced by load().
|
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.
References metadata().
Referenced by metadata().
|
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.
References open().
Referenced by open().
|
pure virtual |
Returns an immutable collection of MediaSocket objects describing the audio and video streams (tracks) found in the input.
Implements Block.
References outputs().
Referenced by outputs().
|
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.
References push().
Referenced by push().
|
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. |
References setInputFile().
Referenced by setInputFile().
|
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.
References setInputStream().
Referenced by setInputStream().
|
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.
References setStreamType(), and streamType().
Referenced by setStreamType().
|
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.
References streams().
Referenced by streams().
|
pure virtual |
Returns the stream subtype detected by MediaInfo.
References streamSubType().
Referenced by streamSubType().
|
pure virtual |
Returns the stream type previously set via setStreamType() or the one detected by MediaInfo.
References streamType().
Referenced by setStreamType(), and streamType().