Commit Graph

638 Commits

Author SHA1 Message Date
Oleg Shparber
b64ca061fd Make QtMultimedia an identified module
Task-number: QTBUG-28376

Change-Id: I7b27dc52b3085eb50695e559029f2533aa743d4f
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-01-04 14:02:33 +01:00
Venugopal Shivashankar
85faa55780 Doc: Moved the qdocinc and image to the sourcedirs
QDoc parses the \input command relative to the sourcedirs
and not exampledirs. So I had to move the qdocinc file and
the corresponding image to the sourcedirs.

Task-number: QTBUG-28727
Change-Id: Ie064f0b79ab8ffcb0587b43ff4508f5865a321a9
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-02 15:28:47 +01:00
Thiago Macieira
3df5999a07 Remove comma at the end of the enum
Required for public header cleanliness

Change-Id: I2641fd085071b2a69806e8622c7c35be74f744b1
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-12-28 23:29:17 +01:00
Sergio Ahumada
47b0d553d9 Bump Qt version to 5.0.1
Change-Id: Ic45b749ceea86263281b5c23509bf301fa334e5f
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-12-25 12:56:00 +01:00
Mark Brand
1e0b3d8625 fix include statements
Names are case sensitive when cross bulding for mingw on unix.

Change-Id: I355b9388241c7c5fefb05b6f0c231efec4530c7e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-12-24 12:39:38 +01:00
Yoann Lopes
d8426bbf71 WMF: Fixed incorrect QMediaPlayer volume reporting.
Task-number: QTBUG-26621
Change-Id: Id70a68ad61fd7d68f4ee277f33a54bd9c00c05d0
Reviewed-by: Jason Barron <jason@cutehacks.com>
2012-12-21 12:03:16 +01:00
Oswald Buddenhagen
87d6d6d3c2 remove obsolete DEPENDPATH assignments
qmake now add CONFIG+=depend_includepath by default, making manual
DEPENDPATH setup unnecessary.

Change-Id: Iffd78b4c7cf8d048a822b75c481ac380b3d8d0f4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-16 22:08:01 +01:00
Oswald Buddenhagen
6fa2f5c4b1 remove some unnecessary CONFIG additions
qt is already added by spec_pre.prf, warn_on by default_pre.prf, and
no_private_qt_headers_warning by qt_build_config.prf.

Change-Id: Ia5cee420d577dd0ae0120cb2dd430d4ddd29ebcf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-16 22:01:36 +01:00
Venugopal Shivashankar
3bf7a86c07 Doc: Fixed broken links to the Multimedia examples
- Updated the example links to reflect the new directory
structure for the multimedia examples.
- Removed a broken link to audiodecoder example
as it doesn't have a qdoc page yet.

Change-Id: Ia1169eeb80b4e6b6f92cd070aecbe72ce696bb6a
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 14:23:22 +01:00
Venugopal Shivashankar
0241b0e39c Doc: Updated the \example and \snippet paths
Also:
- Grouped the example docs under one group. i.e. multimedia-examples
- Moved the \group page here from the qtdoc repo
- Moved the snippets directory under doc from doc/src

Change-Id: I28fb81cf910e58101cd601fb4c440b59b0b0366d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-12 17:44:36 +01:00
Yoann Lopes
12bbd99047 WMF: Fixed crash when cancelling media loading.
Since media loading is asynchronous, cancelling could cause a crash when
done after the media is loaded but the callback hasn't been called yet.

Change-Id: I9c9b7bfaa495b9e75765111c15afb07e8b699488
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-12-11 18:13:03 +01:00
Yoann Lopes
3f84142aaa WMF: Improved error reporting.
When loading the source fails because the file format is not supported, we
now report a FormatError instead of a ResourceError.
When the file format is supported but the media cannot be played (topology
cannot be resolved), it is most likely caused by a missing codec and we
then report a FormatError.

Change-Id: I101a86c129a0c5dccb543fc1247cb741994684fd
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-12-11 17:13:02 +01:00
Miikka Heikkinen
4b62c926b7 Add PLUGIN_CLASS_NAME to qtmultimedia plugins
Needed for automating static plugin loading.

Task-number: QTBUG-28131
Change-Id: Ia392b112fc46dedd34c9ffdbd6e874dbbfeaef83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:32:49 +01:00
Christian Stenger
b5316d2904 Doc: Replace outdated macro
Change-Id: I9bc0f8a077e60ede0ac1b6852b66d33143eed5a3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-07 14:16:43 +01:00
Yoann Lopes
06b63e99e4 WMF: Recreate the MFMediaSession when loading a new media.
MFMediaSession doesn't seem to handle correctly the change of media
source, causing the playback not to work afterwards.
A single MFMediaSession was created and used for every loaded media, we
now create a new one whenever we load a new media (releasing the old one
beforehand).

