mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
				synced 2023-10-10 17:16:51 +00:00 
			
		
		
		
	- added gettext support (thanks to Rolf Ahrenberg)
- added vdr-1.6.0-ignore_missing_cam patch - dropped obsolete respect_ca patch - removed legacy code for < VDR 1.5.9 (thanks to Rolf Ahrenberg)
This commit is contained in:
		| @@ -25,6 +25,7 @@ Rolf Ahrenberg | ||||
|   for a TS PAT repacker based on Petri Laine's VDR TS recording patch | ||||
|   for making it possible to pass parameters to externremux.sh | ||||
|   for removing pre VDR 1.4 legacy code | ||||
|   for adding gettext support | ||||
|  | ||||
| Rantanen Teemu | ||||
|   for providing vdr-incompletesections.diff | ||||
|   | ||||
							
								
								
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -1,6 +1,11 @@ | ||||
| VDR Plugin 'streamdev' Revision History | ||||
| --------------------------------------- | ||||
|  | ||||
| - added gettext support (thanks to Rolf Ahrenberg) | ||||
| - added vdr-1.6.0-ignore_missing_cam patch | ||||
| - dropped obsolete respect_ca patch | ||||
| - removed legacy code for < VDR 1.5.9 (thanks to Rolf Ahrenberg) | ||||
|  | ||||
| 2008-04-07: Branched v0_4 | ||||
|  | ||||
| - changed location of streamdevhosts.conf to VDRCONFDIR/plugins/streamdev | ||||
|   | ||||
							
								
								
									
										34
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| # | ||||
| # Makefile for a Video Disk Recorder plugin | ||||
| # | ||||
| # $Id: Makefile,v 1.15 2008/04/07 14:50:32 schmirl Exp $ | ||||
| # $Id: Makefile,v 1.16 2008/04/08 14:18:15 schmirl Exp $ | ||||
|  | ||||
| # The official name of this plugin. | ||||
| # This name will be used in the '-P...' option of VDR to load the plugin. | ||||
| @@ -45,7 +45,7 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' | ||||
|  | ||||
| ### The object files (add further files here): | ||||
|  | ||||
| COMMONOBJS = common.o i18n.o \ | ||||
| COMMONOBJS = common.o \ | ||||
| 	\ | ||||
| 	tools/source.o tools/select.o tools/socket.o tools/tools.o | ||||
|  | ||||
| @@ -70,8 +70,8 @@ endif | ||||
|  | ||||
| ### The main target: | ||||
|  | ||||
| .PHONY: all dist clean | ||||
| all: libvdr-$(PLUGIN)-client.so libvdr-$(PLUGIN)-server.so | ||||
| .PHONY: all i18n dist clean | ||||
| all: libvdr-$(PLUGIN)-client.so libvdr-$(PLUGIN)-server.so i18n | ||||
|  | ||||
| ### Implicit rules: | ||||
|  | ||||
| @@ -96,6 +96,30 @@ endif | ||||
|  | ||||
| -include $(DEPFILE) | ||||
|  | ||||
| ### Internationalization (I18N): | ||||
|  | ||||
| PODIR     = po | ||||
| LOCALEDIR = $(VDRDIR)/locale | ||||
| I18Npo    = $(wildcard $(PODIR)/*.po) | ||||
| I18Nmsgs  = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) | ||||
| I18Npot   = $(PODIR)/$(PLUGIN).pot | ||||
|  | ||||
| %.mo: %.po | ||||
| 	msgfmt -c -o $@ $< | ||||
|  | ||||
| $(I18Npot): $(CLIENTOBJS:%.o=%.c) $(SERVEROBJS:%.o=%.c) $(COMMONOBJS:%.o=%.c) | ||||
| 	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<http://www.vdr-developer.org/mantisbt/>' -o $@ $^ | ||||
|  | ||||
| %.po: $(I18Npot) | ||||
| 	msgmerge -U --no-wrap --no-location --backup=none -q $@ $< | ||||
| 	@touch $@ | ||||
|  | ||||
| $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo | ||||
| 	@mkdir -p $(dir $@) | ||||
| 	cp $< $@ | ||||
|  | ||||
| i18n: $(I18Nmsgs) | ||||
|  | ||||
| ### Targets: | ||||
|  | ||||
| libdvbmpeg/libdvbmpegtools.a: libdvbmpeg/*.c libdvbmpeg/*.h | ||||
| @@ -117,5 +141,5 @@ dist: clean | ||||
| 	@echo Distribution package created as $(PACKAGE).tgz | ||||
|  | ||||
| clean: | ||||
| 	@-rm -f $(COMMONOBJS) $(CLIENTOBJS) $(SERVEROBJS) $(DEPFILE) *.so *.tgz core* *~ | ||||
| 	@-rm -f $(COMMONOBJS) $(CLIENTOBJS) $(SERVEROBJS) $(DEPFILE) $(PODIR)/*.mo $(PODIR)/*.pot *.so *.tgz core* *~ | ||||
| 	$(MAKE) -C ./libdvbmpeg clean | ||||
|   | ||||
							
								
								
									
										39
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								README
									
									
									
									
									
								
							| @@ -15,8 +15,8 @@ Contents: | ||||
|  | ||||
| 1.   Description | ||||
| 2.   Installation | ||||
| 2.1  VDR 1.3.X and older | ||||
| 2.2  VDR 1.4.X and above | ||||
| 2.1  VDR 1.4.x and older | ||||
| 2.2  VDR 1.6.0 and above | ||||
| 2.3  Updating from streamdev 0.3.x | ||||
| 3.   Usage | ||||
| 3.1  Usage HTTP server | ||||
| @@ -96,13 +96,14 @@ location with the -r parameter. The VDR commandline would then include a | ||||
| as otherwise -r will be passed to VDR and not to streamdev. | ||||
|  | ||||
|  | ||||
| 2.1 VDR 1.3.X and older: | ||||
| 2.1 VDR 1.4.x and older: | ||||
| ------------------------ | ||||
|  | ||||
| This version is not compatible to VDR releases older than 1.4.0. You will | ||||
| probably need one of the streamdev-0.3.x releases. | ||||
| This version is not compatible to VDR releases older than 1.5.9. Take one of | ||||
| the streamdev-0.4.x releases if you are running at least VDR 1.4.x. For older | ||||
| VDRs you will probably need one of the streamdev-0.3.x releases. | ||||
|  | ||||
| 2.2 VDR 1.4.X and above: | ||||
| 2.2 VDR 1.6.0 and above: | ||||
| ------------------------ | ||||
|  | ||||
| cd vdr-1.X.X/PLUGINS/src | ||||
| @@ -319,3 +320,29 @@ priority than the actual channel switch. The later always uses priority 0. | ||||
| Usually a channel switch for live TV has priority 0 anyway, so it is not a | ||||
| problem here. However timers usually have a higher priority. Either avoid | ||||
| client side recordings or set the priority of client side timers to 0. | ||||
|  | ||||
| * There have been reports that channel switching with VDR 1.5.x/1.6.x clients | ||||
| sometimes fails. Current version includes a workaround which seems to work, but | ||||
| YMMV ;) | ||||
|  | ||||
| * Viewing encrypted channels became an issue with VDR's new CAM handling code. | ||||
| Streamdev doesn't provide a (dummy) CAM, so out of the box, VDR won't ever try | ||||
| to receive encrypted channels from streamdev. Pick one of the following | ||||
| solutions to work around the problem: | ||||
|  | ||||
| 1. Force VDR to use streamdev. Open the channels menu on the client (or edit its | ||||
| channels.conf if you know how to do this) and set the CA field of all channels | ||||
| that only the server can decrypt to streamdev's device index. Usually streamdev | ||||
| will get number 9 or 10. Streamdev logs the actual device number when starting | ||||
| up. So please consider the logs for the correct value. Remember to fill in | ||||
| hexadecimal values if you are using an editor to modify your channels.conf | ||||
| (number 10 becomes an "a", number 11 a "b", ...). | ||||
|  | ||||
| 2. Turn encrypted channels into Free-to-Air channels on the client. Again, | ||||
| either enter the channels menu or edit the client's channels.conf. You will | ||||
| also have to disable automatic channel updates on the client or (if streamdev | ||||
| is the only DVB source) disable streamdev's filter streaming feature. Otherwise | ||||
| VDR will revert the channel into an encrypted one. | ||||
|  | ||||
| 3. Apply the patch "patches/vdr-1.6.0-ignore_missing_cam.diff" to your | ||||
| client VDR. | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  *  $Id: device.c,v 1.18 2008/04/07 14:50:32 schmirl Exp $ | ||||
|  *  $Id: device.c,v 1.19 2008/04/08 14:18:16 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include "client/device.h" | ||||
| @@ -190,16 +190,11 @@ void cStreamdevDevice::CloseDvrInt(void) { | ||||
| 	} | ||||
|  | ||||
| 	Dprintf("cStreamdevDevice::CloseDvrInt(): Closing DVR connection\n"); | ||||
| #if VDRVERSNUM < 10500 | ||||
| 	DELETENULL(m_TSBuffer); | ||||
| 	ClientSocket.CloseDvr(); | ||||
| #else | ||||
| 	// Hack for VDR 1.5.x clients (sometimes sending ABRT after TUNE) | ||||
| 	// TODO: Find a clean solution to fix this | ||||
| 	ClientSocket.SetChannelDevice(m_Channel); | ||||
| 	ClientSocket.CloseDvr(); | ||||
| 	DELETENULL(m_TSBuffer); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void cStreamdevDevice::CloseDvr(void) { | ||||
|   | ||||
| @@ -1,12 +1,11 @@ | ||||
| /* | ||||
|  *  $Id: setup.c,v 1.5 2008/04/07 14:50:32 schmirl Exp $ | ||||
|  *  $Id: setup.c,v 1.6 2008/04/08 14:18:16 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include <vdr/menuitems.h> | ||||
|  | ||||
| #include "client/setup.h" | ||||
| #include "client/device.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| cStreamdevClientSetup StreamdevClientSetup; | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  *  $Id: socket.c,v 1.11 2008/04/07 14:40:40 schmirl Exp $ | ||||
|  *  $Id: socket.c,v 1.12 2008/04/08 14:18:16 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include <tools/select.h> | ||||
| @@ -14,7 +14,6 @@ | ||||
| #include "client/socket.h" | ||||
| #include "client/setup.h" | ||||
| #include "common.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| cClientSocket ClientSocket; | ||||
|  | ||||
|   | ||||
							
								
								
									
										11
									
								
								common.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								common.c
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  *  $Id: common.c,v 1.7 2008/04/07 14:27:27 schmirl Exp $ | ||||
|  *  $Id: common.c,v 1.8 2008/04/08 14:18:15 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include <vdr/channels.h> | ||||
| @@ -7,11 +7,10 @@ | ||||
|  | ||||
| #include "common.h" | ||||
| #include "tools/select.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| using namespace std; | ||||
|  | ||||
| const char *VERSION = "0.4.0-pre"; | ||||
| const char *VERSION = "0.5.0-pre"; | ||||
|  | ||||
| const char *StreamTypes[st_Count] = { | ||||
| 	"TS", | ||||
| @@ -23,9 +22,9 @@ const char *StreamTypes[st_Count] = { | ||||
| }; | ||||
|  | ||||
| const char *SuspendModes[sm_Count] = { | ||||
| 	"Offer suspend mode", | ||||
| 	"Always suspended", | ||||
| 	"Never suspended" | ||||
| 	trNOOP("Offer suspend mode"), | ||||
| 	trNOOP("Always suspended"), | ||||
| 	trNOOP("Never suspended") | ||||
| }; | ||||
|  | ||||
| const char IpCharacters[] = "0123456789."; | ||||
|   | ||||
							
								
								
									
										786
									
								
								i18n.c
									
									
									
									
									
								
							
							
						
						
									
										786
									
								
								i18n.c
									
									
									
									
									
								
							| @@ -1,786 +0,0 @@ | ||||
| /* | ||||
|  *  $Id: i18n.c,v 1.8 2008/04/07 14:50:32 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include "i18n.h" | ||||
|  | ||||
| const char *i18n_name = NULL; | ||||
|  | ||||
| const tI18nPhrase Phrases[] = { | ||||
| 	{	"VDR Streaming Server",		// English | ||||
| 		"VDR Streaming Server",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"VDR-suoratoistopalvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika / Greek | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"VTP Streaming Client",		// English | ||||
| 		"VTP Streaming Client",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"VTP-suoratoistoasiakas ",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika / Greek | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Start VDR-to-VDR Server",		// English | ||||
| 		"VDR-zu-VDR Server starten",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Avvia il Server VDR-toVDR",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"K<EFBFBD>ynnist<EFBFBD> VDR-palvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika / Greek | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Start HTTP Server",		// English | ||||
| 		"HTTP Server starten",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Avvia il Server HTTP",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"K<EFBFBD>ynnist<EFBFBD> HTTP-palvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"HTTP Streamtype",		// English | ||||
| 		"HTTP Streamtyp",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Tipo di Stream HTTP",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"HTTP-l<>hetysmuoto",		// Suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Start Client",		// English | ||||
| 		"Client starten",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Avvia il Client",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"K<EFBFBD>ynnist<EFBFBD> VDR-asiakas",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"VDR-to-VDR Server Port",		// English | ||||
| 		"Port des VDR-zu-VDR Servers",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Porta del Server VDR-to-VDR",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"VDR-palvelimen portti",		// Suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"HTTP Server Port",		// English | ||||
| 		"Port des HTTP Servers",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Porta del Server HTTP",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"HTTP-palvelimen portti",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Maximum Number of Clients",		// English | ||||
| 		"Maximalanzahl an Clients",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Numero Massimo di Client",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Suurin sallittu asiakkaiden m<><6D>r<EFBFBD>",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Remote IP",		// English | ||||
| 		"IP der Gegenseite",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Indirizzo IP del Server",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Et<EFBFBD>koneen IP-osoite",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Remote Port",		// English | ||||
| 		"Port der Gegenseite",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Porta del Server Remoto",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Et<EFBFBD>koneen portti",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Remote Streamtype",		// English | ||||
| 		"Streamtyp von Gegenseite",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Tipo di Stream",		// Italiano (oppure Flusso ?) | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Et<EFBFBD>koneen l<>hetysmuoto",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Common Settings",		// English | ||||
| 		"Allgemeines",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Settaggi Comuni",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Yleiset asetukset",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"VDR-to-VDR Server",		// English | ||||
| 		"VDR-zu-VDR Server",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Server VDR-to-VDR",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"VDR-palvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"HTTP Server",		// English | ||||
| 		"HTTP Server",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Server HTTP",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"HTTP-palvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"VDR-to-VDR Client",		// English | ||||
| 		"VDR-zu-VDR Client",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Client VDR-to-VDR",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"VDR-asiakas",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Please restart VDR to activate changes",		// English | ||||
| 		"Bitte starten Sie f<>r die <20>nderungen VDR neu",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"Riavviare VDR per attivare i cambiamenti",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Aktivoi muutokset k<>ynnist<73>m<EFBFBD>ll<6C> VDR uudelleen",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Synchronize EPG",		// English | ||||
| 		"EPG synchronisieren",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"P<EFBFBD>ivit<EFBFBD> ohjelmaopas",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Suspend Live TV",		// English | ||||
| 		"Live-TV pausieren",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Pys<EFBFBD>yt<EFBFBD> suora TV-l<>hetys",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Suspend behaviour",		// English | ||||
| 		"Pausierverhalten",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Pys<EFBFBD>ytystoiminto",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Offer suspend mode",		// English | ||||
| 		"Pausieren anbieten",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"tyrkyt<EFBFBD>",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Always suspended",		// English | ||||
| 		"Immer pausiert",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"aina",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Never suspended",		// English | ||||
| 		"Nie pausiert",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"ei koskaan",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Suspend Server",		// English | ||||
| 		"Server pausieren",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Pys<EFBFBD>yt<EFBFBD> palvelin",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Server is suspended",		// English | ||||
| 		"Server ist pausiert",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Palvelin on pys<79>ytetty",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Couldn't suspend Server!",		// English | ||||
| 		"Konnte Server nicht pausieren!",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Palvelinta ei onnistuttu pys<79>ytt<74>m<EFBFBD><6D>n!",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Client may suspend",		// English | ||||
| 		"Client darf pausieren",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Asiakas saa pys<79>ytt<74><74> palvelimen",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{	"Bind to IP",		// English | ||||
| 		"",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Sido osoitteeseen",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
|         }, | ||||
| 	{	"Filter Streaming",		// English | ||||
| 		"",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Suodatetun tiedon suoratoisto",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
|         }, | ||||
| 	{	"Streaming active",		// English | ||||
| 		"Streamen im Gange",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Suoratoistopalvelin aktiivinen",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
|         }, | ||||
| 	{	"Hide Mainmenu Entry",		// English | ||||
| 		"Hauptmen<EFBFBD>eintrag verstecken",		// Deutsch | ||||
| 		"",		// Slovenski | ||||
| 		"",		// Italiano | ||||
| 		"",		// Nederlands | ||||
| 		"",		// Portugu<67>s | ||||
| 		"",		// Fran<61>ais | ||||
| 		"",		// Norsk | ||||
| 		"Piilota valinta p<><70>valikosta",		// suomi | ||||
| 		"",		// Polski | ||||
| 		"",		// Espa<70>ol | ||||
| 		"",		// Ellinika | ||||
| 		"",		// Svenska | ||||
| 		"",		// Romaneste | ||||
| 		"",		// Magyar | ||||
| 		"",		// Catala | ||||
| 		"",		// Russian | ||||
| 		"",		// Hrvatski | ||||
| 		"",		// Eesti | ||||
| 		"",		// Dansk | ||||
| 		"",		// Czech | ||||
| #if VDRVERSNUM >= 10502 | ||||
| 		"",		// T<>rk<72>e | ||||
| #endif | ||||
| 	}, | ||||
| 	{ NULL } | ||||
| }; | ||||
							
								
								
									
										16
									
								
								i18n.h
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								i18n.h
									
									
									
									
									
								
							| @@ -1,16 +0,0 @@ | ||||
| /* | ||||
|  *  $Id: i18n.h,v 1.1 2004/12/30 22:43:58 lordjaxom Exp $ | ||||
|  */ | ||||
|   | ||||
| #ifndef VDR_STREAMDEV_I18N_H | ||||
| #define VDR_STREAMDEV_I18N_H | ||||
|  | ||||
| #include <vdr/i18n.h> | ||||
|  | ||||
| extern const char *i18n_name; | ||||
| extern const tI18nPhrase Phrases[]; | ||||
|  | ||||
| #undef tr | ||||
| #define tr(s) I18nTranslate(s, i18n_name) | ||||
|  | ||||
| #endif // VDR_STREAMDEV_I18N_H | ||||
| @@ -1,43 +0,0 @@ | ||||
| # The cannels.conf ca field can be used to bind a channel to a specific | ||||
| # device. The streamdev-client does not consider this information, so | ||||
| # there's no way to keep VDR from using streamdev for a specific | ||||
| # channel. Apply this patch if you need this feature. | ||||
| # | ||||
| # This fix should probably become part of streamdev. However as it | ||||
| # changes the behaviour of streamdev, I decided to keep it as a separate | ||||
| # patch until there is something like a new official streamdev release. | ||||
| # | ||||
| --- client/device.h.bak	2006-11-09 12:25:21.000000000 +0100 | ||||
| +++ client/device.h	2006-11-09 12:26:57.000000000 +0100 | ||||
| @@ -50,6 +50,7 @@ | ||||
|  	cStreamdevDevice(void); | ||||
|  	virtual ~cStreamdevDevice(); | ||||
|   | ||||
| +	virtual int ProvidesCa(const cChannel *Channel) const; | ||||
|  	virtual bool ProvidesSource(int Source) const; | ||||
|    virtual bool ProvidesTransponder(const cChannel *Channel) const; | ||||
|  	virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, | ||||
| --- client/device.c.bak	2006-11-09 12:23:24.000000000 +0100 | ||||
| +++ client/device.c	2006-11-09 12:35:48.000000000 +0100 | ||||
| @@ -57,6 +57,12 @@ | ||||
|  #endif | ||||
|  } | ||||
|   | ||||
| +int cStreamdevDevice::ProvidesCa(const cChannel *Channel) const | ||||
| +{ | ||||
| +	// Encrypted is acceptable for now. Will ask the server later. | ||||
| +	return Channel->Ca() <= CA_DVB_MAX ? cDevice::ProvidesCa(Channel) : 1; | ||||
| +} | ||||
| + | ||||
|  bool cStreamdevDevice::ProvidesSource(int Source) const { | ||||
|  	Dprintf("ProvidesSource, Source=%d\n", Source); | ||||
|  	return false; | ||||
| @@ -78,7 +84,7 @@ | ||||
|  	if (ClientSocket.DataSocket(siLive) != NULL  | ||||
|  			&& TRANSPONDER(Channel, m_Channel)) | ||||
|  		res = true; | ||||
| -	else { | ||||
| +	else if (ProvidesCa(Channel)) { | ||||
|  		res = prio && ClientSocket.ProvidesChannel(Channel, Priority); | ||||
|  		ndr = true; | ||||
|  	} | ||||
							
								
								
									
										13
									
								
								patches/vdr-1.6.0-ignore_missing_cam.diff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								patches/vdr-1.6.0-ignore_missing_cam.diff
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| --- device.c.orig	2008-03-28 11:47:25.000000000 +0100 | ||||
| +++ device.c	2008-03-28 11:47:09.000000000 +0100 | ||||
| @@ -375,8 +375,8 @@ | ||||
|                 } | ||||
|              } | ||||
|           } | ||||
| -     if (!NumUsableSlots) | ||||
| -        return NULL; // no CAM is able to decrypt this channel | ||||
| +//     if (!NumUsableSlots) | ||||
| +//        return NULL; // no CAM is able to decrypt this channel | ||||
|       } | ||||
|   | ||||
|    bool NeedsDetachReceivers = false; | ||||
							
								
								
									
										100
									
								
								po/de_DE.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								po/de_DE.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | ||||
