manio / vdr-plugin-dvbapi

VDR dvbapi plugin for use with OSCam
http://www.streamboard.tv/wbb2/thread.php?threadid=40060
GNU General Public License v2.0
58 stars 25 forks source link

icam Support doesnt work with softhhddevice #143

Open 3PO opened 1 year ago

3PO commented 1 year ago

Hi, when i switch to sky channel it works for a few seconds, then i get a black screen. when i switch to a an other sky channel i get the same behavior. This is live TV with softhddevice.

With streamdev and VLC it works fine. But while Stremdev/VLC is decoding, live TV wit softhddevice works also.

ua0lnj commented 1 year ago

Compile softhddevice with enabled debug, set debug level for dvbapi plugin, and post log. Also be a fine, same log for streamdev. I can't receive stream with icam, may be I can see something in logs.

And yet, make record with softhddevice, and play it with vlc. Make record with vlc, and play it with softhddevice. So, we can understand, is this a softhddevice trouble or dvbapi.

uwe5 commented 1 year ago

Hi 3PO, can this problem confirmed with softhddevice-openglosd or xineliboutput?

git0user commented 1 year ago

Here is a log with the same problem: messages.dvbapi.tar.gz Maximum log of vdr & softhddevice. The problem exists both with the softhddevice and with the xineliboutput. VDR 2.6.4 was compiled with make DEBUG=1 and without patches.

git0user commented 1 year ago

Here a log with streamdev: messages.streamdev.tar.gz What I also noticed is that after the stream was ended via streamdev, the video continues until the same channel or another channel is changed and then after a new UpdateEcmInfo the video stops again.

git0user commented 1 year ago

If I add this:

      DEBUGLOG("%s: Got DMX_SET_FILTER request, adapter_index=%d, pid=%X, demux_idx=%d, filter_num=%d", __FUNCTION__, adapter_index, sFP2.pid, demux_index, filter_num);
+     if ((sFP2.pid == 0x0000) || (sFP2.pid == 0x0001) || (sFP2.pid == 0x0011)) {
+       DEBUGLOG("%s: Wrong? ecm pid, ignore got DMX_SET_FILTER request, adapter_index=%d, ecm pid=%X, demux_idx=%d, filter_num=%d", __FUNCTION__, adapter_index, sFP2.pid, demux_index, filter_num);
+     } else {
        filter->SetFilter(adapter_index, sFP2.pid, 1, demux_index, filter_num, sFP2.filter.filter, sFP2.filter.mask);
+     }

then the error is gone. But that's not the way! Why is there PID 0x0000, 0x0001 and 0x0011?

3PO commented 1 year ago

Hi 3PO, can this problem confirmed with softhddevice-openglosd or xineliboutput?

Sorry, i do not have a working VDR at the moment. I switched to enigma2.