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

Latest commit FastECM does not build on Gentoo #137

Closed MegaV0lt closed 3 years ago

MegaV0lt commented 3 years ago

On my VDR it does not bulid:

Folgendende Plugins wurden aktualisiert:
  dvbapi-git --> f5906d1 Merge branch 'fastecm-onur'
...
*** Plugin dvbapi:
CC CAPMT.o
CC DeCSA.o
CC DVBAPI.o
CC DVBAPISetup.o
CC SocketHandler.o
CC SCCIAdapter.o
DeCSA.cpp: In Elementfunktion »bool DeCSAKey::Set_even_control_word(const unsigned char*)«:
DeCSA.cpp:417:31: Fehler: expected primary-expression before »->« token
     dvbcsa_bs_key_set(ca_descr->cw, cs_key_even);
                               ^~
DeCSA.cpp: In Elementfunktion »bool DeCSAKey::Set_odd_control_word(const unsigned char*)«:
DeCSA.cpp:436:31: Fehler: expected primary-expression before »->« token
     dvbcsa_bs_key_set(ca_descr->cw, cs_key_odd);
                               ^~
DeCSA.cpp: In Konstruktor »DeCSAAdapter::DeCSAAdapter()«:
DeCSA.cpp:470:3: Fehler: »cs« wurde in diesem Gültigkeitsbereich nicht definiert
   cs = dvbcsa_bs_batch_size();
   ^~
DeCSA.cpp:470:3: Anmerkung: empfohlene Alternative: »cos«
   cs = dvbcsa_bs_batch_size();
   ^~
   cos
DeCSA.cpp: In Elementfunktion »bool DeCSA::SetDescr(ca_descr_t*, bool, int)«:
DeCSA.cpp:663:5: Fehler: »FAST_ECM« wurde in diesem Gültigkeitsbereich nicht definiert
     FAST_ECM fecm;
     ^~~~~~~~
DeCSA.cpp:663:5: Anmerkung: empfohlene Alternative: »CA_ECD«
     FAST_ECM fecm;
     ^~~~~~~~
     CA_ECD
DeCSA.cpp:664:24: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_struct«
     DeCSAKeyArray[idx].Get_FastECM_struct(fecm);
                        ^~~~~~~~~~~~~~~~~~
DeCSA.cpp:664:43: Fehler: »fecm« wurde in diesem Gültigkeitsbereich nicht definiert
     DeCSAKeyArray[idx].Get_FastECM_struct(fecm);
                                           ^~~~
DeCSA.cpp:664:43: Anmerkung: empfohlene Alternative: »recv«
     DeCSAKeyArray[idx].Get_FastECM_struct(fecm);
                                           ^~~~
                                           recv
DeCSA.cpp:666:20: Fehler: »GetTick« wurde in diesem Gültigkeitsbereich nicht definiert
     uint64_t now = GetTick();
                    ^~~~~~~
DeCSA.cpp:676:24: Fehler: »class DeCSAKey« hat kein Element namens »Get_control_words«; meinten Sie »Set_odd_control_word«?
     DeCSAKeyArray[idx].Get_control_words(cweven, cwodd);
                        ^~~~~~~~~~~~~~~~~
                        Set_odd_control_word
DeCSA.cpp: In Elementfunktion »void DeCSA::DebugLogPidmap()«:
DeCSA.cpp:849:9: Fehler: »FAST_ECM« wurde in diesem Gültigkeitsbereich nicht definiert
         FAST_ECM fecm;
         ^~~~~~~~
DeCSA.cpp:849:9: Anmerkung: empfohlene Alternative: »CA_ECD«
         FAST_ECM fecm;
         ^~~~~~~~
         CA_ECD
DeCSA.cpp:850:33: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_struct«
         if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm))
                                 ^~~~~~~~~~~~~~~~~~
DeCSA.cpp:850:52: Fehler: »fecm« wurde in diesem Gültigkeitsbereich nicht definiert
         if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm))
                                                    ^~~~
DeCSA.cpp:850:52: Anmerkung: empfohlene Alternative: »recv«
         if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm))
                                                    ^~~~
                                                    recv
DeCSA.cpp:852:26: Fehler: »GetTick« wurde in diesem Gültigkeitsbereich nicht definiert
           uint64_t now = GetTick();
                          ^~~~~~~
DeCSA.cpp:862:31: Fehler: »class DeCSAKey« hat kein Element namens »GetActiveParity«
           DeCSAKeyArray[iidx].GetActiveParity(ipid, aparity, aparity2);
                               ^~~~~~~~~~~~~~~
DeCSA.cpp: In Elementfunktion »void DeCSA::InitFastEcmOnCaid(int)«:
DeCSA.cpp:895:22: Fehler: »class DeCSAKey« hat kein Element namens »InitFastEcmOnCaid«
     DeCSAKeyArray[i].InitFastEcmOnCaid(Caid);
                      ^~~~~~~~~~~~~~~~~
DeCSA.cpp: In Elementfunktion »void DeCSA::SetFastECMPid(int, int, int, int)«:
DeCSA.cpp:904:24: Fehler: »class DeCSAKey« hat kein Element namens »SetFastECMPid«
     DeCSAKeyArray[idx].SetFastECMPid(dvbapiPID);
                        ^~~~~~~~~~~~~
