Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 31 |
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 | |||
@@ -147,13 +147,15 @@ int Lib::subVersion() { | |||
147 | xine_get_version ( &m_major_version, &m_minor_version, &m_sub_version ); | 147 | xine_get_version ( &m_major_version, &m_minor_version, &m_sub_version ); |
148 | return m_sub_version; | 148 | return m_sub_version; |
149 | } | 149 | } |
150 | 150 | ||
151 | int Lib::play( const QString& fileName, int startPos, int start_time ) { | 151 | 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); |
155 | } | 157 | } |
156 | 158 | ||
157 | void Lib::stop() { | 159 | void Lib::stop() { |
158 | qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); | 160 | qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); |
159 | xine_stop( m_xine ); | 161 | xine_stop( m_xine ); |
@@ -191,19 +193,25 @@ int Lib::length() { | |||
191 | } | 193 | } |
192 | 194 | ||
193 | bool Lib::isSeekable() { | 195 | 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 | ||
199 | void 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 | |||
197 | Frame Lib::currentFrame() { | 205 | Frame Lib::currentFrame() { |
198 | Frame frame; | 206 | Frame frame; |
199 | return frame; | 207 | return frame; |
200 | }; | 208 | }; |
201 | 209 | ||
202 | QString Lib::metaInfo() { | 210 | QString 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 | ||
206 | int Lib::error() { | 214 | int Lib::error() { |
207 | return xine_get_error( m_xine ); | 215 | return xine_get_error( m_xine ); |
208 | }; | 216 | }; |
209 | 217 | ||
@@ -220,12 +228,26 @@ void Lib::setShowVideo( bool video ) { | |||
220 | } | 228 | } |
221 | 229 | ||
222 | bool Lib::isShowingVideo() { | 230 | bool Lib::isShowingVideo() { |
223 | return ::null_is_showing_video( m_videoOutput ); | 231 | return ::null_is_showing_video( m_videoOutput ); |
224 | } | 232 | } |
225 | 233 | ||
234 | bool 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 | |||
226 | void Lib::showVideoFullScreen( bool fullScreen ) { | 248 | void Lib::showVideoFullScreen( bool fullScreen ) { |
227 | ::null_set_fullscreen( m_videoOutput, fullScreen ); | 249 | ::null_set_fullscreen( m_videoOutput, fullScreen ); |
228 | } | 250 | } |
229 | 251 | ||
230 | bool Lib::isVideoFullScreen() { | 252 | bool Lib::isVideoFullScreen() { |
231 | return ::null_is_fullscreen( m_videoOutput ); | 253 | return ::null_is_fullscreen( m_videoOutput ); |
@@ -255,11 +277,8 @@ void Lib::xine_display_frame( void* user_data, uint8_t *frame, | |||
255 | 277 | ||
256 | void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) { | 278 | void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) { |
257 | if ( !m_video ) { | 279 | if ( !m_video ) { |
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 | } |