summaryrefslogtreecommitdiff
path: root/coreengine/viewelement.c
diff options
context:
space:
mode:
authorKarl Melscher <vdr.kamel5@gmx.net>2021-01-23 10:17:45 +0000
committerKarl Melscher <vdr.kamel5@gmx.net>2021-01-23 10:17:45 +0000
commit16eb7e8e53e3f627f21aa5d75a4e5e24a40a9ba1 (patch)
tree8e8f7137e808ede6e294ccbacb8efb4c1fd72339 /coreengine/viewelement.c
parent59248ccebb663fbd8633766490cfd862a0631c14 (diff)
parent2eef09e6aa148031b69b2f0cecbd6cda2b73b5c7 (diff)
downloadvdr-plugin-skindesigner-16eb7e8e53e3f627f21aa5d75a4e5e24a40a9ba1.tar.gz
vdr-plugin-skindesigner-16eb7e8e53e3f627f21aa5d75a4e5e24a40a9ba1.tar.bz2
Merge branch 'detect-isRadio-workaround' into 'master'
detect isRadio proper in case recording is missing "X 1" (happen on e.g. RTL channel) See merge request kamel5/skindesigner!7
Diffstat (limited to 'coreengine/viewelement.c')
-rw-r--r--coreengine/viewelement.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c
index 975757c..a30608f 100644
--- a/coreengine/viewelement.c
+++ b/coreengine/viewelement.c
@@ -657,11 +657,12 @@ bool RecordingIsUHD(const cEvent* event) {
return isUHD;
};
-bool RecordingIsRadio(const cEvent* event) {
+bool RecordingIsRadio(const cEvent* event, const double FramesPerSecond) {
// detect Radio from 'info'
bool isRadio = false;
bool hasAudio = false;
bool hasVideo = false;
+
cComponents *Components = (cComponents *)event->Components();
if (Components) {
// Stream: 1 = MPEG2-Video, 2 = MPEG2 Audio, 3 = Untertitel, 4 = AC3-Audio, 5 = H.264-Video, 6 = HEAAC-Audio, 7 = DTS/DTS HD audio, 8 = SRM/CPCM data, 9 = HEVC Video, AC4 Audio
@@ -704,8 +705,11 @@ bool RecordingIsRadio(const cEvent* event) {
};
};
- if ((hasAudio == true) && (hasVideo == false))
- isRadio = true;
+ if ((hasAudio == true) && (hasVideo == false)) {
+ if (FramesPerSecond < 24) { // workaround for issue of missing "X 1" on some SD channels (e.g. RTL)
+ isRadio = true;
+ };
+ };
return isRadio;
};