Task-number: QTBUG-26819

Change-Id: Id99c9dd54e161823d9580933e063f16240806529
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Jason Barron <jason@cutehacks.com>
2012-12-07 13:06:16 +01:00
Yoann Lopes
ad83534736 WMF: Fixed shutdown sequence.
A wrong shutdown sequence was causing a wait condition to never be met,
resulting in a 5 seconds hang on shutdown.
Also reduced the wait condition timeout to 100 ms.

Task-number: QTBUG-28432

Change-Id: Ib415bf66634603d839be3e34e497e3a3c5a19ad9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Jason Barron <jason@cutehacks.com>
2012-12-07 13:04:12 +01:00
Shawn Rutledge
31fdbb1c22 Fix includes to build on case-sensitive filesystem
Change-Id: Ibd355256a5d2a60ee3a61ba2a2bf9f0f63c591cb
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-07 02:24:47 +01:00
Kai Koehne
db39db98cb Update plugins.qmltypes
Run with option nonrelocatable.

Change-Id: I689d5d745dac9325aeb5db81484054b0dcdb9d24
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2012-12-07 00:57:56 +01:00
Christian Stenger
05d648833b Doc: Fix typo and enum names
Change-Id: I55a22d3a7c5fbdf2f8a16c09c701a7fa871a95e1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 16:56:13 +01:00
Joerg Bornemann
9f10ff8e9a fix build for standard DirectX install paths
Evaluate the environment variable DXSDK_DIR at qmake time.
This makes sure, the contents get properly quoted, even if the DirectX
SDK is installed into a path that contains spaces.

Change-Id: Id22f56448eef4d392af77e97f46308f1b486c7c7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-06 11:48:26 +01:00
Erik Verbruggen
945e8c9f8e Fixed build on MacOS with clang in C++11 mode.
avfvideowidget.mm:120:9: error: non-constant-expression cannot be narrowed from type 'int' to 'GLfloat' (aka 'float') in initializer list [-Wc++11-narrowing]
        x1, y1, zValue,
                ^~

Change-Id: I5a08bf8b53cf029dbdfaeaa03f4babd6d49d62ad
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-06 10:24:05 +01:00
Yoann Lopes
6a6c9ca37c WMF: Disabled the video probe control.
Using the video probe cause unstability in the video playback.
Disabled for 5.0 release.
Should be fixed and re-enabled in the next version.

Change-Id: I274212a0943ac098194ad59d6e07bed7740bc8a3
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-11-30 16:55:35 +01:00
Venugopal Shivashankar
1315dcf09c Doc: Added missing images and made some language edits
Change-Id: I9544121601c2c4099927e0e23550c3ab32bbfda9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 15:38:33 +01:00
Oleg Shparber
cf8824c5d4 blackberry: fixed building without QtWidgets
Change-Id: I12103c5a4bd903b809e7db2ec8e1cbb60a37c429
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-11-29 17:46:54 +01:00
Friedemann Kleint
f26ae01ec4 tr()-Fixes.
Make WMF-player error message consistent (sentences,
no exclamation marks). Improve wording.

Change-Id: I876b26067fb374833037aa93dd9675ab556bf972
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-11-29 14:39:23 +01:00
Andras Becsi
25fd41373a Fix QGstreamerPlayerSession::availablePlaybackRanges()
Since buffering information through buffering queries is only valid if
progressive download buffering (on-disk caching) is enabled or local
media is played and we explicitly disable on-disk buffering because of
cleanup issues with gstreamer availablePlaybackRanges() always returns
an empty range for online media.
Seeking is also possible using http range requests therefore if valid
playback ranges could not be determined we should return the [0..duration]
range unless the source is a live stream or the duration is unknown.

Change-Id: Idbebc0fdde5053c6f9c0b3794c6d122492c6239c
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2012-11-28 17:32:06 +01:00
Andy Nichols
e899ff8c5a Doc: cleanup multimedia overview
Added an introduction, and fix some formatting.

Change-Id: Ic23416cf1113895a1895a53f310530a83a9013d3
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-28 09:16:10 +01:00
Andy Nichols
6f638d663c Doc: Cleanup diagram placeholder in Camera Overview
The diagram still needs to be done, but is not necessary for the 5.0
release.

