diff options
| author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2021-01-17 14:23:33 +0100 |
|---|---|---|
| committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2021-01-17 14:27:02 +0100 |
| commit | c5f0b5d3f8ef1564d119dafa34d3c285d9b9a2a4 (patch) | |
| tree | 3bfd83dad842940eaf3d5899d8c95988647215a8 /coreengine/viewelement.c | |
| parent | bc9cb23ed73c7b85210c8948135773b973fc2927 (diff) | |
| download | vdr-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.c | 35 |
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; +}; |
