Base class for custom media data streams. More...
#include <phonon/AbstractMediaStream>
Protected Member Functions | |
AbstractMediaStream (QObject *parent=0) | |
qint64 | streamSize () const |
void | setStreamSize (qint64) |
bool | streamSeekable () const |
void | setStreamSeekable (bool) |
void | writeData (const QByteArray &data) |
void | endOfData () |
void | error (Phonon::ErrorType errorType, const QString &errorString) |
virtual Q_INVOKABLE void | reset ()=0 |
virtual Q_INVOKABLE void | needData ()=0 |
virtual Q_INVOKABLE void | enoughData () |
virtual Q_INVOKABLE void | seekStream (qint64 offset) |
AbstractMediaStream (AbstractMediaStreamPrivate &dd, QObject *parent) | |
Protected Attributes | |
QScopedPointer < AbstractMediaStreamPrivate > | d_ptr |
Friends | |
class | MediaObject |
class | MediaObjectPrivate |
class | StreamInterface |
Base class for custom media data streams.
Implement this class to provide a custom data stream to the backend. The class supports both, the push and the pull model.
Push:
Pull:
|
explicitprotected |
Constructs an AbstractMediaStream object with a parent
.
|
protected |
Tells the backend that the media data stream is at its end.
|
protectedvirtual |
Reimplement this function to be notified when the backend has enough data and your stream object may take a break. This method is important for pushing data to the backend in order to not fill the backend buffer unnecessarily.
|
protected |
If an I/O error occurs you should call this function to make MediaObject go into ErrorState.
|
protectedpure virtual |
Reimplement this function to be notified when the backend needs data.
When this function is called you should try to call writeData or endOfData before returning.
|
protectedpure virtual |
Reimplement this function to reset the stream. Subsequent calls to writeData should start from the first position of the data unless a seek is requested.
The function is necessary for the case where a non-seekable MediaStream is played more than once. For a seekable stream the implementation can simply call
.
|
protectedvirtual |
Reimplement this function if your stream is seekable.
When this function is called the next call to writeData has to be at the requested offset
.
|
protected |
Sets whether your data stream is seekable.
Defaults to false
.
If you set this to true
you have to implement the seekStream function.
|
protected |
Sets the size of the stream in number of bytes.
A negative value means that the length of the stream cannot be known.
Defaults to 0.
This function has to be called. A backend will not call needData() until the stream size is set.
|
protected |
Returns whether your data stream is set as seekable.
Defaults to false
.
|
protected |
Returns the stream size that was set with setStreamSize.
A negative value means that the length of the stream cannot be known.
Defaults to 0
.
|
protected |
Sends the media data
to the backend for decoding.