Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 34 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 4 |
2 files changed, 32 insertions, 6 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 9f7a9c5..4ae8490 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp @@ -291,18 +291,46 @@ int Lib::length() const { valid stream, then return -1 (this value could be used to make the stream unseekable, but it should never occur!! Mr. Murphy ? :) ) */ return -1; } +/* info about current stream */ +QSize Lib::videoSize()const +{ + if (!m_initialized||!hasVideo()) return QSize(0,0); + int width = xine_get_stream_info(m_stream,XINE_STREAM_INFO_VIDEO_WIDTH); + int height = xine_get_stream_info(m_stream,XINE_STREAM_INFO_VIDEO_HEIGHT); + return QSize(width,height); +} + + bool Lib::isSeekable() const { assert( m_initialized ); return xine_get_stream_info( m_stream, XINE_STREAM_INFO_SEEKABLE ); } +bool Lib::hasVideo() const { + assert( m_initialized ); + + return xine_get_stream_info( m_stream, XINE_STREAM_INFO_HAS_VIDEO); +} + +int Lib::audioBitrate()const +{ + if (!m_initialized) return 0; + return xine_get_stream_info( m_stream, XINE_STREAM_INFO_AUDIO_BITRATE); +} +int Lib::videoBitrate()const +{ + if (!m_initialized||!hasVideo()) return 0; + return xine_get_stream_info( m_stream, XINE_STREAM_INFO_VIDEO_BITRATE); +} +/* end info block */ + void Lib::seekTo( int time ) { assert( m_initialized ); odebug << "Seeking to second " << time << oendl; //Keep it paused if it was in that state if ( xine_get_param( m_stream, XINE_PARAM_SPEED ) ) { @@ -388,18 +416,12 @@ void Lib::setShowVideo( bool video ) { bool Lib::isShowingVideo() const { assert( m_initialized ); return ::null_is_showing_video( m_videoOutput ); } -bool Lib::hasVideo() const { - assert( m_initialized ); - - return xine_get_stream_info( m_stream, 18 ); -} - void Lib::showVideoFullScreen( bool fullScreen ) { assert( m_initialized ); ::null_set_fullscreen( m_videoOutput, fullScreen ); } diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 2f5bf86..2607193 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h @@ -168,12 +168,16 @@ namespace XINE { int error() const; void ensureInitialized(); void setWidget( XineVideoWidget *widget ); + QSize videoSize()const; + int audioBitrate()const; + int videoBitrate()const; + signals: void stopped(); void initialized(); |