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:
Jonas Rabbe
2012-04-03 15:55:55 +10:00
committed by Qt by Nokia
parent e908790a6a
commit c532850fd1
68 changed files with 476 additions and 318 deletions

View File

@@ -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