mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Updated for vdr-1.3.17.
Fixed receiver related crash (Thanks to Marco Schluessler).
This commit is contained in:
		
							
								
								
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							@@ -106,3 +106,8 @@ VDR Plugin 'femon' Revision History
 | 
			
		||||
 | 
			
		||||
- Yet Another Minor Release.
 | 
			
		||||
- Integrated the CA system names patch: "Setup / Show CA System".
 | 
			
		||||
 | 
			
		||||
2004-11-28: Version 0.1.7
 | 
			
		||||
 | 
			
		||||
- Updated for vdr-1.3.17.
 | 
			
		||||
- Fixed receiver related crash (Thanks to Marco Schluessler).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@@ -16,7 +16,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ pri
 | 
			
		||||
### The C++ compiler and options:
 | 
			
		||||
 | 
			
		||||
CXX      ?= g++
 | 
			
		||||
CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual
 | 
			
		||||
CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -fPIC
 | 
			
		||||
 | 
			
		||||
### The directory environment:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								femon.c
									
									
									
									
									
								
							@@ -12,7 +12,7 @@
 | 
			
		||||
#include "femonosd.h"
 | 
			
		||||
#include "femon.h"
 | 
			
		||||
 | 
			
		||||
#if VDRVERSNUM && VDRVERSNUM < 10307
 | 
			
		||||
#if VDRVERSNUM && VDRVERSNUM < 10317
 | 
			
		||||
#error "You don't exist! Go away!"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								femon.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								femon.h
									
									
									
									
									
								
							@@ -11,7 +11,7 @@
 | 
			
		||||
 | 
			
		||||
#include <vdr/plugin.h>
 | 
			
		||||
 | 
			
		||||
static const char *VERSION        = "0.1.6";
 | 
			
		||||
static const char *VERSION        = "0.1.7";
 | 
			
		||||
static const char *DESCRIPTION    = "DVB Signal Information Monitor (OSD)";
 | 
			
		||||
static const char *MAINMENUENTRY  = "Signal Information";
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										188
									
								
								femoni18n.c
									
									
									
									
									
								
							
							
						
						
									
										188
									
								
								femoni18n.c
									
									
									
									
									
								
							@@ -27,6 +27,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Signal Information", // English
 | 
			
		||||
    "Signalinformationen", // Deutsch
 | 
			
		||||
@@ -46,6 +48,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Position", // English
 | 
			
		||||
    "Position", // Deutsch
 | 
			
		||||
@@ -65,6 +69,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Default Display Mode", // English
 | 
			
		||||
    "Standard Anzeigemodus", // Deutsch
 | 
			
		||||
@@ -84,6 +90,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "basic", // English
 | 
			
		||||
    "Standard", // Deutsch
 | 
			
		||||
@@ -103,6 +111,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "transponder", // English
 | 
			
		||||
    "Transponder", // Deutsch
 | 
			
		||||
@@ -122,6 +132,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "stream", // English
 | 
			
		||||
    "Stream", // Deutsch
 | 
			
		||||
@@ -141,6 +153,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Hide Mainmenu Entry", // English
 | 
			
		||||
    "Hauptmen<EFBFBD>eintrag verstecken", // Deutsch
 | 
			
		||||
@@ -160,6 +174,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "OSD Update Interval [0.1s]", // English
 | 
			
		||||
    "OSD Updateintervall [0.1s]", // Deutsch
 | 
			
		||||
@@ -179,6 +195,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Analyze Stream", // English
 | 
			
		||||
    "Stream analysieren", // Deutsch
 | 
			
		||||
@@ -198,6 +216,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Calculation Interval [0.1s]", // English
 | 
			
		||||
    "Berechnungsintervall [0.1s]", // Deutsch
 | 
			
		||||
@@ -217,6 +237,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Red Limit [%]", // English
 | 
			
		||||
    "Grenze Rot [%]", // Deutsch
 | 
			
		||||
@@ -236,6 +258,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Green Limit [%]", // English
 | 
			
		||||
    "Grenze Gr<47>n [%]", // Deutsch
 | 
			
		||||
@@ -255,6 +279,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Transponder Information", // English
 | 
			
		||||
    "Transponderinformation", // Deutsch
 | 
			
		||||
@@ -274,6 +300,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Satellite Card", // English
 | 
			
		||||
    "Satellitenkarte", // Deutsch
 | 
			
		||||
