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>
Added an introduction, and fix some formatting.
Change-Id: Ic23416cf1113895a1895a53f310530a83a9013d3
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
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>
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>
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>
- 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>
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>
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>
Use include with module name for the multimedia-classes.
Change-Id: I8da1a4015a162959b604cd859aee139e246e3f6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Availability of dynamic_cast should be checked.
Task-number: QTBUG-27939
Change-Id: I24c0bca7859a45c6be89c507dadd91e7175939e0
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
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>
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>
The variables and macros are in qtbase/doc/global.
Corrected QHP variables.
Change-Id: I4b5816d0d0ce7a228ed27944fb9471f390f7334d
Reviewed-by: Martin Smith <martin.smith@digia.com>
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>
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>
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>
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>
the code relied on the now removed qmake misfeature of adding DEPENDPATH
to VPATH.
Change-Id: I3bea30a25776eb945fbd65f9e9811c91d882893f
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
As of Qt5, this macro is defined to be empty; simply get rid of these leftovers.
Change-Id: Id24056c0afd013904b1e098dc49e502038fd77a4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The QML list interface was changed, so that there is now a read only
constructor and the default properties are removed. This is because the
original interface was very runtime centric, like other parts in QML.
The new interface was changed for the needs of the QML designer and
debugger.
Task-number: QTBUG-9390
Change-Id: Ia61a2457432b4fc5c0cf440eeebd9d3a6c4c6463
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@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>
All module documentation must use the global HTML template and style
sheet in qtbase\doc\global.
Change-Id: Ia7db9373f2291052924f433223a128ef4c2c3df8
Reviewed-by: Jerome Pasion <jerome.pasion@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>
Use qt_windows.h, provide interfaces and UIDs missing
in stock MinGW.
Task-number: QTBUG-23829
Change-Id: I79ed902bb7636c751df7607f6059a7de237acb31
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Otherwise qdoc will fail to find the index file when looking for
qtbase/doc/qtmodulename/qtmodulename.index.
Change-Id: I116b09350f157a42df6dbdb9d3029f4917f59299
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The global files now live in qtbase only, and are made available to the
other modules via the $QT_INSTALL_DOCS variable.
We now use QMAKE_DOCS to trigger doc generation instead of rolling our
own rules for qdoc.
Change-Id: I900029d71c305a1f269cddeeb0e05c524d933834
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
On OS X when running in QtQuick 2 examples in debug mode we fail an
assert because we try to set a dynamic property using
QObject::setProperty from the render thread, while the object exists in
the main thread. Now we call setProperty from the correct thread.
Change-Id: I3f26ead0f68fadcded472bf5c9014a4025f0a03e
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Jason Barron <jason.barron@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>
They can be useful to some of the audio plugins.
Change-Id: I10856c104770ed57c72b674829e3922b5067a822
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
If we're in the last loop, it is not necessary to provide a full period
on read. Just provide the remaining of the data and hit the end of the
stream by returning less than requested, otherwise we potentially
generate some garbage noise.
Change-Id: I9d3a632ddc0c3289957c9f876d5dbe2999b50ebd
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.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>