Buffers were kept allocated until the player is destroyed or
next media played.
Change-Id: I8a0c85da3a82ac6883075a1d0674143783c7f010
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Buffer allocation might fail for requested format.
We need to emit connection-failed signal
and allow backend to insert colorspace transformation element.
Change-Id: I9a101bb3c027f150c68bbeaba8ab932deded47ea
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
If the custom buffer pool is used, it's also necessary
to query the list of video surface formats with this handle type.
Change-Id: I8a38f4c75f37ed05fbfdcf0933023a6abef1b3e1
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Paths with a leading slash were previously considered relative (with
no scheme) but now they aren't. So take the opportunity to tweak the
path resolution code
Change-Id: I7b02cb85403ebb151dba274db0c05459ef536f18
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
QAudioOutput and QSoundEffect now have a category property so that
system volume mixing or processing can be applied.
Initially just pulseaudio supports this but Windows Vista etc should also
work.
Change-Id: I6855b08367e5a055ac7dfcffd644c98bfd7c5a4e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
When requesting a buffer from downstream filter,
check if downstream element is in NULL state,
and wait for up to 1 second for it to switch.
Otherwise gst_pad_alloc_buffer returns GST_FLOW_WRONG_STATE and
pipeline stalls.
Change-Id: Ic0539c41638ab3bfb548a30043ebe925675b0b6f
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Looking for feedback concerning:
implementation of the change
desired functionality of QAudioDecoder
Changed the behaviour of QAudioDecoder for
more sane error output
Change-Id: I82193a94b6fe1ef4202a4ac7bd95c607e0bee9c6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
I got "error: ‘::getpid’ has not been declared" and solved it with
adding #include <unistd.h>
Updated version of change 23032.
Now including <sys/types.h> as well.
Change-Id: I969845e1c4d5b72a223f6f4e0050b2fb342b8f17
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Document a few missing classes/functions/methods
* Fix a number of QML snippets that wouldn't work as standalone snippets
* Add files to .pro so they show up in Creator..
Still the mysterious lack of controls dir documentation persists :/
Change-Id: I57162371a4d966e4db5bdb1b71d1baf9c0ca57c3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
For each stream set initial volume to 100 and mute state to FALSE.
Change-Id: I529a82c12f0fd65277f97193b3feed7f9782e4c0
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
According to GStreamer documentation "playbin should be set
back to READY or NULL state, then the "uri" property should be set
to the new location and then playbin be set to PLAYING state again."
We reset playbin to NULL state and then call setMedia() again
in case playback is restarted.
Change-Id: If7efbf8d88e0aad461c3d1d8b802c6621af221f7
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
QML imports that load from a plugin need to have typeinfo so that
Qt Creator can do inline type checking and code completion.
Also adds convenience make target for updating the typeinfo.
Change-Id: I4c3a93bf8b8925032c0d03c99df277280f03376e
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
For Qt Creator to correctly typecheck and auto-complete QML types and
objects, the typeinfo must be exported and added to the qmldir file.
This patch contains those changes, and an update to make updating the
typeinfo file easier in the future.
Change-Id: I988f22d3ca81839662cce4aed9d5297f7c5fbf32
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Could cause serious leak if ogg files contain coverart image.
Should use gst_tag_list_fee to free the used taglist.
Change-Id: I8f7b799729b84ad9a2ca45bc3e31f37a987a5885
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
If several different plugins are located in the same place, and are
loaded by different instances of QFactoryLoader, like we use, then
plugins that are used elsewhere can be unloaded.
By ensuring that the plugins are alone in their directory, then
they will not have this problem.
Change-Id: Id95b81ddf46435278fe43a4769e2d39f6b973a84
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Emitting a Qt signal directly from GLib callback causes issues to clients.
Queue the GStreamer signal and forward it to as a Qt signal from a handler
that is invoked via the Qt event loop.
Task-number: QTBUG-24927
Change-Id: I3c91efcce1261caf7b643fbff10663e1b093f2a8
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
There's a daemon() function declared in unistd.h.
Change-Id: I1063e71248a5236a5bb6b8f10804c469c8d1f788
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Use request/release of various video related controls as an indication for the decision.
Change-Id: I3a2a288c7c46ca62459896745bbdda26961bb181
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Make the fallback factories members instead of creating on the
heap so there's no need to delete members of the m_videoNodeFactories
some of which may be shared with other current and future video
outputs.
Change-Id: I3d2e32e52479b12ff64e31a2ed527336d94a191b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Unlike the torch mode, it's enabled only while camera is active.
Change-Id: Ib92349ac190586c5aa8e49a8fddbdf937e757fd0
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Register type find function to check if unrecognized media is a playlist.
Emit MediaIsPlaylist error and let frontend handle playlists.
Change-Id: Ib17da1c46014ac3c0f2f48b75ea9de2f0428b573
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Allow to load playlists using setMedia().
Use QNetworkMediaPlaylistProvider for playlist parsing.
Updated unit tests.
Change-Id: If4dba07be8b2e8a9e9549d5bed58e552dfb958b7
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Instead of com.nokia.qt we should use org.qt-project.qt.
All the identifiers have also been updated to use pure lowercase, and
where used the version numbers have been updated to 5.0.
Change-Id: Ib209327f5205f5a086a5932394504a8a52e1f712
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader
and used metadata to get keys.
Removed QAudioPluginLoader and changed audio classes to use instead use
QMediaPluginLoader.
The plugins must include the Q_PLUGIN_METADATA macro, and no longer use
the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros.
A json file has been added for each plugin which can contain metadata
which is available to the plugin loader before the plugin is actually
loaded, and is used to read the keys for the plugin, e.g. supported
services.
QFactoryInterface will be deprecated and has been removed from all
plugins.
Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Conversion of WId to HWND requires reinterpret_cast.
Comment out RatingOrganisation for directshow as it is commented out in
the gstreamer plugins too.
(Note that both directshow and gstreamer plugins spell it incorrectly.
It's spelled "RatingOrganization" in qtmedianamespace.h)
Change-Id: I4cbcecfeb62ad795facf498d1c3d84a776d2ca35
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Very minor changes in semantics due to previous differences:
* negative positions are not supported any more (clamped to >= 0)
* setting muted to the same value previously set to the control itself
won't signal any more.
Change-Id: Iacf4310508d853ae82b63dee28095fce12b6ff28
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Since there is only one subclass of base.
Next step is to clean up QDeclarativeAudio
Change-Id: Ibda8c3006efa165b58372a011121f04a39458562
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Corrupted etc files can throw GST_STREAM_ERROR_DECODE and those should
generally stop playback. So now any error is fatal, not just the
recognised ones.
Change-Id: I7b6dd2a460d94f70c459a313a9d4dc84028f8002
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>