summaryrefslogtreecommitdiff
path: root/coreengine/viewelement.c
diff options
context:
space:
mode:
authorkamel5 <vdr.kamel5 (at) gmx (dot) net>2021-01-17 14:23:33 +0100
committerkamel5 <vdr.kamel5 (at) gmx (dot) net>2021-01-17 14:27:02 +0100
commitc5f0b5d3f8ef1564d119dafa34d3c285d9b9a2a4 (patch)
tree3bfd83dad842940eaf3d5899d8c95988647215a8 /coreengine/viewelement.c
parentbc9cb23ed73c7b85210c8948135773b973fc2927 (diff)
downloadvdr-plugin-skindesigner-c5f0b5d3f8ef1564d119dafa34d3c285d9b9a2a4.tar.gz
vdr-plugin-skindesigner-c5f0b5d3f8ef1564d119dafa34d3c285d9b9a2a4.tar.bz2
added tokens for framesPerSecond and isHD (Submitted by Peter Bieringer)
Diffstat (limited to 'coreengine/viewelement.c')
-rw-r--r--coreengine/viewelement.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c
index 5bf482e..3e41634 100644
--- a/coreengine/viewelement.c
+++ b/coreengine/viewelement.c
@@ -577,4 +577,37 @@ void cViewElement::StopAnimation(void) {
cView::RemoveAnimation(shifter);
if (fader)
cView::RemoveAnimation(fader);
-} \ No newline at end of file
+}
+
+
+/******************************************************************
+ * helper function (did not find any other common place)
+ ******************************************************************/
+bool RecordingIsHD(const cEvent* event) {
+ // detect HD from 'info'
+ bool isHD = false;
+ cComponents *Components = (cComponents *)event->Components();
+ if (Components) {
+ // detect HD
+ // Stream: 1 = MPEG2-Video, 2 = MPEG2 Audio, 3 = Untertitel, 4 = AC3-Audio, 5 = H.264-Video, 6 = HEAAC-Audio
+ // Stream == Video: 01 = 05 = 4:3, 02 = 03 = 06 = 07 = 16:9, 04 = 08 = >16:9, 09 = 0D = HD 4:3, 0A = 0B = 0E = 0F = HD 16:9, 0C = 10 = HD >16:9
+
+ // get video stream component
+ tComponent *Component = Components->GetComponent(0, 5, 0);
+
+ if (Component) {
+ switch (Component->type) {
+ case 0x09: // HD 4:3
+ case 0x0D: // HD 4:3
+ case 0x0A: // HD 16:9
+ case 0x0B: // HD 16:9
+ case 0x0E: // HD 16:9
+ case 0x0F: // HD 16:9
+ case 0x0C: // HD > 16:9
+ case 0x10: // HD > 16:9
+ isHD = true;
+ };
+ };
+ };
+ return isHD;
+};