Updated a lot of minor fixes to the docs and removed warnings from qdoc
Change-Id: Ib7fd75fb93c038f9e8fa9d71b6ad01fb27b97622 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
@@ -28,36 +28,42 @@
|
||||
|
||||
/*!
|
||||
|
||||
\title Multimedia Backend Development
|
||||
\page multimediabackend.html
|
||||
\brief Information for implementing a new multimedia backend.
|
||||
\ingroup mobility
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section1 Multimedia Backend Development
|
||||
\section1 Overview
|
||||
|
||||
In some cases the available cross-platform Multimedia APIs or implementations are not sufficient,
|
||||
or not immediately available on a certain platform. In some cases the multimedia
|
||||
implementation on a platform might expose certain extra properties or functionality
|
||||
that other platforms do not, or a finer degree of control might be possible. For these
|
||||
cases, it is possible to use extended controls directly.
|
||||
A multimedia backend provides the glue between platform specific libraries, and
|
||||
Qt Multimedia. In some cases the available cross-platform Multimedia APIs or
|
||||
implementations are not sufficient, or not immediately available on a certain
|
||||
platform. Alternatively, the multimedia implementation on a platform might expose
|
||||
certain extra properties or functionality that other platforms do not, or a finer
|
||||
degree of control might be possible. For these cases, it is possible to use
|
||||
extended controls directly.
|
||||
|
||||
In addition, if you plan to port the Qt Multimedia APIs to a new platform, you do
|
||||
this by implementing certain control and service classes, as detailed below.
|
||||
|
||||
\section1 Extending the API
|
||||
|
||||
For the developer who wishes to extend the functionality of the Multimedia
|
||||
classes there are several classes of particular importance. The default
|
||||
classes are QMediaService, QMediaServiceProvider and QMediaControl.
|
||||
For the developer who wishes to extend the functionality of the Qt Multimedia
|
||||
classes there are several classes of particular importance. The classes
|
||||
providing default functionality are QMediaService, QMediaServiceProvider and
|
||||
QMediaControl.
|
||||
|
||||
Basically, the idea is that to use the Multimedia API you would use these
|
||||
three classes or classes derived from them as follows
|
||||
to extend the Multimedia API you would use the following three classes or
|
||||
classes derived from them.
|
||||
|
||||
\list
|
||||
\li \l QMediaServiceProvider is used by the top level client class to request a service. The top level class knowing what kind of service it needs.
|
||||
\li \l QMediaServiceProvider is used by the top level client class to
|
||||
request a service. The top level class knowing what kind of service it needs.
|
||||
|
||||
\li \l QMediaService provides a service and when asked by the top level object, say a component, will return a QMediaControl object.
|
||||
\li \l QMediaService provides a service and when asked by the top level
|
||||
object, say a component, will return a QMediaControl object.
|
||||
|
||||
\li \l QMediaControl allows the control of the service using a known interface.
|
||||
\endlist
|
||||
@@ -71,15 +77,15 @@ MyMediaService, and the MyMediaControl to manipulate the media service.
|
||||
The MyPlayer object calls MyServiceProvider::requestService() to get an
|
||||
instance of MyMediaService. Then the MyPlayer object calls this service
|
||||
object it has just received and calling \l {QMediaService::requestControl()}{requestControl()}
|
||||
it will receive the control object derived from QMediaControl. Now we have
|
||||
all the parts necessary for our media application. We have the service
|
||||
it will receive the control object derived from QMediaControl.
|
||||
|
||||
Now we have all the parts necessary for our media application. We have the service
|
||||
provider, the service it provides and the control used to manipulate the
|
||||
service. Since our MyPlayer object has instances of the service and its
|
||||
control then it would be possible for these to be used by associated classes
|
||||
that could do additional actions, perhaps with their own control since the
|
||||
parameter to requestControl() is a c-type string, \e {const char *}, for the
|
||||
interface.
|
||||
|
||||
parameter to requestControl() is a zero-terminated string, \e {const char *},
|
||||
for the interface.
|
||||
|
||||
\section2 Adding a Media Service Provider
|
||||
|
||||
|
||||
Reference in New Issue
Block a user