VDR developer version 1.3.26 is now available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.26.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.25-26.diff
The changes since version 1.3.25:
- Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed handling 'summary.vdr' files with more than two empty lines (thanks to Christian Jacobsen for reporting this one). - Improved resetting CAM connections (thanks to Marco Schlüßler). - Implemented cVideoRepacker in remux.c to make sure every PES packet contains only data from one frame (thanks to Reinhard Nissl). NOTE: currently this doesn't work with MPEG1, so if you use MPEG1 you may want to change line 1158 in remux.c to
ts2pes[numTracks++] = new cTS2PES(VPid, resultBuffer, IPACKS);
as it was before. - EPG events without a title now display "No title" instead of "(null)" (thanks to Rolf Ahrenberg). - A device can now detach all receivers for a given PID, as is necessary, e.g., for the bitstreamout plugin (thanks to Werner Fink). - Added the year (two digits) to recording dates in LSTR, and thus also in menus (suggested by Jan Ekholm). - Fixed the call to Channels.Unlock() in cEITScanner::Process() (thanks to Reinhard Nissl). - Fixed handling timers with a day given as MTWTF--@6, i.e. a repeating timer with first day not as full date, but just day of month (thanks to Henrik Niehaus for reporting this one). - Removed an unnecessary #include from osd.c (thanks to Wolfgang Rohdewald). - Fixed dropping EPG events that have a zero start time or duration, in case it's an NVOD event (thanks to Chris Warren). - Fixed handling page up/down in menu lists in case there are several non selectable items in a row (thanks to Udo Richter for reporting this one). - Added cOsdMenu::SetCols() to allow adjusting the menu columns. - Modified cEITScanner::Process() so that it works on systems with only budget cards or a mix of DVB-S, DVB-C or DVB-T cards.
The DVB driver I am currently using can be found at
ftp://ftp.cadsoft.de/vdr/Developer/linux-dvb.2004-12-26.tar.bz2
which is the CVS 'HEAD' version from 2004-12-26, made available as a complete archive for your convenience.
Of course, you can also use any newer driver version.
Have fun!
Klaus
Klaus Schmidinger wrote:
VDR developer version 1.3.26 is now available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.26.tar.bz2
...
Well, looks like the change in handling "page down" in menus made it impossible to get the last page of a menu to display full screen. Here's a small fix for that:
--- osdbase.c 2005/06/12 10:44:22 1.17 +++ osdbase.c 2005/06/12 14:58:40 @@ -362,7 +362,7 @@ if (current >= 0) { if (current < first) first = current; - else if (current - first >= displayMenuItems) + if (current - first >= displayMenuItems || current == last) first = current - displayMenuItems + 1; } if (current != oldCurrent || first != oldFirst) {
Klaus
Klaus Schmidinger wrote:
NOTE: currently this doesn't work with MPEG1, so if you use MPEG1 you may want
Sorry for the dumb question, but how do I know if I'm using MPEG1? I.e. are there broadcaster broadcasting mpeg1 or the mpeg1 comes from some other source?
Bye
Luca Olivetti wrote:
Klaus Schmidinger wrote:
NOTE: currently this doesn't work with MPEG1, so if you use MPEG1 you may want
Sorry for the dumb question, but how do I know if I'm using MPEG1? I.e. are there broadcaster broadcasting mpeg1 or the mpeg1 comes from some other source?
I believe the "analogTV" plugin uses MPEG1.
Klaus
Well, looks like the change in handling "page down" in menus made it impossible to get the last page of a menu to display full screen. Here's a small fix for that:
I'm afraid that doesn't fix another odd behaviour: If there's only one page, I was used to press "PgDn" to quickliy jump to the last entry. (Example: "Setup" - "Restart")
Now after I press "PgDn" I get a new page with only one line reading "Neustart" (Restart), which is *not* marked. If I press "Up" the menu gets quite garbled....
bye, Michael
Michael Reinelt wrote:
Well, looks like the change in handling "page down" in menus made it impossible to get the last page of a menu to display full screen. Here's a small fix for that:
I'm afraid that doesn't fix another odd behaviour: If there's only one page, I was used to press "PgDn" to quickliy jump to the last entry. (Example: "Setup" - "Restart")
Now after I press "PgDn" I get a new page with only one line reading "Neustart" (Restart), which is *not* marked. If I press "Up" the menu gets quite garbled....
Yea, looks like I was drunk when I made the changes. I'll go over it again...
Klaus
On Sun, 2005-06-12 at 16:35 +0200, Klaus Schmidinger wrote:
- Implemented cVideoRepacker in remux.c to make sure every PES packet contains only data from one frame (thanks to Reinhard Nissl).
I run VDR an a box with *very* little spare CPU. I am therefore interested to know if cVideoRepacker adds any significant processing to the remuxer or if it simply an extra comparison in the start code detector?
Klaus Schmidinger wrote:
Well, looks like the change in handling "page down" in menus made it impossible to get the last page of a menu to display full screen. Here's a small fix for that:
Ok, now that this is completely broken, lets try to clean it up. ;)
The basic question is, how should VDR behave at the end of menus? The previous behavior wasn't perfect either, resulting in back-jumps: While paging down, the last page got displayed partially filled, and the next page down actually moved the visible range up, to completely fill the last page.
My suggestion is to avoid empty lines at the end of the menu completely, whenever possible. The attached patch (against original 1.3.26) does this, and also restores the old behavior on single-page menus.
Cheers,
Udo
--- vdr-1.3.26-original/osdbase.c 2005-06-12 12:44:22.000000000 +0200 +++ vdr-1.3.26/osdbase.c 2005-06-13 14:58:30.000000000 +0200 @@ -350,6 +350,10 @@ current += displayMenuItems; first += displayMenuItems; int last = Count() - 1; + if (first + displayMenuItems > last) { + first = last - displayMenuItems + 1; + if (first < 0) first = 0; + } int tmpCurrent = current; while (!SelectableItem(tmpCurrent) && ++tmpCurrent <= last) ;