@@ -293,6 +321,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Cable Card", // English
 | 
			
		||||
    "Kabelkarte", // Deutsch
 | 
			
		||||
@@ -312,6 +342,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Terrestial Card", // English
 | 
			
		||||
    "Terrestrische Karte", // Deutsch
 | 
			
		||||
@@ -331,6 +363,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Use Syslog Output", // English
 | 
			
		||||
    "Benutze syslog Ausgabe", // Deutsch
 | 
			
		||||
@@ -350,6 +384,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> syslog", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "LOCK", // English
 | 
			
		||||
    "LOCK", // Deutsch
 | 
			
		||||
@@ -369,6 +405,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "LOCK", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "LOCK", // Hrvatski (Croatian)
 | 
			
		||||
    "LOCK", // Eesti
 | 
			
		||||
    "LOCK", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SIGNAL", // English
 | 
			
		||||
    "SIGNAL", // Deutsch
 | 
			
		||||
@@ -388,6 +426,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "SIGNAL", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "SIGNAL", // Hrvatski (Croatian)
 | 
			
		||||
    "SIGNAL", // Eesti
 | 
			
		||||
    "SIGNAL", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "CARRIER", // English
 | 
			
		||||
    "CARRIER", // Deutsch
 | 
			
		||||
@@ -407,6 +447,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "CARRIER", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "CARRIER", // Hrvatski (Croatian)
 | 
			
		||||
    "CARRIER", // Eesti
 | 
			
		||||
    "CARRIER", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "VITERBI", // English
 | 
			
		||||
    "VITERBI", // Deutsch
 | 
			
		||||
@@ -426,6 +468,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "VITERBI", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "VITERBI", // Hrvatski (Croatian)
 | 
			
		||||
    "VITERBI", // Eesti
 | 
			
		||||
    "VITERBI", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SYNC", // English
 | 
			
		||||
    "SYNC", // Deutsch
 | 
			
		||||
@@ -445,6 +489,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "SYNC", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "SYNC", // Hrvatski (Croatian)
 | 
			
		||||
    "SYNC", // Eesti
 | 
			
		||||
    "SYNC", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Audio", // English
 | 
			
		||||
    "Audio", // Deutsch
 | 
			
		||||
@@ -464,6 +510,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Audio", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Audio", // Hrvatski (Croatian)
 | 
			
		||||
    "Audio", // Eesti
 | 
			
		||||
    "Audio", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Video", // English
 | 
			
		||||
    "Video", // Deutsch
 | 
			
		||||
@@ -483,6 +531,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Video", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Video", // Hrvatski (Croatian)
 | 
			
		||||
    "Video", // Eesti
 | 
			
		||||
    "Video", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Auto", // English
 | 
			
		||||
    "Auto", // Deutsch
 | 
			
		||||
@@ -502,6 +552,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Auto", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Auto", // Hrvatski (Croatian)
 | 
			
		||||
    "Auto", // Eesti
 | 
			
		||||
    "Auto", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "None", // English
 | 
			
		||||
    "None", // Deutsch
 | 
			
		||||
@@ -521,6 +573,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "None", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "None", // Hrvatski (Croatian)
 | 
			
		||||
    "None", // Eesti
 | 
			
		||||
    "None", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Off", // English
 | 
			
		||||
    "Off", // Deutsch
 | 
			
		||||
@@ -540,6 +594,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Off", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Off", // Hrvatski (Croatian)
 | 
			
		||||
    "Off", // Eesti
 | 
			
		||||
    "Off", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "On", // English
 | 
			
		||||
    "On", // Deutsch
 | 
			
		||||
@@ -559,6 +615,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "On", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "On", // Hrvatski (Croatian)
 | 
			
		||||
    "On", // Eesti
 | 
			
		||||
    "On", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "MHz", // English
 | 
			
		||||
    "MHz", // Deutsch
 | 
			
		||||
@@ -578,6 +636,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "MHz", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "MHz", // Hrvatski (Croatian)
 | 
			
		||||
    "MHz", // Eesti
 | 
			
		||||
    "MHz", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Mbit/s", // English
 | 
			
		||||
    "Mbit/s", // Deutsch
 | 
			
		||||