DeCSA.cpp: In Elementfunktion »int DeCSAAdapter::GetCaid(DeCSA*, int)«:
DeCSA.cpp:937:38: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_CAID«
           parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid);
                                      ^~~~~~~~~~~~~~~~
DeCSA.cpp:946:34: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_CAID«
       parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid);
                                  ^~~~~~~~~~~~~~~~
DeCSA.cpp: In Elementfunktion »bool DeCSAAdapter::Decrypt(DeCSA*, unsigned char*, int, bool)«:
DeCSA.cpp:1021:47: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert
       if (idx >= 0 && (pid < MAX_CSA_PID) && (currIdx < 0 || idx == currIdx)) // same or no index
                                               ^~~~~~~
DeCSA.cpp:1021:47: Anmerkung: empfohlene Alternative: »curPid«
       if (idx >= 0 && (pid < MAX_CSA_PID) && (currIdx < 0 || idx == currIdx)) // same or no index
                                               ^~~~~~~
                                               curPid
DeCSA.cpp:1154:7: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert
   if (currIdx >= 0 && (parent->GetAlgo(currIdx) == CA_ALGO_DES || parent->DeCSAKeyArray[currIdx].Aes || parent->GetAlgo(currIdx) == CA_ALGO_AES128))
       ^~~~~~~
DeCSA.cpp:1154:7: Anmerkung: empfohlene Alternative: »curPid«
   if (currIdx >= 0 && (parent->GetAlgo(currIdx) == CA_ALGO_DES || parent->DeCSAKeyArray[currIdx].Aes || parent->GetAlgo(currIdx) == CA_ALGO_AES128))
       ^~~~~~~
       curPid
DeCSA.cpp:1339:7: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert
   if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) )
       ^~~~~~~
DeCSA.cpp:1339:7: Anmerkung: empfohlene Alternative: »curPid«
   if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) )
       ^~~~~~~
       curPid
DeCSA.cpp:1339:50: Fehler: »class DeCSA« hat kein Element namens »GetorCreateKeyStruct«; meinten Sie »GetKeyStruct«?
   if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) )
                                                  ^~~~~~~~~~~~~~~~~~~~
                                                  GetKeyStruct
DeCSA.cpp:1344:25: Fehler: »cs_key_even« wurde in diesem Gültigkeitsbereich nicht definiert
       dvbcsa_bs_decrypt(cs_key_even[currIdx], cs_tsbbatch_even, 184);
                         ^~~~~~~~~~~
CC Frame.o
DeCSA.cpp:1344:25: Anmerkung: empfohlene Alternative: »cs_fill_even«
       dvbcsa_bs_decrypt(cs_key_even[currIdx], cs_tsbbatch_even, 184);
                         ^~~~~~~~~~~
                         cs_fill_even
DeCSA.cpp:1349:25: Fehler: »cs_key_odd« wurde in diesem Gültigkeitsbereich nicht definiert
       dvbcsa_bs_decrypt(cs_key_odd[currIdx], cs_tsbbatch_odd, 184);
                         ^~~~~~~~~~
DeCSA.cpp:1349:25: Anmerkung: empfohlene Alternative: »cs_fill_odd«
       dvbcsa_bs_decrypt(cs_key_odd[currIdx], cs_tsbbatch_odd, 184);
                         ^~~~~~~~~~
                         cs_fill_odd
DeCSA.cpp:955:11: Warnung: Variable »adapter_index« wird nicht verwendet [-Wunused-variable]
   uint8_t adapter_index = cardindex;
           ^~~~~~~~~~~~~
DeCSA.cpp:957:8: Warnung: Variable »blogfull« wird nicht verwendet [-Wunused-variable]
   bool blogfull = false;
        ^~~~~~~~
DeCSA.cpp:962:12: Warnung: Variable »sleeptime« wird nicht verwendet [-Wunused-variable]
   uint64_t sleeptime = 0;
            ^~~~~~~~~
DeCSA.cpp:966:7: Warnung: Variable »imaxSleep« wird nicht verwendet [-Wunused-variable]
   int imaxSleep = itimeout / iSleep;
       ^~~~~~~~~
make[1]: *** [Makefile:89: DeCSA.o] Fehler 1
make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet....
CC SCCAMSlot.o
ls: Zugriff auf '/usr/local/src/vdr-2.4.5-MV/PLUGINS/src/dvbapi/po/*.mo' nicht möglich: Datei oder Verzeichnis nicht gefunden
manio commented 3 years ago

@MegaV0lt Thank you for the report. Damn, we have a regression (even with testing on several configurations). Can you tell me if you are compiling it against libdvbcsa or FFdecsa?

MegaV0lt commented 3 years ago

Ihave LibDVBCSA enabled im makefile... Did not test ffdecsa so far, because the benchmak.sh reports unknown cpu

MegaV0lt commented 3 years ago

When i disable LIBDVBCSA it is building:

[/usr/local/src/VDR/PLUGINS/src/dvbapi-git] # make
CC CAPMT.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o CAPMT.o CAPMT.cpp
CC DeCSA.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o DeCSA.o DeCSA.cpp
CC DVBAPI.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o DVBAPI.o DVBAPI.cpp
CC DVBAPISetup.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o DVBAPISetup.o DVBAPISetup.cpp
CC SocketHandler.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o SocketHandler.o SocketHandler.cpp
CC SCCIAdapter.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o SCCIAdapter.o SCCIAdapter.cpp
CC Frame.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o Frame.o Frame.cpp
CC SCCAMSlot.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o SCCAMSlot.o SCCAMSlot.cpp
CC Filter.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o Filter.o Filter.cpp
CC cscrypt/des.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DUSE_MENUSELECTION -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBSSL  -o cscrypt/des.o cscrypt/des.cpp
CC FFdecsa/FFdecsa.o
make[1]: Verzeichnis „/usr/local/src/vdr-2.4.5-MV/PLUGINS/src/dvbapi-git/FFdecsa“ wird betreten
CC FFdecsa.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -O3 -march=native -fPIC -fomit-frame-pointer -funroll-loops -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa.c
CC FFdecsa_test.o
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -O3 -march=native -fPIC -fomit-frame-pointer -funroll-loops -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa_test.c
CC FFdecsa_test
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -O3 -march=native -fPIC -fomit-frame-pointer -funroll-loops -o FFdecsa_test FFdecsa_test.o FFdecsa.o
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=1000.135888 Mbit/s
speed=679440.141324 pkts/s
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
make[1]: Verzeichnis „/usr/local/src/vdr-2.4.5-MV/PLUGINS/src/dvbapi-git/FFdecsa“ wird verlassen
LD libvdr-dvbapi.so
c++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses  -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -shared CAPMT.o DeCSA.o DVBAPI.o DVBAPISetup.o SocketHandler.o SCCIAdapter.o Frame.o SCCAMSlot.o Filter.o cscrypt/des.o FFdecsa/FFdecsa.o -lcrypto -lssl -o libvdr-dvbapi.so
GT po/dvbapi.pot
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-dvbapi --package-version= --msgid-bugs-address='<see README>' -o po/dvbapi.pot `ls SocketHandler.cpp DVBAPI.cpp Frame.cpp CAPMT.cpp SCCIAdapter.cpp SCCAMSlot.cpp DVBAPISetup.cpp DeCSA.cpp Filter.cpp DVBAPI.h`
PO po/et_EE.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/et_EE.po po/dvbapi.pot
MO po/et_EE.mo
msgfmt -c -o po/et_EE.mo po/et_EE.po
PO po/fi_FI.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/fi_FI.po po/dvbapi.pot
MO po/fi_FI.mo
msgfmt -c -o po/fi_FI.mo po/fi_FI.po
PO po/lt_LT.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/lt_LT.po po/dvbapi.pot
MO po/lt_LT.mo
msgfmt -c -o po/lt_LT.mo po/lt_LT.po
PO po/de_DE.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/de_DE.po po/dvbapi.pot
MO po/de_DE.mo
msgfmt -c -o po/de_DE.mo po/de_DE.po

Is this fast enought for 6 HD streams at the same time?

manio commented 3 years ago

Thanks for testing... Yeah, it should be enough

imperia777 commented 3 years ago

I have same issue on Debian testing. Because I am not sure how to disable LIBDVBCSA in makefile, I reverted to last good commit from 2019.

MegaV0lt commented 3 years ago

In my case i have a Make.plgcfg in VDR folder:

# dvbapi
#LIBDVBCSA = 1
CSAFLAGS = -O3 -march=native -fPIC -fomit-frame-pointer -funroll-loops
PARALLEL = PARALLEL_128_SSE2

Maybe the name differs or it is in Make.config

imperia777 commented 3 years ago

I don't have such file in my vdr directory. I am using vdr from git. However I tried compiling with options:

root@vdr:/usr/local/src/vdr# PARALLEL=PARALLEL_128_SSE2 CSAFLAGS="-O3 -march=native -fPIC -fomit-frame-pointer -funroll-loops" LIBDVBCSA=0 make plugins

