summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp39
1 files changed, 29 insertions, 10 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
@@ -152,3 +152,5 @@ int 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);
@@ -193,5 +195,11 @@ int Lib::length() {
193bool Lib::isSeekable() { 195bool 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 );
197}
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 );
195} 202}
196 203
204
197Frame Lib::currentFrame() { 205Frame Lib::currentFrame() {
@@ -201,4 +209,4 @@ Frame Lib::currentFrame() {
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}
@@ -218,3 +226,3 @@ void Lib::setShowVideo( bool video ) {
218 m_video = video; 226 m_video = video;
219 ::null_set_show_video( m_videoOutput, video ); 227 ::null_set_show_video( m_videoOutput, video );
220} 228}
@@ -225,2 +233,16 @@ bool Lib::isShowingVideo() {
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 ) {
@@ -234,3 +256,3 @@ bool Lib::isVideoFullScreen() {
234void Lib::setScaling( bool scale ) { 256void Lib::setScaling( bool scale ) {
235 ::null_set_scaling( m_videoOutput, scale ); 257 ::null_set_scaling( m_videoOutput, scale );
236} 258}
@@ -252,3 +274,3 @@ void Lib::xine_display_frame( void* user_data, uint8_t *frame,
252 int width, int height, int bytes ) { 274 int width, int height, int bytes ) {
253 ( (Lib*)user_data)->drawFrame( frame, width, height, bytes ); 275 ( (Lib*)user_data)->drawFrame( frame, width, height, bytes );
254} 276}
@@ -260,5 +282,2 @@ void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) {
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 );