Commit graph

50 commits

Author SHA1 Message Date
Ivailo Monev
b6e1f0f867 kutils: include locale header for setlocale() in kmediaplayer source
fixes build on FreeBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-03 00:09:40 +02:00
Ivailo Monev
3f844d4dca kutils: adjust KAbstractPlayer to MPV changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-02 06:29:59 +02:00
Ivailo Monev
4e652836b2 kutils: convert asserts to runtime warnings
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-02 06:04:01 +02:00
Ivailo Monev
f316c4bb47 kutils: fix build against MPV v0.33.0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-28 20:49:44 +00:00
Ivailo Monev
f0511e043c kutils: use const-reference in KAbstractPlayer iteration to avoid copy
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 17:40:51 +00:00
Ivailo Monev
6512385459 kutils: fix WId type handling in KMediaPlayer constructor for 64-bit host
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-01-25 00:59:00 +00:00
Ivailo Monev
a1345d67d6 generic: require filename and mode to be passed to KSettings constructor
otherwise the constructor can be shadowed by the default QSettings
constructor which does not take any arguments at all

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-01-01 12:46:10 +00:00
Ivailo Monev
7d0c2d0cb1 generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-12-23 16:36:22 +00:00
Ivailo Monev
5b41f81878 generic: make use of KSettings where possible
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-12 17:45:25 +00:00
Ivailo Monev
c2f8387fa6 generic: implement KSettings class
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-12 14:09:24 +00:00
Ivailo Monev
91e0870d9e kutils: mostly documentation updates
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-01 23:59:31 +00:00
Ivailo Monev
1e129fc882 kutils: fix hidden media controls bugs and declare API as stable
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-01 21:59:08 +00:00
Ivailo Monev
09423d9589 ktuls: overhaul media classes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-24 20:29:43 +00:00
Ivailo Monev
6f03b92281 kutils: fix API clashes and improve error handling of media classes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-23 17:12:53 +00:00
Ivailo Monev
7def7bf6e3 kutils: review multimedia related classes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-22 04:44:14 +00:00
Ivailo Monev
a22d3b9663 kutils: minor kmediaplayer cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-07-08 13:08:34 +00:00
Ivailo Monev
62c851e322 kutils: store the player's volume as integer rather than variant
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-12-19 05:55:20 +00:00
Ivailo Monev
c89aaffc1a kutils: add asserts for properties handling and a comment about a quirck
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-11-09 02:03:01 +00:00
Ivailo Monev
63d4353e4a kutils: more const-ing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-24 20:18:18 +00:00
Ivailo Monev
c0fd00a6d3 kutils: const-const-constop it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-24 18:21:23 +00:00
Ivailo Monev
0c12ff6ce8 kutils: avoid use of delete on QObject derived classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-21 21:29:22 +00:00
Ivailo Monev
293536b688 kutils: const-fy the media classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-21 17:58:44 +00:00
Ivailo Monev
72fed1d6a5 kutils: hide private members of media classes behind KAbstractPlayerPrivate
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-19 05:30:36 +00:00
Ivailo Monev
36072e6f92 generic: remove now redundant QT_KATIE guards
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-09-13 22:43:04 +00:00
Ivailo Monev
155082bdf3 kutils: fix the window id setup in KMediaPlayer
WId should be unsigned long for Q_WS_X11 (see qwindowdefs.h from Qt4) but
MPV requiers that the type is intptr_t (see options.rst from MPV) yet none
of them works but quintptr does - it's magic.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-08-09 03:29:12 +00:00
Ivailo Monev
d1ee2575c1 kutils: make the player thread-safe
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-06-22 17:22:29 +00:00
Ivailo Monev
30c6025c61 kutils: the static cast was needed, oops
neither the compiler would complain (QVariant can hold custom types via
runtime registration) nor runtime warning about invalid QVariant was issued
for this (because it was casted to something, not sure what but it was the
wrong type)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-06-04 01:07:37 +00:00
Ivailo Monev
ecf6f851af kutils: use method that works on x86_64 for widget ID setup in KMediaPlayer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-06-03 22:15:57 +00:00
Ivailo Monev
2d823ecdd8 generic: make MPV recommended not required
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-05-14 10:07:58 +00:00
Ivailo Monev
cb09d66b2f kutils: review media classes documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-22 21:12:03 +00:00
Ivailo Monev
a0041f5d78 kutils: workaround issue wtih async access to the handle
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-21 13:57:31 +00:00
Ivailo Monev
4cc9dd4da6 kutils: use partitially-seekable property as fallback for seekable signal
this allows to enable seek sliders on streams not only when the stream has
been fully loaded

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-11 09:27:29 +00:00
Ivailo Monev
c26366971f kutils: fix compiler warning
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-11 08:23:38 +00:00
Ivailo Monev
c9fb1c8f6b generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-08 01:17:17 +00:00
Ivailo Monev
d6103c84ce generic: get rid of KZoneAllocator
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-06 09:15:26 +00:00
Ivailo Monev
4f06efd99d kutils: constify KMediaPlayer::isMimeSupported()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-04 01:43:24 +00:00
Ivailo Monev
45a6db5fac kutils: implement overload for KAbstractPlayer::load()
it is needed in Okular and in KNotify I think so with the overload method
the possibility for MPV API break to affect those application will be
reduced, KAbstractPlayer is ment to be abstraction after all

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-31 17:32:20 +00:00
Ivailo Monev
fbf35f4caa kutils: improve media classes protocols check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-28 23:59:21 +00:00
Ivailo Monev
483854d35a kutils: add bits to control audio output of media classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-27 23:23:07 +00:00
Ivailo Monev
f02ad6cc2a kutils: make the finished() emision more reliable
without extra path property check it can be emited twice (or even more?)
because MPV will try to use SSL and fallback to non-secure connection when
that is not possible and emit the event after load which, aside from being
innacurate for our use cases, causes unnecessary widgets actions.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-27 18:52:37 +00:00
Ivailo Monev
314fa967a4 kutils: report media player command errors
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-27 17:34:52 +00:00
Ivailo Monev
7506a2cef6 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-27 02:35:23 +00:00
Ivailo Monev
8a6bb39279 kutils: revert lazy initialization changes
it has too many side effects that will complicate things more then it is
worth it to save a few MB of RAM per-application until load

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-26 21:29:11 +00:00
Ivailo Monev
33b9f1274e kutils: optimize media classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-26 18:06:51 +00:00
Ivailo Monev
135ed6f12f kutils: fix KAbstractPlayer stop command
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-26 06:31:51 +00:00
Ivailo Monev
05dd897b78 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-26 03:17:36 +00:00
Ivailo Monev
38f880f312 kutils: make multimedia context creation more tolerant
returing from the constructor prematurely is not a good idea because the
settings pointer may be left uninitialized, also issue a general warning
if mpv_create() failed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-24 00:06:16 +00:00
Ivailo Monev
a26021c35c kutils: rework some parts of the media classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-23 04:16:54 +00:00
Ivailo Monev
977adde9a6 kutils: set MPV debug level to info
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-20 23:16:24 +00:00
Ivailo Monev
d398932909 generic: drop Phonon in favour of MPV and custom player classes
kcompactdisc was remove because there is no use for it in the
current set of applications supported, if it is needed it will
need some work to make it use KMediaPlayer or whatever.

the Plasma VideoWidget class was dropped because custom widgets
(at some point) will be dropped unless absolutely needed and
hopefully getting rid of the heavy-weight QML stuff.

the new KMediaPlayer and KMediaWidgets classes are experimental
but they have been tested and they work as they should.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-03-20 02:43:02 +00:00