#include <Logical.H>
Public Member Functions | |
void * | impl () |
Logical (Transport &transport, long serialNo) | |
Add a writing Logical to an encapsulating Transport. | |
Logical (Transport &transport) | |
Construct a Logical for reading. | |
Logical (long serialNo, Transport &transport) | |
Construct a Logical for reading a particular logical stream. | |
virtual | ~Logical () |
Removes this Logical from Transport. | |
virtual bool | selectCallback (Packet &firstPacket) |
Call back for logical stream selection based on first packet. | |
long | serialNo () const |
Get the serialNo for this Logical. | |
Transport & | transport () const |
Get the Transport for this Logical. | |
Writer & | writer () |
Get a Writer for this Logical. | |
PageWriter & | pageWriter () |
Get a PageWriter for this Logical. | |
PageReader & | pageReader () |
Get a PageReader for this Logical based on selectCallback. | |
Reader & | reader () |
Get a Reader for this Logical based on selectCallback. | |
Protected Member Functions | |
Logical (bool dummy) | |
Despite appearance, derived classes should NOT construct with this. | |
Classes | |
class | FailedToSelectStream |
Exception thrown by Logical::reader. More... | |
class | MuxTooLate |
Exception thrown by muxing Logical::Logical. More... | |
class | NoSuchStream |
Exception thrown by Logical::reader. More... | |
class | NotForReading |
Exception thrown by Logical::reader. More... | |
class | NotForWriting |
Exception thrown by Logical::writer. More... | |
class | PageReader |
Logical stream Page reader. More... | |
class | PageReaderTooLate |
Exception thrown by Logical::reader. More... | |
class | PageWriter |
Logical stream Page writer
Do not derive from PageWriter. It is designed for writing pages that have been routed from a PageReader. More... | |
class | Reader |
Logical stream reader. More... | |
class | ReaderAlreadyExists |
Exception thrown by Logical::reader. More... | |
class | ReaderTooLate |
Exception thrown by Logical::reader. More... | |
class | SeekInternalError |
Exception thrown by Logical::Reader:: seek operators. More... | |
class | SerialNoAlreadyUsed |
Exception thrown by muxing Logical::Logical. More... | |
class | SerialNotPositive |
Exception thrown by Logical::Logical. More... | |
class | StreamAlreadyClaimed |
Exception thrown by Logical::reader. More... | |
class | Writer |
Logical stream writer
Do not derive from Writer. It is an iterator-like class for writing packets. More... | |
class | WriterAlreadyExists |
Exception thrown by Logical::writer. More... |
Codecs may derive from Logical.
Ogg::Logical::Logical | ( | bool | dummy | ) | [inline, protected] |
Despite appearance, derived classes should NOT construct with this.
Ogg::Logical::Logical | ( | Transport & | transport, | |
long | serialNo | |||
) |
Ogg::Logical::Logical | ( | long | serialNo, | |
Transport & | transport | |||
) |
Construct a Logical for reading a particular logical stream.
void* Ogg::Logical::impl | ( | ) | [inline] |
long Ogg::Logical::serialNo | ( | ) | const |
Get the serialNo for this Logical.
Returns a writing Logical instance's set serialNo. If the Logical instance is reading, then this will return 0 if there is no current Reader.
Referenced by Ogg::Logical::FailedToSelectStream::FailedToSelectStream(), Ogg::Logical::MuxTooLate::MuxTooLate(), Ogg::Logical::NoSuchStream::NoSuchStream(), Ogg::Logical::NotForReading::NotForReading(), Ogg::Logical::NotForWriting::NotForWriting(), Ogg::Logical::PageReaderTooLate::PageReaderTooLate(), Ogg::Logical::ReaderAlreadyExists::ReaderAlreadyExists(), Ogg::Logical::ReaderTooLate::ReaderTooLate(), Ogg::Logical::SeekInternalError::SeekInternalError(), Ogg::Logical::SerialNoAlreadyUsed::SerialNoAlreadyUsed(), Ogg::Logical::SerialNotPositive::SerialNotPositive(), Ogg::Logical::StreamAlreadyClaimed::StreamAlreadyClaimed(), and Ogg::Logical::WriterAlreadyExists::WriterAlreadyExists().
Writer& Ogg::Logical::writer | ( | ) |
PageWriter& Ogg::Logical::pageWriter | ( | ) |
Get a PageWriter for this Logical.
Only one PageWriter or one Writer, not both per Logical at one time is allowed.
PageReader& Ogg::Logical::pageReader | ( | ) |
Get a PageReader for this Logical based on selectCallback.
Only one PageReader per Logical at one time is allowed.
A PageReader may be used by itself on a logical stream, in which case it serves simply to provide the pages for merging into an Ogg stream without re-encapsulation.
A PageReader may be used together with a Reader on the same logical stream. In this case, the pageReader() must be requested prior to requesting reader(). Otherwise, the request will result in a PageReaderTooLate Exception. The reader() request must also precede the first PageReader::get() call. Otherwise, the reader() request will result in a ReaderTooLate Exception.
Reader& Ogg::Logical::reader | ( | ) |