------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. http://bugs.kde.org/show_bug.cgi?id=125761 ------- Additional Comments From koos.vriezen xs4all nl 2006-04-17 23:20 ------- SVN commit 530869 by vriezen: Adding a isPlaying() dcop call for the backends, that can be used to determine actual playing state (false on not playing or paused). Since this is a synchronious call, I rather not use it for the KMediaPlayer dcop interface (and this would also have a different meaning when backend is MPlayer then) CCBUG: 125761 It´s better than nothing, so w/ dcop kxineplayer-pid Backend isPlaying or dcop kgstplayer-pid Backend isPlaying you could solve it for your case, probably better to do the ´pause()´ call on KMediaPlayer interface of kmplayer. M +7 -0 gstplayer.cpp M +1 -0 kmplayer_backend.h M +8 -0 xineplayer.cpp M +4 -0 xvplayer.cpp --- trunk/extragear/multimedia/kmplayer/src/gstplayer.cpp #530868:530869 @ -483,6 +483,13 @ callback->errorMessage (0, err);*/ } +bool Backend::isPlaying () { + mutex.lock (); + bool b = gst_elm_play && (GST_STATE (gst_elm_play) == GST_STATE_PLAYING); + mutex.unlock (); + return b; +} + KGStreamerPlayer::KGStreamerPlayer (int _argc, char ** _argv) : QApplication (_argc, _argv, false) { } --- trunk/extragear/multimedia/kmplayer/src/kmplayer_backend.h #530868:530869 @ -48,6 +48,7 @ virtual ASYNC setConfig (QByteArray); virtual ASYNC setAudioLang (int, QString); virtual ASYNC setSubtitle (int, QString); + virtual bool isPlaying (); private: BackendPrivate * d; }; --- trunk/extragear/multimedia/kmplayer/src/xineplayer.cpp #530868:530869 @ -377,6 +377,14 @ callback->errorMessage (0, err); } +bool Backend::isPlaying () { + mutex.lock (); + bool b = (xine_get_status (stream) == XINE_STATUS_PLAY) && + (xine_get_param (stream, XINE_PARAM_SPEED) != XINE_SPEED_PAUSE); + mutex.unlock (); + return b; +} + KXinePlayer::KXinePlayer (int _argc, char ** _argv) : QApplication (_argc, _argv, false) { } --- trunk/extragear/multimedia/kmplayer/src/xvplayer.cpp #530868:530869 @ -202,6 +202,10 @ callback->errorMessage (0, err); } +bool Backend::isPlaying () { + return running; +} + KXVideoPlayer::KXVideoPlayer (int _argc, char ** _argv) : QApplication (_argc, _argv, false) { }