|
AVPKit
|
An index entry for a IStream. More...
#include <IIndexEntry.h>


Public Member Functions | |
| virtual int64_t | getPosition ()=0 |
| The position in bytes of the frame corresponding to this index entry in the IContainer. More... | |
| virtual int64_t | getTimeStamp ()=0 |
| The actual time stamp, in units of IStream#getTimeBase(), of the frame this entry points to. More... | |
| virtual int32_t | getFlags ()=0 |
| Flags set for this entry. More... | |
| virtual int32_t | getSize ()=0 |
| The size of bytes of the frame this index entry points to. More... | |
| virtual int32_t | getMinDistance ()=0 |
| Minimum number of index entries between this index entry and the last keyframe in the index, used to avoid unneeded searching. More... | |
| virtual bool | isKeyFrame ()=0 |
| Is this index entry pointing to a key frame. More... | |
Public Member Functions inherited from com::avpkit::ferry::RefCounted | |
| virtual int32_t | acquire () |
| Internal Only. More... | |
| virtual int32_t | release () |
| Internal Only. More... | |
| virtual RefCounted * | copyReference () |
| Create a new Java object that refers to the same native object. More... | |
| virtual int32_t | getCurrentRefCount () |
| Return the current reference count on this object. More... | |
| void | setJavaAllocator (void *allocator) |
| This method is public but not part of the standard API. More... | |
| void * | getJavaAllocator () |
| This method is public but not part of the standard API. More... | |
Static Public Member Functions | |
| static IIndexEntry * | make (int64_t position, int64_t timeStamp, int32_t flags, int32_t size, int32_t minDistance) |
| Create a new IIndexEntry with the specified values. More... | |
Static Public Attributes | |
| static const int32_t | IINDEX_FLAG_KEYFRAME = 0x0001 |
| A bit mask value that may be set in getFlags. | |
Additional Inherited Members | |
Protected Member Functions inherited from com::avpkit::ferry::RefCounted | |
| virtual void | destroy () |
| This method is called by RefCounted objects when their Ref Count reaches zero and they are about to be destroyed. | |
Protected Attributes inherited from com::avpkit::ferry::RefCounted | |
| AtomicInteger * | mRefCount |
| This is the internal reference count, represented as an AtomicInteger to make sure it is thread safe. | |
| void * | mAllocator |
| Not part of public API. | |
An index entry for a IStream.
Some ContainerFormats can maintain index of where key-frames (and other interesting frames) can be found in a byte-stream. This is really helpful for implementing efficient seeking (for example, you can find all index entries near a desired timestamp, and you'll find the nearest key-frame).
We don't maintain a complete list of all ContainerFormats that support index, but if they do, you can query the IStream#getNumIndexEntries() method to find how many entires are in the index. Some ContainerFormats can parse the relevant Container message if an index is embedded in the container (for example, the MOV and MP4 demuxer can do this). Other ContainerFormats can create an index automatically as they read the file, even if an index is not embedded in the container (for example the FLV demuxer does this).
Definition at line 64 of file IIndexEntry.h.
|
pure virtual |
Flags set for this entry.
See the IINDEX_FLAG* constants above.
Implemented in com::avpkit::core::IndexEntry.
Referenced by com::avpkit::core::Stream::addIndexEntry().
|
pure virtual |
Minimum number of index entries between this index entry and the last keyframe in the index, used to avoid unneeded searching.
Implemented in com::avpkit::core::IndexEntry.
Referenced by com::avpkit::core::Stream::addIndexEntry().
|
pure virtual |
The position in bytes of the frame corresponding to this index entry in the IContainer.
Implemented in com::avpkit::core::IndexEntry.
Referenced by com::avpkit::core::Stream::addIndexEntry().
|
pure virtual |
The size of bytes of the frame this index entry points to.
Implemented in com::avpkit::core::IndexEntry.
Referenced by com::avpkit::core::Stream::addIndexEntry().
|
pure virtual |
The actual time stamp, in units of IStream#getTimeBase(), of the frame this entry points to.
Implemented in com::avpkit::core::IndexEntry.
Referenced by com::avpkit::core::Stream::addIndexEntry().
|
pure virtual |
Is this index entry pointing to a key frame.
Really shorthand for getFlags() & IINDEX_FLAG_KEYFRAME.
Implemented in com::avpkit::core::IndexEntry.
|
static |
Create a new IIndexEntry with the specified values.
| position | The value to be returned from getPosition(). |
| timeStamp | The value to be returned from getTimeStamp(). |
| flags | The value to be returned from getFlags(). |
| size | The value to be returned from getSize(). |
| minDistance | The value to be returned from getMinDistance(). |
Definition at line 44 of file IIndexEntry.cpp.
Referenced by com::avpkit::core::Stream::getIndexEntry().