Commit Graph

342 Commits

Author SHA1 Message Date
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
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
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
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
Oswald Buddenhagen
0affd9023f adjust to qt_plugin.prf changes
DESTDIR and INSTALLS+=target are set up automatically now. note that in
the qmediaserviceprovider test we must override that.
also, TARGET munging is done automatically.

Change-Id: Ida5d5601e22b099134d1ec07ace713e0d0986bd6
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-05 14:01:31 +01:00
Maurice Kalinowski
371292f288 add install path to rule
fix installation into prefix directory.

Change-Id: I6838589e2e186d4f23d240e0e7c2772a46af3a9d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-10-22 08:55:39 +02:00
Caroline Chao
8907cecc0d Fix for QuickTime 7 media player backend
Fix build on Mac 10.6 (32bits)

Task-number: QTBUG-27179

Change-Id: If0b83605650966bf801b5fbb06d02c113d0b4214
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-10-19 15:45:36 +02:00
Andy Nichols
700b4cdf42 Add MediaPlayer support to AVFoundation plugin
This plugin would be used on Mac 10.7+ where without the QuickTime C API
our QT7 media player performance was crippled.

Change-Id: Iaadb1990a8f63393c4cd02d096624e0fed42b40f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jason Barron <jason.barron@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2012-10-19 14:54:27 +02:00
Yoann Lopes
abcc107731 Make QGstreamerPlayerSession 'VAAPI-aware'.
At the moment the GStreamer player pipeline is not setup properly when
the VAAPI plugin is available, resulting in no video being shown.

Added 'video/x-surface' as one of the default raw formats for the
decodebin.
Don't use vaapidecode when the video sink is not compatible.

This is a preliminary patch to support VAAPI. In the current state
vaapidecode will never be used as none of our video sinks support the
video/x-surface format.

Change-Id: I39f339b483d4052dd1e29c2b0ef06343d5670224
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2012-10-17 15:28:16 +02:00
Friedemann Kleint
bce5525cbb QtMultimedia: Fix compiler warnings.
Change-Id: I5783b1f6dce645fb473e7d3da0911dbb40e3951b
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-10-17 13:40:18 +02:00
Dmytro Poplavskiy
ce135bff83 Fixed AVF camera backend build with namespaced Qt
Objective-C declarations may only appear in global
scope, moved them out of Qt namespace

Change-Id: Icb136be75f544e5929ac28f0ba0681211b81a983
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-09 10:50:32 +02:00
Kevin Ottens
690b4c4978 Blackberry: Move the mediaservice plugin in a subdirectory
Move the current platform plugin content in a subdir in order to make
room for several plugins (at least an extra one will be needed for the
audio type).

Change-Id: If17d6a464e36014fbefda52ddb0e8f8a58697f48
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-10-08 08:37:22 +02:00
Iikka Eklund
dcbbad869e Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: Id77334cfb15de096941c88e32d04ca07b4eb4709
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-09-24 09:05:51 +02:00
Romain Pokrzywka
4141cf2772 Fix gstreamer plugin build for platforms with qreal -> float
simple case of qFuzzyCompare with double and float.
I kept m_volume as double rather than changing it to float, to mimic
the behavior of the mute variable.

Change-Id: Ife2f58f60738215ebd430ba94bef885c09994e72
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
2012-09-14 19:29:21 +02:00
Oswald Buddenhagen
946ff68c42 remove references to qMemSet & qMemCopy
Change-Id: Ie6e24798368305fb1eaa01d0e5fccdb5bb5aa33b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-12 12:37:46 +02:00
Oswald Buddenhagen
83b79659b6 centralize load(qt_build_config)s in .qmake.conf
Change-Id: Ie07a32729ec8679f799613f8f6ccdd9c1b6bf7c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-12 12:37:43 +02:00
Thomas McGuire
d62b1c5213 Blackberry: Add Q_DECL_OVERRIDE keywords
Change-Id: Ibd6cf76ac41e16cbf65182994d68eb81c315f0af
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-09-06 14:56:40 +02:00
Thomas McGuire
bce8b5486d Hide the video overlay when the QML element is hidden
An display invalid rect is used for invisible QML
items.

Change-Id: Ifb2a25f1c5387ab8cef1359ac6c3e2f90a42cd10
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
2012-09-06 14:56:34 +02:00
Thomas McGuire
06302999da Blackberry: Use debug output for errors by default
This makes diagnosing problems remotely a lot easier.

