catalinii / minisatip

minisatip is an SATIP server for linux using local DVB-S2, DVB-C, DVB-T or ATSC cards
https://minisatip.org
332 stars 81 forks source link

dvbapi pmt auto detection #121

Closed 9000h closed 9 years ago

9000h commented 9 years ago

the current code only decodes if the pmt pid is known in advance.
I test it with VLC

RTL HD (Astra 19,2) pmt pid 96
this works
rtsp://192.168.178.133/?src=1&freq=10832&sr=22000&fec=23&ro=35&plts=1&pol=h&msys=dvbs2&pids=0,32,48,96,255,259

without pmt pid did not work (no decode)
rtsp://192.168.178.133/?src=1&freq=10832&sr=22000&fec=23&ro=35&plts=1&pol=h&msys=dvbs2&pids=0,32,48,255,259

maybe there is a way to find the pmt pid and add it to the pids

catalinii commented 9 years ago

I will add this, however this solution will not work always. I see that in multiple cases there are different pmts for the same video and audio pid, just one of them working.

So unless you specify the pmt in this case is going to be up to luck (whichever pmt pid arrives first)

Pitty01 commented 9 years ago

but what we are talking about is related to vlc - i expect the satip request comes with the correct pmt pid?

catalinii commented 9 years ago

Most of the time it will come with the correct pid, but not always.

9000h commented 9 years ago

the latest git did crash here on FTA channel and also encrypted ones


[21/04 17:37:51.41392]: RECEIVED SIGNAL 11 - SP=0 IP=0 main=4069A6 read_dmx=40D771 clock_gettime=7F9D59CBF140

[21/04 17:37:51.41392]: Obtained 10 stack frames.

[21/04 17:37:51.41392]: 0x406f9c : 
print_trace at /usr/src/satip/minisatip/minisatip.c:1041
[21/04 17:37:51.41414]: 0x4070f7 : 
posix_signal_handler at /usr/src/satip/minisatip/minisatip.c:1078
[21/04 17:37:51.41420]: 0x7f9d59ed2cb0 : 
??
??:0
[21/04 17:37:51.41424]: 0x417116 : 
process_pmt at /usr/src/satip/minisatip/tables.c:340
[21/04 17:37:51.41430]: 0x41820c : 
decrypt_stream at /usr/src/satip/minisatip/dvbapi.c:302
[21/04 17:37:51.41435]: 0x40da77 : 
read_dmx at /usr/src/satip/minisatip/stream.c:836
[21/04 17:37:51.41441]: 0x4097f1 : 
select_and_execute at /usr/src/satip/minisatip/socketworks.c:508
[21/04 17:37:51.41446]: 0x406ebe : 
main at /usr/src/satip/minisatip/minisatip.c:1015
[21/04 17:37:51.41452]: 0x7f9d5970b76d : 
??
??:0
[21/04 17:37:51.41457]: 0x403239 : 
_start at ??:0
catalinii commented 9 years ago

I tried in this commit to send both pmt to dvbapi, let's see how it works.

9000h commented 9 years ago

FTA is still working, but decryption is not working any more

catalinii commented 9 years ago

Can you test last commit? Thanks

9000h commented 9 years ago

it did crash again on crypted channels

9000h commented 9 years ago

it still crashes

[24/04 14:50:53.31597]: RECEIVED SIGNAL 11 - SP=0 IP=0 main=4069A6 read_dmx=40D764 clock_gettime=7F29377C1140

[24/04 14:50:53.31598]: Obtained 10 stack frames.

[24/04 14:50:53.31598]: 0x406f9c : print_trace at /usr/src/satip/minisatip/minisatip.c:1043 [24/04 14:50:53.31603]: 0x4070f7 : posix_signal_handler at /usr/src/satip/minisatip/minisatip.c:1080 [24/04 14:50:53.31609]: 0x7f29379d4cb0 : ?? ??:0 [24/04 14:50:53.31614]: 0x417380 : decrypt_stream at /usr/src/satip/minisatip/dvbapi.c:342 [24/04 14:50:53.31620]: 0x41a0d9 : process_stream at /usr/src/satip/minisatip/tables.c:336 [24/04 14:50:53.31626]: 0x40da6f : read_dmx at /usr/src/satip/minisatip/stream.c:833 [24/04 14:50:53.31632]: 0x4097f1 : select_and_execute at /usr/src/satip/minisatip/socketworks.c:508 [24/04 14:50:53.31637]: 0x406ebe : main at /usr/src/satip/minisatip/minisatip.c:1017 [24/04 14:50:53.31643]: 0x7f293720d76d : ?? ??:0 [24/04 14:50:53.31648]: 0x403239 : _start at ??:0

catalinii commented 9 years ago

can you run gdb --args ./minisatip...... then when it crashes print k print keys

I run it today for multiple hours and did not get any of this.

Thanks

9000h commented 9 years ago

here it is