Plugin dvbapi: CC DeCSA.o DeCSA.cpp: In member function ‘bool DeCSAKey::Set_even_control_word(const unsigned char)’: DeCSA.cpp:417:31: error: expected primary-expression before ‘->’ token 417 | dvbcsa_bs_key_set(ca_descr->cw, cs_key_even); | ^~ DeCSA.cpp: In member function ‘bool DeCSAKey::Set_odd_control_word(const unsigned char)’: DeCSA.cpp:436:31: error: expected primary-expression before ‘->’ token 436 | dvbcsa_bs_key_set(ca_descr->cw, cs_key_odd); | ^~ DeCSA.cpp: In constructor ‘DeCSAAdapter::DeCSAAdapter()’: DeCSA.cpp:470:3: error: ‘cs’ was not declared in this scope; did you mean ‘cos’? 470 | cs = dvbcsa_bs_batch_size(); | ^~ | cos DeCSA.cpp: In member function ‘bool DeCSA::SetDescr(ca_descr_t, bool, int)’: DeCSA.cpp:663:5: error: ‘FAST_ECM’ was not declared in this scope 663 | FAST_ECM fecm; | ^~~~ DeCSA.cpp:664:24: error: ‘class DeCSAKey’ has no member named ‘Get_FastECM_struct’ 664 | DeCSAKeyArray[idx].Get_FastECM_struct(fecm); | ^~~~~~ DeCSA.cpp:664:43: error: ‘fecm’ was not declared in this scope 664 | DeCSAKeyArray[idx].Get_FastECM_struct(fecm); | ^~~~ DeCSA.cpp:666:20: error: ‘GetTick’ was not declared in this scope 666 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:676:24: error: ‘class DeCSAKey’ has no member named ‘Get_control_words’; did you mean ‘Set_odd_control_word’? 676 | DeCSAKeyArray[idx].Get_control_words(cweven, cwodd); | ^~~~~ | Set_odd_control_word DeCSA.cpp: In member function ‘void DeCSA::DebugLogPidmap()’: DeCSA.cpp:849:9: error: ‘FAST_ECM’ was not declared in this scope 849 | FAST_ECM fecm; | ^~~~ DeCSA.cpp:850:33: error: ‘class DeCSAKey’ has no member named ‘Get_FastECM_struct’ 850 | if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm)) | ^~~~~~ DeCSA.cpp:850:52: error: ‘fecm’ was not declared in this scope 850 | if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm)) | ^~~~ DeCSA.cpp:852:26: error: ‘GetTick’ was not declared in this scope 852 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:862:31: error: ‘class DeCSAKey’ has no member named ‘GetActiveParity’ 862 | DeCSAKeyArray[iidx].GetActiveParity(ipid, aparity, aparity2); | ^~~~~~~ DeCSA.cpp: In member function ‘void DeCSA::InitFastEcmOnCaid(int)’: DeCSA.cpp:895:22: error: ‘class DeCSAKey’ has no member named ‘InitFastEcmOnCaid’ 895 | DeCSAKeyArray[i].InitFastEcmOnCaid(Caid); | ^~~~~ DeCSA.cpp: In member function ‘void DeCSA::SetFastECMPid(int, int, int, int)’: DeCSA.cpp:904:24: error: ‘class DeCSAKey’ has no member named ‘SetFastECMPid’ 904 | DeCSAKeyArray[idx].SetFastECMPid(dvbapiPID); | ^~~~~ DeCSA.cpp: In member function ‘int DeCSAAdapter::GetCaid(DeCSA, int)’: DeCSA.cpp:937:38: error: ‘class DeCSAKey’ has no member named ‘Get_FastECM_CAID’ 937 | parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid); | ^~~~ DeCSA.cpp:946:34: error: ‘class DeCSAKey’ has no member named ‘Get_FastECM_CAID’ 946 | parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid); | ^~~~ DeCSA.cpp: In member function ‘bool DeCSAAdapter::Decrypt(DeCSA, unsigned char, int, bool)’: DeCSA.cpp:1021:47: error: ‘currIdx’ was not declared in this scope 1021 | if (idx >= 0 && (pid < MAX_CSA_PID) && (currIdx < 0 || idx == currIdx)) // same or no index | ^~~ DeCSA.cpp:1154:7: error: ‘currIdx’ was not declared in this scope 1154 | if (currIdx >= 0 && (parent->GetAlgo(currIdx) == CA_ALGO_DES || parent->DeCSAKeyArray[currIdx].Aes || parent->GetAlgo(currIdx) == CA_ALGO_AES128)) | ^~~ DeCSA.cpp:1339:7: error: ‘currIdx’ was not declared in this scope 1339 | if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) ) | ^~~ DeCSA.cpp:1339:50: error: ‘class DeCSA’ has no member named ‘GetorCreateKeyStruct’ 1339 | if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) ) | ^~~~~~~~ DeCSA.cpp:1344:25: error: ‘cs_key_even’ was not declared in this scope; did you mean ‘cs_fill_even’? 1344 | dvbcsa_bs_decrypt(cs_key_even[currIdx], cs_tsbbatch_even, 184); | ^~~ | cs_fill_even DeCSA.cpp:1349:25: error: ‘cs_key_odd’ was not declared in this scope 1349 | dvbcsa_bs_decrypt(cs_key_odd[currIdx], cs_tsbbatch_odd, 184); | ^~~~~~ DeCSA.cpp:955:11: warning: unused variable ‘adapter_index’ [-Wunused-variable] 955 | uint8_t adapter_index = cardindex; | ^~~~~ DeCSA.cpp:957:8: warning: unused variable ‘blogfull’ [-Wunused-variable] 957 | bool blogfull = false; | ^~~~ DeCSA.cpp:962:12: warning: unused variable ‘sleeptime’ [-Wunused-variable] 962 | uint64_t sleeptime = 0; | ^~~~~ DeCSA.cpp:966:7: warning: unused variable ‘imaxSleep’ [-Wunused-variable] 966 | int imaxSleep = itimeout / iSleep; | ^~~~~ make[1]: [Makefile:90: DeCSA.o] Error 1

this looks like the error you are getting.

However, If I just run make. I get different errors:

* Plugin dvbapi: CC DeCSA.o In file included from DeCSA.h:31, from DeCSA.cpp:34: FFdecsa/FFdecsa.h:28:5: error: ‘uint64_t’ does not name a type; did you mean ‘u_int64_t’? 28 | uint64_t evenparityTime; | ^~~~ | u_int64_t FFdecsa/FFdecsa.h:29:5: error: ‘uint64_t’ does not name a type; did you mean ‘u_int64_t’? 29 | uint64_t oddparityTime; | ^~~~ | u_int64_t In file included from DeCSA.h:31, from DeCSA.cpp:34: FFdecsa/FFdecsa.h:86:1: error: ‘uint64_t’ does not name a type; did you mean ‘u_int64_t’? 86 | uint64_t GetTick(void); | ^~~~ | u_int64_t DeCSA.cpp: In member function ‘void DeCSAKey::InitFastEcmOnCaid(int)’: DeCSA.cpp:344:11: error: ‘struct FAST_ECM’ has no member named ‘oddparityTime’ 344 | sf->oddparityTime = 0; | ^~~~~ DeCSA.cpp:345:11: error: ‘struct FAST_ECM’ has no member named ‘evenparityTime’ 345 | sf->evenparityTime = 0; | ^~~~~~ DeCSA.cpp: In member function ‘bool DeCSA::SetDescr(ca_descr_t, bool, int)’: DeCSA.cpp:666:20: error: ‘GetTick’ was not declared in this scope 666 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:668:14: error: ‘struct FAST_ECM’ has no member named ‘evenparityTime’ 668 | if (fecm.evenparityTime > 0) | ^~~~~~ DeCSA.cpp:669:30: error: ‘struct FAST_ECM’ has no member named ‘evenparityTime’ 669 | evendelta = now - fecm.evenparityTime; | ^~~~~~ DeCSA.cpp:671:14: error: ‘struct FAST_ECM’ has no member named ‘oddparityTime’ 671 | if (fecm.oddparityTime > 0) | ^~~~~ DeCSA.cpp:672:29: error: ‘struct FAST_ECM’ has no member named ‘oddparityTime’ 672 | odddelta = now - fecm.oddparityTime; | ^~~~~ DeCSA.cpp: In member function ‘void DeCSA::DebugLogPidmap()’: DeCSA.cpp:852:26: error: ‘GetTick’ was not declared in this scope 852 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:854:20: error: ‘struct FAST_ECM’ has no member named ‘evenparityTime’ 854 | if (fecm.evenparityTime > 0) | ^~~~~~ DeCSA.cpp:855:36: error: ‘struct FAST_ECM’ has no member named ‘evenparityTime’ 855 | evendelta = now - fecm.evenparityTime; | ^~~~~~ DeCSA.cpp:857:20: error: ‘struct FAST_ECM’ has no member named ‘oddparityTime’ 857 | if (fecm.oddparityTime > 0) | ^~~~~ DeCSA.cpp:858:35: error: ‘struct FAST_ECM’ has no member named ‘oddparityTime’ 858 | odddelta = now - fecm.oddparityTime; | ^~~~~ make[1]: [Makefile:90: DeCSA.o] Error 1

ghost commented 3 years ago

With Arch Linux I get this Error message.

make LIBDVBCSA = 1

==> Beginne build()... CC DeCSA.o g++ -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 -O3 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-f5906d1"' -DLIBDVBCSA -DLIBSSL -o DeCSA.o DeCSA.cpp DeCSA.cpp: In Elementfunktion »bool DeCSAKey::Set_even_control_word(const unsigned char)«: DeCSA.cpp:417:31: Fehler: expected primary-expression before »->« token 417 | dvbcsa_bs_key_set(ca_descr->cw, cs_key_even); | ^~ DeCSA.cpp: In Elementfunktion »bool DeCSAKey::Set_odd_control_word(const unsigned char)«: DeCSA.cpp:436:31: Fehler: expected primary-expression before »->« token 436 | dvbcsa_bs_key_set(ca_descr->cw, cs_key_odd); | ^~ DeCSA.cpp: In Konstruktor »DeCSAAdapter::DeCSAAdapter()«: DeCSA.cpp:470:3: Fehler: »cs« wurde in diesem Gültigkeitsbereich nicht deklariert; meinten Sie »cos«? 470 | cs = dvbcsa_bs_batch_size(); | ^~ | cos DeCSA.cpp: In Elementfunktion »bool DeCSA::SetDescr(ca_descr_t, bool, int)«: DeCSA.cpp:663:5: Fehler: »FAST_ECM« wurde in diesem Gültigkeitsbereich nicht definiert 663 | FAST_ECM fecm; | ^~~~ DeCSA.cpp:664:24: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_struct« 664 | DeCSAKeyArray[idx].Get_FastECM_struct(fecm); | ^~~~~~ DeCSA.cpp:664:43: Fehler: »fecm« wurde in diesem Gültigkeitsbereich nicht definiert 664 | DeCSAKeyArray[idx].Get_FastECM_struct(fecm); | ^~~~ DeCSA.cpp:666:20: Fehler: »GetTick« wurde in diesem Gültigkeitsbereich nicht definiert 666 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:676:24: Fehler: »class DeCSAKey« hat kein Element namens »Get_control_words«; meinten Sie »Set_odd_control_word«? 676 | DeCSAKeyArray[idx].Get_control_words(cweven, cwodd); | ^~~~~ | Set_odd_control_word DeCSA.cpp: In Elementfunktion »void DeCSA::DebugLogPidmap()«: DeCSA.cpp:849:9: Fehler: »FAST_ECM« wurde in diesem Gültigkeitsbereich nicht definiert 849 | FAST_ECM fecm; | ^~~~ DeCSA.cpp:850:33: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_struct« 850 | if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm)) | ^~~~~~ DeCSA.cpp:850:52: Fehler: »fecm« wurde in diesem Gültigkeitsbereich nicht definiert 850 | if (DeCSAKeyArray[iidx].Get_FastECM_struct(fecm)) | ^~~~ DeCSA.cpp:852:26: Fehler: »GetTick« wurde in diesem Gültigkeitsbereich nicht definiert 852 | uint64_t now = GetTick(); | ^~~ DeCSA.cpp:862:31: Fehler: »class DeCSAKey« hat kein Element namens »GetActiveParity« 862 | DeCSAKeyArray[iidx].GetActiveParity(ipid, aparity, aparity2); | ^~~~~~~ DeCSA.cpp: In Elementfunktion »void DeCSA::InitFastEcmOnCaid(int)«: DeCSA.cpp:895:22: Fehler: »class DeCSAKey« hat kein Element namens »InitFastEcmOnCaid« 895 | DeCSAKeyArray[i].InitFastEcmOnCaid(Caid); | ^~~~~ DeCSA.cpp: In Elementfunktion »void DeCSA::SetFastECMPid(int, int, int, int)«: DeCSA.cpp:904:24: Fehler: »class DeCSAKey« hat kein Element namens »SetFastECMPid« 904 | DeCSAKeyArray[idx].SetFastECMPid(dvbapiPID); | ^~~~~ DeCSA.cpp: In Elementfunktion »int DeCSAAdapter::GetCaid(DeCSA, int)«: DeCSA.cpp:937:38: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_CAID« 937 | parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid); | ^~~~ DeCSA.cpp:946:34: Fehler: »class DeCSAKey« hat kein Element namens »Get_FastECM_CAID« 946 | parent->DeCSAKeyArray[idx].Get_FastECM_CAID(&caCaid); | ^~~~ DeCSA.cpp: In Elementfunktion »bool DeCSAAdapter::Decrypt(DeCSA, unsigned char, int, bool)«: DeCSA.cpp:1021:47: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert 1021 | if (idx >= 0 && (pid < MAX_CSA_PID) && (currIdx < 0 || idx == currIdx)) // same or no index | ^~~ DeCSA.cpp:1154:7: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert 1154 | if (currIdx >= 0 && (parent->GetAlgo(currIdx) == CA_ALGO_DES || parent->DeCSAKeyArray[currIdx].Aes || parent->GetAlgo(currIdx) == CA_ALGO_AES128)) | ^~~ DeCSA.cpp:1339:7: Fehler: »currIdx« wurde in diesem Gültigkeitsbereich nicht definiert 1339 | if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) ) | ^~~ DeCSA.cpp:1339:50: Fehler: »class DeCSA« hat kein Element namens »GetorCreateKeyStruct« 1339 | if (currIdx >= 0 && wantsparity > 0 && parent->GetorCreateKeyStruct(currIdx) ) | ^~~~~~~~ DeCSA.cpp:1344:25: Fehler: »cs_key_even« wurde in diesem Gültigkeitsbereich nicht deklariert; meinten Sie »cs_fill_even«? 1344 | dvbcsa_bs_decrypt(cs_key_even[currIdx], cs_tsbbatch_even, 184); | ^~~ | cs_fill_even DeCSA.cpp:1349:25: Fehler: »cs_key_odd« wurde in diesem Gültigkeitsbereich nicht definiert 1349 | dvbcsa_bs_decrypt(cs_key_odd[currIdx], cs_tsbbatch_odd, 184); | ^~~~~~ make: *** [Makefile:90: DeCSA.o] Fehler 1 ==> FEHLER: Ein Fehler geschah in build(). Breche ab...

haarm commented 3 years ago

Here the same on Raspian Buster DeCSA.cpp:955:11: warning: unused variable ‘adapter_index’ [-Wunused-variable] uint8_t adapter_index = cardindex; ^~~~~ DeCSA.cpp:957:8: warning: unused variable ‘blogfull’ [-Wunused-variable] bool blogfull = false; ^~~~ DeCSA.cpp:962:12: warning: unused variable ‘sleeptime’ [-Wunused-variable] uint64_t sleeptime = 0; ^~~~~ DeCSA.cpp:966:7: warning: unused variable ‘imaxSleep’ [-Wunused-variable] int imaxSleep = itimeout / iSleep; ^~~~~ make: [Makefile:89: DeCSA.o] Fehler 1 make: Es wird auf noch nicht beendete Prozesse gewartet....

manio commented 3 years ago

Guys, I know, that compilation using libdvbcsa is broken since last change. For the time being please just use current stable version in your production environments unless you need the fast ECM feature (if you do - use FFDeCSA)...

I'll try to fix the compilation myself but unfortunately no ETA due to other work... :(

haarm commented 3 years ago

Thanks for the feedback

ua0lnj commented 3 years ago

To ALL: test https://github.com/ua0lnj/vdr-plugin-dvbapi If it works fine, I will make a PR.

haarm commented 3 years ago

It compiles cleanly But after a few seconds I have artifacts and no image.

ua0lnj commented 3 years ago

You use LIBDVBCSA = 1 or no?

haarm commented 3 years ago

Yes i use LIBDVBCSA = 1

ua0lnj commented 3 years ago

Set loglevel=3 and upload log, maybe we'll find something. I can test aes128 and CAID 0x2600 only, it's works fine.

MegaV0lt commented 3 years ago

First test here looks good with LibDVDCSA enabled.

ua0lnj commented 3 years ago

But @haarm having troubles...

haarm commented 3 years ago

When I switch to RTL HD this comes in the LOG and the VDR delivers no more picture

DVBAPI: 1.0 set CAM decrypt (SID 61200 (0xEF10), caLm 4, HasCaDescriptors 1) Feb 8 15:11:22 vdrt vdr: [25173] rpihddevice: set video codec to H264 Feb 8 15:11:22 vdrt vdr: [25118] rpihddevice: new audio codec: 2ch AC3 Feb 8 15:11:22 vdrt vdr: [25118] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz Feb 8 15:11:23 vdrt vdr: [25117] rpihddevice: video stream started 1920x1080@50i, PAR=1/1 Feb 8 15:11:23 vdrt vdr: [25117] rpihddevice: display PAR=1,000, setting video render PAR=1/1 Feb 8 15:11:25 vdrt vdr: [25119] ERROR: 402 ring buffer overflows (345168 bytes dropped)

MegaV0lt commented 3 years ago

Now i have similar problem:

Feb  8 17:15:54 vdr01 vdr[4875]: [7391] buffer usage: 80% (tid=7390)
Feb  8 17:15:55 vdr01 vdr[4875]: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Feb  8 17:15:57 vdr01 vdr[4875]: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Feb  8 17:15:57 vdr01 vdr[4875]: [7391] buffer usage: 90% (tid=7390)
Feb  8 17:15:59 vdr01 vdr[4875]: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Feb  8 17:16:00 vdr01 vdr[4875]: [7391] buffer usage: 100% (tid=7390)
Feb  8 17:16:01 vdr01 vdr[4875]: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'
Feb  8 17:16:02 vdr01 vdr[4875]: [7391] ERROR: driver buffer overflow on device 1
ua0lnj commented 3 years ago

Hi All. Try remove "&& wantsparity > 0" in https://github.com/ua0lnj/vdr-plugin-dvbapi/blob/master/DeCSA.cpp#L1347 May be it helps for LIBDVBCSA = 1

haarm commented 3 years ago

can you describe this in a little more detail, what should I do ?

ua0lnj commented 3 years ago

https://github.com/ua0lnj/vdr-plugin-dvbapi in DeCSA.cpp change line 1347 from if (currIdx >= 0 && wantsparity > 0 && parent->GetKeyStruct(currIdx) ) to if (currIdx >= 0 && parent->GetKeyStruct(currIdx) )

haarm commented 3 years ago

It compiles, but it leads to buffer errors. ERROR: 493 ring buffer overflows (528092 bytes dropped) And there is no image

ua0lnj commented 3 years ago

Please set debug log level = 3 in plugin menu, and give me syslog with plugin debug messages.

haarm commented 3 years ago