Change-Id: I23434af5e88fb8dcdb154be34f12276eba652d4f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-09-05 13:53:07 +02:00
Jason Barron
bc2bce3629 WMF Backend: Fix crash in MFPlayerService::releaseControl.
When releasing a video render control or a video window control, we
were deleting the object pointed to by the 'control' pointer, but
were not setting this pointer to 0 which left it dangling. Shortly
after we tried to cast this dangling pointer to another type which
crashed. The solution is just to return after deleting the control.

Change-Id: I9ab672c8b86a13af889d87c76141e6b8db5b74a7
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-09-04 11:31:16 +02:00
Dmytro Poplavskiy
37b872da9e Initial implementation of Mac camera backend
Based on AVFoundation framework

Change-Id: If4cfd105a592f50b42606624548b9ffc870e3e47
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-27 09:11:06 +02:00
Dmytro Poplavskiy
09a7fda971 Re-enabled CIImage based gfx video item on Mac
Also prefer CoreImageHandle to GLTextureHandle
in QuickTime player backend, to avoid unnecessary
copy via FBO.

Change-Id: Id5aa039c438378b7bbf816b7845b05574683c471
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-27 07:59:42 +02:00
Oswald Buddenhagen
921397e695 qt_module is deprecated, use qt_build_config
Change-Id: Idbc3c1d35b859317ac1128c4dc3754996e816911
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2012-08-06 04:02:29 +02:00
Lev Zelenskiy
eedfcdacce Change the way camera format is selected.
Build list of supported formats before starting directshow graph.
Select first available format supported by both device and surface.
Force DirectShow to do color space conversion instead of using QImage.

Change-Id: I8f946cc7c2693eea0135981e899003b453bd8784
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-08-06 04:02:04 +02:00
Lev Zelenskiy
42cdb92543 Use moniker display name for device string.
Moniker names are unique, while device friendly names are not.

Change-Id: Ic3e842e49d04c502cf5ad1fc40f89db657f0401a
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-08-03 06:01:13 +02:00
Thiago Macieira
78f4577a2d Use QStandardPaths instead of QDesktopServices
The use of QDesktopServices for getting paths is deprecated in favour
of QStandardPaths.

Change-Id: I93c4a15dd65962d668c90e78f3f33f357e2450bb
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-08-02 07:28:40 +02:00
Thomas McGuire
cfa44b12be Blackberry: Assert that we are in detached state
Change-Id: I744d542374c72318b548407cd3da084449822e92
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-30 15:28:36 +02:00
Thomas McGuire
5ce50b5fc7 Blackberry: Fix spurious position udpates in playlists
Change-Id: I2652cab793034e55a4eb7e52bb534c22983d9517
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-30 15:27:31 +02:00
Thomas McGuire
637768d019 Blackberry: Fix playlists not advancing to the next track.
The playlist watches for state changes to the EndOfMedia state, which
wasn't used in the plugin yet.

Change-Id: Ib2a014177df2273cd46baaef1392a73e54daf06c
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-30 15:27:15 +02:00
Thomas McGuire
37ee0912d6 Blackberry: Fix playback from certain URLs
Previously, playback from URLs of the form "file:path/to/file" did not
work.

Change-Id: Iecd293d09f7c448438dbf259710c0aab218c2591
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-30 15:27:06 +02:00
Lev Zelenskiy
d272782da9 Fixed: use selected audio input device.
Change-Id: I6bde75bff93160169f9c28ad658db40b03c266f4
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-07-30 08:05:49 +02:00
Lev Zelenskiy
8b9b5ba637 Audio probes for AudioCapture plugin.
Change-Id: Iea37d455ee53c9d055af4f9ca62d8a9ea241d31f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
2012-07-30 08:05:44 +02:00
Thomas McGuire
dfb2493aa2 Blackberry: Fix case of setting multiple media files
Abort the singleshot timer when the media is changed, as otherwise
continueLoadMedia() was called multiple times.
Also, don't use a singleshot timer when setting a null media.

Change-Id: I19d4838c9c70e7fcaa790c223cb19ac3e0246e6b
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-28 17:21:43 +02:00
Thomas McGuire
93823c2251 Blackberry: Fix metadata reader for more recent OS versions
Change-Id: I33dae07736eb071f9db3e08c5342921a655ddd57
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-28 13:05:30 +02:00
Lukas Geyer
db4576fa02 Fix compilation issue with MinGW (disables the usage of strsafe.h).
Recent versions of MinGW include strsafe.h in dshow.h.
strsafe.h undefines all non-safe string functions, including
vsprintf and others, to prevent their usage. This causes
QString and others to fail. Defining NO_DSHOW_STRSAFE before
including dshow.h prevents this behaviour.