Task-number: QTBUG-28235
Change-Id: I1e8b4d731c00516408de89be81d4ecb8bde3d016
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-27 15:56:31 +01:00
Andy Nichols
00cf1f47c4 QT7: Remove usage of QMAKE_MAC_XARCH
Support for QMAKE_MAC_XARCH was removed in Qt 5.0, so it shouldn't be
used in the QT7 plugin, as it causes build failures.

Task-number: QTBUG-27180
Change-Id: I7d907a9afbcbc4989b794350c94d0f619e4d2b7d
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2012-11-23 15:28:01 +01:00
Andy Nichols
4c2346bbdd AVFoundation: Enable QImage based frame fallback
QGraphicsVideoItem was not working because the QPainterVideoSurface was
unable to paint BGR32 format OpenGL textures.  Now if the QGraphicsView
window has a QGLWidget viewport, we use the GLTextureHandle to render
the video, otherwise we fallback to the software QImage rendered case.

Task-number: QTBUG-28017
Change-Id: I9304e0a2536f15075ae34cdd509ef24fbc18604e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-11-21 16:56:55 +01:00
Sze Howe Koh
294fa9c5df Doc: Polish the description of changes to the Qt Multimedia module
- Fix errors
    - QtMultimediaKit is renamed to QMultimedia, not QtMultimedia
    - It's not necessary to explicitly convert metadata keys into
      strings -- Q_DECLARE_METADATA takes care of that
    - The introduction of MediaPlayer and VideoOutput does not affect
      existing code
- Follow module naming guidelines at
  http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
- Shorten descriptions, improve flow
- Remove trivia

Change-Id: I3ab9bb2f8f33cbea52b5993f3060d929a7e39ef1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 09:25:35 +01:00
Andy Nichols
748684b357 AVFoundation: Fix broken requestControl logic
AVFMediaPlayerService::requestControl was returning the video output
control after the video output was created, and this could result in
unexpected behavior, as well as prematurely calling releaseControl on
the video output.  This should fix the "player" example on OS X.

Change-Id: Ie23b1176272a1f9daa5edeec856141ac52a450c7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-11-20 19:29:27 +01:00
Andras Becsi
78ce69d3dd Remove nonfunctional mediaDownloadEnabled property
I suppose this was introduced after an API freeze to try
to support on-disk buffering but since the code does not
set the GST_PLAY_FLAG_DOWNLOAD flag on the player element
the feature is not only undocumented but also nonfunctional.

If on-disk buffering is needed we should add proper
API to enable/disable it for all backends which might
be possible with Qt 5.1 the earliest.

Change-Id: I6b42a06166509db0023a3e0263ecc3a36f0d2bdb
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
2012-11-20 16:26:21 +01:00
Andras Becsi
1761c93ea8 Clean up QGstreamerPlayerSession
Remove dead code and fix compiler warnings about unused
and uninitialized variables.

Change-Id: I809d905e13234db1dbc1b9c2a0ac887c5c712fc7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-11-20 11:54:49 +01:00
Andras Becsi
30bfb777f9 Media is always set to be seekable with the gstreamer backend
Since the used mechanism for querying whether the media is seekable
was unreliable the code has been commented out and the media always
set to be seekable.
Query for seeking capabilities after the duration is known in
updateDuration() which retries to determine the duration multiple
times if unsuccessful and use gst_query_parse_seeking to check
if the media is seekable or not.

Change-Id: I141dfb1616dc59f8c92a698ddb2867f63a2656b9
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-11-20 11:54:49 +01:00
Eskil Abrahamsen Blomfeldt
d00113c6ac Merge branch 'newdocs'
Change-Id: Ia45daee9b5089c01300cf27484296809dd87302f
2012-11-20 10:24:45 +01:00
Friedemann Kleint
db8f5da7af Fix qmake warning about missing headers.
Change-Id: I41caa02e09a4e0f81e6e5cbf3590c92fa0edaf68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-19 19:38:04 +01:00
Friedemann Kleint
cc24af773b Fix syncqt-warnings.
Use include with module name for the multimedia-classes.

Change-Id: I8da1a4015a162959b604cd859aee139e246e3f6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2012-11-19 19:37:40 +01:00
Yoann Lopes
d64e246f33 WMF: Fixed color adjustment when using the EVR window control.
Change-Id: I007937b358f062cd9d3d3c02e3a0780d6b2539be
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-11-19 16:58:15 +01:00
Friedemann Kleint
6826f684e2 Fix compilation with -no-rtti.
Availability of dynamic_cast should be checked.

