ContainerInfo Class Reference
stores pointers to all available ElemStreams (ESInfos) in this container <short description=""> More...
#include <ContainerInfo.hpp>
Public Types | |
enum | ContainerType { UNKNOWN_CONTAINER, AVI, MP4, MATROSKA, VITOOKI, DVD, SDP, OGG } |
Public Member Functions | |
ContainerInfo (const char *url, const char *locFile, const ContainerType type) | |
creates a video object for the given url, the url will be deep-copied. | |
ContainerInfo () | |
creates an empty info object. | |
ContainerInfo (QualityInfo &q) | |
creates an empty info object. | |
list< ESInfo * > * | getESList () |
returns the list of ESes for this object. | |
ESInfo * | getES (u32 streamId) const |
returns for a given streamid the ESInfo object. | |
VideoESInfo * | getFirstVisualES () |
Returns the first visual ES it finds. | |
u32 | getNumberOfVisualStreams () const |
how many visual streams are part of the Container | |
u32 | getNumberOfAudioStreams () const |
how many audio streams are part of the Container | |
AudioESInfo * | getFirstAudioES () |
Returns the first visual ES it finds. | |
ContainerType | getContainerType () |
void | setContainerType (ContainerType ctype) |
IO * | getMuxDemuxIO () |
will be used in conjunction with BufferedIOs created by IOCreator | |
void | setMuxDemuxIO (IO *demuxio) |
will be used in conjunction with BufferedIOs created by IOCreator | |
bool | saveToCfgFile (char *indexName) |
serializes the ContainerInfo to a file. | |
bool | loadFromCfgFile (char *indexName) |
loads an ContainerInfo object from a file. | |
const Url * | getUrl () const |
returns the url of the video, can return null for demultiplexed videos | |
void | setUrl (Url *uri) |
void | setLocalFile (const char *loclFile) |
const char * | getLocalFile () const |
void | setIODHandle (u8 *iodHandle, u32 iodHandleSize) |
sets the iod at the MP4Stream, a deep-copy is done! iodHandleSize must be a positive number | |
const u8 * | getIODHandle (u32 &size) const |
returns a pointer to the IOD, will update size to contain the iodHandleSize | |
void | addESInfo (ESInfo *esobj) |
adds an ESInfo object to the end of the list of ES's managed by this object | |
u32 | getActSize () const |
float | getActQuality () const |
u32 | getLastRequestTime () const |
void | setLastRequestTime (u32 last) |
u32 | getFileSize () const |
returns either the filesize of the mp4 file or the sum of the sizes of all demuxed streams | |
u32 | getEstimatedNetworkFileSize () |
returns for a non-cached object, the estimated filesize according to the SDP description | |
void | setMetaObject (MetaObject *meta) |
MetaObject * | getMetaObject () |
bool | hasAudio () const |
checks if the MP4 object has one audio stream. | |
QualityInfo * | getQualityInfo () |
ContainerInfo * | clone () |
deep-copies the object | |
ReferenceCounter * | getUsageCounter () |
bool | destroy () |
deletes all locally stored files belonging to this object | |
rtx_group * | getRtxGroup (u32 esId, list< rtx_group * > *rtxInfo) const |
Protected Attributes | |
ContainerType | type |
the format of this container | |
list< ESInfo * > | esList |
IO * | muxDemuxIO |
will be used in conjunction with BufferedIOs created by IOCreator | |
Url * | url |
the remote url for this object | |
char * | localFile |
the local cache file. | |
MetaObject * | metaObj |
points back to the MetaObject | |
u8 * | iodHandle |
iod is not a stream!, seperate it from ES | |
u32 | iodHandleSize |
the byte-size of the iod | |
u32 | timeScale |
the default timescale of the video in ticks/second | |
u32 | lastAccessTime |
cache specific code | |
ReferenceCounter * | usageCounter |
usage counter: how many clients are currently accessing this video | |
QualityInfo | qinfo |
information about the current quality and size of the video | |
char * | Name |
char * | Description |
char * | MimeType |
Detailed Description
stores pointers to all available ElemStreams (ESInfos) in this container <short description="">
- Author:
- Michael Kropfberger and Peter Schojer
- Version:
- Id
- ContainerInfo.hpp,v 1.21 2006/02/24 08:17:31 mkropfbe Exp
Definition at line 158 of file ContainerInfo.hpp.
Constructor & Destructor Documentation
|
creates a video object for the given url, the url will be deep-copied. Always create ContainerInfo objects with the ISOMP4ContainerFile class or use the empty constructor and call loadFromCfgFile afterwards to complete initialization
References iodHandle, iodHandleSize, lastAccessTime, localFile, metaObj, muxDemuxIO, type, url, and usageCounter.
|
|
creates an empty info object. Complete initialization with loadFromCfgFileDefinition at line 101 of file ContainerInfo.cpp. References iodHandle, iodHandleSize, lastAccessTime, localFile, metaObj, muxDemuxIO, url, and usageCounter. Referenced by clone().
|
|
creates an empty info object. with qualityinfo set. Add ESs manuallyDefinition at line 116 of file ContainerInfo.cpp. References iodHandle, iodHandleSize, lastAccessTime, localFile, metaObj, muxDemuxIO, url, and usageCounter.
|
Member Function Documentation
|
returns for a given streamid the ESInfo object. Returns NULL if the streamId was not found. Performance is linear time.Definition at line 704 of file ContainerInfo.cpp. Referenced by Session::setRtxInfoForES(), and ClientSession::setRtxInfoForES().
|
|
returns the list of ESes for this object. Note that the ESes are destroyed when the videoobject is deletedDefinition at line 184 of file ContainerInfo.hpp. Referenced by ContainerDemux::demultiplexAndUpdateIO(), MetaObject::findMp4Stream(), SDP::generate(), and CacheManagerLRU::putVideo().
|
|
checks if the MP4 object has one audio stream. Returns false if it hasn't Definition at line 719 of file ContainerInfo.cpp.
|
|
loads an ContainerInfo object from a file. if sth. goes wrong, all data loaded so far is freed and false is returned. FIXME: update to include qinfo FIXME: fails when space is in fileNameDefinition at line 386 of file ContainerInfo.cpp. References addESInfo(), ESInfo::getNumberOfMediaSamples(), ESInfo::getOrigMediaSize(), iodHandle, iodHandleSize, localFile, qinfo, ESInfo::setFrameStatistic(), Url::toString(), and url. Referenced by MetaObject::loadFromConfigFile().
|
|
serializes the ContainerInfo to a file. FIXME: update to include qinfo FIXME: fails when space is in fileNameDefinition at line 184 of file ContainerInfo.cpp. References iodHandle, iodHandleSize, localFile, Url::toString(), and url.
|
Member Data Documentation
|
the local cache file. Can be null Definition at line 327 of file ContainerInfo.hpp. Referenced by ContainerInfo(), destroy(), getFileSize(), loadFromCfgFile(), and saveToCfgFile(). |
The documentation for this class was generated from the following files: