Hi Guys,
I use tvheadend (version 3.9.2690~g6751ade-dirty) and OSCAM in my android box to play scrambled stream. I found some issues. Do anybody come across the same issue as me ?
1 I setup the CA with OSCAM capmt protocol, after several minutes, the descrambling will be stopped, tvheadend log output "not found" of the key
2 When it's descrambling, some mosaic happens, tvheadend output "can't decode the packet"
3 Then I setup the CA with newcamd protocol, soon or later (10s seconds to 10s minutes), tvheadend will crash in several case
Following is the crash stack:
(gdb) bt
#0 0xb6eb5048 in tmalloc_large (nb=4008, m=<optimized out>) at bionic/libc/bionic/../upstream-dlmalloc/malloc.c:4510
#1 dlmalloc (bytes=<optimized out>) at bionic/libc/bionic/../upstream-dlmalloc/malloc.c:4654
#2 0xb6eb1da4 in malloc (bytes=bytes@entry=4000) at bionic/libc/bionic/malloc_debug_common.cpp:223
#3 0x0001610c in sbuf_alloc_ (sb=sb@entry=0x1608a84, len=len@entry=564) at src/utils.c:358
#4 0x00016140 in sbuf_alloc (len=564, sb=0x1608a84) at src/tvheadend.h:679
#5 sbuf_append (sb=sb@entry=0x1608a84, data=0x1625c1c, data@entry=0x64dc74, len=564, len@entry=0) at src/utils.c:372
#6 0x00085bfc in descrambler_descramble (t=t@entry=0x15bcb00, st=st@entry=0x15bcd30, tsb=0x64dc74 "",
tsb@entry=0x1625c1c "G\001\365\327~\242\354\234\306\005H\210G.\300\060\231\026_\353FD<\033%\324'A\201\023@__\207\017\234X\367\212\344\025\201o\276Gc\242\236#V\275e\347qw\347\237H\321Q\360bB\221}\004=R\f|\225\342\004\200\264,f\316\352\206\347\236BEu<\262\300\345>X\365\267e\031\001\313\034w0yx.x5\217l\251\302'e\221\364\255F\230\070+\213F\240\372r\270\023\324\245o\201\350\061\066\301Y8>\032nV\336\350\256\362κ^d\314\037\246\322\366\271\247\240ja\263~\"\270\021\311\340r\263\210\311\025\036\177t\371F\216l\365\360\371\035ڳ\367^\242e\212\275G\001\365\330\322\310y\223\366\060\223z"..., len=0, len@entry=564)
at src/descrambler/descrambler.c:526
#7 0x0008c678 in ts_recv_packet1 (t=0x15bcb00,
tsb=tsb@entry=0x1625c1c "G\001\365\327~\242\354\234\306\005H\210G.\300\060\231\026_\353FD<\033%\324'A\201\023@__\207\017\234X\367\212\344\025\201o\276Gc\242\236#V\275e\347qw\347\237H\321Q\360bB\221}\004=R\f|\225\342\004\200\264,f\316\352\206\347\236BEu<\262\300\345>X\365\267e\031\001\313\034w0yx.x5\217l\251\302'e\221\364\255F\230\070+\213F\240\372r\270\023\324\245o\201\350\061\066\301Y8>\032nV\336\350\256\362κ^d\314\037\246\322\366\271\247\240ja\263~\"\270\021\311\340r\263\210\311\025\036\177t\371F\216l\365\360\371\035ڳ\367^\242e\212\275G\001\365\330\322\310y\223\366\060\223z"...,
len=len@entry=564, pcrp=pcrp@entry=0x0, table=1) at src/input/mpegts/tsdemux.c:188
#8 0x00089c14 in mpegts_input_process (mpkt=0x1599ed8, mi=<optimized out>) at src/input/mpegts/mpegts_input.c:1131
#9 mpegts_input_thread (p=0x203638) at src/input/mpegts/mpegts_input.c:1240
#10 0x00016ac0 in thread_wrapper (p=0x15b7360) at src/wrappers.c:145
#11 0xb6eb1204 in
thread_entry (func=0x16a14 <thread_wrapper>, arg=0x15b7360, tls=0xb6568dd0) at bionic/libc/bionic/pthread_create.cpp:105
#12 0xb6eb139c in pthread_create (thread_out=0x159dc00, attr=<optimized out>, start_routine=0x16a14 <thread_wrapper>, arg=0x78)
at bionic/libc/bionic/pthread_create.cpp:224
#13 0x00000000 in ?? ()