@@ -597,6 +657,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Mbit/s", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Mbit/s", // Hrvatski (Croatian)
 | 
			
		||||
    "Mbit/s", // Eesti
 | 
			
		||||
    "Mbit/s", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "kbit/s", // English
 | 
			
		||||
    "kbit/s", // Deutsch
 | 
			
		||||
@@ -616,6 +678,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "kbit/s", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "kbit/s", // Hrvatski (Croatian)
 | 
			
		||||
    "kbit/s", // Eesti
 | 
			
		||||
    "kbit/s", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Stream Information", // English
 | 
			
		||||
    "Streaminformation", // Deutsch
 | 
			
		||||
@@ -635,6 +699,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "MPEG Layer", // English
 | 
			
		||||
    "MPEG Layer", // Deutsch
 | 
			
		||||
@@ -654,6 +720,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Video Stream", // English
 | 
			
		||||
    "Video Stream", // Deutsch
 | 
			
		||||
@@ -673,6 +741,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Bitrate", // English
 | 
			
		||||
    "Bitrate", // Deutsch
 | 
			
		||||
@@ -692,6 +762,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Frame Rate", // English
 | 
			
		||||
    "Bildrate", // Deutsch
 | 
			
		||||
@@ -711,6 +783,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Hz", // English
 | 
			
		||||
    "Hz", // Deutsch
 | 
			
		||||
@@ -730,6 +804,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Hz", // Catal<61>
 | 
			
		||||
    "<EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Hz", // Hrvatski (Croatian)
 | 
			
		||||
    "Hz", // Eesti
 | 
			
		||||
    "Hz", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Aspect Ratio", // English
 | 
			
		||||
    "Seitenverh<EFBFBD>ltnis", // Deutsch
 | 
			
		||||
@@ -749,6 +825,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "reserved", // English
 | 
			
		||||
    "belegt", // Deutsch
 | 
			
		||||
@@ -768,6 +846,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "free", // English
 | 
			
		||||
    "frei", // Deutsch
 | 
			
		||||
@@ -787,6 +867,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Video Format", // English
 | 
			
		||||
    "Bildformat", // Deutsch
 | 
			
		||||
@@ -806,6 +888,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "PAL", // English
 | 
			
		||||
    "PAL", // Deutsch
 | 
			
		||||
@@ -825,6 +909,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "PAL", // Catal<61>
 | 
			
		||||
    "PAL", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "PAL", // Hrvatski (Croatian)
 | 
			
		||||
    "PAL", // Eesti
 | 
			
		||||
    "PAL", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "NTSC", // English
 | 
			
		||||
    "NTSC", // Deutsch
 | 
			
		||||
@@ -844,6 +930,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "NTSC", // Catal<61>
 | 
			
		||||
    "NTSC", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "NTSC", // Hrvatski (Croatian)
 | 
			
		||||
    "NTSC", // Eesti
 | 
			
		||||
    "NTSC", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "unknown", // English
 | 
			
		||||
    "unbekannt", // Deutsch
 | 
			
		||||
@@ -863,6 +951,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Resolution", // English
 | 
			
		||||
    "Aufl<EFBFBD>sung", // Deutsch
 | 
			
		||||
@@ -882,6 +972,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Audio Stream", // English
 | 
			
		||||
    "Audio Stream", // Deutsch
 | 
			
		||||
@@ -901,6 +993,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Sampling Frequency", // English
 | 
			
		||||
    "Abtastrate", // Deutsch
 | 
			
		||||
@@ -920,6 +1014,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "kHz", // English
 | 
			
		||||
    "kHz", // Deutsch
 | 
			
		||||
@@ -939,6 +1035,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "kHz", // Catal<61>
 | 
			
		||||
    "ڳ<EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "kHz", // Hrvatski (Croatian)
 | 
			
		||||
    "kHz", // Eesti
 | 
			
		||||
    "kHz", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Nid", // English
 | 
			
		||||
    "Nid", // Deutsch
 | 
			
		||||
@@ -958,6 +1056,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Nid", // Catal<61>
 | 
			
		||||
    "Nid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Nid", // Hrvatski (Croatian)
 | 
			
		||||
    "Nid", // Eesti
 | 
			
		||||
    "Nid", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Tid", // English
 | 
			
		||||
    "Tid", // Deutsch
 | 
			
		||||