Task-number: QTBUG-27939
Change-Id: I24c0bca7859a45c6be89c507dadd91e7175939e0
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-11-19 13:53:23 +01:00
Robin Burchell
a73dfa7c63 Fix a possible crash in QSoundEffect.
pa_stream_cork may fail, and pa_operation_unref won't handle that gracefully, so
check the return value before unreffing.

Done-with: Vesa-Matti Hartikainen
Change-Id: If789e37a13f85487c79dd8a03a7ca3624b1412d2
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2012-11-09 11:46:04 +01:00
Sze Howe Koh
cb6a5bfda5 Doc: Put QMediaMetaData in the Qt Multimedia module
This should have been done in 13fd00199a

Change-Id: I3ce6e3ccde5f29cce3c24ee539dee6fcdff7b653
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-08 10:37:31 +01:00
Thomas McGuire
e567e098d9 Blackberry: Add a page with platform-specific documentation
Change-Id: Ic03c59523648ee25c419ec5d80122da9a717aa2d
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-07 23:20:45 +01:00
Thomas McGuire
80a6b173b3 Blackberry: Enable support for audioengine if available
BB10 ships OpenAL, so the audio engine works there.

Change-Id: I49ba6201788cb41cabb1670522dc97a36fd5f2c2
Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-07 22:38:34 +01:00
Jerome Pasion
e83d04557a Doc: Removed extra qdocconf files.
The variables and macros are in qtbase/doc/global.
Corrected QHP variables.

Change-Id: I4b5816d0d0ce7a228ed27944fb9471f390f7334d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-07 16:24:31 +01:00
Andras Becsi
7319c194cd Fix the bufferProgress property of QDeclarativeAudio
The bufferProgress property of QDeclarativeAudio is documented to hold
how much of the data buffer is currently filled, from 0.0 (empty) to
1.0 (full) and should be declared to be of type qreal instead of int.
The implementation was correctly normalizing the buffer status
percentage to the [0, 1] range but the returned value was truncated
to int in QML because of the faulty property declaration.

Change-Id: I494c9cd14f4b3ec511759ae66a50e9f96bcb1452
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
2012-11-07 16:20:22 +01:00
Sze Howe Koh
47fe5f9b39 Enable the "#include <QMultimedia>" camel-case header
Rename qtmedianamespace.h/cpp -> qmultimedia.h/cpp, and have
sync.profile generate the camel-case header during compilation.

Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)

Change-Id: Iade9ee6538970b4b9935f169eb2d9a0ea6949a95
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-06 18:20:09 +01:00
Sze Howe Koh
832c3929f2 Rename namespace QtMultimedia -> QMultimedia
Main code, examples, tests and docs updated. Method:
1. Mass find+replace "QtMultimedia::" -> "QMultimedia::"
2. Hand-modified declaration in qtmedianamespace.h/cpp

For consistency (with minimal disruption), namespaces with a "Qt" prefix
will be renamed.

Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)

Change-Id: I1fbc43a1aa91d996aa61869fcd8d05186bf7cf6d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-06 18:20:06 +01:00
Sze Howe Koh
13fd00199a Enable the "#include <QMediaMetaData>" camel-case header
Move the QMediaMetaData namespace into new files, and have sync.profile
generate the camel-case header during compilation.

For now, the new header (qmediametadata.h) is included whereever the old
one appears (qtmedianamespace.h), but an audit will be done later to
make explicit #includes only where necessary.

NOTE: Git may think that a rename has occurred.

Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)

Change-Id: I63705722a5e175628d56128888a94ae4c20879f2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-06 18:20:02 +01:00
Sze Howe Koh
00d7092163 Rename namespace QtMultimedia::MetaData -> QMediaMetaData
Main code, examples, tests and docs updated. Method:
1. Remove unused forward-declarations, "class QMediaMetaData"
2. Mass find+replace "QtMultimedia::MetaData" -> "QMediaMetaData"
3. Un-nest from the QtMultimedia namespace in qtmedianamespace.h

For consistency (with minimal disruption), namespaces with a "Qt" prefix
will be renamed. Also, Qt guidelines don't include nested namespaces
(http://lists.qt-project.org/pipermail/development/2012-October/006756.html)

Part of the Header Consistency Project
(http://lists.qt-project.org/pipermail/development/2012-October/007570.html)

Change-Id: I40e59c1cf58c1792725e735e9285c51bc5f226b1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-06 18:19:57 +01:00