From 6eb4329fffe08a0bd9b48b09beeddbe4d6e96724 Mon Sep 17 00:00:00 2001 From: Rolf Ahrenberg Date: Tue, 11 Nov 2008 00:30:00 +0200 Subject: [PATCH] Added getVideoStream() and getAudioStream() functions. --- femonosd.c | 4 ++-- femontools.c | 21 +++++++++++++++++++++ femontools.h | 2 ++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/femonosd.c b/femonosd.c index 4aef690..779623b 100644 --- a/femonosd.c +++ b/femonosd.c @@ -367,7 +367,7 @@ void cFemonOsd::DrawInfoWindow(void) case eFemonModeStream: OSDDRAWINFOTITLEBAR(tr("Stream Information")); offset += OSDROWHEIGHT; - OSDDRAWINFOACTIVE( tr("Video Stream"), *cString::sprintf("#%d", channel->Vpid())); + OSDDRAWINFOACTIVE( tr("Video Stream"), *getVideoStream(channel->Vpid())); offset += OSDROWHEIGHT; OSDDRAWINFOINACTIVE(tr("Codec"), *getVideoCodec(m_Receiver ? m_Receiver->VideoCodec() : VIDEO_CODEC_INVALID)); offset += OSDROWHEIGHT; @@ -381,7 +381,7 @@ void cFemonOsd::DrawInfoWindow(void) offset += OSDROWHEIGHT; OSDDRAWINFOINACTIVE(tr("Resolution"), *getResolution(m_Receiver ? m_Receiver->VideoHorizontalSize() : 0, m_Receiver ? m_Receiver->VideoVerticalSize() : 0, m_Receiver ? m_Receiver->VideoScan() : VIDEO_SCAN_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOACTIVE( tr("Audio Stream"), *cString::sprintf("#%d (%s)", IS_AUDIO_TRACK(track) ? channel->Apid(int(track - ttAudioFirst)) : channel->Apid(0), IS_AUDIO_TRACK(track) ? channel->Alang(int(track - ttAudioFirst)) : channel->Alang(0))); + OSDDRAWINFOACTIVE( tr("Audio Stream"), *getAudioStream(track, channel)); offset += OSDROWHEIGHT; OSDDRAWINFOINACTIVE(tr("Codec"), *getAudioCodec(m_Receiver ? m_Receiver->AudioCodec() : AUDIO_CODEC_INVALID)); offset += OSDROWHEIGHT; diff --git a/femontools.c b/femontools.c index 2a6c1ff..1001950 100644 --- a/femontools.c +++ b/femontools.c @@ -199,6 +199,27 @@ cString getCA(int value) return cString::sprintf("%X", value); } +cString getVideoStream(int value) +{ + if (value != 0) + return cString::sprintf("#%d", value); + return cString::sprintf("---"); +} + +cString getAudioStream(int value, const cChannel *channel) +{ + int pid = 0; + if (IS_AUDIO_TRACK(value)) + pid = int(value - ttAudioFirst); + if (channel && channel->Apid(pid)) { + if (channel->Alang(pid)) + return cString::sprintf("#%d (%s)", channel->Apid(pid), channel->Alang(pid)); + else + return cString::sprintf("#%d", channel->Apid(pid)); + } + return cString::sprintf("---"); +} + cString getVideoCodec(int value) { switch (value) { diff --git a/femontools.h b/femontools.h index 164f482..d4189fd 100644 --- a/femontools.h +++ b/femontools.h @@ -37,7 +37,9 @@ cString getDpids(const cChannel *channel); cString getSpids(const cChannel *channel); cString getCAids(const cChannel *channel, bool identify = false); cString getCA(int value); +cString getVideoStream(int value); cString getVideoCodec(int value); +cString getAudioStream(int value, const cChannel *channel); cString getAudioCodec(int value); cString getAudioChannelMode(int value); cString getCoderate(int value);