@@ -977,6 +1077,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Tid", // Catal<61>
 | 
			
		||||
    "Tid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Tid", // Hrvatski (Croatian)
 | 
			
		||||
    "Tid", // Eesti
 | 
			
		||||
    "Tid", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Rid", // English
 | 
			
		||||
    "Rid", // Deutsch
 | 
			
		||||
@@ -996,6 +1098,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Rid", // Catal<61>
 | 
			
		||||
    "Rid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Rid", // Hrvatski (Croatian)
 | 
			
		||||
    "Rid", // Eesti
 | 
			
		||||
    "Rid", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "dB", // English
 | 
			
		||||
    "dB", // Deutsch
 | 
			
		||||
@@ -1015,6 +1119,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "dB", // Catal<61>
 | 
			
		||||
    "dB", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "dB", // Hrvatski (Croatian)
 | 
			
		||||
    "dB", // Eesti
 | 
			
		||||
    "dB", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "not indicated", // English
 | 
			
		||||
    "", // Deutsch
 | 
			
		||||
@@ -1034,6 +1140,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "AC-3", // English
 | 
			
		||||
    "AC-3", // Deutsch
 | 
			
		||||
@@ -1053,6 +1161,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "AC-3", // Catal<61>
 | 
			
		||||
    "AC-3", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "AC-3", // Hrvatski (Croatian)
 | 
			
		||||
    "AC-3", // Eesti
 | 
			
		||||
    "AC-3", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "AC-3 Stream", // English
 | 
			
		||||
    "AC-3 Stream", // Deutsch
 | 
			
		||||
@@ -1072,6 +1182,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Frame Size", // English
 | 
			
		||||
    "Frame Gr<47><72>e", // Deutsch
 | 
			
		||||
@@ -1091,6 +1203,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Bit Stream Mode", // English
 | 
			
		||||
    "Bitstream Modus", // Deutsch
 | 
			
		||||
@@ -1110,6 +1224,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Audio Coding Mode", // English
 | 
			
		||||
    "Audio Coding Modus", // Deutsch
 | 
			
		||||
@@ -1129,6 +1245,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Center Mix Level", // English
 | 
			
		||||
    "Center Mix Pegel", // Deutsch
 | 
			
		||||
@@ -1148,6 +1266,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Surround Mix Level", // English
 | 
			
		||||
    "Surround Mix Pegel", // Deutsch
 | 
			
		||||
@@ -1167,6 +1287,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Dolby Surround Mode", // English
 | 
			
		||||
    "Dolby Surround Modus", // Deutsch
 | 
			
		||||
@@ -1186,6 +1308,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Low Frequency Effects", // English
 | 
			
		||||
    "Tieft<EFBFBD>ner Effekte", // Deutsch
 | 
			
		||||
@@ -1205,6 +1329,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Dialogue Normalization", // English
 | 
			
		||||
    "Dialog Normalisierung", // Deutsch
 | 
			
		||||
@@ -1224,6 +1350,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Complete Main (CM)", // English
 | 
			
		||||
    "Complete Main (CM)", // Deutsch
 | 
			
		||||
@@ -1243,6 +1371,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Music and Effects (ME)", // English
 | 
			
		||||
    "Musik und Effekte (ME)", // Deutsch
 | 
			
		||||
@@ -1262,6 +1392,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Visually Impaired (VI)", // English
 | 
			
		||||
    "Sehbehindert (VI)", // Deutsch
 | 
			
		||||
@@ -1281,6 +1413,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Hearing Impaired (HI)", // English
 | 
			
		||||
    "H<EFBFBD>rbehindert (HI)", // Deutsch
 | 
			
		||||
@@ -1300,6 +1434,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Dialogue (D)", // English
 | 
			
		||||
    "Dialog (D)", // Deutsch
 | 
			
		||||
@@ -1319,6 +1455,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Commentary (C)", // English
 | 
			
		||||
    "Kommentar (C)", // Deutsch
 | 
			
		||||
@@ -1338,6 +1476,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Emergency (E)", // English
 | 
			
		||||
    "Notfall (E)", // Deutsch
 | 
			
		||||
@@ -1357,6 +1497,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Voice Over (VO)", // English
 | 
			
		||||
    "<EFBFBD>berlagerte Stimme (VO)", // Deutsch
 | 
			
		||||
