Yoann Lopes [Wed, 2 Jul 2014 15:59:19 +0000 (17:59 +0200)]
Fix documentation for QML Camera's cameraStateChanged signal.
The signal name is 'cameraStateChanged' but was documented as
'stateChanged'.
Change-Id: I80279613b55105a925acafc21f67c4a0917906af
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 12 Jun 2014 16:57:54 +0000 (18:57 +0200)]
Fix AudioOutput example when no audio devices are available.
Don't try to generate audio data with an invalid QAudioFormat, which
can happen when no audio devices are available.
Change-Id: I4de82dbf64def55fee21cf63ef99888a8084bd95
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Dyami Caliri [Tue, 17 Jun 2014 14:45:34 +0000 (07:45 -0700)]
QAlsaAudioOutput remove async callback.
The async callback mechanism in ALSA is prone to deadlock.
There was already a timer fallback mechanism that appears to be
sufficient.
Task-number: QTBUG-39677
Change-Id: I44b59e6b16eea1c9c4eeb6967335ce4f468cf3c4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Dyami Caliri [Wed, 18 Jun 2014 15:44:33 +0000 (08:44 -0700)]
QAlsaAudioInput remove unused async_handler member.
The member 'ahandler' was not used and will not be used. Removing to
avoid confusion.
Change-Id: I35f3659a650f109c564c6308573a211f324e5411
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Tue, 1 Jul 2014 10:34:58 +0000 (12:34 +0200)]
GStreamer: correctly handle URLs from QMediaRecorder::setOutputLocation
Task-number: QTBUG-39949
Change-Id: Idf575b126bd3531655c8abda55c9e04149a4fb85
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Yoann Lopes [Tue, 17 Jun 2014 12:28:20 +0000 (14:28 +0200)]
GStreamer: fix looping a media when it's loaded from qrc.
When playing a media for the second time, the backend resets the
the media by calling setMedia() with the same value.
The problem is that setMedia() clears the previous media, which is
a QFile in this case and is the one we are trying to set again...
The QFile was deleted, causing the current media to be a dangling
pointer.
Change-Id: I6854b40212fd084d1e31e756a040a02ad103b7ba
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Nico Vertriest [Fri, 27 Jun 2014 12:49:13 +0000 (14:49 +0200)]
Doc: link errors
Task-number: QTBUG-34749
Change-Id: I1d107a8700e03ac550fd6611d80a985a36558b22
Reviewed-by: Martin Smith <martin.smith@digia.com>
Yoann Lopes [Tue, 24 Jun 2014 15:08:03 +0000 (17:08 +0200)]
Android: fix crash when stopping the camera while a recording is active
When unloading the camera, any active recording is automatically
stopped, which in turn triggers the viewfinder to be restarted...
We don't try anymore to restart the viewfinder after stopping recording
unless the camera is still active.
Change-Id: I77e4e3fc8d7116ac660d8bb23f6c400ebed4ffed
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Tue, 24 Jun 2014 15:04:48 +0000 (17:04 +0200)]
Android: fix registering recorded videos with the Android media scanner
Change-Id: I6dfc4e13b8a0bccb1bcfead728f7e1ddb7b58bb4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 20 Jun 2014 08:56:59 +0000 (10:56 +0200)]
Android: correctly update camera focus zones.
When setting a null custom focus point, we were correctly resetting
the focus zones but we were not emitting the focusZonesChanged signal,
causing the QML Camera to not update its focus zones.
Change-Id: I59940c4cd2979fa08dc26566dc0f6d19e503f64f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Frederik Gladhorn [Wed, 25 Jun 2014 08:26:32 +0000 (10:26 +0200)]
Merge remote-tracking branch 'origin/5.3.1' into 5.3
Change-Id: I6abb3fad4e03323919a9ee4dad62082784ac6160
Yoann Lopes [Wed, 18 Jun 2014 14:42:19 +0000 (16:42 +0200)]
Add changelog for 5.3.1.
Change-Id: I197a9c6a0fc623bdb3eafaa5fe970cb6a44546b4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Oswald Buddenhagen [Tue, 17 Jun 2014 22:36:14 +0000 (00:36 +0200)]
Bump version
Change-Id: I8af8aab3257d70270318a152a73380aebdd41a41
Yoann Lopes [Fri, 13 Jun 2014 14:48:36 +0000 (16:48 +0200)]
Improved audiooutput and audioinput examples.
Always show the default audio device first in the drop-down box.
Change-Id: Icbafa9e316fd330fe7a9801a8e2efef6f20ff054
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Sergio Ahumada [Wed, 11 Jun 2014 08:05:00 +0000 (10:05 +0200)]
Merge remote-tracking branch 'origin/stable' into 5.3
Change-Id: I689554fb6e47b8183013de271a776909a05398dc
Yoann Lopes [Tue, 3 Jun 2014 14:50:56 +0000 (16:50 +0200)]
Make multimedia QML types available for the 5.3 import version.
At least one type needs to be registered with the 5.3 version number to
make it known to the QML engine.
Change-Id: Iacfe62650b4194fbb89135fef7cb148309227ce2
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Yoann Lopes [Tue, 3 Jun 2014 14:32:46 +0000 (16:32 +0200)]
Fix static initialization order fiasco in some plugins.
Some static variables were initialized using QMediaMetaData
values, which are also statically initialized.
Task-number: QTBUG-39202
Change-Id: Ibedc0a77d96cdfa575aad122c4ec654e6830e1f7
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Christian Strømme [Wed, 4 Jun 2014 20:30:05 +0000 (22:30 +0200)]
Android: Use a file descriptor for all local media files.
Using a fd is more consistent across different Android versions and
also works with files that are in the applications private storage.
Task-number: QTBUG-39346
Change-Id: I462822459d12d7842d15f1cb7caafc75c18fe32c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Tue, 20 May 2014 13:52:54 +0000 (15:52 +0200)]
Improve default audio plugin selection.
When no audio plugin is marked as default, use the first plugin
available.
Change-Id: Ide8db0fe55f43c4881c24505c1e2821b0fc176f6
Reviewed-by: Dyami Caliri <dyami@dragonframe.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 16 May 2014 12:17:03 +0000 (14:17 +0200)]
Android: don't start camera preview until the viewfinder is ready.
If no video output is set for a camera, don't try to start the camera
and report an error.
If the video output is not ready, delay starting until it is.
Change-Id: Id08e31a4e795b71ac036a6532e9499ca5670d790
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 16 May 2014 14:47:41 +0000 (16:47 +0200)]
Android: fix media player's volume.
- Preserve the volume when changing the current media.
- Don't actually set a new volume when the media player is muted.
Intead, save the value to apply it when setMuted(false) is called.
Change-Id: I829eb280406ea35ff82a0c2638b2d19cf1d90643
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Topi Reinio [Wed, 4 Jun 2014 09:08:13 +0000 (11:08 +0200)]
Doc: Remove comment about preliminary API for Qt 5.0
Task-number: QTBUG-39195
Change-Id: I193321a29d06760e4ad5aa2eaca99d98b2e1f65a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Christian Strømme [Mon, 12 May 2014 12:38:09 +0000 (14:38 +0200)]
Android: Don't expose java calls in the control classes.
Makes the abstraction more clear.
Change-Id: Ia9a7b0b157e1182158cd26b62775d13f6c5e1727
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Thu, 15 May 2014 11:57:34 +0000 (13:57 +0200)]
Make it possible to build multimedia for embedded Android
Change-Id: I3400b18379242ea4d1b4f94f5da6b60c64d551e4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Fri, 9 May 2014 15:32:28 +0000 (17:32 +0200)]
Android: Rename the wrapper classes
Change-Id: I2ce15c8475da3186f128ba59b7c58f9b5b0a67e1
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Mon, 26 May 2014 14:20:49 +0000 (16:20 +0200)]
Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.
Task-number: QTBUG-39131
Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Wed, 21 May 2014 10:47:03 +0000 (12:47 +0200)]
OpenSL: don't try to enqueue new buffers when the buffer queue is full.
It could lead to corrupted sound since we were overwritting buffers
that weren't played yet.
Task-number: QTBUG-39015
Change-Id: I4c015c5383b813955998145d6316acc8c22f19a3
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 19 May 2014 12:09:23 +0000 (14:09 +0200)]
Remove C++11 code in iMX6 video node plugin.
Use Q_FOREACH instead of C++11 range-based For loops.
Task-number: QTBUG-38900
Change-Id: I2b9f8444f2ac3ae71811112244c687cab79753c9
Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Yoann Lopes [Mon, 19 May 2014 10:48:59 +0000 (12:48 +0200)]
Android: fix calling start() and stop() on the video surface.
We restart the surface when the frame size changes, though we were
not using the correct function to get the surface's current frame size.
This was causing start() and stop() to be called for every frame.
Change-Id: I8ff4b4852cb7fcc92ac3b1b3ad7bf991d7bddc6b
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Christian Strømme [Fri, 16 May 2014 12:53:13 +0000 (14:53 +0200)]
Android: Fix loading from qrc
On Android < 4.1 our temporary file is discarded without checking the
content. With this change we just open the file and pass the fd to the
mediaplayer instead.
Change-Id: I9233822725d8987c572b2d0b598721cee886de80
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Mon, 19 May 2014 12:34:57 +0000 (14:34 +0200)]
DirectShow: remove debug output.
Task-number: QTBUG-38924
Change-Id: Ibc08fd99f6eb10035e4d7da963d4d384012bbdbf
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Yoann Lopes [Wed, 14 May 2014 16:45:37 +0000 (18:45 +0200)]
WMF: fix video frames' viewport.
It was not taken into account at all.
Change-Id: I4ce85aba214cb4d89dcd018b1616a2a38094b5a6
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Mon, 12 May 2014 15:21:52 +0000 (17:21 +0200)]
Android: fix QMediaPlayer::bufferStatus value.
It was returning the buffering progress for the whole media, which is
not what is expected according to the documentation.
It should return instead how much the playback buffer is filled. This
information is not available on Android so we simply return 100% when
the status is BufferedMedia or BufferingMedia, 0% otherwise.
Change-Id: I9fb55a9317948ba9375291a57bbf100f186382a2
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Andrew den Exter [Wed, 14 May 2014 04:18:16 +0000 (04:18 +0000)]
Fix QSGVideoNode rendering of frames with stride != width.
Adjust texture coordinates to not render padding at the end of lines,
and better calculate the stride of UV planes.
Task-number: QTBUG-38218
Task-number: QTBUG-30447
Change-Id: I7b7577979719c48460b838f7dcc89b9d17741f79
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Mon, 12 May 2014 14:50:30 +0000 (16:50 +0200)]
Improve documentation for the QMediaPlayer::bufferStatus property.
The corresponding properties in the Audio and MediaPlayer QML elements
are also updated.
Change-Id: I7104d274d431e7712db2f045c375756e8c2ac03a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Sun, 26 May 2013 07:42:43 +0000 (15:42 +0800)]
Doc: Copy snippets from the Qt Multimedia module
Extract a compilable subsection of...
- src/multimedia/doc/snippets/multimedia-snippets/camera.cpp
- src/multimedia/doc/snippets/multimedia-snippets/video.cpp
...into the snippet folder searched by:
- src/multimediawidgets/qcameraviewfinder.cpp
- src/multimediawidgets/qgraphicsvideoitem.cpp
- src/multimediawidgets/qvideowidget.cpp
- src/multimediawidgets/qvideowidgetcontrol.cpp
Change-Id: Ica3c21b65bc57d5686a594afca09e771cc376cc0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Christian Strømme [Wed, 30 Apr 2014 10:31:21 +0000 (12:31 +0200)]
Android: Fix namespace usage.
Make it possible to build multimedia with a Qt namespace
Change-Id: Ibaeaf7edb38f8d784b8d0fcb9a26ca712488c23b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Sze Howe Koh [Thu, 8 May 2014 15:47:38 +0000 (23:47 +0800)]
Doc: Clean up references to Qt System Info
The module is not released yet; the current documentation is misleading.
Change-Id: Ia20ac8e3504942f6f60b94264f3a12497e09da24
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 9 May 2014 13:31:33 +0000 (15:31 +0200)]
PLS parser: Don't translate entries.
Each entry in a PLS file uses the keywords 'File', 'Title' and 'Length'
in English, it should not be translated to the user's locale...
Task-number: QTBUG-38755
Change-Id: Ibd5bee18a856b3ebc1fdb177241db7a39b65d264
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Tue, 29 Apr 2014 15:30:21 +0000 (17:30 +0200)]
GStreamer: disable clock syncing in video sink for live sources.
Task-number: QTBUG-38465
Change-Id: Icdf2df36b9b3c09dd047e60ac24e221a3d233c6f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Wed, 9 Apr 2014 17:13:45 +0000 (19:13 +0200)]
Moved QMediaStorageLocation out of the Android plugin.
It's now a private API in the QtMultimedia library in order to be
accessible in other plugins.
Change-Id: I63541de1e8c540cebc210f9037646ce74d866c6f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Frederik Gladhorn [Thu, 1 May 2014 10:46:28 +0000 (12:46 +0200)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I900412b4c6f894dec27b8158d498b2ff18404ced
Niels Weber [Tue, 22 Apr 2014 10:13:23 +0000 (12:13 +0200)]
Fix documentation of qmlvideofx example
Make the documentation fit to the current state of the example.
Task-number: QTBUG-38121
Change-Id: I3379e3328d07ef8bcdb35a5e3821ab194c3443c4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Niels Weber [Mon, 28 Apr 2014 08:52:33 +0000 (10:52 +0200)]
Handle resizing of mainwindow better
Task-number: QTBUG-38121
Change-Id: I877fd5c626418a91850d43de31e71351c14eef25
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Niels Weber [Mon, 28 Apr 2014 07:39:16 +0000 (09:39 +0200)]
Selecting something now closes menu
On a closed menu, the text is now hidden.
Task-number: QTBUG-38121
Change-Id: I305fd4f24768115ed21495857cce672d8cbd2135
Reviewed-by: Petref Saraci <petref.saraci@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Niels Weber [Mon, 28 Apr 2014 07:27:03 +0000 (09:27 +0200)]
Add missing background for effect selection list.
Also remove highlight and fix button text color.
Make Menu animation faster.
Task-number: QTBUG-38121
Change-Id: I7d5868d370a8dc7925cee5e694ae043970c569d9
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Andreas Holzammer [Fri, 25 Apr 2014 08:28:16 +0000 (10:28 +0200)]
[QNX] Introduce env variable for default audio sink
Make it possible to change the default audio sink
via a environment variable.
Change-Id: Id0e14318fc99a896b8a41196941b758a31d23600
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Fabian Bumberger [Wed, 23 Apr 2014 15:49:22 +0000 (17:49 +0200)]
Fix documentation error
Change-Id: I98f3e35677b5e07ea35898caec3f241b045b5033
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Jani Heikkinen [Wed, 23 Apr 2014 09:45:21 +0000 (12:45 +0300)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ieb521fb1e9f297a167eea19c771cb5915c01df97
Sergio Ahumada [Thu, 17 Apr 2014 15:24:25 +0000 (17:24 +0200)]
Bump MODULE_VERSION to 5.3.1
Change-Id: Ie88b34ee769ab3abbd0a5ab0fd8b7938475916ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Niels Weber [Mon, 14 Apr 2014 16:36:40 +0000 (18:36 +0200)]
Rework qmlvideofx example
Task-number: QTBUG-38121
Change-Id: If06ba6ce2c66b4d735baaeb56e004861c62ea533
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
Christian Strømme [Thu, 3 Apr 2014 16:09:48 +0000 (18:09 +0200)]
Android: Camera code clean-up
Change-Id: Ib400afde12067764c3dcc0f44e40ddc1abb3012f
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Thu, 3 Apr 2014 15:26:05 +0000 (17:26 +0200)]
Android: Use QMutexLock in camera callbacks.
We should not release the locks before the native callbacks returns.
Change-Id: Ia2691f6c5be66a3dcf371e48e3bac7498b401833
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Jerome Pasion [Wed, 9 Apr 2014 15:02:25 +0000 (17:02 +0200)]
Doc: Improved example documentation
-added instructions on how to run the example
(using \include to insert a section from qtbase/doc/global/)
-updated copyright year
-removed links to Qt 4 API
-rearranged some of the sections
-created links from the example pages to Qt Multimedia
-fixed QDoc warnings related to the example pages
Task-number: QTBUG-33597
Change-Id: Id45ce5cbd40dbfa384abd7260a316f6f6837c186
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Christian Strømme [Mon, 7 Apr 2014 12:04:49 +0000 (14:04 +0200)]
Android: Release the surface texture when not in use
With some Android versions the preview texture is released when the
application is suspended. If we don't release the texture in our
code, the preview will be empty when the application resumes.
Task-number: QTBUG-38165
Change-Id: I72244727081d8f94ee5f6cb0ab660ca59f4bb2de
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Mon, 7 Apr 2014 13:13:42 +0000 (15:13 +0200)]
Android: Use Q_GLOBAL_STATIC instead of a static QMap
Change-Id: I7b65e0874051c4ef504914a0bd66e8471ec34fa7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Wed, 9 Apr 2014 13:15:03 +0000 (15:15 +0200)]
Android: Fix the signature for setOnInfoListener.
The argument part of the signature should be OnInfoListener and not
OnErrorListener.
Change-Id: I735fe1b0338b66c2f729254ed9e3251136781cbe
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Tue, 8 Apr 2014 16:50:23 +0000 (18:50 +0200)]
Fix some MediaPlayer properties returning wrong values.
Once the QML component is complete, don't cache any value anymore and
always ask the backend for the actual value.
Change-Id: I2c3ad55618e0532f713cfcc8258a70a1114fc975
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Tue, 25 Mar 2014 14:44:54 +0000 (15:44 +0100)]
WMF: improve changing playback rate on a media player.
When going back to normal rate after playing in fast forward (greater
than 2x), playback seemed frozen for some amount of time (up to 8
seconds).
When playing in fast forward, only key frames are shown, ignoring all
the others. When returning to a normal rate, the source reader will
usually be pointing to a key frame in the future compared to the
player clock position, meaning that all the frames in between won't be
shown until the player clock catches up with the latest key frame that
was read.
When leaving fast-forward, we now reset the position on the player to
force the source reader to point back to the frame at the current clock
position and avoid the seamingly frozen playback.
Also, emit playbackRateChanged() signal when changing the playback
rate.
Change-Id: I4f04f0f250083378e94fb4a47f9f917abeaaf24e
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 21 Mar 2014 18:10:23 +0000 (19:10 +0100)]
GStreamer: correctly get metadata from live sources.
For some unknown reason, "iradio-mode" was set to false on the
source element, which was preventing new metadata to be received
when playing live streams.
Task-number: QTBUG-37640
Change-Id: Ib90297e81e26a99c3dfc753bdcd5cbd1ee2f6764
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 4 Apr 2014 13:09:03 +0000 (15:09 +0200)]
WMF: more reliable video seeking.
When seeking, the presentation clock can enter an undefined state until
it is started again from the new position. Wait for the clock to be
restarted before scheduling the prerolled frames, otherwise these
frames might get a wrong presentation time.
Change-Id: I02cb3338239775b7ef5d206ec5aa1b26719ac978
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Christian Strømme [Mon, 7 Apr 2014 13:09:00 +0000 (15:09 +0200)]
Android: Fix QtMediaRecorder
Don't extend the MediaRecorder class as this causes ART to fail when it
doesn't find the postEventFromNative() function.
Task-number: QTBUG-38166
Change-Id: Ia38ce4558a2cc95a9b4cd05b9f926d41e53fdc0d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Thu, 3 Apr 2014 09:17:30 +0000 (11:17 +0200)]
Android: Use androidSdkVersion() to get the API level.
Change-Id: Idc0b09ab2dc5d93e8da8dab3bd0e99e27fbc57e1
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Wed, 2 Apr 2014 16:57:16 +0000 (18:57 +0200)]
Android: Remove inheritance to QJNIObject in the Camera wrapper
The QJNIObject was never intended to be used as a base class.
Change-Id: I4986aeaebecd6e4136fed311e69368e20da4d060
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Tue, 1 Apr 2014 17:04:12 +0000 (19:04 +0200)]
Android: Fix MediaRecorder wrapper
The QJNIObject was never intended to be used as a base class.
Change-Id: I8311f909a37aeae6040eba4471b379cfc732297b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Mon, 7 Apr 2014 12:33:32 +0000 (14:33 +0200)]
WMF: don't return undefined value in Release() function.
The function was returning a member variable after the object was
deleted. Return a local copy instead.
Change-Id: I077e7e1c184ed0cfd4899a80c9147a2939c93cd7
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Fri, 4 Apr 2014 13:06:07 +0000 (15:06 +0200)]
WMF: support playback rate in our custom video sink.
Change-Id: Ic8fde3398813df68d2f77b2542f1fa507c8ea674
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Fabian Bumberger [Mon, 24 Mar 2014 18:56:26 +0000 (19:56 +0100)]
QNX: Fix MediaPlayer states handling
Task-number: QTBUG-37753
Change-Id: I61ff490f061dedd8a9bdc22d76969d9afb9a6795
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Thiago Macieira [Thu, 3 Apr 2014 05:12:01 +0000 (22:12 -0700)]
Tell glib not to complain about the use of API recently deprecated
When building with glib 2.32 or later, without this #define, it prints a
warning saying:
function "g_value_get_char" was declared deprecated ("Use 'g_value_get_schar' instead")
Since g_value_get_schar is new in 2.32, we can't use it without #ifdef
around the call point. Since the old and new functions are identical in
behavior, just ask glib not to complain about the use of old functions.
I don't know which is the minimum version of glib we require, so I went
for the lowest available macro.
Change-Id: I33f9aa8497fc6bd50fffb3c59ee7e8e7fcdfe110
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Oswald Buddenhagen [Fri, 4 Apr 2014 16:14:28 +0000 (18:14 +0200)]
let videonode plugins declare that they extend QtQuick
Change-Id: I4facc9ca0616927f7b1101cecb989fece38c2f7a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Oswald Buddenhagen [Fri, 4 Apr 2014 15:09:37 +0000 (17:09 +0200)]
make MODULE_PLUGIN_TYPES assignment actually have an effect
it must be done before load()ing qt_plugin.prf.
Change-Id: I0ad31f8d9761b2d059d656c9e4f674c8a7cc88a6
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 4 Apr 2014 16:43:30 +0000 (18:43 +0200)]
DirectShow: fix media seeking while stopped.
When changing the position of a media player while stopped, playback
was automatically resuming. We now cache the value and actually set the
position only when starting playback.
Task-number: QTBUG-38068
Change-Id: Ib35302e01967d70350125f9ad920551df2a3c25b
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 3 Apr 2014 13:17:49 +0000 (15:17 +0200)]
GStreamer: cleanup system includes.
Replaced some linux includes with <private/qcore_unix_p.h> to be more
portable.
Use qt_safe_open() and qt_safe_close() instead of ::open() and
::close().
Task-number: QTBUG-38061
Change-Id: Idb3f50d070ec1701cafba98e79e2e85824653a3a
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Dmitry Shachnev [Mon, 17 Mar 2014 04:44:24 +0000 (08:44 +0400)]
Add support for running on big-endian systems
Now qtmultimedia test suite passes on powerpc.
Change-Id: I540dff93195115ad1dc5725af7293e3b8540403f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 7 Mar 2014 16:02:37 +0000 (17:02 +0100)]
GStreamer: each QMediaPlayer now has its own volume by default.
We were using the volume property of GStreamer's playbin element to set
the volume. This could behave differently depending on the system
configuration; it could affect the system volume or the media player
own audio stream.
We now use a 'volume' element to do software attenuation on the audio
data sent to the audio sink, it allows each QMediaPlayer to always have
its own volume.
To preserve the previous behavior, developers can set the
QT_GSTREAMER_USE_PLAYBIN_VOLUME environment variable to true.
[ChangeLog][QtMultimedia][GStreamer] QMediaPlayer::setVolume() doesn't
change the system volume anymore (it could be the case before depending
on the system configuration). Set the QT_GSTREAMER_USE_PLAYBIN_VOLUME
environment variable to true to restore that behavior.
Task-number: QTBUG-30317
Task-number: QTBUG-36511
Change-Id: Ia0249962a74ac21fb110fcb634c08706f8d5767a
Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Bernd Weimer [Mon, 31 Mar 2014 14:18:23 +0000 (16:18 +0200)]
Fix unit tests
Random playback mode is not good for testing index changed signal,
because the same media might be played successively.
Calling show() might result in showFullScreen() on some platforms,
which is not expected by some video widget tests.
Change-Id: Ib47433fc6411b6dfa244a245aae508df5627ec62
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Fabian Bumberger [Thu, 27 Mar 2014 15:18:11 +0000 (16:18 +0100)]
BlackBerry: Fix the rotation of the viewfinder
This fixes the rotation of the viewfinder. We have to adjust the orientation
depending on the primary screen orientation. On a keyboard device, the viewfinder
would not rotate at all (same if auto orientation is turned off).
Task-number: QTBUG-37894
Change-Id: I2bf955fb3303ed236d3234154ded94fe78607455
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Liang Jian [Tue, 1 Apr 2014 06:41:30 +0000 (14:41 +0800)]
Fix memory leak in SampleGrabberCallback
Add virtual destructor to SampleGrabberCallback to let it properly
destruct its subclass when calling 'detete this'
Change-Id: I5f74f82314e22225a0a153c7f4bca531a79dd8f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Liang Jian [Tue, 1 Apr 2014 08:12:48 +0000 (16:12 +0800)]
Fix SourceResolver::State object leak
Initialize m_cRef to 0 in constructor of SourceResolver::State, otherwise
it will be leaked
Change-Id: I703ef8e91ad88112102ede7e8321d0eca795b840
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Liang Jian [Tue, 1 Apr 2014 07:16:28 +0000 (15:16 +0800)]
Fix QSGGeometry object leak
Set QSGNode::OwnsGeometry flag to QSGVideoNode, otherwise the QSGGeometry
object created in QSGVideoNode::setTexturedRectGeometry() will be leaked.
Change-Id: I383b4fe2ff8c7921d2c9c101d4d90fac5a08365a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Fabian Bumberger [Fri, 21 Mar 2014 15:02:48 +0000 (16:02 +0100)]
QNX: Remove most of the CPU overhead for video rendering
This patch uses the GL_OES_EGL_image extension to create a OpenGL Texture handle
for a libscreen pixmap. If the extension is not available it uses the "old"
technique as fallback where the image data is copied into a QImage.
This reduces the CPU load by more than 70% and allows HD videos to be played jitter-free.
Task-number: QTBUG-37752
Change-Id: I4cad22c39390e4cf9eb5be5f0bfe446544a11b9e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Yoann Lopes [Mon, 31 Mar 2014 12:22:40 +0000 (14:22 +0200)]
CoreAudio: fix supported channel count.
We were using the number of channels actually used by audio devices as
the maximum channel count. This is wrong as CoreAudio can automatically
split or merge channels in order to accommodate the device.
We now assume all channel configurations are valid.
Task-number: QTBUG-37956
Change-Id: Ia8e8bbea8543caa7fecda305be74a2953b92fd25
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Sergio Ahumada [Mon, 31 Mar 2014 16:11:02 +0000 (18:11 +0200)]
Doc: Fix some documentation warnings
- Can't link to 'QSlider'
- Can't link to 'QImage'
Change-Id: Ifa1a27ca5224959d6dbb4c0055a56114740469f0
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Zhang Xingtao [Fri, 28 Mar 2014 05:59:05 +0000 (13:59 +0800)]
fix: 'm_state' was not declared in this scope
Error occurred when building with DEBUG_PLAYBIN defined.
It should be m_currentState from context.
Change-Id: Iad59966ca19c9d1b589fc8641599494436a0a5f3
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Jing Bai <doris.bai@gmail.com>
Dyami Caliri [Thu, 27 Mar 2014 16:29:38 +0000 (09:29 -0700)]
CoreAudio: Mismatched new[]/delete in several places.
The CoreAudio plugin code in QtMultimedia had several different places
where an array was allocated with "new[]" and deleted with "delete".
Fixed by deleting with "delete[]".
Task-number: QTBUG-37861
Change-Id: Id85bc07a054ad161b0403cc0fe5c56ec5b41d4e3
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Christian Strømme [Thu, 27 Mar 2014 11:21:23 +0000 (12:21 +0100)]
Android: Clean-up in jmultimediautils class.
Remove unused code.
Change-Id: I2c0db45dd95e6a79387bba1b1ccd4b62b7d22aec
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Wed, 19 Mar 2014 23:38:11 +0000 (00:38 +0100)]
Android: Fix MetadataRetriver wrapper
The QJNIObject was never intended to be used as a base class.
Change-Id: Ic4effd5e1c89a08515c756bd5092fb1e1eead688
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Wed, 19 Mar 2014 12:48:19 +0000 (13:48 +0100)]
Android: Fix QtSurfaceTexture
Don't extend SurfaceTexture as this causes ART to fail when it doesn't
find the postEventFromNative() function. The postEventFromNative()
function was implemented sometime after API 11, so to avoid this
situation we can use composition instead.
Task-number: QTBUG-37605
Change-Id: Ie1013d218291ba0035f1bb18a0c0655fd2170bfd
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Christian Strømme [Wed, 26 Mar 2014 11:13:49 +0000 (12:13 +0100)]
Android: Don't call release() unless it's necessary.
If the mediaplayer is in either Idle or Uninitialized state, then there
is no need to call release again.
Change-Id: Idb6f2d9ea7aad7a9036e7e9a534c3bd296324068
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Tue, 4 Feb 2014 13:59:44 +0000 (14:59 +0100)]
Blackberry: implement QCameraInfoControl.
We also now correctly report the default camera to be the rear camera.
Change-Id: Ie96b2950344194637c8feace77246f036c9a3757
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Christian Strømme [Thu, 27 Mar 2014 09:56:16 +0000 (10:56 +0100)]
Android: Fix reload check in onStateChanged().
The condition was missing the Uninitialized flag.
Change-Id: I555f4eae6cc33bee0a4925e626dd56041e4b0471
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Zhang Xingtao [Tue, 25 Mar 2014 15:22:57 +0000 (23:22 +0800)]
Doc: fix two typos
Change-Id: I5f417384ce75d8dc2063f92d0116f516f261e4aa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Thu, 13 Mar 2014 17:07:12 +0000 (18:07 +0100)]
Fix enums for QML camera types.
CameraExposure, CameraFlash and CameraFocus had signals and functions
using enum-type arguments declared in QDeclarativeCamera. This doesn't
work since an enum and a function using it both need to be declared in
the same class in order to work from QML.
The relevant enums have been duplicated (not moved, in order to
preserve QML source compatibility) from QDeclarativeCamera to
QDeclarativeCameraExposure, QDeclarativeCameraFlash and
QDeclarativeCameraFocus.
Change-Id: Ib307d7c6c9dbc59b1b82782913397160be38d4cd
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 13 Mar 2014 18:34:26 +0000 (19:34 +0100)]
Improved declarative-camera example.
- Fix setting the white balance preset, it was never actually set on the
camera
- Improved the zoom control style
Change-Id: I95c2851e5ad8409dd79306492271f221a61cb10d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Yoann Lopes [Thu, 20 Mar 2014 18:20:24 +0000 (19:20 +0100)]
GStreamer: fix memory leaks.
Many GStreamer objects were not properly managed or never released.
Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Yoann Lopes [Thu, 20 Mar 2014 18:19:10 +0000 (19:19 +0100)]
GStreamer: don't try to seek when it's not supported.
This eliminates warnings on the console.
Change-Id: I6a0509dba4a0f7ec6fad33f8803be746f425a616
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Christian Strømme [Thu, 20 Feb 2014 13:25:35 +0000 (14:25 +0100)]
Android: Make the Mediaplayer more robust
In some cases the the Android media player would get into a unexpected
state and we where then not able to recover.
With this patch we monitor the state changes more closely and recover
when possible.
Task-number: QTBUG-35651
Change-Id: I142c63fbbf716d3f94ebdcf016a7cadad7b13207
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Andy Nichols [Tue, 4 Mar 2014 14:23:02 +0000 (15:23 +0100)]
Mac: Re-enable qcamerabackend test
The cause of the tests flakyness has been resolved, so it should be
re-enabled.
Task-number: QTBUG-36040
Change-Id: Ic4d18ea891ed5b6c5f4acbb4d05322b910b87d29
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Andy Nichols [Thu, 6 Mar 2014 16:44:14 +0000 (17:44 +0100)]
AVFoundation: Add QVideoWindowControl support
This adds the capability to render videos directly to native
window surfaces when using the AVFoundation plugin. This adds limited
support for displaying videos from QML on iOS. These videos are
displayed in a CALayer above the QQuickWindow, so it will not be
possible to render any QtQuick items on top of a video using the
QVideoWindowControl to provide video.
[ChangeLog][QtMultimedia][iOS] Add limited support for playing videos in
QtQuick on iOS (Videos are played on top of scene with limited transform
support).
Change-Id: I80381d9a07b45b6fa1959678166e6da0004f8c19
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Yoann Lopes [Fri, 7 Mar 2014 14:07:17 +0000 (15:07 +0100)]
Fix VideoOutput::autoOrientation documentation.
The type was reported to be int instead of bool.
Change-Id: I3a76cb76ca70b50060c768f87cf84d8e436d8d7f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>