summaryrefslogtreecommitdiffstats
path: root/src/multimedia/doc/src/changes.qdoc
blob: d21049898c58ecc74ba52a742495d2a7059c3370 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file.  Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!

\page changes.html
\title Changes in Qt Multimedia
\brief A description of changes in this version of Qt Multimedia


The Qt Multimedia module in Qt 5 is a combination of the Qt Multimedia module
in Qt 4.x and the Qt Multimedia Kit module of Qt Mobility.  It replaces both
of these modules by combining the code.  If you've previously used Qt Multimedia
there are not too many changes required for existing code, but there are some
larger changes required for porting code that used Qt Multimedia Kit (most notably
the namespace and header file prefix has changed, and the qmake pro file changes
needed to enable Qt Multimedia).

One other change of note is that widget related classes (like \l QVideoWidget)
are now in a new library (Qt Multimedia Widgets).

\section1 New features in 5.0

There are a number of new features in Qt Multimedia 5.0:
\list
\li Expanded QML API
\li New \l QAudioRecorder class
\li Volume support for QAudioOutput and QAudioInput
\li More examples and documentation
\li QML \l Torch class
\li QSound moved from QtGui to QtMultimedia
\li QSoundEffect available to C++ now, as well as QML
\li FM Radio Data System classes and types now available (\l QRadioData, \l RadioData)
\li Various other API improvements and bugfixes
\endlist

\section1 Removed features

A number of classes or features previously offered in Qt Multimedia or Qt Multimedia Kit have
been removed.

\table 70%
    \header
        \li Removed feature
        \li Notes
    \row
        \li QMediaImageViewer
        \li This class (and related controls and services) were removed since
           their functionality was not suitable for many applications
\endtable

\section1 Changed features

A number of classes previously offered in Qt Multimedia or Qt Multimedia Kit have
changed in ways that may affect previously written code.  There may be other
changes (like new features) that will not affect previously written code, and
they are documented elsewhere.

\table 70%
    \header
        \li Changed feature
        \li Notes
    \row
        \li qmake .pro file changes
        \li If you've used QtMultimediaKit in the past, you needed to put
           \code
           CONFIG += mobility
           MOBILITY += multimedia
           \endcode
           in your .pro file.  Now you need to use:
           \code
           QT += multimedia
           \endcode
           or
           \code
           QT += multimedia multimediawidgets
           \endcode
           if you need to use the widget classes.
    \row
        \li Namespace changes
        \li For Qt Multimedia Kit the majority of the classes were in the
           normal Qt namespace (usually nothing, unless built specially).  There
           was a Qt Multimedia Kit namespace for several enumerations.  This namespace
           has now changed to Qt Multimedia, so if you've used one of the
           \c SupportEstimate, \c EncodingQuality, \c EncodingMode or \c AvailabilityStatus
           enumerations you'll need to change your code.  In fact, running a global
           search and replace on \c QtMultimediaKit (to replace it with \c QtMultimedia) will
           go a long way with porting your code.
    \row
        \li Meta-data enumeration changes
        \li In Qt Multimedia Kit the available meta-data keys were in an enumeration
           in the \c QtMultimediaKit namespace.  These meta-data keys have been changed
           to string literals in the \c {QtMultimedia::MetaData} namespace - generally your
           source code will mostly be compatible unless you have created variables or
           parameters with the \c {QtMultimedia::MetaData} type - you should replace these
           with \c QString.
    \row
        \li Meta-data method changes
        \li In Qt Multimedia Kit the available meta-data was split between methods to
           access standard, pre-defined keys, and methods to access extensible free
           form key meta-data.  These have been combined into a single method to
           access meta-data given a string key, and a list of pre-defined keys.  If
           you've used the \c extendedMetaData method of any class, you will need
           to change your code to combine the standard and extended metadata methods.
    \row
        \li Qt Metatype registration
        \li In Qt Multimedia 5.0 we've tried to make sure that we register any classes
           or types that would be useful to use in cross process signals or in
           QVariants.  If you've previously added Q_DECLARE_METATYPE macros for any
           Qt Multimedia class you will probably need to remove them.
    \row
        \li Video QML type
        \li If you've previously used \l Video you may be excited
           to learn that it should still work as expected, but you also have
           the choice of using \l MediaPlayer and \l VideoOutput
           together for more flexible and advanced use cases.
    \row
        \li QSoundEffect
        \li The SoundEffect QML type was public and accessible in Qt Multimeda Kit,
           and now the C++ version is also available.  If you managed to use the
           private class previously, you'll need to update your code.
    \row
        \li Camera controls
        \li A large number of the camera controls (QCameraImageProcessingControl,
           QCameraFocusControl etc) have been updated to address a number of
           design flaws.  If you have previously been using these classes, you
           should check the new design.  In particular, a number of discrete
           accessor methods have been collapsed into parametrized methods, and
           the range or data type of some parameters has been adjusted.

\endtable

*/