#include <phonon/MediaSource>
Public Types | |
enum | Type { Invalid = -1, LocalFile, Url, Disc, Stream, CaptureDevice, Empty, AudioVideoCapture } |
Public Member Functions | |
MediaSource () | |
PHONON_DEPRECATED | MediaSource (const QString &fileName) |
MediaSource (const QUrl &url) | |
MediaSource (DiscType discType, const QString &deviceName=QString()) | |
MediaSource (const AudioCaptureDevice &device) | |
MediaSource (const VideoCaptureDevice &device) | |
MediaSource (Capture::DeviceType deviceType, CaptureCategory category=NoCaptureCategory) | |
MediaSource (CaptureCategory category) | |
MediaSource (AbstractMediaStream *stream) | |
MediaSource (QIODevice *ioDevice) | |
~MediaSource () | |
MediaSource (const MediaSource &rhs) | |
MediaSource & | operator= (const MediaSource &rhs) |
bool | operator== (const MediaSource &rhs) const |
void | setAutoDelete (bool enable) |
bool | autoDelete () const |
Type | type () const |
QString | fileName () const |
Mrl | mrl () const |
QUrl | url () const |
DiscType | discType () const |
const DeviceAccessList & | deviceAccessList () const |
const DeviceAccessList & | videoDeviceAccessList () const |
const DeviceAccessList & | audioDeviceAccessList () const |
QString | deviceName () const |
AbstractMediaStream * | stream () const |
AudioCaptureDevice | audioCaptureDevice () const |
VideoCaptureDevice | videoCaptureDevice () const |
Protected Member Functions | |
MediaSource (MediaSourcePrivate &) | |
PHONON_DEPRECATED | MediaSource (const DeviceAccess &access) |
Protected Attributes | |
QExplicitlySharedDataPointer < MediaSourcePrivate > | d |
Friends | |
class | StreamInterface |
QDebug | operator<< (QDebug dbg, const Phonon::MediaSource &) |
Note that all constructors of this class are implicit, so that you can simply write
Identifies the type of media described by the MediaSource object.
Enumerator | |
---|---|
Invalid |
The MediaSource object does not describe any valid source. |
LocalFile |
The MediaSource object describes a local file. |
Url |
The MediaSource object describes a URL, which can be both a local file and a file on the network. |
Disc |
The MediaSource object describes a disc. |
Stream |
The MediaSource object describes a data stream. This is also the type used for QIODevices.
|
CaptureDevice |
The MediaSource object describes a single capture device. This could be either audio or video. |
Empty |
An empty MediaSource. It can be used to unload the current media from a MediaObject.
|
AudioVideoCapture |
The MediaSource object describes one device for video capture and one for audio capture. Facilitates capturing both audio and video at the same time, from different devices. It's essentially like two CaptureDevice media sources (one of video type, one of audio type) merged together. |
Phonon::MediaSource::MediaSource | ( | ) |
Creates an empty MediaSource.
An empty MediaSource is considered valid and can be set on a MediaObject to unload its current media.
Phonon::MediaSource::MediaSource | ( | const QString & | fileName) |
Creates a MediaSource object for a local file or a Qt resource.
fileName | file name of a local media file or a Qt resource that was compiled in. |
Phonon::MediaSource::MediaSource | ( | const QUrl & | url) |
Creates a MediaSource object for a URL.
A Qt resource can be specified by using an url with a qrc scheme.
url | URL to a media file or stream. |
Phonon::MediaSource::MediaSource | ( | DiscType | discType, |
const QString & | deviceName = QString() |
||
) |
Creates a MediaSource object for discs.
discType | See DiscType |
deviceName | A platform dependent device name. This can be useful if the computer has more than one CD drive. It is recommended to use Solid to retrieve the device name in a portable way. |
Phonon::MediaSource::MediaSource | ( | const AudioCaptureDevice & | device) |
Creates a MediaSource object for audio capture devices. If the device is valid, this creates a 'CaptureDevice' type MediaSource.
Phonon::MediaSource::MediaSource | ( | const VideoCaptureDevice & | device) |
Creates a MediaSource object for video capture devices. If the device is valid, this creates a 'CaptureDevice' type MediaSource
Phonon::MediaSource::MediaSource | ( | Capture::DeviceType | deviceType, |
CaptureCategory | category = NoCaptureCategory |
||
) |
Sets the source to the preferred audio capture device for the specified category If a valid device is found, this creates a 'CaptureDevice' type MediaSource
Phonon::MediaSource::MediaSource | ( | CaptureCategory | category) |
Creates a MediaSource object that tries to describe a video capture device and an audio capture device, together. The devices are appropriate for the specified category.
If valid devices are found for both audio and video, then the resulting MediaSource is of type 'AudioVideoCapture'. If only an audio or a video valid device is found, the resulting type is 'CaptureDevice'. If no valid devices are found, the resulting type is 'Invalid'.
Phonon::MediaSource::MediaSource | ( | AbstractMediaStream * | stream) |
Creates a MediaSource object for a data stream.
Your application can provide the media data by subclassing AbstractMediaStream and passing a pointer to that object. Phonon will never delete the stream
.
stream | The AbstractMediaStream subclass to provide the media data. |
Phonon::MediaSource::MediaSource | ( | QIODevice * | ioDevice) |
Creates a MediaSource object for a QIODevice.
This constructor can be very handy in the combination of QByteArray and QBuffer.
ioDevice | An arbitrary readable QIODevice subclass. If the device is not opened MediaSource will open it as QIODevice::ReadOnly. Sequential I/O devices are possible, too. For those MediaObject::isSeekable() will have to return false obviously. |
Phonon::MediaSource::~MediaSource | ( | ) |
Destroys the MediaSource object.
Phonon::MediaSource::MediaSource | ( | const MediaSource & | rhs) |
Constructs a copy of rhs
.
This constructor is fast thanks to explicit sharing.
AudioCaptureDevice Phonon::MediaSource::audioCaptureDevice | ( | ) | const |
Returns the audio capture device for the media source if applicable.
const DeviceAccessList & Phonon::MediaSource::audioDeviceAccessList | ( | ) | const |
bool Phonon::MediaSource::autoDelete | ( | ) | const |
Returns the setting of the auto-delete option. The default is false
.
const DeviceAccessList & Phonon::MediaSource::deviceAccessList | ( | ) | const |
Returns the access list for the device of this media source. Valid for capture devices.
QString Phonon::MediaSource::deviceName | ( | ) | const |
Returns the device name of the MediaSource if type() == Disc; otherwise returns QString().
DiscType Phonon::MediaSource::discType | ( | ) | const |
Returns the disc type of the MediaSource if type() == Disc; otherwise returns NoDisc.
QString Phonon::MediaSource::fileName | ( | ) | const |
Returns the file name of the MediaSource if type() == LocalFile; otherwise returns QString().
Mrl Phonon::MediaSource::mrl | ( | ) | const |
Returns the MRL of the MediaSource if type() == URL or type() == LocalFile; otherwise returns Mrl(). Phonon::Mrl is based on QUrl and adds some additional functionality that is necessary to ensure proper encoding usage in the Phonon backends.
Usually you will not have to use this in an application.
MediaSource & Phonon::MediaSource::operator= | ( | const MediaSource & | rhs) |
Assigns rhs
to this MediaSource and returns a reference to this MediaSource.
This operation is fast thanks to explicit sharing.
bool Phonon::MediaSource::operator== | ( | const MediaSource & | rhs) | const |
Returns true
if this MediaSource is equal to rhs
; otherwise returns false
.
void Phonon::MediaSource::setAutoDelete | ( | bool | enable) |
Tell the MediaSource to take ownership of the AbstractMediaStream or QIODevice that was passed in the constructor.
The default setting is false
, for safety. If you turn it on, you should only access the AbstractMediaStream/QIODevice object as long as you yourself keep a MediaSource object around. As long as you keep the MediaSource object wrapping the stream/device the object will not get deleted.
AbstractMediaStream * Phonon::MediaSource::stream | ( | ) | const |
Returns the media stream of the MediaSource if type() == Stream; otherwise returns 0. QIODevices are handled as streams, too.
MediaSource::Type Phonon::MediaSource::type | ( | ) | const |
Returns the type of the MediaSource (depends on the constructor that was used).
QUrl Phonon::MediaSource::url | ( | ) | const |
Returns the url of the MediaSource if type() == URL or type() == LocalFile; otherwise returns QUrl().
VideoCaptureDevice Phonon::MediaSource::videoCaptureDevice | ( | ) | const |
Returns the video capture device for the media source if applicable.
const DeviceAccessList & Phonon::MediaSource::videoDeviceAccessList | ( | ) | const |