summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp31
1 files changed, 25 insertions, 6 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index 4021d4a..85030de 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -150,7 +150,9 @@ int Lib::subVersion() {
150 150
151int Lib::play( const QString& fileName, int startPos, int start_time ) { 151int Lib::play( const QString& fileName, int startPos, int start_time ) {
152 QString str = fileName.stripWhiteSpace(); 152 QString str = fileName.stripWhiteSpace();
153 xine_open( m_xine, QFile::encodeName(str.utf8() ).data() ); 153 if ( !xine_open( m_xine, QFile::encodeName(str.utf8() ).data() ) ) {
154 return 0;
155 }
154 return xine_play( m_xine, startPos, start_time); 156 return xine_play( m_xine, startPos, start_time);
155} 157}
156 158
@@ -194,13 +196,19 @@ bool Lib::isSeekable() {
194 return xine_get_stream_info ( m_xine, XINE_STREAM_INFO_SEEKABLE ); 196 return xine_get_stream_info ( m_xine, XINE_STREAM_INFO_SEEKABLE );
195} 197}
196 198
199void Lib::seekTo( int time ) {
200// xine_trick_mode ( m_xine, XINE_TRICK_MODE_SEEK_TO_TIME, time ); NOT IMPLEMENTED YET IN XINE :_(
201 xine_play( m_xine, 0, time );
202}
203
204
197Frame Lib::currentFrame() { 205Frame Lib::currentFrame() {
198 Frame frame; 206 Frame frame;
199 return frame; 207 return frame;
200}; 208};
201 209
202QString Lib::metaInfo() { 210QString Lib::metaInfo( int number) {
203 xine_get_meta_info( m_xine, 0 ); 211 return xine_get_meta_info( m_xine, number );
204} 212}
205 213
206int Lib::error() { 214int Lib::error() {
@@ -223,6 +231,20 @@ bool Lib::isShowingVideo() {
223 return ::null_is_showing_video( m_videoOutput ); 231 return ::null_is_showing_video( m_videoOutput );
224} 232}
225 233
234bool Lib::hasVideo() {
235 //looks like it is not implemented yet
236 //return xine_get_stream_info( m_xine, XINE_STREAM_INFO_VIDEO_CHANNELS );
237 // ugly hack until xine is ready, look for the width of the video
238 int test = xine_get_stream_info( m_xine, 2 );
239 if( test > 0 ) {
240 // qDebug( QString(" has video: %1").arg( test ) );
241 return true;
242 } else {
243 //qDebug ( "does not have video ");
244 return false;
245 }
246}
247
226void Lib::showVideoFullScreen( bool fullScreen ) { 248void Lib::showVideoFullScreen( bool fullScreen ) {
227 ::null_set_fullscreen( m_videoOutput, fullScreen ); 249 ::null_set_fullscreen( m_videoOutput, fullScreen );
228} 250}
@@ -258,8 +280,5 @@ void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) {
258 qWarning("not showing video now"); 280 qWarning("not showing video now");
259 return; 281 return;
260 } 282 }
261
262// qWarning( "called draw frame %d %d", width, height );
263
264 m_wid-> setVideoFrame ( frame, width, height, bytes ); 283 m_wid-> setVideoFrame ( frame, width, height, bytes );
265} 284}