| # VDR streamdev plugin language source file. | ||||
| # Copyright (C) 2008 streamdev development team. See http://streamdev.vdr-developer.org | ||||
| # This file is distributed under the same license as the VDR streamdev package. | ||||
| # Frank Schmirler <vdrdev@schmirler.de>, 2008 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: streamdev 0.5.0\n" | ||||
| "Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n" | ||||
| "POT-Creation-Date: 2008-04-01 17:05+0200\n" | ||||
| "PO-Revision-Date: 2008-03-30 02:11+0200\n" | ||||
| "Last-Translator: Frank Schmirler <vdrdev@schmirler.de>\n" | ||||
| "Language-Team: <vdr@linuxtv.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=ISO-8859-15\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
|  | ||||
| msgid "VTP Streaming Client" | ||||
| msgstr "VTP Streaming Client" | ||||
|  | ||||
| msgid "Suspend Server" | ||||
| msgstr "Server pausieren" | ||||
|  | ||||
| msgid "Server is suspended" | ||||
| msgstr "Server ist pausiert" | ||||
|  | ||||
| msgid "Couldn't suspend Server!" | ||||
| msgstr "Konnte Server nicht pausieren!" | ||||
|  | ||||
| msgid "Start Client" | ||||
| msgstr "Client starten" | ||||
|  | ||||
| msgid "Remote IP" | ||||
| msgstr "IP der Gegenseite" | ||||
|  | ||||
| msgid "Remote Port" | ||||
| msgstr "Port der Gegenseite" | ||||
|  | ||||
| msgid "Filter Streaming" | ||||
| msgstr "Metainformationen streamen" | ||||
|  | ||||
| msgid "Synchronize EPG" | ||||
| msgstr "EPG synchronisieren" | ||||
|  | ||||
| msgid "Hide Mainmenu Entry" | ||||
| msgstr "Hauptmen<65>eintrag verstecken" | ||||
|  | ||||
| msgid "VDR Streaming Server" | ||||
| msgstr "VDR Streaming Server" | ||||
|  | ||||
| msgid "Streaming active" | ||||
| msgstr "Streamen im Gange" | ||||
|  | ||||
| msgid "Suspend Live TV" | ||||
| msgstr "Live-TV pausieren" | ||||
|  | ||||
| msgid "Common Settings" | ||||
| msgstr "Allgemeines" | ||||
|  | ||||
| msgid "Maximum Number of Clients" | ||||
| msgstr "Maximalanzahl an Clients" | ||||
|  | ||||
| msgid "Suspend behaviour" | ||||
| msgstr "Pausierverhalten" | ||||
|  | ||||
| msgid "Client may suspend" | ||||
| msgstr "Client darf pausieren" | ||||
|  | ||||
| msgid "VDR-to-VDR Server" | ||||
| msgstr "VDR-zu-VDR Server" | ||||
|  | ||||
| msgid "Start VDR-to-VDR Server" | ||||
| msgstr "VDR-zu-VDR Server starten" | ||||
|  | ||||
| msgid "VDR-to-VDR Server Port" | ||||
| msgstr "Port des VDR-zu-VDR Servers" | ||||
|  | ||||
| msgid "Bind to IP" | ||||
| msgstr "An bestimmte IP binden" | ||||
|  | ||||
| msgid "HTTP Server" | ||||
| msgstr "HTTP Server" | ||||
|  | ||||
| msgid "Start HTTP Server" | ||||
| msgstr "HTTP Server starten" | ||||
|  | ||||
| msgid "HTTP Server Port" | ||||
| msgstr "Port des HTTP Servers" | ||||
|  | ||||
| msgid "HTTP Streamtype" | ||||
| msgstr "HTTP Streamtyp" | ||||
|  | ||||
| msgid "Offer suspend mode" | ||||
| msgstr "Pausieren anbieten" | ||||
|  | ||||
| msgid "Always suspended" | ||||
| msgstr "Immer pausiert" | ||||
|  | ||||
| msgid "Never suspended" | ||||
| msgstr "Nie pausiert" | ||||
							
								
								
									
										100
									
								
								po/fi_FI.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								po/fi_FI.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | ||||
