Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 18 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 2 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/threadutil.cpp | 9 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/threadutil.h | 6 |
4 files changed, 24 insertions, 11 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 8afb318..f1b9773 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp | |||
@@ -37,7 +37,7 @@ | |||
37 | 37 | ||
38 | /* OPIE */ | 38 | /* OPIE */ |
39 | #include <opie2/odebug.h> | 39 | #include <opie2/odebug.h> |
40 | using namespace Opie::Core; | 40 | #include <qpe/global.h> |
41 | 41 | ||
42 | /* QT */ | 42 | /* QT */ |
43 | #include <qtextstream.h> | 43 | #include <qtextstream.h> |
@@ -326,19 +326,29 @@ void Lib::setWidget( XineVideoWidget *widget ) | |||
326 | void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) | 326 | void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) |
327 | { | 327 | { |
328 | assert( sendType == ThreadUtil::Channel::OneWay ); | 328 | assert( sendType == ThreadUtil::Channel::OneWay ); |
329 | handleXineEvent( msg->type() ); | 329 | handleXineEvent( msg->type(), msg->data(), msg->msg() ); |
330 | delete msg; | 330 | delete msg; |
331 | } | 331 | } |
332 | 332 | ||
333 | void Lib::handleXineEvent( const xine_event_t* t ) { | 333 | void Lib::handleXineEvent( const xine_event_t* t ) { |
334 | send( new ThreadUtil::ChannelMessage( t->type ), OneWay ); | 334 | int prog = -1; const char* name = 0; |
335 | if ( t->type == XINE_EVENT_PROGRESS ) { | ||
336 | xine_progress_data_t *pt = static_cast<xine_progress_data_t*>( t->data ); | ||
337 | prog = pt->percent; | ||
338 | name = pt->description; | ||
335 | } | 339 | } |
336 | 340 | ||
337 | void Lib::handleXineEvent( int type ) { | 341 | send( new ThreadUtil::ChannelMessage( t->type, prog, name ), OneWay ); |
342 | } | ||
343 | |||
344 | void Lib::handleXineEvent( int type, int data, const char* name ) { | ||
338 | assert( m_initialized ); | 345 | assert( m_initialized ); |
339 | 346 | ||
340 | if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) { | 347 | if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) { |
341 | emit stopped(); | 348 | emit stopped(); |
349 | }else if ( type == XINE_EVENT_PROGRESS ) { | ||
350 | QString str = name == 0 ? QString::null : QString::fromUtf8( name ); | ||
351 | Global::statusMessage( tr( "Progress: %1 %2" ).arg( name, data ) );; | ||
342 | } | 352 | } |
343 | } | 353 | } |
344 | 354 | ||
diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 0ff14d0..dfddc2a 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h | |||
@@ -203,7 +203,7 @@ namespace XINE { | |||
203 | xine_event_queue_t *m_queue; | 203 | xine_event_queue_t *m_queue; |
204 | 204 | ||
205 | void handleXineEvent( const xine_event_t* t ); | 205 | void handleXineEvent( const xine_event_t* t ); |
206 | void handleXineEvent( int type ); | 206 | void handleXineEvent( int type, int data, const char* name ); |
207 | void drawFrame( uint8_t* frame, int width, int height, int bytes ); | 207 | void drawFrame( uint8_t* frame, int width, int height, int bytes ); |
208 | // C -> C++ bridge for the event system | 208 | // C -> C++ bridge for the event system |
209 | static void xine_event_handler( void* user_data, const xine_event_t* t); | 209 | static void xine_event_handler( void* user_data, const xine_event_t* t); |
diff --git a/noncore/multimedia/opieplayer2/threadutil.cpp b/noncore/multimedia/opieplayer2/threadutil.cpp index 6ed9853..b5cac61 100644 --- a/noncore/multimedia/opieplayer2/threadutil.cpp +++ b/noncore/multimedia/opieplayer2/threadutil.cpp | |||
@@ -269,11 +269,10 @@ void OnewayNotifier::wakeUp() | |||
269 | emit awake(); | 269 | emit awake(); |
270 | } | 270 | } |
271 | 271 | ||
272 | ChannelMessage::ChannelMessage( int type ) | 272 | ChannelMessage::ChannelMessage( int type, int data, const char* msg ) |
273 | : m_type( type ), m_isCall( false ), m_replied( false ), | 273 | : m_type( type ), m_data( data ), m_msg( msg ), |
274 | m_inEventHandler( false ) | 274 | m_isCall( false ), m_replied( false ), m_inEventHandler( false ) |
275 | { | 275 | {} |
276 | } | ||
277 | 276 | ||
278 | ChannelMessage::~ChannelMessage() | 277 | ChannelMessage::~ChannelMessage() |
279 | { | 278 | { |
diff --git a/noncore/multimedia/opieplayer2/threadutil.h b/noncore/multimedia/opieplayer2/threadutil.h index 2e83d3a..f97a18b 100644 --- a/noncore/multimedia/opieplayer2/threadutil.h +++ b/noncore/multimedia/opieplayer2/threadutil.h | |||
@@ -133,10 +133,12 @@ namespace ThreadUtil | |||
133 | { | 133 | { |
134 | friend class Channel; | 134 | friend class Channel; |
135 | public: | 135 | public: |
136 | ChannelMessage( int type = -1 ); | 136 | ChannelMessage( int type = -1, int data = -1, const char* msg = 0 ); |
137 | virtual ~ChannelMessage(); | 137 | virtual ~ChannelMessage(); |
138 | 138 | ||
139 | int type() const { return m_type; } | 139 | int type() const { return m_type; } |
140 | int data() const { return m_data; } | ||
141 | const char* msg()const { return m_msg; } | ||
140 | 142 | ||
141 | void reply(); | 143 | void reply(); |
142 | 144 | ||
@@ -145,6 +147,8 @@ namespace ThreadUtil | |||
145 | ChannelMessage &operator=( const ChannelMessage ); | 147 | ChannelMessage &operator=( const ChannelMessage ); |
146 | 148 | ||
147 | int m_type; | 149 | int m_type; |
150 | int m_data; | ||
151 | const char *m_msg; | ||
148 | bool m_isCall : 1; | 152 | bool m_isCall : 1; |
149 | bool m_replied : 1; | 153 | bool m_replied : 1; |
150 | bool m_inEventHandler : 1; | 154 | bool m_inEventHandler : 1; |