summaryrefslogtreecommitdiff
authoralwin <alwin>2005-04-12 13:33:37 (UTC)
committer alwin <alwin>2005-04-12 13:33:37 (UTC)
commit6df2eb36803e072ea9db62153b762250742610f0 (patch) (side-by-side diff)
tree5e80ac2c581ffe19478110233dbd93ae1977f99f
parent81b7ea55be071eab5f8b4afd2c4c291dee365545 (diff)
downloadopie-6df2eb36803e072ea9db62153b762250742610f0.zip
opie-6df2eb36803e072ea9db62153b762250742610f0.tar.gz
opie-6df2eb36803e072ea9db62153b762250742610f0.tar.bz2
some usefull xine-helpers
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp34
-rw-r--r--noncore/multimedia/opieplayer2/lib.h4
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
@@ -293,14 +293,42 @@ 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;
@@ -390,14 +418,8 @@ bool Lib::isShowingVideo() const {
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
@@ -170,8 +170,12 @@ namespace XINE {
void ensureInitialized();
void setWidget( XineVideoWidget *widget );
+ QSize videoSize()const;
+ int audioBitrate()const;
+ int videoBitrate()const;
+
signals:
void stopped();