Change-Id: I012fecbabc5c11900486c1dfdc970a00613ef6f7
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-25 03:27:14 +02:00
Thomas McGuire
ace2c75167 Blackberry: Compile with lastest event filter API changes
Change-Id: I4eb7ddf050cd8ef34df4547482f53f7372584221
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: David Faure <faure@kde.org>
2012-07-24 10:12:35 +02:00
Dmytro Poplavskiy
ae728a4b1e Replaced endpoint control with audio input and output controls
Change-Id: I981aabe39d106ced4ee1240db9e5b653c6fa5e91
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-24 09:49:47 +02:00
Dmytro Poplavskiy
36ff2fe85e Added volume property to QMediaRecorder
Change-Id: I19f727107651c9f640ca1c010a3764f05aef8820
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-19 09:08:53 +02:00
Dmytro Poplavskiy
f844d6d9da Gst player backend: removed fifo based stream playback fallback
It was used on systems without appsrc element support,
but since the appsrc is part of base elements for a long,
thre is a very little value in fifo based fallback.

Change-Id: I162233cbb55821443c892f00ebd29c0498ae7152
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-19 09:08:50 +02:00
Lev Zelenskiy
b7f4b2decb Videoprobe implementation for wmf backend.
Change-Id: Ia597af428764229a76c0059ae7a57eb302aee63d
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-19 09:08:45 +02:00
Dmytro Poplavskiy
864ab3a39a Camerabin camera service: configure default video settings
encodebin doesn't like the encoding profile with ANY
container caps, if container and codecs are not specified
try to find a commonly used supported combination

Change-Id: Icbde042bd17d9682112fb8bbb8f0d506f6ddebe1
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-16 07:18:15 +02:00
Dmytro Poplavskiy
b6a8c713bc Updated the camerabin2 based camera with QtMultimedia changes
Moved it to the separate plugin as the rest of gstreamer based services;
Updated with libqgsttools_p changes;
Implemented QMediaRecorder::status property;
Made gst_photography dependency optional,
it's not always available on desktop;
Added video recording case to auto integration test;
Moved backend implementation into qt namespace

Task-number: QTBUG-26046
Change-Id: Iacfc1a6e263a4c0201d5eb28d04c960b87a230c0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-16 07:18:12 +02:00
Lev Zelenskiy
afe12ea4de Audioprobe implementation for wmf backend.
Change-Id: I63af91af870cb92c838c1ab5d4752815aa60a03f
Reviewed-by: Ling Hu <ling.hu@nokia.com>
2012-07-11 08:01:45 +02:00
Ling Hu
48c945bac3 Added wmf implementation for QAudioDecoderControl
Change-Id: Ib6d5c93577bd55995a9ae51e757156149890f15d
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-11 06:56:18 +02:00
Kurt Korbatits
51d7737c19 Fixed qaudioinput unit test with pulseaudio backend
- notify signal wasn't being emitted enough.
- range checking on processedUSecs extended.

Change-Id: Icfa1f3b364a7e0f9d3f37abd8dc5ed0c1e22f923
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-11 06:31:30 +02:00
Mithra Pattison
53fdcca366 Delete obsolete class methods and update related code
Delete obsolete methods from QAudioFormat and QAudioDeviceInfo
and update code that relied on the obsolete methods.

Change-Id: I007e36375a45399b1d5a289341bc5d5a05dc68cc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-10 08:26:04 +02:00
Thomas McGuire
9d429a4416 Blackberry: Fix erratic video resize behaviour
Change-Id: I699e7f81abb73e75eca2ddda22c7e5f2e852fcd5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-10 03:27:57 +02:00
Dmytro Poplavskiy
ed7f02490d Gst capture: use QDesktopServices for default storage location
Change-Id: Icff46f2dc88572beab2eb835e24424f15ff05616
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-09 04:50:09 +02:00
Ling Hu
7fb95fe3e2 Fix a potential leak in wmf
Change-Id: I4fc039aeaf00a02122d5e11867c73223cc2ebbc1
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-07-05 06:55:22 +02:00