#include <OggPaginator.h>
Inheritance diagram for OggPaginator:
Public Member Functions | |
OggPaginator (void) | |
virtual | ~OggPaginator (void) |
bool | setParameters (OggPaginatorSettings *inSettings) |
Set the pagination options. | |
OggPaginatorSettings * | parameters () |
Get the pagination options. | |
virtual bool | acceptStampedOggPacket (StampedOggPacket *inOggPacket) |
Feed your packets in here. | |
bool | setPageCallback (IOggCallback *inPageCallback) |
Set the callback where your finished pages will go. | |
bool | finishStream () |
Finish stream flushed left over data into a page and EOS marks it. | |
void | setNumHeaders (unsigned long inNumHeaders) |
Sets the number of headers. This is important to make sure they aren't on the same page as data packets. | |
unsigned long | numHeaders () |
Returns the number of headers set for this paginator. | |
Protected Member Functions | |
bool | deliverCurrentPage () |
Internal delivery to the callback. | |
bool | setChecksum () |
Calculates and sets the checksum on the page. | |
bool | createFreshPage () |
Creates a new oggpage to start filling. | |
bool | addPacketToPage (StampedOggPacket *inOggPacket) |
Adds the packet to the page. | |
unsigned long | addAsMuchPacketAsPossible (StampedOggPacket *inOggPacket, unsigned long inStartAt, long inRemaining) |
Adds as much packet as the settings dicate. | |
bool | addPartOfPacketToPage (StampedOggPacket *inOggPacket, unsigned long inStartFrom, unsigned long inLength) |
Add a part of a packet to a page. | |
Protected Attributes | |
unsigned long | mPacketCount |
unsigned long | mNumHeaders |
unsigned long | mCurrentPageSize |
unsigned char | mSegmentTable [255] |
unsigned char | mSegmentTableSize |
unsigned long | mSequenceNo |
bool | mPendingPageHasData |
IOggCallback * | mPageCallback |
OggPaginatorSettings * | mSettings |
OggPage * | mPendingPage |
unsigned char * | mHeaderBuff |
fstream | debugLog |
LOOG_INT64 | mLastGranulePos |
Private Member Functions | |
OggPaginator & | operator= (const OggPaginator &other) |
OggPaginator (const OggPaginator &other) |
|
Definition at line 106 of file OggPaginator.cpp. References false, and mHeaderBuff. |
|
Definition at line 123 of file OggPaginator.cpp. References mHeaderBuff. |
|
|
|
Feed your packets in here.
Implements IStampedOggPacketSink. Definition at line 145 of file OggPaginator.cpp. References addPacketToPage(). Referenced by AnxMuxInputPin::CompleteConnect(), and OggMuxInputPin::Receive(). |
Here is the call graph for this function:
|
Adds as much packet as the settings dicate.
Definition at line 323 of file OggPaginator.cpp. References addPartOfPacketToPage(), deliverCurrentPage(), OggPage::header(), OggPageHeader::HeaderFlags(), mCurrentPageSize, MIN, OggPaginatorSettings::mMaxPageSize, OggPaginatorSettings::mMinPageSize, mPendingPage, mSegmentTableSize, mSettings, OggPageHeader::PageSequenceNo(), and OggPageHeader::setHeaderFlags(). Referenced by addPacketToPage(). |
Here is the call graph for this function:
|
Adds the packet to the page.
Definition at line 266 of file OggPaginator.cpp. References addAsMuchPacketAsPossible(), deliverCurrentPage(), OggPaginatorSettings::mMaxPacksPerPage, OggPaginatorSettings::mNumHeaders, mPacketCount, mPendingPageHasData, mSettings, and OggPacket::packetSize(). Referenced by acceptStampedOggPacket(). |
Here is the call graph for this function:
|
Add a part of a packet to a page.
Definition at line 395 of file OggPaginator.cpp. References OggPage::addPacket(), StampedOggPacket::endTime(), OggPage::header(), mCurrentPageSize, mPendingPage, mSegmentTable, mSegmentTableSize, StampedOggPacket::mStampType, OggPacket::packetData(), OggPacket::packetSize(), OggPageHeader::setGranulePos(), and StampedOggPacket::startTime(). Referenced by addAsMuchPacketAsPossible(). |
Here is the call graph for this function:
|
Creates a new oggpage to start filling.
Definition at line 241 of file OggPaginator.cpp. References OggPage::header(), mCurrentPageSize, mPendingPage, mPendingPageHasData, mSegmentTableSize, mSequenceNo, OggPaginatorSettings::mSerialNo, mSettings, OggPageHeader::setGranulePos(), OggPageHeader::setHeaderFlags(), OggPageHeader::setPageSequenceNo(), and OggPageHeader::setStreamSerialNo(). Referenced by deliverCurrentPage(), and setParameters(). |
Here is the call graph for this function:
|
Internal delivery to the callback.
Definition at line 222 of file OggPaginator.cpp. References IOggCallback::acceptOggPage(), createFreshPage(), OggPageHeader::GranulePos(), OggPage::header(), OggPage::headerSize(), mCurrentPageSize, mLastGranulePos, mPageCallback, mPendingPage, mSegmentTable, mSegmentTableSize, setChecksum(), OggPageHeader::setDataSize(), and OggPageHeader::setSegmentTable(). Referenced by addAsMuchPacketAsPossible(), addPacketToPage(), and finishStream(). |
Here is the call graph for this function:
|
Finish stream flushed left over data into a page and EOS marks it.
Definition at line 155 of file OggPaginator.cpp. References deliverCurrentPage(), OggPage::header(), OggPageHeader::HeaderFlags(), mLastGranulePos, mPendingPage, OggPage::numPackets(), OggPageHeader::setGranulePos(), and OggPageHeader::setHeaderFlags(). Referenced by OggMuxInputPin::EndOfStream(). |
Here is the call graph for this function:
|
Returns the number of headers set for this paginator.
Definition at line 501 of file OggPaginator.cpp. References OggPaginatorSettings::mNumHeaders, and mSettings. |
|
|
|
Get the pagination options.
Definition at line 140 of file OggPaginator.cpp. Referenced by AnxMuxInputPin::SetMediaType(). |
|
Calculates and sets the checksum on the page.
Definition at line 175 of file OggPaginator.cpp. References crc_lookup, OggPage::getPacket(), OggPage::header(), OggPage::headerSize(), mHeaderBuff, mPendingPage, OggPage::numPackets(), OggPacket::packetData(), OggPacket::packetSize(), OggPageHeader::rawData(), and OggPageHeader::setCRCChecksum(). Referenced by deliverCurrentPage(). |
Here is the call graph for this function:
|
Sets the number of headers. This is important to make sure they aren't on the same page as data packets.
Definition at line 498 of file OggPaginator.cpp. References OggPaginatorSettings::mNumHeaders, and mSettings. Referenced by OggMuxInputPin::Receive(), OggMuxInputPin::SetMediaType(), and AnxMuxInputPin::SetMediaType(). |
|
Set the callback where your finished pages will go.
Definition at line 493 of file OggPaginator.cpp. References mPageCallback. Referenced by OggMuxInputPin::OggMuxInputPin(). |
|
Set the pagination options.
Definition at line 131 of file OggPaginator.cpp. References createFreshPage(), and mSettings. Referenced by OggMuxInputPin::OggMuxInputPin(). |
Here is the call graph for this function:
|
Definition at line 108 of file OggPaginator.h. |
|
Definition at line 97 of file OggPaginator.h. Referenced by addAsMuchPacketAsPossible(), addPartOfPacketToPage(), createFreshPage(), and deliverCurrentPage(). |
|
Definition at line 107 of file OggPaginator.h. Referenced by OggPaginator(), setChecksum(), and ~OggPaginator(). |
|
Definition at line 110 of file OggPaginator.h. Referenced by deliverCurrentPage(), and finishStream(). |
|
Definition at line 95 of file OggPaginator.h. |
|
Definition at line 94 of file OggPaginator.h. Referenced by addPacketToPage(). |
|
Definition at line 103 of file OggPaginator.h. Referenced by deliverCurrentPage(), and setPageCallback(). |
|
Definition at line 105 of file OggPaginator.h. Referenced by addAsMuchPacketAsPossible(), addPartOfPacketToPage(), createFreshPage(), deliverCurrentPage(), finishStream(), and setChecksum(). |
|
Definition at line 101 of file OggPaginator.h. Referenced by addPacketToPage(), and createFreshPage(). |
|
Definition at line 98 of file OggPaginator.h. Referenced by addPartOfPacketToPage(), and deliverCurrentPage(). |
|
Definition at line 99 of file OggPaginator.h. Referenced by addAsMuchPacketAsPossible(), addPartOfPacketToPage(), createFreshPage(), and deliverCurrentPage(). |
|
Definition at line 100 of file OggPaginator.h. Referenced by createFreshPage(). |
|
Definition at line 104 of file OggPaginator.h. Referenced by addAsMuchPacketAsPossible(), addPacketToPage(), createFreshPage(), numHeaders(), setNumHeaders(), and setParameters(). |