Bug/patch in transfer.c, 1.3.25

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



this might explain why vdr often dies when switching from/to a channel with DD sound -
like ZDF and Pro 7, at least I hope so. Not tested yet, but the bug seems clear enough:

--- xx  2005-06-05 20:59:08.000000000 +0200
+++ transfer.c  2005-06-05 20:59:16.000000000 +0200
@@ -68,7 +68,7 @@
   int Result = 0;
 #ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
   bool GotBufferReserve = false;
-  int RequiredBufferReserve = KILOBYTE(DvbCardWith4MBofSDRAM ? 288 : 576);
+  int RequiredBufferReserve = KILOBYTE(DvbCardWith4MBofSDRAM ? 576 : 288);
 #endif
   active = true;
   while (active) {


Program received signal SIGILL, Illegal instruction.
[Switching to Thread 557063 (LWP 15183)]
0xb7db542e in main_arena () from /lib/libc.so.6
(gdb) bt
#0  0xb7db542e in main_arena () from /lib/libc.so.6
#1  0x0811db65 in cTransfer::Action (this=0xac88870) at transfer.c:84
#2  0x08114d9e in cThread::StartThread (Thread=0xac88990) at thread.c:233
#3  0xb7ea7e51 in pthread_start_thread () from /lib/libpthread.so.0
#4  0xb7ea7ecf in pthread_start_thread_event () from /lib/libpthread.so.0
#5  0xb7d5c92a in clone () from /lib/libc.so.6
(gdb) up
#1  0x0811db65 in cTransfer::Action (this=0xac88870) at transfer.c:84
84                 if (ringBuffer->Available() < RequiredBufferReserve) { // used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too much here
Current language:  auto; currently c++
(gdb) p RequiredBufferReserve
$1 = 589824
(gdb) p DvbCardWith4MBofSDRAM
$4 = false



-- 
Wolfgang


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux