summaryrefslogtreecommitdiffstats
path: root/src/app/theStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/theStream.cpp')
-rw-r--r--src/app/theStream.cpp85
1 files changed, 29 insertions, 56 deletions
diff --git a/src/app/theStream.cpp b/src/app/theStream.cpp
index 3f7e35a..09005f9 100644
--- a/src/app/theStream.cpp
+++ b/src/app/theStream.cpp
@@ -76,69 +76,42 @@ namespace Codeine
return url.prettyURL();
}
-
- static inline TQString
- entryHelper( const TQString &plate, const TQString &s1, const TQString &s2 )
+ TQMap<MetaData, TQString> TheStream::metaData()
{
- return s2.isEmpty() ? s2 : plate.arg( s1 ).arg( s2 );
- }
+#define xmeta(x) xine_get_meta_info(e->m_stream, (x))
- static inline TQString
- sectionHelper( const TQString &sectionTitle, const TQStringList &entries )
- {
- TQString s;
+ TQMap<MetaData, TQString> data;
- foreach( entries )
- if( !(*it).isEmpty() )
- s += *it;
+ data[MetaData::Title] = xmeta(XINE_META_INFO_TITLE);
+ data[MetaData::Comment] = xmeta(XINE_META_INFO_COMMENT);
+ data[MetaData::Artist] = xmeta(XINE_META_INFO_ARTIST);
+ data[MetaData::Genre] = xmeta(XINE_META_INFO_GENRE);
+ data[MetaData::Album] = xmeta(XINE_META_INFO_ALBUM);
+ data[MetaData::Year] = xmeta(XINE_META_INFO_YEAR);
+ data[MetaData::VideoCodec] = xmeta(XINE_META_INFO_VIDEOCODEC);
+ data[MetaData::AudioCodec] = xmeta(XINE_META_INFO_AUDIOCODEC);
- return s.isEmpty() ? s : "<h2>" + sectionTitle + "</h2>" + s;
+ return data;
+
+#undef xmeta
}
- TQString
- TheStream::information()
+ TQMap<StreamInfo, TQString> TheStream::info()
{
- #define meta( x ) xine_get_meta_info( e->m_stream, x )
- #define info( x, y ) x.arg( xine_get_stream_info( e->m_stream, y ) )
- #define simple( x ) TQString::number( xine_get_stream_info( e->m_stream, x ) )
-
- const TQString plate = "<p><b>%1</b>: %2</p>";
- TQString s;
-
- s += sectionHelper( i18n("Metadata"),
- TQStringList()
- << entryHelper( plate, i18n("Title"), meta( XINE_META_INFO_TITLE ) )
- << entryHelper( plate, i18n("Comment"), meta( XINE_META_INFO_COMMENT ) )
- << entryHelper( plate, i18n("Artist"), meta( XINE_META_INFO_ARTIST ) )
- << entryHelper( plate, i18n("Genre"), meta( XINE_META_INFO_GENRE ) )
- << entryHelper( plate, i18n("Album"), meta( XINE_META_INFO_ALBUM ) )
- << entryHelper( plate, i18n("Year"), meta( XINE_META_INFO_YEAR ) ) );
-
- s += sectionHelper( i18n("Audio Properties"),
- TQStringList()
- << entryHelper( plate, i18n("Bitrate"), info( i18n("%1 bps"), XINE_STREAM_INFO_AUDIO_BITRATE ) )
- << entryHelper( plate, i18n("Sample-rate"), info( i18n("%1 Hz"), XINE_STREAM_INFO_AUDIO_SAMPLERATE ) ) );
-
- s += sectionHelper( i18n("Technical Information"),
- TQStringList()
- << entryHelper( plate, i18n("Video Codec"), meta( XINE_META_INFO_VIDEOCODEC ) )
- << entryHelper( plate, i18n("Audio Codec"), meta( XINE_META_INFO_AUDIOCODEC ) )
- << entryHelper( plate, i18n("System Layer"), meta( XINE_META_INFO_SYSTEMLAYER ) )
- << entryHelper( plate, i18n("Input Plugin"), meta( XINE_META_INFO_INPUT_PLUGIN ))
- << entryHelper( plate, i18n("CDINDEX_DISCID"), meta( XINE_META_INFO_CDINDEX_DISCID ) ) );
-
- TQStringList texts;
- texts << "BITRATE" << "SEEKABLE" << "VIDEO_WIDTH" << "VIDEO_HEIGHT" << "VIDEO_RATIO" << "VIDEO_CHANNELS" << "VIDEO_STREAMS" << "VIDEO_BITRATE" << "VIDEO_FOURCC" << "VIDEO_HANDLED" << "FRAME_DURATION" << "AUDIO_CHANNELS" << "AUDIO_BITS" << "-AUDIO_SAMPLERATE" << "-AUDIO_BITRATE" << "AUDIO_FOURCC" << "AUDIO_HANDLED" << "HAS_CHAPTERS" << "HAS_VIDEO" << "HAS_AUDIO" << "-IGNORE_VIDEO" << "-IGNORE_AUDIO" << "-IGNORE_SPU" << "VIDEO_HAS_STILL" << "MAX_AUDIO_CHANNEL" << "MAX_SPU_CHANNEL" << "AUDIO_MODE" << "SKIPPED_FRAMES" << "DISCARDED_FRAMES";
-
- s += "<h2>Other</h2>";
- for( uint x = 0; x <= 28; ++x )
- s += entryHelper( plate, texts[x], simple( x ) );
-
- #undef meta
- #undef info
- #undef simple
-
- return s;
+#define xinfo(x) TQString::number(xine_get_stream_info(e->m_stream, (x)))
+
+ TQMap<StreamInfo, TQString> data;
+
+ data[StreamInfo::VideoWidth] = xinfo(XINE_STREAM_INFO_VIDEO_WIDTH);
+ data[StreamInfo::VideoHeight] = xinfo(XINE_STREAM_INFO_VIDEO_HEIGHT);
+ data[StreamInfo::VideoBitRate] = xinfo(XINE_STREAM_INFO_VIDEO_BITRATE);
+ data[StreamInfo::AudioBits] = xinfo(XINE_STREAM_INFO_AUDIO_BITS);
+ data[StreamInfo::AudioSampleRate] = xinfo(XINE_STREAM_INFO_AUDIO_SAMPLERATE);
+ data[StreamInfo::AudioBitRate] = xinfo(XINE_STREAM_INFO_AUDIO_BITRATE);
+
+ return data;
+
+#undef xinfo
}
#undef e