| # VDR streamdev plugin language source file. | ||||
| # Copyright (C) 2008 streamdev development team. See http://streamdev.vdr-developer.org | ||||
| # This file is distributed under the same license as the VDR streamdev package. | ||||
| # Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2008 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: streamdev 0.5.0\n" | ||||
| "Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n" | ||||
| "POT-Creation-Date: 2008-04-01 17:05+0200\n" | ||||
| "PO-Revision-Date: 2008-03-30 02:11+0200\n" | ||||
| "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" | ||||
| "Language-Team: <vdr@linuxtv.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=ISO-8859-15\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
|  | ||||
| msgid "VTP Streaming Client" | ||||
| msgstr "VTP-suoratoistoasiakas" | ||||
|  | ||||
| msgid "Suspend Server" | ||||
| msgstr "Pys<79>yt<79> palvelin" | ||||
|  | ||||
| msgid "Server is suspended" | ||||
| msgstr "Palvelin on pys<79>ytetty" | ||||
|  | ||||
| msgid "Couldn't suspend Server!" | ||||
| msgstr "Palvelinta ei onnistuttu pys<79>ytt<74>m<EFBFBD><6D>n!" | ||||
|  | ||||
| msgid "Start Client" | ||||
| msgstr "K<>ynnist<73> VDR-asiakas" | ||||
|  | ||||
| msgid "Remote IP" | ||||
| msgstr "Et<45>koneen IP-osoite" | ||||
|  | ||||
| msgid "Remote Port" | ||||
| msgstr "Et<45>koneen portti" | ||||
|  | ||||
| msgid "Filter Streaming" | ||||
| msgstr "Suodatetun tiedon suoratoisto" | ||||
|  | ||||
| msgid "Synchronize EPG" | ||||
| msgstr "P<>ivit<69> ohjelmaopas" | ||||
|  | ||||
| msgid "Hide Mainmenu Entry" | ||||
| msgstr "Piilota valinta p<><70>valikosta" | ||||
|  | ||||
| msgid "VDR Streaming Server" | ||||
| msgstr "VDR-suoratoistopalvelin" | ||||
|  | ||||
| msgid "Streaming active" | ||||
| msgstr "Suoratoistopalvelin aktiivinen" | ||||
|  | ||||
| msgid "Suspend Live TV" | ||||
| msgstr "Pys<79>yt<79> suora TV-l<>hetys" | ||||
|  | ||||
| msgid "Common Settings" | ||||
| msgstr "Yleiset asetukset" | ||||
|  | ||||
| msgid "Maximum Number of Clients" | ||||
| msgstr "Suurin sallittu asiakkaiden m<><6D>r<EFBFBD>" | ||||
|  | ||||
| msgid "Suspend behaviour" | ||||
| msgstr "Pys<79>ytystoiminto" | ||||
|  | ||||
| msgid "Client may suspend" | ||||
| msgstr "Asiakas saa pys<79>ytt<74><74> palvelimen" | ||||
|  | ||||
| msgid "VDR-to-VDR Server" | ||||
| msgstr "VDR-palvelin" | ||||
|  | ||||
| msgid "Start VDR-to-VDR Server" | ||||
| msgstr "K<>ynnist<73> VDR-palvelin" | ||||
|  | ||||
| msgid "VDR-to-VDR Server Port" | ||||
| msgstr "VDR-palvelimen portti" | ||||
|  | ||||
| msgid "Bind to IP" | ||||
| msgstr "Sido osoitteeseen" | ||||
|  | ||||
| msgid "HTTP Server" | ||||
| msgstr "HTTP-palvelin" | ||||
|  | ||||
| msgid "Start HTTP Server" | ||||
| msgstr "K<>ynnist<73> HTTP-palvelin" | ||||
|  | ||||
| msgid "HTTP Server Port" | ||||
| msgstr "HTTP-palvelimen portti" | ||||
|  | ||||
| msgid "HTTP Streamtype" | ||||
| msgstr "HTTP-l<>hetysmuoto" | ||||
|  | ||||
| msgid "Offer suspend mode" | ||||
| msgstr "tyrkyt<79>" | ||||
|  | ||||
| msgid "Always suspended" | ||||
| msgstr "aina" | ||||
|  | ||||
| msgid "Never suspended" | ||||
| msgstr "ei koskaan" | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  *  $Id: connection.c,v 1.10 2007/05/07 12:25:11 schmirl Exp $ | ||||
|  *  $Id: connection.c,v 1.11 2008/04/08 14:18:18 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include "server/connection.h" | ||||
| @@ -139,11 +139,7 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority) | ||||
| 	Dprintf(" * GetDevice(const cChannel*, int)\n"); | ||||
| 	Dprintf(" * -------------------------------\n"); | ||||
|  | ||||
| #if VDRVERSNUM < 10500 | ||||
| 	device = cDevice::GetDevice(Channel, Priority); | ||||
| #else | ||||
| 	device = cDevice::GetDevice(Channel, Priority, false); | ||||
| #endif | ||||
|  | ||||
| 	Dprintf(" * Found following device: %p (%d)\n", device,  | ||||
| 			device ? device->CardIndex() + 1 : 0); | ||||
| @@ -161,11 +157,7 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority) | ||||
| 		const cChannel *current = Channels.GetByNumber(cDevice::CurrentChannel()); | ||||
| 		isyslog("streamdev-server: Detaching current receiver"); | ||||
| 		Detach(); | ||||
| #if VDRVERSNUM < 10500 | ||||
| 		device = cDevice::GetDevice(Channel, Priority); | ||||
| #else | ||||
| 		device = cDevice::GetDevice(Channel, Priority, false); | ||||
| #endif | ||||
| 		Attach(); | ||||
| 		Dprintf(" * Found following device: %p (%d)\n", device,  | ||||
| 				device ? device->CardIndex() + 1 : 0); | ||||
|   | ||||
| @@ -27,23 +27,13 @@ protected: | ||||
| 	virtual void Receive(uchar *Data, int Length); | ||||
|  | ||||
| public: | ||||
| #if VDRVERSNUM < 10500 | ||||
| 	cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, int Ca, int Priority, const int *Pids); | ||||
| #else | ||||
| 	cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids); | ||||
| #endif | ||||
| 	virtual ~cStreamdevLiveReceiver(); | ||||
| }; | ||||
|  | ||||
| #if VDRVERSNUM < 10500 | ||||
| cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, int Ca,  | ||||
|                                                int Priority, const int *Pids): | ||||
| 		cReceiver(Ca, Priority, 0, Pids), | ||||
| #else | ||||
| cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, tChannelID ChannelID,  | ||||
|                                                int Priority, const int *Pids): | ||||
| 		cReceiver(ChannelID, Priority, 0, Pids), | ||||
| #endif | ||||
| 		m_Streamer(Streamer) | ||||
| { | ||||
| } | ||||
| @@ -434,11 +424,7 @@ void cStreamdevLiveStreamer::StartReceiver(void) | ||||
| 	DELETENULL(m_Receiver); | ||||
| 	if (m_NumPids > 0) { | ||||
| 		Dprintf("Creating Receiver to respect changed pids\n"); | ||||
| #if VDRVERSNUM < 10500 | ||||
| 		m_Receiver = new cStreamdevLiveReceiver(this, m_Channel->Ca(), m_Priority, m_Pids); | ||||
| #else | ||||
| 		m_Receiver = new cStreamdevLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids); | ||||
| #endif | ||||
| 		if (IsRunning() && m_Device != NULL) { | ||||
| 			Dprintf("Attaching new receiver\n"); | ||||
| 			Attach(); | ||||
|   | ||||
| @@ -364,10 +364,8 @@ std::string cHtmlChannelList::ItemText() | ||||
|  | ||||
| // ******************** cM3uChannelList ****************** | ||||
| cM3uChannelList::cM3uChannelList(cChannelIterator *Iterator, const char* Base) | ||||
| : cChannelList(Iterator) | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 10503 | ||||
|   , m_IConv(cCharSetConv::SystemCharacterTable(), "UTF-8") | ||||
| #endif | ||||
| : cChannelList(Iterator), | ||||
|   m_IConv(cCharSetConv::SystemCharacterTable(), "UTF-8") | ||||
| { | ||||
| 	base = strdup(Base); | ||||
| 	m3uState = msFirst; | ||||
| @@ -398,11 +396,7 @@ std::string cM3uChannelList::Next() | ||||
| 		return ""; | ||||
| 	} | ||||
|  | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 10503 | ||||
| 	std::string name = (std::string) m_IConv.Convert(channel->Name()); | ||||
| #else | ||||
| 	std::string name = channel->Name(); | ||||
| #endif | ||||
|  | ||||
| 	if (channel->GroupSep()) | ||||
| 	{ | ||||
|   | ||||
| @@ -126,9 +126,7 @@ class cM3uChannelList: public cChannelList | ||||
| 		char *base; | ||||
| 		enum eM3uState { msFirst, msContinue, msLast }; | ||||
| 		eM3uState m3uState; | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 10503 | ||||
| 		cCharSetConv m_IConv; | ||||
| #endif | ||||
| 	public: | ||||
| 		virtual std::string HttpHeader() { return cChannelList::HttpHeader() + "Content-type: audio/x-mpegurl\r\n"; }; | ||||
| 		virtual bool HasNext(); | ||||
|   | ||||
| @@ -1,12 +1,11 @@ | ||||
| /* | ||||
|  *  $Id: setup.c,v 1.3 2008/04/07 14:50:33 schmirl Exp $ | ||||
|  *  $Id: setup.c,v 1.4 2008/04/08 14:18:18 schmirl Exp $ | ||||
|  */ | ||||
|   | ||||
| #include <vdr/menuitems.h> | ||||
|  | ||||
| #include "server/setup.h" | ||||
| #include "server/server.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| cStreamdevServerSetup StreamdevServerSetup; | ||||
|  | ||||
|   | ||||
| @@ -3,19 +3,18 @@ | ||||
|  * | ||||
|  * See the README file for copyright information and how to reach the author. | ||||
|  * | ||||
|  * $Id: streamdev-client.c,v 1.5 2008/04/07 14:50:32 schmirl Exp $ | ||||
|  * $Id: streamdev-client.c,v 1.6 2008/04/08 14:18:15 schmirl Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "streamdev-client.h" | ||||
| #include "client/device.h" | ||||
| #include "client/setup.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| #if VDRVERSNUM < 10400 | ||||
| #error "VDR-1.4.0 or greater is required" | ||||
| #if !defined(APIVERSNUM) || APIVERSNUM < 10509 | ||||
| #error "VDR-1.5.9 API version or greater is required!" | ||||
| #endif | ||||
|  | ||||
| const char *cPluginStreamdevClient::DESCRIPTION = "VTP Streaming Client"; | ||||
| const char *cPluginStreamdevClient::DESCRIPTION = trNOOP("VTP Streaming Client"); | ||||
|  | ||||
| cPluginStreamdevClient::cPluginStreamdevClient(void) { | ||||
| } | ||||
| @@ -28,12 +27,9 @@ const char *cPluginStreamdevClient::Description(void) { | ||||
| } | ||||
|  | ||||
| bool cPluginStreamdevClient::Start(void) { | ||||
| 	i18n_name = Name(); | ||||
| 	RegisterI18n(Phrases); | ||||
|  | ||||
| 	I18nRegister(PLUGIN_NAME_I18N); | ||||
| 	cStreamdevDevice::Init(); | ||||
|  | ||||
|   return true; | ||||
| 	return true; | ||||
| } | ||||
|  | ||||
| void cPluginStreamdevClient::Housekeeping(void) { | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|  * | ||||
|  * See the README file for copyright information and how to reach the author. | ||||
|  * | ||||
|  * $Id: streamdev-server.c,v 1.7 2008/04/07 14:27:27 schmirl Exp $ | ||||
|  * $Id: streamdev-server.c,v 1.8 2008/04/08 14:18:15 schmirl Exp $ | ||||
|  */ | ||||
|  | ||||
| #include <getopt.h> | ||||
| @@ -12,13 +12,12 @@ | ||||
| #include "server/server.h" | ||||
| #include "server/suspend.h" | ||||
| #include "remux/extern.h" | ||||
| #include "i18n.h" | ||||
|  | ||||
| #if VDRVERSNUM < 10400 | ||||
| #error "VDR-1.4.0 or greater is required" | ||||
| #if !defined(APIVERSNUM) || APIVERSNUM < 10509 | ||||
| #error "VDR-1.5.9 API version or greater is required!" | ||||
| #endif | ||||
|  | ||||
| const char *cPluginStreamdevServer::DESCRIPTION = "VDR Streaming Server"; | ||||
| const char *cPluginStreamdevServer::DESCRIPTION = trNOOP("VDR Streaming Server"); | ||||
|  | ||||
| cPluginStreamdevServer::cPluginStreamdevServer(void)  | ||||
| { | ||||
| @@ -62,9 +61,7 @@ bool cPluginStreamdevServer::ProcessArgs(int argc, char *argv[]) | ||||
|  | ||||
| bool cPluginStreamdevServer::Start(void)  | ||||
| { | ||||
| 	i18n_name = Name(); | ||||
| 	RegisterI18n(Phrases); | ||||
|  | ||||
| 	I18nRegister(PLUGIN_NAME_I18N); | ||||
| 	if (!StreamdevHosts.Load(STREAMDEVHOSTSPATH, true, true)) { | ||||
| 		esyslog("streamdev-server: error while loading %s", STREAMDEVHOSTSPATH); | ||||
| 		fprintf(stderr, "streamdev-server: error while loading %s\n", STREAMDEVHOSTSPATH); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user