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>
Remove dead code and fix compiler warnings about unused
and uninitialized variables.
Change-Id: I809d905e13234db1dbc1b9c2a0ac887c5c712fc7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
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>
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>
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>
Fix build on Mac 10.6 (32bits)
Task-number: QTBUG-27179
Change-Id: If0b83605650966bf801b5fbb06d02c113d0b4214
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
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>
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>
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>
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>
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>
An display invalid rect is used for invisible QML
items.
Change-Id: Ifb2a25f1c5387ab8cef1359ac6c3e2f90a42cd10
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
This makes diagnosing problems remotely a lot easier.
Change-Id: I23434af5e88fb8dcdb154be34f12276eba652d4f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- notify signal wasn't being emitted enough.
- range checking on processedUSecs extended.
Change-Id: Icfa1f3b364a7e0f9d3f37abd8dc5ed0c1e22f923
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
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>