catalinii / minisatip

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

DVBAPI error #932

Closed lars18th closed 2 years ago

lars18th commented 2 years ago

Hi,

2022/02/06 21:02:40 786A8E3B c   (dvbapi) ERROR: Received CA PMT list update for unknown program
2022/02/06 21:02:40 786A8E3B c   (dvbapi) There is no free demuxer for the new program! Aborting...
2022/02/06 21:02:43 786A8E3B c   (dvbapi) ERROR: Received CA PMT list update for unknown program
2022/02/06 21:02:43 786A8E3B c   (dvbapi) There is no free demuxer for the new program! Aborting...
2022/02/06 21:02:46 786A8E3B c   (dvbapi) ERROR: Received CA PMT list update for unknown program
2022/02/06 21:02:46 786A8E3B c   (dvbapi) There is no free demuxer for the new program! Aborting...
2022/02/06 21:02:50 786A8E3B c   (dvbapi) ERROR: Received CA PMT list update for unknown program
2022/02/06 21:02:50 786A8E3B c   (dvbapi) There is no free demuxer for the new program! Aborting...
2022/02/06 21:02:53 786A8E3B c   (dvbapi) ERROR: Received CA PMT list update for unknown program
2022/02/06 21:02:53 786A8E3B c   (dvbapi) There is no free demuxer for the new program! Aborting...

This error appears in the Oscam log when a second channel on the same transponder is requested from a secondary client to minisatip. The first program continues decoding, but the second never starts. However, if the channel is in another transponder then it will be decoded. Using last versions of minisatip (1.1.67) and oscam (r11693).

Any idea?

catalinii commented 2 years ago

Hi,

Can you please update to the latest and provide the full minisatip and oscam log? Seems oscam is running out of demuxers

lars18th commented 2 years ago

Hi @catalinii ,

With the last versions of minisatip the problem continues. Now the problem appears when a second channel is requested by another client to minisatip. This second channel could be from the same or another transponder (I've more than one tuner). In this case, in the Oscam log appears: (dvbapi) ERROR: Received CA PMT list update for unknown program.

More information for you:

So, my assumption is that minisatip is trying to close the second program calling to keys_del() because it doesn't have the key or it can't test it. But this have a side effect: the oscam will enters in troubles with minisatip as the last doesn't understand correctly the response. Anyway, I feel that the close of the program sending a CMD_ID_NOT_SELECTED command is an error.

Any ideas? Regards.

lars18th commented 2 years ago

Hi @catalinii ,

Please, can you check this piece of code? https://github.com/catalinii/minisatip/blob/4ab7ea9dd13a07bd432c5033aad839ea6d8857ff/src/dvbapi.c#L751-L768

The problem is that ed can't be different to zero if ek is not different to zero. So the else if (!ed) never executes. Perhaps here is the bug, because the issue appears when 2 different Demuxer are running, and the minisatip sends the CMD_ID_NOT_SELECTED command.

Regards.

lars18th commented 2 years ago

Hi @catalinii ,

I prepared the PR #973 and with it, the error message (dvbapi) ERROR: Received CA PMT list update for unknown program has gone from my server. Please, check it as I'm not really sure about this change.

Regards.

catalinii commented 2 years ago

Hey @lars18th, good catch.

Thanks

Jalle19 commented 2 years ago

Closing this since the PR was merged