From 335a57291373aa25739a7192807fbfe1c8de0efd Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 18 Jul 2004 18:00:00 +0200 Subject: =?UTF-8?q?Version=201.3.12=20-=20Removed=20all=20error=20messages?= =?UTF-8?q?=20from=20cRecordings::ScanVideoDir()=20and=20just=20skipping?= =?UTF-8?q?=20=20=20entries=20that=20cause=20errors=20in=20order=20to=20av?= =?UTF-8?q?oid=20failure=20in=20case=20of=20things=20like=20=20=20broken?= =?UTF-8?q?=20links=20etc.=20-=20The=20function=20cTimers::SetEvents()=20n?= =?UTF-8?q?ow=20immediately=20returns=20if=20there=20is=20some=20user=20?= =?UTF-8?q?=20=20input.=20-=20Fixed=20handling=20menu=20status=20messages?= =?UTF-8?q?=20when=20the=20list=20contents=20is=20scrolled=20(thanks=20to?= =?UTF-8?q?=20=20=20Alfred=20Zastrow=20for=20reporting=20this=20one).=20-?= =?UTF-8?q?=20Fixed=20checking=20the=20last=20area=20for=20misalignment=20?= =?UTF-8?q?in=20cOsd::CanHandleAreas()=20(thanks=20=20=20to=20Reinhard=20N?= =?UTF-8?q?issl=20for=20reporting=20this=20one).=20-=20No=20longer=20addin?= =?UTF-8?q?g=20section=20filters=20to=20the=20list=20of=20filters=20if=20t?= =?UTF-8?q?hey=20can't=20be=20opened=20=20=20(thanks=20to=20Marco=20Schl?= =?UTF-8?q?=C3=BC=C3=9Fler=20for=20pointing=20this=20out).=20-=20Fixed=20h?= =?UTF-8?q?andling=20error=20case=20'-1'=20when=20polling=20section=20filt?= =?UTF-8?q?ers=20(thanks=20to=20Marco=20=20=20Schl=C3=BC=C3=9Fler).=20-=20?= =?UTF-8?q?Fixed=20handling=20error=20case=20'-1'=20when=20polling=20CAM?= =?UTF-8?q?=20connections.=20-=20Making=20sure=20the=20OSD=20reports=20oeW?= =?UTF-8?q?rongAlignment=20errors=20before=20any=20oeAreasOverlap=20=20=20?= =?UTF-8?q?error=20(suggested=20by=20Reinhard=20Nissl).=20-=20Avoiding=20f?= =?UTF-8?q?lashing=20effects=20in=20the=20OSD=20of=20full=20featured=20DVB?= =?UTF-8?q?=20cards=20by=20explicitly=20=20=20clearing=20the=20OSD=20windo?= =?UTF-8?q?ws=20before=20opening=20them=20(suggested=20by=20Marco=20Schl?= =?UTF-8?q?=C3=BC=C3=9Fler).=20-=20Experimental=20support=20for=20NVOD=20c?= =?UTF-8?q?hannels.=20Currently=20these=20channels=20are=20detected=20=20?= =?UTF-8?q?=20and=20linked=20to=20their=20"base"=20channels=20using=20the?= =?UTF-8?q?=20same=20mechanisms=20as=20for=20the=20=20=20"linked=20service?= =?UTF-8?q?s"=20(let's=20see=20if=20this=20is=20useful).=20Thanks=20to=20M?= =?UTF-8?q?ike=20parker=20for=20=20=20helping=20to=20test=20this.=20Also?= =?UTF-8?q?=20used=20some=20input=20from=20the=20'autopid'=20patch=20by=20?= =?UTF-8?q?Andreas=20=20=20Schultz).=20-=20Now=20storing=20the=20name=20of?= =?UTF-8?q?=20the=20service=20provider=20(aka=20"bouquet")=20in=20the=20ch?= =?UTF-8?q?annel=20=20=20name,=20separated=20by=20a=20semicolon=20(see=20m?= =?UTF-8?q?an=20vdr(5)=20for=20details).=20Explicit=20usage=20=20=20of=20t?= =?UTF-8?q?he=20various=20parts=20of=20the=20channel=20name=20is=20yet=20t?= =?UTF-8?q?o=20come.=20-=20The=20'radio'=20channel=20icon=20is=20now=20onl?= =?UTF-8?q?y=20displayed=20in=20the=20ST:TNG=20skin=20if=20the=20channel?= =?UTF-8?q?=20=20=20actually=20has=20an=20APID.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTORS | 12 ++++ HISTORY | 31 +++++++++ channels.conf | 210 +++++++++++++++++++++++++++++----------------------------- ci.c | 4 +- config.h | 6 +- dvbosd.c | 10 ++- eit.c | 4 +- osd.c | 15 +++-- osdbase.c | 3 +- recording.c | 23 ++----- recording.h | 4 +- sdt.c | 33 +++++++-- sections.c | 16 +++-- skinsttng.c | 4 +- timers.c | 5 +- vdr.5 | 7 +- 16 files changed, 235 insertions(+), 152 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ace8e91..dfbe07b 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -789,6 +789,7 @@ Alfred Zastrow for suggesting to implement separate PausePriority and PauseLifetime parameters for the recordings created when pausing live video for reporting two warnings when compiling with gcc 3.3.1 + for reporting a bug in handling menu status messages when the list contents is scrolled Matthias Raus for reporting a problem with starting the editing process if no marks have been set @@ -858,6 +859,9 @@ Reinhard Nissl channels.conf for adding cDevice::Flush() to make sure that all data in the video card's buffers has been processed + for reporting a bug in checking the last area for misalignment in cOsd::CanHandleAreas() + for suggesting to make sure the OSD reports oeWrongAlignment errors before any + oeAreasOverlap error Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the @@ -1025,6 +1029,11 @@ Marco Schl for fixing handling colors in cDvbSpuPalette::yuv2rgb() for fixing setting lnb voltage if the frontend is not DVB-S for fixing missing audio after replaying a DVD + for pointing out that it is unnecessary to add section filters to the list of + filters if they can't be opened + for fixing handling error case '-1' when polling section filters + for suggesting to avoiding flashing effects in the OSD of full featured DVB cards + by explicitly clearing the OSD windows before opening them Jürgen Schmitz for reporting a bug in displaying the current channel when switching via the SVDRP @@ -1048,3 +1057,6 @@ Maynard Cedric Jörg Knitter for reporting a problem in case the video partition is mounted with "iocharset=utf8" + +Mike parker + for helping to test support for NVOD channels diff --git a/HISTORY b/HISTORY index 322213b..476fac5 100644 --- a/HISTORY +++ b/HISTORY @@ -2935,3 +2935,34 @@ Video Disk Recorder Revision History out this one). - Fixed cRingBufferLinear::Get() in case the buffer wraps around (thanks to Ludwig Nussel for reporting this one). + +2004-07-18: Version 1.3.12 + +- Removed all error messages from cRecordings::ScanVideoDir() and just skipping + entries that cause errors in order to avoid failure in case of things like + broken links etc. +- The function cTimers::SetEvents() now immediately returns if there is some user + input. +- Fixed handling menu status messages when the list contents is scrolled (thanks to + Alfred Zastrow for reporting this one). +- Fixed checking the last area for misalignment in cOsd::CanHandleAreas() (thanks + to Reinhard Nissl for reporting this one). +- No longer adding section filters to the list of filters if they can't be opened + (thanks to Marco Schlüßler for pointing this out). +- Fixed handling error case '-1' when polling section filters (thanks to Marco + Schlüßler). +- Fixed handling error case '-1' when polling CAM connections. +- Making sure the OSD reports oeWrongAlignment errors before any oeAreasOverlap + error (suggested by Reinhard Nissl). +- Avoiding flashing effects in the OSD of full featured DVB cards by explicitly + clearing the OSD windows before opening them (suggested by Marco Schlüßler). +- Experimental support for NVOD channels. Currently these channels are detected + and linked to their "base" channels using the same mechanisms as for the + "linked services" (let's see if this is useful). Thanks to Mike parker for + helping to test this. Also used some input from the 'autopid' patch by Andreas + Schultz). +- Now storing the name of the service provider (aka "bouquet") in the channel + name, separated by a semicolon (see man vdr(5) for details). Explicit usage + of the various parts of the channel name is yet to come. +- The 'radio' channel icon is now only displayed in the ST:TNG skin if the channel + actually has an APID. diff --git a/channels.conf b/channels.conf index 5a36b9e..7c2423b 100644 --- a/channels.conf +++ b/channels.conf @@ -1,120 +1,120 @@ -RTL,RTL Television:12187:hC34:S19.2E:27500:163:104=deu:105:0:12003:1:1089:0 -SAT.1:12480:vC34:S19.2E:27500:1791:1792=deu;1795=deu:34:0:46:133:33:0 -ProSieben:12480:vC34:S19.2E:27500:255:256=deu;257=deu:32:0:898:133:33:0 -RTL2:12187:hC34:S19.2E:27500:166:128=deu:68:0:12020:1:1089:0 -Das Erste:11836:hC34:S19.2E:27500:101:102=deu:104:0:28106:1:1101:0 -Bayerisches FS:11836:hC34:S19.2E:27500:201:202=deu:204:0:28107:1:1101:0 -hessen fernsehen:11836:hC34:S19.2E:27500:301:302=deu:304:0:28108:1:1101:0 -NDR FS MV:12109:hC34:S19.2E:27500:2401:2402=deu:2404:0:28224:1:1073:0 -SR Fernsehen Südwest:11836:hC34:S19.2E:27500:501:502=deu:504:0:28110:1:1101:0 -WDR Köln:11836:hC34:S19.2E:27500:601:602=deu:604:0:28111:1:1101:0 -BR-alpha:11836:hC34:S19.2E:27500:701:702=deu:704:0:28112:1:1101:0 -SÜDWEST BW:11836:hC34:S19.2E:27500:801:802=deu:804:0:28113:1:1101:0 -Phoenix:11836:hC34:S19.2E:27500:901:902=deu:904:0:28114:1:1101:0 -ZDF:11953:hC34:S19.2E:27500:110:120=deu;125=deu:130:0:28006:1:1079:0 -3sat:11953:hC34:S19.2E:27500:210:220=deu:230:0:28007:1:1079:0 -KiKa:11953:hC34:S19.2E:27500:310:320=deu:330:0:28008:1:1079:0 -arte:11836:hC34:S19.2E:27500:401:402=deu,403=fra:404:0:28109:1:1101:0 -ORF 1:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1702,1801:13001:1:1117:0 -ORF 2:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1702,1801:13002:1:1117:0 -ZDFinfokanal:11953:hC34:S19.2E:27500:610:620=deu:130:0:28011:1:1079:0 -CNN Int.:11778:vC34:S19.2E:27500:165:100=eng:47:0:28522:1:1068:0 -S RTL,Super RTL:12187:hC34:S19.2E:27500:165:120=deu:65:0:12040:1:1089:0 -VOX:12187:hC34:S19.2E:27500:167:136=deu:71:0:12060:1:1089:0 -KABEL1:12480:vC34:S19.2E:27500:511:512:33:0:899:133:33:0 -NEUN LIVE,NEUN LIVE Television:12480:vC34:S19.2E:27500:767:768:35:0:897:133:33:0 -DSF:12480:vC34:S19.2E:27500:1023:1024=deu:0:0:900:133:33:0 -HSE24:12480:vC34:S19.2E:27500:1279:1280:37:0:40:133:33:0 -Bloomberg TV Germany:12551:vC56:S19.2E:22000:162:99=deu:0:0:12160:1:1108:0 -EURONEWS:11817:vC34:S19.2E:27500:163:92=fra,93=eng,94=ita,95=esl,91=rus,98=por,99=deu:0:0:8004:1:1070:0 -rbb Brandenburg:12109:hC34:S19.2E:27500:501:502=deu:504:0:28205:1:1073:0 -Sky News:11597:vC56:S19.2E:22000:305+131:306=eng:0:0:28707:1:1026:0 -Veronica/FoxKids:12574:hC56:S19.2E:22000:518+8190:92=dut:38:622,602,100:5020:53:1109:0 -BVN:12574:hC56:S19.2E:22000:515+8190:96=dut:36:0:5025:53:1109:0 -CNBC Europe:12610:vC56:S19.2E:22000:944:945=eng:946:0:12200:1:1112:0 -n-tv:12669:vC56:S19.2E:22000:162:96=deu:55:0:12730:1:1116:0 -Al Jazeera:11567:vC56:S19.2E:22000:55:56=ara:0:0:9021:1:1024:0 -TW1:12692:hC56:S19.2E:22000:166:167=deu:168:0:13013:1:1117:0 -Eurosport:11953:hC34:S19.2E:27500:410:420=deu:430:0:28009:1:1079:0 -EinsExtra:12109:hC34:S19.2E:27500:101:102=deu:0:0:28201:1:1073:0 -EinsFestival:12109:hC34:S19.2E:27500:201:202=deu:0:0:28202:1:1073:0 -EinsMuXx:12109:hC34:S19.2E:27500:301:302=deu:0:0:28203:1:1073:0 -ZDFtheaterkanal:11953:hC34:S19.2E:27500:1110:1120=deu:130:0:28016:1:1079:0 -ZDFdokukanal:11953:hC34:S19.2E:27500:660:670=deu:130:0:28014:1:1079:0 -MDR FERNSEHEN:12109:hC34:S19.2E:27500:401:402=deu:404:0:28204:1:1073:0 -rbb Berlin:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0 +RTL,RTL Television;RTL World:12187:hC34:S19.2E:27500:163:104=deu:105:0:12003:1:1089:0 +SAT.1;ProSiebenSat.1:12480:vC34:S19.2E:27500:1791:1792=deu;1795=deu:34:0:46:133:33:0 +ProSieben;ProSiebenSat.1:12480:vC34:S19.2E:27500:255:256=deu;257=deu:32:0:898:133:33:0 +RTL2;RTL World:12187:hC34:S19.2E:27500:166:128=deu:68:0:12020:1:1089:0 +Das Erste;ARD:11836:hC34:S19.2E:27500:101:102=deu:104:0:28106:1:1101:0 +Bayerisches FS;ARD:11836:hC34:S19.2E:27500:201:202=deu:204:0:28107:1:1101:0 +hessen fernsehen;ARD:11836:hC34:S19.2E:27500:301:302=deu:304:0:28108:1:1101:0 +NDR FS MV;ARD:12109:hC34:S19.2E:27500:2401:2402=deu:2404:0:28224:1:1073:0 +SR Fernsehen Südwest;ARD:11836:hC34:S19.2E:27500:501:502=deu:504:0:28110:1:1101:0 +WDR Köln;ARD:11836:hC34:S19.2E:27500:601:602=deu:604:0:28111:1:1101:0 +BR-alpha;ARD:11836:hC34:S19.2E:27500:701:702=deu:704:0:28112:1:1101:0 +SÜDWEST BW;ARD:11836:hC34:S19.2E:27500:801:802=deu:804:0:28113:1:1101:0 +Phoenix;ARD:11836:hC34:S19.2E:27500:901:902=deu:904:0:28114:1:1101:0 +ZDF;ZDFvision:11953:hC34:S19.2E:27500:110:120=deu,121=2ch;125=dd:130:0:28006:1:1079:0 +3sat;ZDFvision:11953:hC34:S19.2E:27500:210:220=deu:230:0:28007:1:1079:0 +KiKa;ZDFvision:11953:hC34:S19.2E:27500:310:320=deu:330:0:28008:1:1079:0 +arte;ARD:11836:hC34:S19.2E:27500:401:402=deu,403=fra:404:0:28109:1:1101:0 +ORF 1;ORF:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1702,1801:13001:1:1117:0 +ORF 2;ORF:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1702,1801:13002:1:1117:0 +ZDFinfokanal;ZDFvision:11953:hC34:S19.2E:27500:610:620=deu:130:0:28011:1:1079:0 +CNN Int.;CNN:11778:vC34:S19.2E:27500:165:100=eng:47:0:28522:1:1068:0 +S RTL,Super RTL;RTL World:12187:hC34:S19.2E:27500:165:120=deu:65:0:12040:1:1089:0 +VOX;RTL World:12187:hC34:S19.2E:27500:167:136=deu:71:0:12060:1:1089:0 +KABEL1;ProSiebenSat.1:12480:vC34:S19.2E:27500:511:512=deu:33:0:899:133:33:0 +NEUN LIVE,NEUN LIVE Television;BetaDigital:12480:vC34:S19.2E:27500:767:768=deu:35:0:897:133:33:0 +DSF;BetaDigital:12480:vC34:S19.2E:27500:1023:1024=deu:0:0:900:133:33:0 +HSE24;BetaDigital:12480:vC34:S19.2E:27500:1279:1280=deu:37:0:40:133:33:0 +Bloomberg TV Germany;Bloomberg:12551:vC56:S19.2E:22000:162:99=deu:0:0:12160:1:1108:0 +EURONEWS;CSAT:11817:vC34:S19.2E:27500:163:92=fra,93=eng,94=ita,95=esl,91=rus,98=por,99=deu:0:0:8004:1:1070:0 +rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28205:1:1073:0 +Sky News;BSkyB:11597:vC56:S19.2E:22000:305+131:306=eng:0:0:28707:1:1026:0 +Veronica/FoxKids;CANAL+:12574:hC56:S19.2E:22000:518+8190:92=dut:38:622,602,100:5020:53:1109:0 +BVN;CANAL+:12574:hC56:S19.2E:22000:515+8190:96=dut:36:0:5025:53:1109:0 +CNBC Europe;CNBC:12610:vC56:S19.2E:22000:944:945=eng:946:0:12200:1:1112:0 +n-tv;n-tv:12669:vC56:S19.2E:22000:162:96=deu:55:0:12730:1:1116:0 +Al Jazeera;CANALSATELLITE:11567:vC56:S19.2E:22000:55:56=ara:0:0:9021:1:1024:0 +TW1;ORF:12692:hC56:S19.2E:22000:166:167=deu:168:0:13013:1:1117:0 +Eurosport;ZDFvision:11953:hC34:S19.2E:27500:410:420=deu:430:0:28009:1:1079:0 +EinsExtra;ARD:12109:hC34:S19.2E:27500:101:102=deu:0:0:28201:1:1073:0 +EinsFestival;ARD:12109:hC34:S19.2E:27500:201:202=deu:0:0:28202:1:1073:0 +EinsMuXx;ARD:12109:hC34:S19.2E:27500:301:302=deu:0:0:28203:1:1073:0 +ZDFtheaterkanal;ZDFvision:11953:hC34:S19.2E:27500:1110:1120=deu:130:0:28016:1:1079:0 +ZDFdokukanal;ZDFvision:11953:hC34:S19.2E:27500:660:670=deu:130:0:28014:1:1079:0 +MDR FERNSEHEN;ARD:12109:hC34:S19.2E:27500:401:402=deu:404:0:28204:1:1073:0 +rbb Berlin;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0 :Premiere World -START,PREMIERE START:11797:hC34:S19.2E:27500:255:256=deu:32:1702,1801,1722:8:133:2:0 -PREM 1,PREMIERE 1:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1722,1801,1702:10:133:2:0 -PREM 2,PREMIERE 2:11797:hC34:S19.2E:27500:1791:1792=deu;1795=deu:32:1722,1801,1702:11:133:2:0 -PREM 3,PREMIERE 3:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1801,1702:43:133:2:0 -PREM 4,PREMIERE 4:11797:hC34:S19.2E:27500:767:768=deu:32:1801,1722,1702:9:133:2:0 -PREM 5,PREMIERE 5:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1801,1702:29:133:2:0 -PREM 6,PREMIERE 6:11797:hC34:S19.2E:27500:1535:1536=deu:32:1722,1801,1702:41:133:2:0 -PREM 7,PREMIERE 7:11797:hC34:S19.2E:27500:1023:1024=deu:32:1801,1722,1702:20:133:2:0 -DISNEY,DISNEY CHANNEL:11758:hC34:S19.2E:27500:2559:2560=deu:0:1722,1702,1801:34:133:17:0 +START,PREMIERE START;PREMIERE:11797:hC34:S19.2E:27500:255:256=deu:32:1702,1801,1722:8:133:2:0 +PREM 1,PREMIERE 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1722,1801,1702:10:133:2:0 +PREM 2,PREMIERE 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1702,1722,1801:11:133:2:0 +PREM 3,PREMIERE 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu:32:1722,1801,1702:43:133:2:0 +PREM 4,PREMIERE 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1801,1722,1702:9:133:2:0 +PREM 5,PREMIERE 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1702,1801:29:133:2:0 +PREM 6,PREMIERE 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1702,1801,1722:41:133:2:0 +PREM 7,PREMIERE 7;PREMIERE:11797:hC34:S19.2E:27500:1023:1024=deu:32:1722,1801,1702:20:133:2:0 +DISNEY,DISNEY CHANNEL;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:0:1722,1702,1801:34:133:17:0 :Premiere Direkt -DIREKT,PREMIERE DIREKT:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0 +DIREKT,PREMIERE DIREKT;PREMIERE:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0 :PW Erotic -B-UHSE,BEATE-UHSE.TV:12070:hC34:S19.2E:27500:1023:1024=deu:32:1801,1702,1722:21:133:1:0 -EROTIK,PREMIERE EROTIK:12031:hC34:S19.2E:27500:1279:0:0:1722,1702,1801:513:133:4:0 +B-UHSE,BEATE-UHSE.TV;PREMIERE:12070:hC34:S19.2E:27500:1023:1024=deu:32:1801,1702,1722:21:133:1:0 +EROTIK,PREMIERE EROTIK;PREMIERE:12031:hC34:S19.2E:27500:1279:0:0:1722,1702,1801:513:133:4:0 :Sportsworld -F1-Portal:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1801,1702,1722:17:133:3:0 -SPORT 2,PREMIERE SPORT 2:12031:hC34:S19.2E:27500:3839:3840=deu:32:1702,1722,1801:27:133:4:0 +SPORT 1,PREMIERE SPORT 1;PREMIERE:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1801,1702,1722:17:133:3:0 +SPORT 2,PREMIERE SPORT 2;PREMIERE:12031:hC34:S19.2E:27500:3839:3840=deu,3841=deu:32:1702,1722,1801:27:133:4:0 :Beta Digital -N24:12480:vC34:S19.2E:27500:2047:2048:36:0:47:133:33:0 -Liberty TV.com:12610:vC56:S19.2E:22000:941:943=deu:0:0:12199:1:1112:0 +N24;ProSiebenSat.1:12480:vC34:S19.2E:27500:2047:2048=deu:36:0:47:133:33:0 +Liberty TV.com;Maastricht Multimedia:12610:vC56:S19.2E:22000:941:943=deu:0:0:12199:1:1112:0 :- -ProSieben Austria:12051:vC34:S19.2E:27500:161:84=deu:36:0:20002:1:1082:0 -Kabel 1 Schweiz:12051:vC34:S19.2E:27500:162:163=deu:165:0:20003:1:1082:0 -Kabel 1 Austria:12051:vC34:S19.2E:27500:166:167=deu:169:0:20004:1:1082:0 -ProSieben Schweiz:12051:vC34:S19.2E:27500:289:290=deu:33:0:20001:1:1082:0 -FRANCE 5:12207:vC34:S19.2E:27500:160:80=fra:32:0:8501:1:1090:0 -LCP:12207:vC34:S19.2E:27500:165:100=fra:0:0:8506:1:1090:0 -ESCALES:12285:vC34:S19.2E:27500:165:100:41:500,100:17025:1:1094:0 -CANAL CLUB:12324:vC34:S19.2E:27500:160:80=fra:0:0:8612:1:1096:0 -ASTRA-Mosaic:12551:vC56:S19.2E:22000:175:176=fra:0:0:3988:1:1108:0 -ASTRA-Mosaic 2:12551:vC56:S19.2E:22000:179:120=fra:0:0:3987:1:1108:0 -ASTRA-Mosaic 3:12551:vC56:S19.2E:22000:182:169=fra:0:0:3986:1:1108:0 -ASTRA-Mosaic 4:12551:vC56:S19.2E:22000:185:170=fra:0:0:3985:1:1108:0 -ASTRA-Mosaic 5:12551:vC56:S19.2E:22000:163:164:0:0:3984:1:1108:0 -Chamber TV:12551:vC56:S19.2E:22000:55:56=ltz:0:0:12180:1:1108:0 +ProSieben Austria;ProSiebenSat.1:12051:vC34:S19.2E:27500:161:84=deu:36:0:20002:1:1082:0 +Kabel 1 Schweiz;ProSiebenSat.1:12051:vC34:S19.2E:27500:162:163=deu:165:0:20003:1:1082:0 +Kabel 1 Austria;ProSiebenSat.1:12051:vC34:S19.2E:27500:166:167=deu:169:0:20004:1:1082:0 +ProSieben Schweiz;ProSiebenSat.1:12051:vC34:S19.2E:27500:289:290=deu:33:0:20001:1:1082:0 +FRANCE 5;CSAT:12207:vC34:S19.2E:27500:160:80=fra:32:0:8501:1:1090:0 +LCP;CSAT:12207:vC34:S19.2E:27500:165:100=fra:0:0:8506:1:1090:0 +ESCALES;ABSAT:12285:vC34:S19.2E:27500:165:100:41:500,100:17025:1:1094:0 +CANAL CLUB;CSAT:12324:vC34:S19.2E:27500:160:80=fra:0:0:8612:1:1096:0 +ASTRA-Mosaic;ASTRA:12551:vC56:S19.2E:22000:175:176=fra:0:0:3988:1:1108:0 +ASTRA-Mosaic 2;ASTRA:12551:vC56:S19.2E:22000:179:120=fra:0:0:3987:1:1108:0 +ASTRA-Mosaic 3;ASTRA:12551:vC56:S19.2E:22000:182:169=fra:0:0:3986:1:1108:0 +ASTRA-Mosaic 4;ASTRA:12551:vC56:S19.2E:22000:185:170=fra:0:0:3985:1:1108:0 +ASTRA-Mosaic 5;ASTRA:12551:vC56:S19.2E:22000:163:164:0:0:3984:1:1108:0 +Chamber TV;Chambre des Députées:12551:vC56:S19.2E:22000:55:56=ltz:0:0:12180:1:1108:0 RTL TELE Letzebuerg:12551:vC56:S19.2E:22000:168:144=eng,146=fra,151=ltz:74:0:3994:1:1108:0 -Yorin:12574:hC56:S19.2E:22000:512+8190:84=dut:33:622,602,100:5010:53:1109:0 -MTV2 Pop Channel:12226:hC34:S19.2E:27500:513:661=deu:577:0:28640:1:1091:0 +Yorin;CANAL+:12574:hC56:S19.2E:22000:512+8190:84=dut:33:622,602,100:5010:53:1109:0 +MTV2 Pop Channel;MTV Networks:12226:hC34:S19.2E:27500:513+8190:661=deu:577:0:28640:1:1091:0 Via 1 - Schöner Reisen:12148:h:S19.2E:27500:511:512:0:0:44:0:0:0 -VIVA:12669:vC56:S19.2E:22000:309:310=deu:311:0:12732:1:1116:0 -VIVA PLUS:12551:vC56:S19.2E:22000:171:172=deu:173:0:12120:1:1108:0 -MTV Central:11739:vC34:S19.2E:27500:3031:3032:3034:0:28653:1:1066:0 -QVC GERMANY:12551:vC56:S19.2E:22000:165:166:167:0:12100:1:1108:0 -TELE 5:12480:vC34:S19.2E:27500:1535:1536:38:0:51:133:33:0 +VIVA;VIVA Fernsehen GmbH & Co. KG:12669:vC56:S19.2E:22000:309:310=deu:311:0:12732:1:1116:0 +VIVA PLUS;VIVA Fernsehen GmbH & Co. KG:12551:vC56:S19.2E:22000:171:172=deu:173:0:12120:1:1108:0 +MTV Central;MTV Networks:11739:vC34:S19.2E:27500:3031:3032:3034:0:28653:1:1066:0 +QVC Deutschland;QVC:12551:vC56:S19.2E:22000:165:166:167:0:12100:1:1108:0 +TELE 5;BetaDigital:12480:vC34:S19.2E:27500:1535:1536=deu:38:0:51:133:33:0 :@201 Sky -Sky One:12226:hC23:S28.2E:27500:2305+2304:2306=eng:2307:960,961:4705:2:2027:0 -Sky One Mix:12226:hC23:S28.2E:27500:2314+2304:2315=eng:2316:960,961:5104:2:2027:0 -ITV2:10906:vC56:S28.2E:22000:2348:2349=eng,2350=eng:2351:960,961:10240:2:2054:0 -Sci-Fi:12148:hC23:S28.2E:27500:2314+2304:2315=eng:2316:960,961:4905:2:2023:0 -Paramount:12187:hC23:S28.2E:27500:2313+2304:2314=eng:2315:960,961:5904:2:2025:0 -Discovery:11875:hC23:S28.2E:27500:2304:2306=eng:2305:960,961:6201:2:2009:0 -Sky Movies 1:11836:hC23:S28.2E:27500:2310+2304:2311=eng,2312=NAR;2314=eng:2313:960,961:4303:2:2007:0 -Sky Movies 2:11836:hC23:S28.2E:27500:2305+2304:2306=eng,2307=NAR;2309=eng:2308:960,961:4302:2:2007:0 -Sky Movies 3:11836:hC23:S28.2E:27500:2315+2304:2316=eng,2317=NAR;2319=eng:2318:960,961:4403:2:2007:0 -Sky Movies 4:11914:hC23:S28.2E:27500:2305+2304:2306=eng,2307=NAR:2308:960,961:4402:2:2011:0 -Sky Movies 5:11914:hC23:S28.2E:27500:2313+2304:2314=eng,2315=NAR:2316:960,961:4503:2:2011:0 -Sky Movies 6:11914:hC23:S28.2E:27500:2309+2304:2310=eng,2311=NAR:2312:960,961:4502:2:2011:0 -Sky Movies 7:12090:vC23:S28.2E:27500:2312+2304:2313=eng,2314=NAR:2315:960,961:4603:2:2020:0 -Sky Movies 8:11836:hC23:S28.2E:27500:2320+2304:2321=eng,2322=NAR:2323:960,961:5502:2:2007:0 -Sky Movies 9:12090:vC23:S28.2E:27500:2308+2304:2309=eng,2310=NAR:2311:960,961:4602:2:2020:0 -Sky Cinema 1:12090:vC23:S28.2E:27500:2305+2304:2306=eng:2307:960,961:4809:2:2020:0 -Sky Cinema 2:12090:vC23:S28.2E:27500:2316+2304:2317=eng:2318:960,961:4802:2:2020:0 +Sky One;BSkyB:12226:hC23:S28.2E:27500:2305+2304:2306=eng:2307:960,961:4705:2:2027:0 +Sky One Mix;BSkyB:12226:hC23:S28.2E:27500:2314+2304:2315=eng,2317=NAR:2316:960,961:5104:2:2027:0 +ITV2;BSkyB:10906:vC56:S28.2E:22000:2348:2349=eng,2350=eng:2351:960,961:10240:2:2054:0 +Sci-Fi;BSkyB:12148:hC23:S28.2E:27500:2314+2304:2315=eng:2316:960,961:4905:2:2023:0 +Paramount;BSkyB:12187:hC23:S28.2E:27500:2313+2304:2314=eng:2315:960,961:5904:2:2025:0 +Discovery;BSkyB:11875:hC23:S28.2E:27500:2304:2306=eng:2305:960,961:6201:2:2009:0 +Sky Movies 1;BSkyB:11836:hC23:S28.2E:27500:2310+2304:2311=eng,2312=NAR;2314=eng:2313:960,961:4303:2:2007:0 +Sky Movies 2;BSkyB:11836:hC23:S28.2E:27500:2305+2304:2306=eng,2307=NAR;2309=eng:2308:960,961:4302:2:2007:0 +Sky Movies 3;BSkyB:11836:hC23:S28.2E:27500:2315+2304:2316=eng,2317=NAR;2319=eng:2318:960,961:4403:2:2007:0 +Sky Movies 4;BSkyB:11914:hC23:S28.2E:27500:2305+2304:2306=eng,2307=NAR:2308:960,961:4402:2:2011:0 +Sky Movies 5;BSkyB:11914:hC23:S28.2E:27500:2313+2304:2314=eng,2315=NAR:2316:960,961:4503:2:2011:0 +Sky Movies 6;BSkyB:11914:hC23:S28.2E:27500:2309+2304:2310=eng,2311=NAR:2312:960,961:4502:2:2011:0 +Sky Movies 7;BSkyB:12090:vC23:S28.2E:27500:2312+2304:2313=eng,2314=NAR:2315:960,961:4603:2:2020:0 +Sky Movies 8;BSkyB:11836:hC23:S28.2E:27500:2320+2304:2321=eng,2322=NAR:2323:960,961:5502:2:2007:0 +Sky Movies 9;BSkyB:12090:vC23:S28.2E:27500:2308+2304:2309=eng,2310=NAR:2311:960,961:4602:2:2020:0 +Sky Cinema 1;BSkyB:12090:vC23:S28.2E:27500:2305+2304:2306=eng:2307:960,961:4809:2:2020:0 +Sky Cinema 2;BSkyB:12090:vC23:S28.2E:27500:2316+2304:2317=eng:2318:960,961:4802:2:2020:0 :@900 Some 'seed' channels -Chelsea TV:11778:vC23:S28.2E:27500:2308+2304:2309=eng:0:960,961:9307:2:2004:0 -WDR Münster:12421:hC34:S19.2E:27500:101:102=deu:104:0:28310:1:1201:0 +Chelsea TV;BskyB:11778:vC23:S28.2E:27500:2308+2304:2309=eng:0:960,961:9307:2:2004:0 +WDR Münster;ARD:12421:hC34:S19.2E:27500:101:102=deu:104:0:28310:1:1201:0 Going Places:10920:hC56:S28.2E:22000:2310+2304:2311=eng:2312:0:5008:2:2055:0 -Animal Plnt+:12070:hC23:S28.2E:27500:2315+2307:2316=eng:0:960,961:50002:2:2019:0 -S1T:12285:vC23:S28.2E:27500:2311+2304:2312=eng,2313=NAR:2307:960,961:4409:2:2030:0 -CNN:12051:vC23:S28.2E:27500:2313:2315=eng:2314:0:7140:2:2018:0 +Animal Plnt+;BSkyB:12070:hC23:S28.2E:27500:2314+2307:2315=eng:0:960,961:50002:2:2019:0 +S1T;BSkyB:12285:vC23:S28.2E:27500:2311+2304:2312=eng,2313=NAR:2307:960,961:4409:2:2030:0 +CNN;BSkyB:12051:vC23:S28.2E:27500:2313:2315=eng:2314:0:7140:2:2018:0 BBC PARL'MNT:12129:vC23:S28.2E:27500:2304:2306=eng,2307=eng:2305:0:7300:2:2022:0 -AL HAYAT:11200:vC56:S13.0E:27500:413:414:0:0:4733:318:13400:0 +AL HAYAT;T-Systems/MTI:11200:vC56:S13.0E:27500:413:414:0:0:4733:318:13400:0 EURO1080:12168:vC34:S19.2E:27500:308:256:0:FF:21100:1:1088:0 Astra HD:12441:vC34:S19.2E:27500:133+80:134:0:FF:29700:0:0:0 :@1000 New channels diff --git a/ci.c b/ci.c index 65ec687..ac232b9 100644 --- a/ci.c +++ b/ci.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.c 1.22 2004/02/08 15:02:04 kls Exp $ + * $Id: ci.c 1.23 2004/07/17 14:30:17 kls Exp $ */ #include "ci.h" @@ -327,7 +327,7 @@ int cCiTransportConnection::RecvTPDU(void) pfd[0].fd = fd; pfd[0].events = POLLIN; lastResponse = ERROR; - if (poll(pfd, 1, CAM_READ_TIMEOUT) && (pfd[0].revents & POLLIN) && tpdu->Read(fd) == OK && tpdu->Tcid() == tcid) { + if (poll(pfd, 1, CAM_READ_TIMEOUT) > 0 && (pfd[0].revents & POLLIN) && tpdu->Read(fd) == OK && tpdu->Tcid() == tcid) { switch (state) { case stIDLE: break; case stCREATION: if (tpdu->Tag() == T_CTC_REPLY) { diff --git a/config.h b/config.h index 60c50a6..3a67da6 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.198 2004/06/10 13:18:50 kls Exp $ + * $Id: config.h 1.199 2004/07/17 11:09:42 kls Exp $ */ #ifndef __CONFIG_H @@ -20,8 +20,8 @@ #include "i18n.h" #include "tools.h" -#define VDRVERSION "1.3.11" -#define VDRVERSNUM 10311 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "1.3.12" +#define VDRVERSNUM 10312 // Version * 10000 + Major * 100 + Minor #define MAXPRIORITY 99 #define MAXLIFETIME 99 diff --git a/dvbosd.c b/dvbosd.c index 8056499..973298d 100644 --- a/dvbosd.c +++ b/dvbosd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbosd.c 1.23 2004/06/12 13:10:03 kls Exp $ + * $Id: dvbosd.c 1.24 2004/07/18 13:51:42 kls Exp $ */ #include "dvbosd.h" @@ -39,6 +39,14 @@ cDvbOsd::cDvbOsd(int Left, int Top, int OsdDev) shown = false; if (osdDev < 0) esyslog("ERROR: illegal OSD device handle (%d)!", osdDev); + else { + // must clear all windows here to avoid flashing effects - doesn't work if done + // in Flush() only for the windows that are actually used... + for (int i = 0; i < MAXNUMWINDOWS; i++) { + Cmd(OSD_SetWindow, 0, i + 1); + Cmd(OSD_Clear); + } + } } cDvbOsd::~cDvbOsd() diff --git a/eit.c b/eit.c index 3ac53fa..dac2953 100644 --- a/eit.c +++ b/eit.c @@ -8,7 +8,7 @@ * Robert Schneider and Rolf Hakenes . * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg . * - * $Id: eit.c 1.95 2004/06/06 14:49:45 kls Exp $ + * $Id: eit.c 1.96 2004/07/18 10:52:58 kls Exp $ */ #include "eit.h" @@ -144,7 +144,7 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data) break; case SI::TimeShiftedEventDescriptorTag: { SI::TimeShiftedEventDescriptor *tsed = (SI::TimeShiftedEventDescriptor *)d; - cSchedule *rSchedule = (cSchedule *)Schedules->GetSchedule(tChannelID(Source, 0, 0, tsed->getReferenceServiceId())); + cSchedule *rSchedule = (cSchedule *)Schedules->GetSchedule(tChannelID(Source, channel->Nid(), channel->Tid(), tsed->getReferenceServiceId())); if (!rSchedule) break; rEvent = (cEvent *)rSchedule->GetEvent(tsed->getReferenceEventId()); diff --git a/osd.c b/osd.c index d87bee3..2877c28 100644 --- a/osd.c +++ b/osd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.55 2004/06/15 20:29:42 kls Exp $ + * $Id: osd.c 1.57 2004/07/18 09:23:03 kls Exp $ */ #include "osd.h" @@ -602,15 +602,18 @@ cBitmap *cOsd::GetBitmap(int Area) eOsdError cOsd::CanHandleAreas(const tArea *Areas, int NumAreas) { + eOsdError Result = oeOk; for (int i = 0; i < NumAreas; i++) { + if (Areas[i].x1 > Areas[i].x2 || Areas[i].y1 > Areas[i].y2 || Areas[i].x1 < 0 || Areas[i].y1 < 0) + return oeWrongAlignment; for (int j = i + 1; j < NumAreas; j++) { - if (Areas[i].Intersects(Areas[j])) - return oeAreasOverlap; - if (Areas[i].x1 > Areas[i].x2 || Areas[i].y1 > Areas[i].y2 || Areas[i].x1 < 0 || Areas[i].y1 < 0) - return oeWrongAlignment; + if (Areas[i].Intersects(Areas[j])) { + Result = oeAreasOverlap; + break; + } } } - return oeOk; + return Result; } eOsdError cOsd::SetAreas(const tArea *Areas, int NumAreas) diff --git a/osdbase.c b/osdbase.c index 08aef96..42fda30 100644 --- a/osdbase.c +++ b/osdbase.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.c 1.13 2004/05/01 10:51:43 kls Exp $ + * $Id: osdbase.c 1.14 2004/07/17 13:29:13 kls Exp $ */ #include "osdbase.h" @@ -175,6 +175,7 @@ void cOsdMenu::Display(void) subMenu->Display(); return; } + displayMenu->SetMessage(mtStatus, NULL); displayMenu->Clear(); cStatus::MsgOsdClear(); displayMenu->SetTabs(cols[0], cols[1], cols[2], cols[3], cols[4]);//XXX diff --git a/recording.c b/recording.c index cbc916a..e33e231 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 1.88 2004/06/13 20:25:19 kls Exp $ + * $Id: recording.c 1.89 2004/07/17 11:22:29 kls Exp $ */ #include "recording.h" @@ -626,7 +626,7 @@ cRecordings::cRecordings(bool Deleted) lastUpdate = 0; } -bool cRecordings::ScanVideoDir(const char *DirName) +void cRecordings::ScanVideoDir(const char *DirName) { DIR *d = opendir(DirName); if (d) { @@ -641,10 +641,10 @@ bool cRecordings::ScanVideoDir(const char *DirName) free(buffer); buffer = ReadLink(buffer); if (!buffer) - return false; + continue; if (stat(buffer, &st) != 0) { - LOG_ERROR_STR(DirName); - return false; + free(buffer); + continue; } } if (S_ISDIR(st.st_mode)) { @@ -655,24 +655,15 @@ bool cRecordings::ScanVideoDir(const char *DirName) else delete r; } - else if (!ScanVideoDir(buffer)) - return false; + else + ScanVideoDir(buffer); } } - else { - LOG_ERROR_STR(DirName); - return false; - } free(buffer); } } closedir(d); } - else { - LOG_ERROR_STR(DirName); - return false; - } - return true; } bool cRecordings::NeedsUpdate(void) diff --git a/recording.h b/recording.h index 04a1885..88b90d3 100644 --- a/recording.h +++ b/recording.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.h 1.30 2004/06/13 15:37:42 kls Exp $ + * $Id: recording.h 1.31 2004/07/17 11:09:49 kls Exp $ */ #ifndef __RECORDING_H @@ -72,7 +72,7 @@ class cRecordings : public cList { private: bool deleted; time_t lastUpdate; - bool ScanVideoDir(const char *DirName); + void ScanVideoDir(const char *DirName); public: cRecordings(bool Deleted = false); bool Load(void); diff --git a/sdt.c b/sdt.c index 247d2c9..efcad3d 100644 --- a/sdt.c +++ b/sdt.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.c 1.9 2004/06/06 14:25:22 kls Exp $ + * $Id: sdt.c 1.11 2004/07/18 11:14:42 kls Exp $ */ #include "sdt.h" @@ -46,6 +46,7 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length if (!channel) channel = Channels.GetByChannelID(tChannelID(Source(), 0, Transponder(), SiSdtService.getServiceId())); + cLinkChannels *LinkChannels = NULL; SI::Descriptor *d; for (SI::Loop::Iterator it2; (d = SiSdtService.serviceDescriptors.getNext(it2)); ) { switch (d->getDescriptorTag()) { @@ -54,8 +55,8 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length switch (sd->getServiceType()) { case 0x01: // digital television service case 0x02: // digital radio sound service - //XXX TODO case 0x04: // NVOD reference service - //XXX TODO case 0x05: // NVOD time-shifted service + case 0x04: // NVOD reference service + case 0x05: // NVOD time-shifted service { char NameBuf[1024]; char ShortNameBuf[1024]; @@ -68,6 +69,15 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length strcpy(ps, NameBuf); pn = ShortNameBuf; } + if (*pn) { + char ProviderNameBuf[1024]; + sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf)); + if (*ProviderNameBuf) { + char *p = pn + strlen(pn); + *p++ = ';'; + strcpy(p, ProviderNameBuf); + } + } if (channel) { channel->SetId(sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId()); if (Setup.UpdateChannels >= 1) @@ -102,7 +112,16 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length SI::NVODReferenceDescriptor *nrd = (SI::NVODReferenceDescriptor *)d; for (SI::Loop::Iterator it; nrd->serviceLoop.hasNext(it); ) { SI::NVODReferenceDescriptor::Service Service = nrd->serviceLoop.getNext(it); - //printf(" %04X-%04X-%04X\n", Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId());//XXX TODO + cChannel *link = Channels.GetByChannelID(tChannelID(Source(), Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId())); + if (!link && Setup.UpdateChannels >= 3) { + link = Channels.NewChannel(Channel(), "NVOD", Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId()); + patFilter->Trigger(); + } + if (link) { + if (!LinkChannels) + LinkChannels = new cLinkChannels; + LinkChannels->Add(new cLinkChannel(link)); + } } } break; @@ -110,6 +129,12 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } delete d; } + if (LinkChannels) { + if (channel) + channel->SetLinkChannels(LinkChannels); + else + delete LinkChannels; + } } Channels.Unlock(); } diff --git a/sections.c b/sections.c index ead623d..3b2dbe9 100644 --- a/sections.c +++ b/sections.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sections.c 1.5 2004/02/07 15:51:57 kls Exp $ + * $Id: sections.c 1.7 2004/07/17 14:26:32 kls Exp $ */ #include "sections.h" @@ -85,11 +85,15 @@ void cSectionHandler::Add(const cFilterData *FilterData) break; } if (!fh) { - fh = new cFilterHandle(*FilterData); - filterHandles.Add(fh); - fh->handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask); + int handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask); + if (handle >= 0) { + fh = new cFilterHandle(*FilterData); + fh->handle = handle; + filterHandles.Add(fh); + } } - fh->used++; + if (fh) + fh->used++; Unlock(); } @@ -168,7 +172,7 @@ void cSectionHandler::Action(void) int oldStatusCount = statusCount; Unlock(); - if (poll(pfd, NumFilters, 1000) != 0) { + if (poll(pfd, NumFilters, 1000) > 0) { bool DeviceHasLock = device->HasLock(); if (!DeviceHasLock) usleep(100000); diff --git a/skinsttng.c b/skinsttng.c index ac4aab9..f80175f 100644 --- a/skinsttng.c +++ b/skinsttng.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinsttng.c 1.5 2004/05/29 14:05:12 kls Exp $ + * $Id: skinsttng.c 1.6 2004/07/18 11:32:42 kls Exp $ */ // Star Trek: The Next Generation® is a registered trademark of Paramount Pictures @@ -240,7 +240,7 @@ void cSkinSTTNGDisplayChannel::SetChannel(const cChannel *Channel, int Number) x -= bmTeletext.Width() + d; osd->DrawBitmap(x, y0 + (y1 - y0 - bmTeletext.Height()) / 2, bmTeletext, Theme.Color(Channel->Tpid() ? clrChannelSymbolOn : clrChannelSymbolOff), frameColor); } - else { + else if (Channel->Apid1()) { x -= bmRadio.Width() + d; osd->DrawBitmap(x, y0 + (y1 - y0 - bmRadio.Height()) / 2, bmRadio, Theme.Color(clrChannelSymbolOn), frameColor); } diff --git a/timers.c b/timers.c index 6969365..ab1690a 100644 --- a/timers.c +++ b/timers.c @@ -4,13 +4,14 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.c 1.12 2004/03/14 13:27:57 kls Exp $ + * $Id: timers.c 1.13 2004/07/17 12:46:27 kls Exp $ */ #include "timers.h" #include #include "channels.h" #include "i18n.h" +#include "remote.h" // IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d' // format characters in order to allow any number of blanks after a numeric @@ -516,6 +517,8 @@ void cTimers::SetEvents(void) //XXX what if the Schedule doesn't have any VPS??? int Match = tmNone; for (const cEvent *e = Schedule->Events()->First(); e; e = Schedule->Events()->Next(e)) { + if (cRemote::HasKeys()) + return; // react immediately on user input int m = ti->Matches(e); if (m > Match) { Match = m; diff --git a/vdr.5 b/vdr.5 index a224a66..4cc522b 100644 --- a/vdr.5 +++ b/vdr.5 @@ -8,7 +8,7 @@ .\" License as specified in the file COPYING that comes with the .\" vdr distribution. .\" -.\" $Id: vdr.5 1.27 2004/05/15 09:24:57 kls Exp $ +.\" $Id: vdr.5 1.28 2004/07/18 11:06:54 kls Exp $ .\" .TH vdr 5 "1 Jun 2003" "1.2.0" "Video Disk Recorder Files" .SH NAME @@ -64,6 +64,11 @@ for this channel, it preceeds the full name and is delimited by a comma, as in \fBRTL,RTL Television:...\fR + +If present, the name of the service provider or "bouquet" is appended +to the channel name, separated by a semicolon, as in + +\fBRTL,RTL Television;RTL World:...\fR .TP .B Frequency The transponder frequency (as an integer). For DVB-S this value is in MHz. For DVB-C -- cgit v1.2.3