Program received signal SIGSEGV, Segmentation fault.
0x0000000000417380 in decrypt_stream (ad=0x6330e0, rlen=25004) at dvbapi.c:342
342                             if(k->parity == -1)
(gdb) print k
$1 = (SKey *) 0xac225b1a257443e
(gdb) print keys
$2 = {{key = {0x6cd7a0, 0x6d2670}, key_ok = {0, 0}, sid = 27, pmt_pid = 109,
    enabled = 1, id = 0, adapter = 0, demux = 3,
    pi = 0x6c7709 "{\347\005\234<\274\062\243]\362\244b\023\201\nPA,6=\362\357Go\255K펠\244yl\026\207\257\265\225\033_\330\372\232N\345\275T%\245 e\b\330\372\225u\242*\265?:\346\274\307v\366Ƶ\326돸\200`\357\336!w\255\036\017h*\234\227\207\324\324\354$g)\260H\244\261\340?pр\001\222\374\336Uį\360^\336\t\207\224\370\252F\270h\263\340\216\336MR\223\"J\204\315\277\225\307\066`\235\373\242\030b\032C\372\016\060\023W\264H\310\346a\201\277(%,Zd\033\024K\370\203\265.|\226B\216N]G\001\377\220\025\205R$\021\361xPI\352u\222\333\335\036CRS'Q2\274K\333", <incomplete sequence \332>..., pi_len = 38, batch = {{data = 0x0,
        len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 1, last_parity_change = 0, next_key = 0x0}, {key = {
      0x6d2a40, 0x6d2e10}, key_ok = {0, 0}, sid = 50, pmt_pid = 103,
    enabled = 1, id = 1, adapter = 0, demux = 4,
    pi = 0x6c85b9 '\004' <repeats 33 times>, "\002,\311\344\343@\271\b\026\357\316W\256|ծ^\244", '\004' <repeats 28 times>, "\002,\312\344@\222\271\b\025\064\345T\244\325\004^\244\004\004\004\061\001", '\004' <repeats 18 times>"\222, v&\247\037\004\002,\324\344㒹\b\004\004\004\004\004\004E\205", '\004' <repeats 30 times>, "G\001\377\222\323A\030F\225\204\361\256Toν\361W\216\374v\003gY+\263\372e\200"..., pi_len = 32, batch = {{data = 0x0, len = 0} <repeats 129 times>},
    parity = -1, blen = 0, enabled_channels = 1, last_parity_change = 0,
    next_key = 0x63e9e0}, {key = {0x6d31e0, 0x6d35b0}, key_ok = {0, 0},
    sid = 42, pmt_pid = 98, enabled = 1, id = 2, adapter = 0, demux = 5,
---Type <return> to continue, or q <return> to quit---
    pi = 0x6c9179 "\375=D\343kjvT\242ӔwUY\bS-\210\264\325G\343+\251\306_\212⽥\330t\341P\371\375~\341\304\343'p\215\067\337\371O\340\215'\231I\317v\375\242\264\\C\206\272\234\236\226\005\071G9]\347\362\337L\260\245\027ZnG\002\273\312_\246\256\027\\ƻ\245\352\340`\006\350\265y\337\352g:\240\r\tQ\022a\250z\002\065\003\035\246\276\037\364[\277)\237I\210|\032\023u-\337I\275\322LMm\005i\264>\232\362\343\035\006ȇ-_0\207\022C)\270\002\207\031U\017\323t\305\035\377>\354\215\361\033G\265G\001\377\236z\033\331/\316K\036\030\200͛4\033\373\"\005\376\245\031\200;xEXp"..., pi_len = 32, batch = {{data = 0x0, len = 0} <repeats 129 times>},
    parity = -1, blen = 0, enabled_channels = 1, last_parity_change = 0,
    next_key = 0x63f248}, {key = {0x6d3980, 0x6d3d50}, key_ok = {0, 0},
    sid = 16, pmt_pid = 100, enabled = 1, id = 3, adapter = 0, demux = 6,
    pi = 0x6c9eb1 "\302`F\n\232Ŗ\262\035醾ݜ\004\272b\302k\371\003-w\202Q\237\367E\022j5]\360\233\361\212\235\034L\020\207o\036\031\247I\320\333\362\350\067\360/\037\205\266\tH\364\375\062Z\222zpI\251\220\262\256\353u\b\225gg\255\005\177$&y\370)\244\303\037\224\065l\366\303\364\216\235a\207\023\024\206Hy\240\224l\352\252\026\"\032D\362\v\275\251?\333al\204m!\206\"\370\274\352,\222Y6Z$\277gu\207\362\340Ę\332lQ\331\016\230\022S\226]\310ѝ\362\361P\325\373?=\v\202\374\253\343\037N\354\245\350G\001\377\235\070\n\251법\321\307g,\304\356E\213\305\334!@u<\266~I\266D"..., pi_len = 32, batch = {{data = 0x0,
        len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 1, last_parity_change = 0, next_key = 0x63fab0}, {
    key = {0x6d4120, 0x6d44f0}, key_ok = {0, 0}, sid = 345, pmt_pid = 121,
    enabled = 1, id = 4, adapter = 0, demux = 7,
---Type <return> to continue, or q <return> to quit---
    pi = 0x6ca609 "\377\311Akޠn\366y\250nF\233\373\241\303:'\205\317\r\254)\034\017\312\001\277\315\377m\221M\a\220Q\b^Ebҥ\263\375ߵ\251\272\227\245X\033v",
    pi_len = 38, batch = {{data = 0x0, len = 0} <repeats 129 times>},
    parity = -1, blen = 0, enabled_channels = 1, last_parity_change = 0,
    next_key = 0x640318}, {key = {0x6d48c0, 0x6d4c90}, key_ok = {0, 0},
    sid = 365, pmt_pid = 125, enabled = 1, id = 5, adapter = 0, demux = 8,
    pi = 0x6ca781 "{Hq", pi_len = 38, batch = {{data = 0x0,
        len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 1, last_parity_change = 0, next_key = 0x640b80}, {
    key = {0x6d5060, 0x6d5430}, key_ok = {0, 0}, sid = 23, pmt_pid = 97,
    enabled = 1, id = 6, adapter = 0, demux = 9,
    pi = 0x6c6d7d "~z\370\371\005\216\205\224\276\004\066\071\006\345\025\021>J\255\271\374\337a\205\223`\n\035`\021y\023tg:L\312,\374\373\016\214i|\006->p\215\200\256\366.\307\337\355\350\346\315\370\060\065@:\n\276\333D\314\333\371\316\332\316\036~B\270l\306\r\025AC>\226\206\374,\221#й\325\002\251\022\217赀l\323\364\064\303\063\031\351\377k\242/\236\217;{\213\365|\306Pc\023\026w\272\017Θ\222\333\027\201t+Q7\005+\272\353Ϗ\236\060\235<\rm\362ѽ%N\252Ac\265\361t\361zlX\033c\030l\267\024G\001\377\266\033", pi_len = 32, batch = {{data = 0x0,
        len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 3, last_parity_change = 0, next_key = 0x6413e8}, {
    key = {0x6d5800, 0x6d5bd0}, key_ok = {0, 0}, sid = 355, pmt_pid = 123,
    enabled = 1, id = 7, adapter = 0, demux = 10,
    pi = 0x6c6ef5 "-\316\355\070\261U\"M\271[\206\274ΤzkLէ\355U\265E6\tl\314\3---Type <return> to continue, or q <return> to quit---
71\f\225\263JY\271K>\034\bW\321\357젔\374\215\370\345a\205\371]\003M\240E\307\354\v`\231\003\211\024.\370\247<ZEۆP\003\020\262n\021\331\351\320#\230\307AI\352v\017\343J%\300d!t\250q@\257ӛAP\336\030_l\205\256\033ώ\270\204%\257=\234]\035\067\227()\344\066\360^3\253\231T\322;M<ņ\006CV\033\313\063\310R\330\355ݓ\224WW\020\021\244\071\232%t", pi_len = 38, batch = {{data = 0x0,
        len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 1, last_parity_change = 0, next_key = 0x641c50}, {
    key = {0x6d5fa0, 0x6d6370}, key_ok = {0, 0}, sid = 29, pmt_pid = 99,
    enabled = 1, id = 8, adapter = 0, demux = 11,
    pi = 0x6c9b05 "n\232T\036,e\340\002}\274\365ia\035{\211uѐ^X\207\275\305(\027Ɠ\243\\۵\\\321$\373\v\355\021\330x\236:ry\t*)K\vg\374\272\274\066:V\202iy\325\032\005!JNy#\334Q\205\206\263\336w)'[\350N\372\aŀ\354\327\026\335iǤi+\265\240|`\201\261\364\371\262\221(\336!\273\027\306[\240\347\316\nWL\266cj\017I\f\302+c\353\334\327$u\006\246\005\270\336\037b\211\aZ\274\061\306uMٿ٫\337Hp\367o\266\252\064A\340\037e\006\326E\352\365l\331\002\344oG\001\377\231aS(>\235\v\376\327\020\220\301\245\233\025\236\022٦\210р/\b\340["..., pi_len = 38, batch = {{
        data = 0x0, len = 0} <repeats 129 times>}, parity = -1, blen = 0,
    enabled_channels = 1, last_parity_change = 0, next_key = 0x6424b8}, {
    key = {0x6d6740, 0x6d6b10}, key_ok = {0, 0}, sid = 168, pmt_pid = 102,
    enabled = 1, id = 9, adapter = 0, demux = 12,
    pi = 0x6c9bc1 "\025\236\022٦\210р/\b\340[\376$,\231\374\071[Bւ\263\203\036\370\321\306\036[\243k\317\326\023\206.\356\347\001\337\b\314OU\202\035\347\220\330\374\360ɩ\221\366J\347#%\225\303ij\275\071\066\362\213\340\314\312\022{K\26---Type <return> to continue, or q <return> to quit---
2\250b\177e&\340S\345L\001[\226\261\251\r\334ɏ\213\001m\263\025\373k\354\065", pi_len = 32, batch = {{data = 0x0, len = 0} <repeats 129 times>}, parity = -1,
    blen = 0, enabled_channels = 1, last_parity_change = 0,
    next_key = 0x642d20}, {key = {0x6d6ee0, 0x6d72b0}, key_ok = {0, 0},
    sid = 30, pmt_pid = 101, enabled = 1, id = 10, adapter = 0, demux = 13,
    pi = 0x6ca0e5 "\020\275\224\332\060#\376>\274B\355cHv<fY\263\036!\353K\225H\257\223\323\025\237\005\032W\222L\034\215\366\253t~ \333\327\017\324\253s$\244ny\357\270\177\071\313;\361\376\231\364^#YZ\212\203\232\274\323py\024p\356\367\265\006 \306$0.su\252^\216\036\274T0\227\251\365\071\025Z\211\376\264C\n\334\a\322`\n\216|\357#'71z\254\361\357\226~!Y\356j\237\234\002,3AJ\024.jW\350\336z\271\200\326Y\002\321\317#tDE\236t\311ڀcη\261\360\211\364\223۴}\025\001Sv\335G",
    pi_len = 32, batch = {{data = 0x0, len = 0} <repeats 129 times>},
    parity = -1, blen = 0, enabled_channels = 1, last_parity_change = 0,
    next_key = 0x643588}, {key = {0x0, 0x0}, key_ok = {0, 0}, sid = 0,
    pmt_pid = 0, enabled = 0, id = 0, adapter = 0, demux = 0, pi = 0x0,
    pi_len = 0, batch = {{data = 0x0, len = 0} <repeats 129 times>},
    parity = 0, blen = 0, enabled_channels = 0, last_parity_change = 0,
    next_key = 0x0} <repeats 244 times>}
(gdb)
9000h commented 9 years ago

it still crashes http://pastebin.com/cABrn7hE

catalinii commented 9 years ago

Try now, I was not able to reproduce, but will try on a 64 bit system now also, since it was not supposed to crash in the first place.

Thanks

9000h commented 9 years ago

It still crashes http://pastebin.com/mLasa1bJ

Linux yavdr2 3.13.0-44-generic #73~precise1-Ubuntu SMP Wed Dec 17 00:39:15 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

it did not crash on a banana pi, so it's also my impression some pointers got messed up somehow

but on the banana pi decryption did not work, which was working some commits before

9000h commented 9 years ago

tables.c:199 the return should have a value dvbapi.c:102:5 the return should have a value dvbapi.c:115 the return should have a value

functions with no prototype setItemSize getItemSize free_assemble_packet

tables.c: In function 'setItem': tables.c:175:1: warning: control reaches end of non-void function [-Wreturn-type]

tables.c:304:5: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]

dvbapi.c:319:10: warning: 'b' may be used uninitialized in this function [-Wuninitialized]

missing header stdlib.h ? dvbapi.c:658:5: warning: implicit declaration of function 'abs' [-Wimplicit-function-declaration]

9000h commented 9 years ago

only an idea on struct http://www.catb.org/esr/structure-packing/packtest.c

on my 64bit system where minisatip crashes root@yavdr2:/usr/src/satip# ./packtest sizeof(char *) = 8 sizeof(long) = 8 sizeof(int) = 4 sizeof(short) = 2 sizeof(char) = 1 sizeof(float) = 4 sizeof(double) = 8 sizeof(struct foo1) = 24 sizeof(struct foo2) = 24 sizeof(struct foo3) = 16 sizeof(struct foo4) = 4 sizeof(struct foo5) = 8 sizeof(struct foo6) = 4 sizeof(struct foo7) = 8 sizeof(struct foo8) = 12 sizeof(struct foo9) = 24 sizeof(struct foo10) = 24 sizeof(struct foo11) = 16 sizeof(struct foo12) = 24

on the banana pi no crash root@bananas:/usr/src/satip# ./packtest sizeof(char *) = 4 sizeof(long) = 4 sizeof(int) = 4 sizeof(short) = 2 sizeof(char) = 1 sizeof(float) = 4 sizeof(double) = 8 sizeof(struct foo1) = 12 sizeof(struct foo2) = 16 sizeof(struct foo3) = 8 sizeof(struct foo4) = 4 sizeof(struct foo5) = 8 sizeof(struct foo6) = 4 sizeof(struct foo7) = 8 sizeof(struct foo8) = 12 sizeof(struct foo9) = 12 sizeof(struct foo10) = 12 sizeof(struct foo11) = 8 sizeof(struct foo12) = 12

catalinii commented 9 years ago

I think the issue is just on 64 bit. Can you run it with -l -l -l -l and do a print pid In the gdb?

I did not managed to get the 64 bit system yet. Thanks

9000h commented 9 years ago

here it is http://pastebin.com/MQZmBqBD

catalinii commented 9 years ago

Can you try now, if it fails can u provide the same ? Thanks

9000h commented 9 years ago

it still crashes http://pastebin.com/kxdMb2Mb

3PO commented 9 years ago

Same behavior here: --> https://bpaste.net/show/39dddb3a72c5

minisatip ist started with: "-g -l -l -l -l -o localhost:4444"

9000h commented 9 years ago

still no success http://pastebin.com/LqBpiTxt

9000h commented 9 years ago

with commit 135 it crashes now also on the banana pi http://pastebin.com/55rj0iLG

catalinii commented 9 years ago

Finally got my hands on a 64 bit system, can you test now if it is ok ?

Thanks

9000h commented 9 years ago

ok the crash is fixed, but it still no picture on decrypted channels on oscam the ecm is ok. http://pastebin.com/NdsxPzgf

catalinii commented 9 years ago

Can you try now? Thanks

9000h commented 9 years ago

still no picture http://pastebin.com/vsArzRr6

catalinii commented 9 years ago

Do you have multiple connections with other (programs using the same oscam)? If yes, does it work if you start the other ones?

Can you try multiple channels?

9000h commented 9 years ago

yes I do, and minisatip did work up to the commit from 15.04 with pmt id in the URL my other clients have no issue

catalinii commented 9 years ago

So you mean same test conditions now the latest commit does not work and now the last commit from 15.04 works?

9000h commented 9 years ago

yes as I wrote here https://github.com/catalinii/minisatip/issues/121#issue-68770792 now with the latest commit it looks like the communication with oscam and pmt detection is fine but the stream has no video/audio no picture

the reason is probably (http://pastebin.com/vsArzRr6) [26/04 17:01:24.40006]: invalid DVBAPI_CA_SET_DESCR, key 2 parity 1, k (nil),CW: 37 BD 2C 20 5C B2 51 5F in the oscam log the ecm is ok at this time

catalinii commented 9 years ago

Yes well i am sending index 0 but getting index 2 back...this is the reason of the invalid message.

I will look into this in the next days and let u know if I need something.

Thanks

9000h commented 9 years ago

so a fix like in the vdr dvbapi plugin https://github.com/manio/vdr-plugin-dvbapi/commit/c1bf3d58dae680eb543aed095073a8cd54c29341

9000h commented 9 years ago

ok it did work, I did retest with a local oscam and single connect it works also with the Panasonic TV the only drawback now is the missing index and emm

I will do later a detailed test.

catalinii commented 9 years ago

I fixed the issue that you are reporting + additional one that I was seeing.

Please test if everything is ok.

Thanks

9000h commented 9 years ago

latest commit did look very good, but I do have some Austria Channels with artefacts where I'm not sure if the CW's need a delay

The other feature to get also EMM's is also important to update cards, maybe it can implemented similar to the VDR patch from Manio https://github.com/manio/vdr-plugin-dvbapi/issues/52 http://skyboo.net/pub/vdr-2.1.6-catemmpids-02.diff

catalinii commented 9 years ago

Can you provide a log for the austria channels? Thanks

nfedera commented 9 years ago

Weird. Austrian channel ORF1 HD works for me only with -l -l (2 or more) . Is that expected? I see code in adapters.c that is only executed if opts.log < 2

nfedera commented 9 years ago

sorry, s/adapters.c/stream.c here: https://github.com/catalinii/minisatip/blob/master/stream.c#L833

9000h commented 9 years ago

the issue I have seen was on ATV, ATV HD, ATV2 ORF1 HD,ORF2 HD are ok here

nfedera commented 9 years ago

@9000h I'm seeing this issue only on ORF1 HD. I'm using these parameters:

?src=1&freq=11302&sr=22000&pol=h&msys=dvbs2&pids=0,107,1920,1921,1922,1923,1925

Which params are you using for ORF1 HD ?

9000h commented 9 years ago

the issue @nfedera found at https://github.com/catalinii/minisatip/blob/master/stream.c#L833 seem to be the issue for the artefacts, if I run minisatip with -l -l -l then the there are no artefacts

9000h commented 9 years ago

I did mainly use minisatip with a Panasonic tx-55asx759 here so we have different clients which could explain the different behaviour.

catalinii commented 9 years ago

Thanks will put this code in an ifdef.

Thanks

9000h commented 9 years ago

the latest commit did crash here and has issues with FTA channels

root@yavdr2:/usr/src/satip/minisatip# gdb --args  ./minisatip -e0 -o192.168.178.1:2000  -f
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/src/satip/minisatip/minisatip...done.
(gdb) r
Starting program: /usr/src/satip/minisatip/minisatip -e0 -o192.168.178.1:2000 -f
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[04/05 07:26:01.000]: Starting minisatip version 0.3.23, compiled with s2api version: 0504
[04/05 07:26:01.000]: New UDP socket 7 bound to 0.0.0.0:1900
[04/05 07:26:01.000]: New UDP socket 8 bound to 239.255.255.250:1900
[04/05 07:26:02.048]: Initializing with 1 devices
[04/05 07:26:02.048]: tcp_connect: failed: connect to 192.168.178.1:2000 failed: Operation now in progress
[04/05 07:26:33.31746]: New UDP socket 16 bound to 0.0.0.0:5500
[04/05 07:26:33.31746]: New UDP socket 17 bound to 0.0.0.0:5501
[04/05 07:26:41.39515]: New UDP socket 16 bound to 0.0.0.0:5500
[04/05 07:26:41.39515]: New UDP socket 17 bound to 0.0.0.0:5501

Program received signal SIGSEGV, Segmentation fault.
0x000000000041944b in dvbapi_process_pmt (b=0x6c9cdd "\002\260\062\071\022\301", ad=0x6344e0) at dvbapi.c:817
817         es_len = (pmt[i+3] & 0xF)*256 + pmt[i+4];
(gdb) print k
$1 = (SKey *) 0x0
(gdb) print keys
$2 = {{key = {0x0, 0x0}, key_ok = {0, 0}, sid = 0, pmt_pid = 0, enabled = 0, id = 0, adapter = 0, demux = 0, ver = 0, pi = 0x0, pi_len = 0, batch = {{data = 0x0, 
        len = 0} <repeats 129 times>}, parity = 0, blen = 0, enabled_channels = 0, last_parity_change = 0, next_key = 0x0} <repeats 255 times>}
(gdb) print pmt
$3 = (unsigned char *) 0x0
(gdb) print b
$4 = (unsigned char *) 0x6c9cdd "\002\260\062\071\022\301"
(gdb) bt
#0  0x000000000041944b in dvbapi_process_pmt (b=0x6c9cdd "\002\260\062\071\022\301", ad=0x6344e0) at dvbapi.c:817
#1  0x000000000041ae80 in process_stream (ad=0x6344e0, rlen=25004) at tables.c:527
#2  0x000000000040dafa in read_dmx (s=0x627340) at stream.c:831
#3  0x0000000000409881 in select_and_execute () at socketworks.c:506
#4  0x0000000000406f4f in main (argc=4, argv=0x7fffffffe6c8) at minisatip.c:1027
(gdb)
catalinii commented 9 years ago

Hi,

I saw this as well, forgot to push the fix.

Thanks

Pitty01 commented 9 years ago

for some reason current master does not work here without -o parameter, decrypting locally on vdr - can someone confirm this? Pitty

9000h commented 9 years ago

the commit with clean psi did not work with my Panasonic here (no channel available), if I "set opts.clean_psi = 0" in the code then all is back to normal. The command line option is missing also.

so for the Panasonic client it's nearly perfect with opts.clean_psi = 0, but with VLC some channels showing no video or audio. FTA seams to be ok with VLC. I need to do some more detailed test.

9000h commented 9 years ago

with the changes #143 all is back to normal with the Panasonic but with artefacts, with set opts.clean_psi = 0 in the code there are no artefacts.

catalinii commented 9 years ago

Are you guys seeing any issues now with the latest commit ? Thanks