summaryrefslogtreecommitdiff
path: root/coreengine/viewelementsdisplaymenu.c
diff options
context:
space:
mode:
authorPeter Bieringer <pb@bieringer.de>2021-01-24 12:11:23 +0100
committerPeter Bieringer <pb@bieringer.de>2021-01-24 12:11:23 +0100
commit646fcad7d53c9622cfe3c9c8273f797f723a26f9 (patch)
tree0a6640808a7e7e0b865dc32d9cf33793fed797a1 /coreengine/viewelementsdisplaymenu.c
parent91d06d15a2a1e3fed3ab1484401e2328a5c5ec4e (diff)
downloadvdr-plugin-skindesigner-646fcad7d53c9622cfe3c9c8273f797f723a26f9.tar.gz
vdr-plugin-skindesigner-646fcad7d53c9622cfe3c9c8273f797f723a26f9.tar.bz2
- retrieve ChannelName from 'info' and fallback via ChannelID from active channel list (reverse mechanism)
- remove exposing ChannelID (senseless as default 'info' is not containing it)
Diffstat (limited to 'coreengine/viewelementsdisplaymenu.c')
-rw-r--r--coreengine/viewelementsdisplaymenu.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/coreengine/viewelementsdisplaymenu.c b/coreengine/viewelementsdisplaymenu.c
index dad279a..5887f26 100644
--- a/coreengine/viewelementsdisplaymenu.c
+++ b/coreengine/viewelementsdisplaymenu.c
@@ -1219,22 +1219,24 @@ bool cVeDmDetailheaderRec::Parse(bool forced) {
tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isUHD, RecordingIsUHD(event)); // detect UHD from 'info'
tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); // detect Radio from 'info' and FPS
}
+
+ if (info->ChannelName() && (strlen(info->ChannelName()) > 0)) {
+ tokenContainer->AddStringToken((int)eDmDetailedRecST::recchannelname, info->ChannelName());
+ tokenContainer->AddStringToken((int)eDmDetailedRecST::recchannelid, info->ChannelID().ToString());
+ tokenContainer->AddIntToken((int)eDmDetailedRecIT::recchannelnumber, 0); // cannot be provided, for backward compatibility only
+ } else {
#if defined (APIVERSNUM) && (APIVERSNUM >= 20301)
- LOCK_CHANNELS_READ;
- const cChannels* channels = Channels;
+ LOCK_CHANNELS_READ;
+ const cChannel *channel = Channels->GetByChannelID(info->ChannelID());
#else
- cChannels* channels = &Channels;
+ const cChannel *channel = Channels.GetByChannelID(info->ChannelID());
#endif
- const cChannel *channel = channels->GetByChannelID(info->ChannelID());
- if (channel) {
- tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::recchannelname, channel->Name());
- tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::recchannelid, *channel->GetChannelID().ToString());
- tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::recchannelnumber, channel->Number());
- } else {
- // fallback to information provided in 'info' if channel is no longer found in active channels
- tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::recchannelname, info->ChannelName());
- tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::recchannelid, info->ChannelID().ToString());
- }
+ if (channel) {
+ tokenContainer->AddStringToken((int)eDmDetailedRecST::recchannelname, channel->Name());
+ tokenContainer->AddStringToken((int)eDmDetailedRecST::recchannelid, *channel->GetChannelID().ToString());
+ tokenContainer->AddIntToken((int)eDmDetailedRecIT::recchannelnumber, channel->Number());
+ }
+ }
}
string recImage = "";
string path = recording->FileName() ? recording->FileName() : "";