@@ -1376,6 +1518,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Karaoke", // English
 | 
			
		||||
    "Karaoke", // Deutsch
 | 
			
		||||
@@ -1395,6 +1539,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Ch1", // English "Channel 1"
 | 
			
		||||
    "Kan1", // Deutsch
 | 
			
		||||
@@ -1414,6 +1560,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Ch2", // English "Channel 2"
 | 
			
		||||
    "Kan2", // Deutsch
 | 
			
		||||
@@ -1433,6 +1581,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "C", // English "Center"
 | 
			
		||||
    "C", // Deutsch
 | 
			
		||||
@@ -1452,6 +1602,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "L", // English "Left"
 | 
			
		||||
    "L", // Deutsch
 | 
			
		||||
@@ -1471,6 +1623,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "R", // English "Right"
 | 
			
		||||
    "R", // Deutsch
 | 
			
		||||
@@ -1490,6 +1644,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "S", // English "Surround"
 | 
			
		||||
    "S", // Deutsch
 | 
			
		||||
@@ -1509,6 +1665,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SL", // English "Surround Left"
 | 
			
		||||
    "SL", // Deutsch
 | 
			
		||||
@@ -1528,6 +1686,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SR", // English "Surround Right"
 | 
			
		||||
    "SR", // Deutsch
 | 
			
		||||
@@ -1547,6 +1707,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Show CA System", // English
 | 
			
		||||
    "CA System anzeigen", // Deutsch
 | 
			
		||||
@@ -1566,6 +1728,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Fixed", // English
 | 
			
		||||
    "Fest", // Deutsch
 | 
			
		||||
@@ -1585,6 +1749,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Free to Air", // English
 | 
			
		||||
    "Free to Air", // Deutsch
 | 
			
		||||
@@ -1604,6 +1770,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SECA/Mediaguard", // English
 | 
			
		||||
    "SECA/Mediaguard", // Deutsch
 | 
			
		||||
@@ -1623,6 +1791,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Viaccess", // English
 | 
			
		||||
    "Viaccess", // Deutsch
 | 
			
		||||
@@ -1642,6 +1812,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Irdeto", // English
 | 
			
		||||
    "Irdeto", // Deutsch
 | 
			
		||||
@@ -1661,6 +1833,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "NDS/Videoguard", // English
 | 
			
		||||
    "NDS/Videoguard", // Deutsch
 | 
			
		||||
@@ -1680,6 +1854,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Conax", // English
 | 
			
		||||
    "Conax", // Deutsch
 | 
			
		||||
@@ -1699,6 +1875,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "CryptoWorks", // English
 | 
			
		||||
    "CryptoWorks", // Deutsch
 | 
			
		||||
@@ -1718,6 +1896,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "PowerVu", // English
 | 
			
		||||
    "PowerVu", // Deutsch
 | 
			
		||||
@@ -1737,6 +1917,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "BetaCrypt", // English
 | 
			
		||||
    "BetaCrypt", // Deutsch
 | 
			
		||||
@@ -1756,6 +1938,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "NagraVision", // English
 | 
			
		||||
    "NagraVision", // Deutsch
 | 
			
		||||
@@ -1775,6 +1959,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SkyCrypt", // English
 | 
			
		||||
    "SkyCrypt", // Deutsch
 | 
			
		||||