Jun 27 12:22:28 vdrt vdr: epg2vdr: Updated changes since '27.06.2021 12:10:10'; 59 channels, 74 events (0 deletions) in 194 ms Jun 27 12:22:31 vdrt vdr: epg2vdr: --- EPG update finished --- Jun 27 12:22:33 vdrt vdr: [20900] ERROR: 1054 ring buffer overflows (1084760 bytes dropped) Jun 27 12:22:39 vdrt vdr: [20900] ERROR: 1057 ring buffer overflows (993580 bytes dropped) Jun 27 12:22:41 vdrt vdr: [20885] retuning due to modification of channel 27 (VOX HD) Jun 27 12:22:41 vdrt vdr: [20885] switching to channel 27 S19.2E-1-1057-61201 (VOX HD) Jun 27 12:22:41 vdrt vdr: [20931] rpihddevice: cAudioDecoder() thread ended Jun 27 12:22:41 vdrt vdr: [20931] audio decoder thread ended (pid=20885, tid=20931) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 CA_PMT decoding len=227 lm=5 prg=61201 len=221 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: ci_cmd(G)=04 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 got CA pmt ciCmd=4 caLm=5 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 answer to query suppressed Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 stop decrypt Jun 27 12:22:41 vdrt vdr: [20929] device 2 receiver thread ended (pid=20885, tid=20929) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 CA_PMT decoding len=6 lm=3 prg=0 len=0 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 got CA pmt ciCmd=-1 caLm=3 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 answer to query suppressed Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 stop decrypt Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: ProcessSIDRequest: got empty SID - returning from function Jun 27 12:22:41 vdrt vdr: [20885] CAM 1: unassigned from device 2 Jun 27 12:22:41 vdrt vdr: [20885] CAM 1: assigned to device 2 Jun 27 12:22:41 vdrt vdr: [20950] device 2 receiver thread started (pid=20885, tid=20950, prio=high) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 CA_PMT decoding len=236 lm=4 prg=61201 len=221 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: ci_cmd(G)=01 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: pid=2,01ff len=0 (0x0) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: pid=6,0203 len=0 (0x0) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: pid=6,0031 len=0 (0x0) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 got CA pmt ciCmd=1 caLm=4 Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 answer to query suppressed Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: 1.0 set CAM decrypt (SID 61201 (0xEF11), caLm 4, HasCaDescriptors 1) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: send: channelSid=0xef11 (61201) Jun 27 12:22:41 vdrt vdr: [20885] DVBAPI: Write, sock=0 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: OSCam not connected, (re)connecting... Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: created socket with socket_fd=5 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Successfully (re)connected to OSCam Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Write, sock=5 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: socket_fd=5 len=42 wrote=42 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: send: channelSid=0xef11 (61201) Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Write, sock=5 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: socket_fd=5 len=581 wrote=581 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Action: Got SERVER_INFO: OSCam v1.20_svn, build r11693 (x86_64-linux-gnu-ssl); , protocol_version = 3 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Action: Got DMX_SET_FILTER request, adapter_index=1, pid=0, demux_idx=1, filter_num=0 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: adapter=1 set FILTER pid=0000 start=1, demux=1, filter=0 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> FILTER: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> MASK: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: inserting new filter, demux=1, filter_num=0 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Action: Got DMX_SET_FILTER request, adapter_index=1, pid=19CE, demux_idx=1, filter_num=1 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: adapter=1 set FILTER pid=19CE start=1, demux=1, filter=1 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> FILTER: 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> MASK: F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: inserting new filter, demux=1, filter_num=1 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: Action: Got DMX_SET_FILTER request, adapter_index=1, pid=11, demux_idx=1, filter_num=2 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: adapter=1 set FILTER pid=0011 start=1, demux=1, filter=2 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> FILTER: 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: --> MASK: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:41 vdrt vdr: [20906] DVBAPI: SetFilter: inserting new filter, demux=1, filter_num=2 Jun 27 12:22:42 vdrt vdr: [20961] audio decoder thread started (pid=20885, tid=20961, prio=high) Jun 27 12:22:42 vdrt vdr: [20961] rpihddevice: cAudioDecoder() thread started Jun 27 12:22:43 vdrt vdr: [20950] DVBAPI: Analyze: all data in one TS packet, immediate send Jun 27 12:22:43 vdrt vdr: [20950] DVBAPI: Write, sock=5 Jun 27 12:22:43 vdrt vdr: [20950] DVBAPI: socket_fd=5 len=143 wrote=143 Jun 27 12:22:43 vdrt vdr: [20906] DVBAPI: Action: Got DMX_SET_FILTER request, adapter_index=1, pid=19CE, demux_idx=1, filter_num=1 Jun 27 12:22:43 vdrt vdr: [20906] DVBAPI: SetFilter: adapter=1 set FILTER pid=19CE start=1, demux=1, filter=1 Jun 27 12:22:43 vdrt vdr: [20906] DVBAPI: --> FILTER: 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:43 vdrt vdr: [20906] DVBAPI: --> MASK: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:43 vdrt vdr: [20906] DVBAPI: SetFilter: filter update, demux=1, filter_num=1 ^Croot@vdrt:~# hallo Jun 27 12:22:52 vdrt vdr: [20950] DVBAPI: socket_fd=5 len=143 wrote=143 Jun 27 12:22:52 vdrt vdr: [20906] DVBAPI: Action: Got DMX_SET_FILTER request, adapter_index=1, pid=19CE, demux_idx=1, filter_num=1 Jun 27 12:22:52 vdrt vdr: [20906] DVBAPI: SetFilter: adapter=1 set FILTER pid=19CE start=1, demux=1, filter=1 Jun 27 12:22:52 vdrt vdr: [20906] DVBAPI: --> FILTER: 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:52 vdrt vdr: [20906] DVBAPI: --> MASK: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Jun 27 12:22:52 vdrt vdr: [20906] DVBAPI: SetFilter: filter update, demux=1, filter_num=1 Jun 27 12:22:53 vdrt vdr: [20906] DVBAPI: SetDescr addapter:1 Jun 27 12:22:53 vdrt vdr: [20906] DVBAPI: Action: Got CA_SET_DESCR request, adapter_index=1, index=1 Jun 27 12:22:53 vdrt vdr: [20906] DVBAPI: Action: Got ECM_INFO: adapter_index=1, SID = EF11, CAID = 1843 (nagra), PID = 19CE, ProvID = 000000, ECM time = 588 ms, reader = HD+, from = local, protocol = mouse, hops = 0 Jun 27 12:22:53 vdrt vdr: [20906] DVBAPI: UpdateEcmInfo: PMTO update, adapter=1, SID=EF11 Jun 27 12:22:57 vdrt vdr: [20900] ERROR: 1170 ring buffer overflows (1168420 bytes dropped)

ua0lnj commented 3 years ago

May be I found it. Try https://github.com/ua0lnj/vdr-plugin-dvbapi again.

haarm commented 3 years ago

It works !! Great Job, thank you very much.

ua0lnj commented 3 years ago

Ok, I will make PR.