summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
authorharlekin <harlekin>2002-10-01 15:36:31 (UTC)
committer harlekin <harlekin>2002-10-01 15:36:31 (UTC)
commit657eeb18141838eeb0d18351a6755d7fa686f9d9 (patch) (side-by-side diff)
tree049c19f776543aee296ce0cd3a1fde8c37ec374b /noncore/multimedia/opieplayer2/lib.cpp
parentbba0335bbea81519beafb7fec1979a0abbd8a7ea (diff)
downloadopie-657eeb18141838eeb0d18351a6755d7fa686f9d9.zip
opie-657eeb18141838eeb0d18351a6755d7fa686f9d9.tar.gz
opie-657eeb18141838eeb0d18351a6755d7fa686f9d9.tar.bz2
mediadetect no longer needed, also beginning of id3 etc tag info support along with some other small fixes
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 ) {
QString str = fileName.stripWhiteSpace();
- xine_open( m_xine, QFile::encodeName(str.utf8() ).data() );
+ if ( !xine_open( m_xine, QFile::encodeName(str.utf8() ).data() ) ) {
+ return 0;
+ }
return xine_play( m_xine, startPos, start_time);
@@ -193,5 +195,11 @@ int Lib::length() {
bool Lib::isSeekable() {
- return xine_get_stream_info ( m_xine, XINE_STREAM_INFO_SEEKABLE );
+ return xine_get_stream_info( m_xine, XINE_STREAM_INFO_SEEKABLE );
+}
+
+void Lib::seekTo( int time ) {
+// xine_trick_mode ( m_xine, XINE_TRICK_MODE_SEEK_TO_TIME, time ); NOT IMPLEMENTED YET IN XINE :_(
+ xine_play( m_xine, 0, time );
}
+
Frame Lib::currentFrame() {
@@ -201,4 +209,4 @@ Frame Lib::currentFrame() {
-QString Lib::metaInfo() {
- xine_get_meta_info( m_xine, 0 );
+QString Lib::metaInfo( int number) {
+ return xine_get_meta_info( m_xine, number );
}
@@ -218,3 +226,3 @@ void Lib::setShowVideo( bool video ) {
m_video = video;
- ::null_set_show_video( m_videoOutput, video );
+ ::null_set_show_video( m_videoOutput, video );
}
@@ -225,2 +233,16 @@ bool Lib::isShowingVideo() {
+bool Lib::hasVideo() {
+ //looks like it is not implemented yet
+ //return xine_get_stream_info( m_xine, XINE_STREAM_INFO_VIDEO_CHANNELS );
+ // ugly hack until xine is ready, look for the width of the video
+ int test = xine_get_stream_info( m_xine, 2 );
+ if( test > 0 ) {
+ // qDebug( QString(" has video: %1").arg( test ) );
+ return true;
+ } else {
+ //qDebug ( "does not have video ");
+ return false;
+ }
+}
+
void Lib::showVideoFullScreen( bool fullScreen ) {
@@ -234,3 +256,3 @@ bool Lib::isVideoFullScreen() {
void Lib::setScaling( bool scale ) {
- ::null_set_scaling( m_videoOutput, scale );
+ ::null_set_scaling( m_videoOutput, scale );
}
@@ -252,3 +274,3 @@ void Lib::xine_display_frame( void* user_data, uint8_t *frame,
int width, int height, int bytes ) {
- ( (Lib*)user_data)->drawFrame( frame, width, height, bytes );
+ ( (Lib*)user_data)->drawFrame( frame, width, height, bytes );
}
@@ -260,5 +282,2 @@ void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) {
}
-
-// qWarning( "called draw frame %d %d", width, height );
-
m_wid-> setVideoFrame ( frame, width, height, bytes );