@@ -1794,6 +1980,8 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { NULL }
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -120,7 +120,7 @@ void cFemonOsd::DrawStatusWindow(void)
 | 
			
		||||
 | 
			
		||||
  if (m_Osd) {
 | 
			
		||||
     m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrBackground);
 | 
			
		||||
     snprintf(buf, sizeof(buf), "%d%s %s", m_Number ? m_Number : channel->Number(), m_Number ? "-" : "", channel->Name());
 | 
			
		||||
     snprintf(buf, sizeof(buf), "%d%s %s", m_Number ? m_Number : channel->Number(), m_Number ? "-" : "", channel->ShortName(true));
 | 
			
		||||
     m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset+m_Font->Height()-1), clrWhite);
 | 
			
		||||
     m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), buf, clrBlack, clrWhite, m_Font);
 | 
			
		||||
     if (m_Receiver) {
 | 
			
		||||
@@ -761,9 +761,11 @@ void cFemonOsd::DrawInfoWindow(void)
 | 
			
		||||
 | 
			
		||||
void cFemonOsd::Action(void)
 | 
			
		||||
{
 | 
			
		||||
  int t0;
 | 
			
		||||
  //printf("cFemonOsd::Action()\n");
 | 
			
		||||
  m_Active = true;
 | 
			
		||||
  while (m_Active) {
 | 
			
		||||
    t0 = time_ms();
 | 
			
		||||
    if (m_Frontend != -1) {
 | 
			
		||||
       CHECK(ioctl(m_Frontend, FE_READ_STATUS, &m_FrontendStatus));
 | 
			
		||||
       CHECK(ioctl(m_Frontend, FE_READ_SIGNAL_STRENGTH, &m_Signal));
 | 
			
		||||
@@ -776,7 +778,7 @@ void cFemonOsd::Action(void)
 | 
			
		||||
          isyslog("Card #%d (%s) STR: %04x SNR: %04x BER: %08x UNC: %08x |%c|%c|%c|%c|%c|", cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name, m_Signal, m_SNR, m_BER, m_UNC, (m_FrontendStatus & FE_HAS_LOCK) ? 'L' : ' ', (m_FrontendStatus & FE_HAS_SIGNAL) ? 'S' : ' ', (m_FrontendStatus & FE_HAS_CARRIER) ? 'C' : ' ', (m_FrontendStatus & FE_HAS_VITERBI) ? 'V' : ' ', (m_FrontendStatus & FE_HAS_SYNC) ? 'Z' : ' ');
 | 
			
		||||
          }
 | 
			
		||||
       }
 | 
			
		||||
    usleep(100000L * femonConfig.updateinterval);
 | 
			
		||||
    cCondWait::SleepMs(100 * femonConfig.updateinterval - (time_ms() - t0));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -58,6 +58,7 @@ cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid, int Dpid)
 | 
			
		||||
cFemonReceiver::~cFemonReceiver(void)
 | 
			
		||||
{
 | 
			
		||||
  //printf("cFemonReceiver::~cFemonReceiver()\n");
 | 
			
		||||
  Detach();
 | 
			
		||||
  if (m_Active) {
 | 
			
		||||
     m_Active = false;
 | 
			
		||||
     Cancel(0);
 | 
			
		||||
@@ -253,7 +254,14 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
 | 
			
		||||
void cFemonReceiver::Activate(bool On)
 | 
			
		||||
{
 | 
			
		||||
  //printf("cFemonReceiver::Activate()\n");
 | 
			
		||||
  Start();
 | 
			
		||||
  if (On) {
 | 
			
		||||
     if (!m_Active)
 | 
			
		||||
        Start();
 | 
			
		||||
     }
 | 
			
		||||
  else if (m_Active) {
 | 
			
		||||
     m_Active = false;
 | 
			
		||||
     Cancel(0);
 | 
			
		||||
     }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cFemonReceiver::Receive(uchar *Data, int Length)
 | 
			
		||||
@@ -301,9 +309,11 @@ void cFemonReceiver::Receive(uchar *Data, int Length)
 | 
			
		||||
 | 
			
		||||
void cFemonReceiver::Action(void)
 | 
			
		||||
{
 | 
			
		||||
  int t0;
 | 
			
		||||
  //printf("cFemonReceiver::Action()\n");
 | 
			
		||||
  m_Active = true;
 | 
			
		||||
  while (m_Active) {
 | 
			
		||||
        t0 = time_ms();
 | 
			
		||||
        // TS packet 188 bytes - 4 byte header; MPEG standard defines 1Mbit = 1000000bit
 | 
			
		||||
        m_VideoBitrate = (8.0 * 184.0 * m_VideoPacketCount) / (femonConfig.calcinterval * 100000.0);
 | 
			
		||||
        m_VideoPacketCount = 0;
 | 
			
		||||
@@ -311,6 +321,6 @@ void cFemonReceiver::Action(void)
 | 
			
		||||
        m_AudioPacketCount = 0;
 | 
			
		||||
        m_AC3Bitrate   = (8.0 * 184.0 * m_AC3PacketCount)   / (femonConfig.calcinterval * 100.0);
 | 
			
		||||
        m_AC3PacketCount = 0;
 | 
			
		||||
        usleep(100000L * femonConfig.calcinterval);
 | 
			
		||||
        cCondWait::SleepMs(100 * femonConfig.calcinterval - (time_ms() - t0));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user