Commit Graph

649 Commits

Author SHA1 Message Date
Wouter Huysentruit
da55ada028 Fix: Bug fix in determination of scanline direction
YUV and other compressed frame formats are always TopToBottom. Only for uncompressed RGB formats the sign of their height is used to indicate the scanline direction.

Change-Id: I6474783583672861eeeb538b79d14ee3d6995f59
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
2013-01-14 09:05:20 +01:00
Wouter Huysentruit
9a9293df5a Fix: Only flip video once for BottomToTop scanline directions
Top & bottom of the texture coordinates are already flipped for BottomToTop scanline directions.
So there is no need to flip top & bottom of the vertex coordinates too.

Change-Id: I221b94afb65c194bdedb787414e6a436b8095fb2
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
2013-01-14 09:05:15 +01:00
Sergio Ahumada
c6b54f3521 doc: Fix namespace version to 5.0.1 for qhp documentation
Change-Id: Ie2d0aeff6d8b63ae9d18896320557d28cc9adb68
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-12 17:48:39 +01:00
Oswald Buddenhagen
4760e1fb02 make use of qtHaveModule()
Change-Id: I14da5455b7dd4681254e1652395df5f5c65746bd
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-11 15:15:05 +01:00
Sergio Ahumada
399500f87e Update copyright year in Digia's license headers
Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 17:56:01 +01:00
Yoann Lopes
2d54a14ac1 WMF: added more metadata keys (on Windows 7 and later).
Change-Id: I01eebd0582d33eb3d581176bba2a84fa75db2463
Reviewed-by: Jason Barron <jason@cutehacks.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-01-08 19:56:43 +01:00
Morten Johan Sørvig
77494db8d2 Compile in 32-bit mode.
CGRect == NSRect only in 64-bit mode.

Don't add -framework QuickTime based on the host arch,
use QT_ARCH instead.

Change-Id: I829bc1bcfe37f70a07e8c55a5bc7dee90aaa981a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-08 14:44:41 +01:00
Oswald Buddenhagen
c414890d85 remove leftover code from multimediawidgets carve-out
Change-Id: Ibb347193761a94ce4a309eddb75af37b73dd9be6
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
2013-01-08 11:10:02 +01:00
Yoann Lopes
60eb27dfef WMF: release video controls before releasing the session
For the VideoRendererControl, also stop the video surface at the same
time.
This fixes a crash when changing video.

Change-Id: I49484f8b277c345dafb3e5947cf5d23df15546f3
Reviewed-by: Jason Barron <jason@cutehacks.com>
2013-01-07 09:34:43 +01:00
Yoann Lopes
6eb192f047 WMF: Fixed uninitialized member variable.
Change-Id: Iee60d6eee7bbf9dd7804216f4a49c4549f41ba5a
Reviewed-by: Jason Barron <jason@cutehacks.com>
2013-01-07 04:57:50 +01:00
Yoann Lopes
73200f5464 WMF: re-enabled video probes and made it more robust.
Fixed the way the custom MF Transform (getting the frames) works:
- Recreate it whenever we load a new media
- During media type negotiation between nodes, the MFT should support
  the same types as the video sink supports
- Allow input and output types to be changed as many times as needed,
  otherwise the topology cannot be resolved in some cases

Change-Id: I7ca77e1a3dee83643f1a97f2e6ada9c5c0e88309
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-07 04:57:20 +01:00
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