From: Klaus Schmidinger Klaus.Schmidinger@cadsoft.de
- Modified switching to Dolby Digital audio in live mode, if the driver and firmware can handle live DD without the need of a Transfer
Mode (thanks to Werner Fink). Live DD mode requires a full featured DVB card and a LinuxDVB driver with firmware version 0x2622 or higher. Older versions will use Transfer Mode just like before.
I recognized that channel switching to an AC3-channel goes much faster with Live-AC3, when you comment out some lines in transfer.c and dvbosd.c to turn off the buffer reserve :
// #define FW_NEEDS_BUFFER_RESERVE_FOR_AC3 // #ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3 //XXX This is a very ugly hack to allow cDvbOsd to reduce the buffer //XXX requirements in cTransfer if it detects a 4MB full featured DVB card. extern bool DvbCardWith4MBofSDRAM; DvbCardWith4MBofSDRAM = osdMem >= 1000000; // #endif
Even if you can`t use Live AC3 because of an old driver, it works without buffer reserve if you use one of Werners latest firmware versions. AC3 in transfer mode doesn`t need a buffer reserve since firmware 2620. (o.k., if you use the old 2.4 driver, you will have to compile it with new firmware...)
My suggestion is to turn off the buffer reserve by default in 1.3.38
Or maybe it is possible to solve this with a new parameter in setup.conf? Could vdr detect if live AC3 is possible and set the best parameter (UseBufferreserve=1 or 0) by itself? Just an idea.
On Monday 28 November 2005 07:34, Martin Dauskardt wrote:
I recognized that channel switching to an AC3-channel goes much faster with Live-AC3, when you comment out some lines in transfer.c and dvbosd.c to turn off the buffer reserve :
// #define FW_NEEDS_BUFFER_RESERVE_FOR_AC3 // #ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3 //XXX This is a very ugly hack to allow cDvbOsd to reduce the buffer //XXX requirements in cTransfer if it detects a 4MB full featured DVB card. extern bool DvbCardWith4MBofSDRAM; DvbCardWith4MBofSDRAM = osdMem >= 1000000; // #endif
Sorry for complaining, but with these three lines commented, the code does exactly the same as the original code (it even compiles to the same object code). Maybe this mail is missing the patched part in transfer.c? Or am I missing something? :-)
Greetings, Sascha