Format: 1.8 Date: Mon, 30 Oct 2017 23:28:44 +0300 Source: vdr-plugin-dvbapi Binary: vdr-plugin-dvbapi Architecture: i386 Version: 2.2.4-444~8395491-artful Distribution: artful Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Andrey Pavlenko Description: vdr-plugin-dvbapi - DVBAPI plugin for VDR Changes: vdr-plugin-dvbapi (2.2.4-444~8395491-artful) artful; urgency=medium . * [8395491a7842780b75d1a67856bbe2c01066f823] Decrypt(): prepare for NULL data pointer . Starting with VDR 2.3.4 the Decrypt() function may be called with Data == NULL. . This commit is taking this into account. . . * [3db9dd277ffe53a8a25f9d324c412507a8f6c27b] Fix MasterCamSlot support . SendStopDescrambling was not send after channel switch . patch by @ua0lnj . . * [3c0ff1f86d541a898b78051d7f8f19eee91f1bb9] Add support for "MasterCamSlot" feature (VDR >= 2.3.3) . This patch for the VDR plugin 'dvbapi' makes use of the "MasterCamSlot" feature introduced in VDR version 2.3.3. With this, CAMs that are basically the same CAM, just use separate interfaces for each device, can all refer to one "master", which is the only one that will be visible to the user. VDR also no longer needs to check whether any of the device/CAM combinations can decrypt a particular channel. It just checks once and if that CAM doesn't decrypt, it knows that all the other ones (that are "slaves" to this "master") won't be able to do so, either. This greatly speeds up channel switching on systems with more than one CAM. . Here's what the patch does: - removes unused "device" and "cafd" from SCCIAdapter - removes unused "softcsa" and "fullts" from SCCIAdapter - removes unused function Adapter() from SCCIAdapter - removes unnecessary #includes and - now only creating *one* SCCIAdapter, independent of any device - removes cardIndex from SCCIAdapter (there is now only one) - the one SCCIAdapter creates several SCCAMSlot objects (one per device) . . * [d7c75875430dfdee84b04a87ad15cca0410df40b] Mark a new stable version . . * [8ab88a71088e9add89ec2960db16f195dc54fd22] Makefile: silent the AES libraries info . . * [2336aa57f905b706e476330c42e4094bb50f84c8] Fixes for the AES code path . . * [f23eeed39bcc2f14b1debadf5d2aff8fc5d69cf3] Add AES keys support . Patch by @ua0lnj . . * [7a42b22956128734ee5bb633f4880471588fc812] update doc . The IRC channel is about to close (completely silent recently), and the streamboard link is on main github project site. . . * [897c50e7c288a224fc63beaec28648c5b7c7c346] Revert "DeCSA: fix obtaining index from pidmap" . This reverts commit 837043e3d768ae46bf1cb39020b8c8865b6036f6. . . * [4d41e7907ccae1384b09b1b107cb3289364f1a32] cosmetics with includes . . * [21b177eb8dfe1ee0a1ec24f08a9f9e163f5b5138] Update translations . . * [837043e3d768ae46bf1cb39020b8c8865b6036f6] DeCSA: fix obtaining index from pidmap . We cannot use pidmap before SetCaPid is called, otherwise idx 0 is used. When second channel is tuned on same transponder, it should be idx 1, but idx 0 is used until SetCaPid is called. In that case wrong CW decrypt is used until SetCaPid gets called again. . patch by: onur . . * [c97e1545904a69ac479ceadee304c357f2315f0d] Drop the legacy socket mode from the plugin . Currently only the network mode is maintained. . . * [298a461d0d18eb2f6bf08b25b17589b35997b4e4] New stable version . . * [a6fd8e75e391bb559de87b2b5cdf30420168488c] tiny typo in README . * [c76c24ea15fe216f490a3ed043a59fadcc70af0d] doc: add a note for a device plugin developers . . * [b6d3f1bd581876d35e69e25cd5175ddcf93bb886] DeCSAFillControl: adjust for small device buffers . Sleep in small steps and check maxWaterMark on each step; lessen maxWaterMark. This should prevent overflow of small (1MB) buffers. . . * [bfdca9d601df9e6be6af0659d02034e5fe2d3be8] Improve descrambler performance . Use a simple algorithm to keep a parallel CSA descrambler batch buffer fill ratio very close to 100%. This helps to achieve maximum performance of the descrambler. . . * [54d41d41905ff833daf5a47f81d8b74c3c89e787] Parsing dvbapi.AdapterIndexOffset config option . Closes #103 . . * [5de51c3d57d4458721b3cf5d49accdec75028d74] Fix merge differences (reapply a709b20 to new code) . . * [20819875ca597cb3859c8861cdb196258b2d57b0] Merge branch 'feature/des' . . * [b4cd00a69ca523ef5f76c108f7dd230f5d0c84e5] Add support for DES decryption . To make a use of this you need recent OSCam with: extended_cw_api=1 option in the [dvbapi] section . original patch by @newspaperman merged with minor changes . Closes #101 . . * [9ecee67363d6568f0dcdd25ded3b13010300565e] Add DES functions from cscrypt library . . * [427e192325e6bc6b7d597d4806dd213fef01d4af] Enhance debug messages . . * [19008dbe2605d6fa8803a79edaeb92a484452be1] New stable version . . * [31f409d7ccc81b7343a31831663ba053a87b8a0f] style: cppcheck fixes . . * [5285fb47c4c4c2ddf836add5efeffae58ed6fb89] cppcheck: remove unused cardindex variable . . * [a709b204ab3fce9a5165b6c82621f0fa5f0985b5] Remove the pre protocol-v1 legacy code . Look at commit msg 068ef1f for details . . * [068ef1f69475981f9fbd57f6b0e3ad475b566893] Revert "SocketHandler: proto v1: add compatibility for old OSCams" . This reverts commit b5bab856597a07c97c1b51bc8131fc66983bc9ec. . This probing was added only for transitional period to not break connections with OSCams < svn rev 9869. I believe no one is now using such an over-year old oscam along with this recent plugin :) . . * [ce8a124314bd0410ecbcc288810d6dc71cc6c845] Filtering: don't return when there may be more filters for the same pid . We should not return because there may be more dmxfilters which we should also try to match. . credits: onur . . * [cfdbd7d613c0c6353e281c6914743733c61bbbd4] Filter: fix continuity counter comparision . Take into account that lastcc may be 0x0f (max) and current value of 0x00. . credits: onur . . * [4b6e25ef5699ce4f53fc4e74bcb334976fd75223] DeCSA::Decrypt: check pid range . . * [9554ec4110df28cb2a970c88f2583d3e2072fc36] DeCSA: cosmetics . . * [c5a8f7c4ad1dd53b88de14aab7e1ec4cce825554] Max pid values comparisons: don't mix <= and < . Maximum pid is 0x1FFF but it describes null packet - and should be ignored (it is used for fixed bandwidth padding). . credits: onur . . * [cb000ef0e11cd911aeb1f6b12691a59902ca46cb] cosmetics: MAX_CSA_PID defines . Define MAX_CSA_PID and use it when appropriated. . . * [9d1ebaa0393abf02313507085d4acf0fbb6dd39d] Tag a new version . . * [0489e0153ce26bfb92524d965c9a8985db69040a] Filtering: better debug log . . * [4615326d33c1f38fcd9e7fe1af90c25a7853cd18] Fix regression caused by 1f25321 . First chunk of data was wrongly counted based on full table lenght instead of TS_SIZE. . Probably fixes #92 . . * [5fdb21ecac7415896879b7ce9c855e1f92a2d079] Compile fix for c++11 issues . tested with gcc-4.8.4, gcc-4.9.2 . Signed-of-by: Joerg Bornkessel . . * [85da7b20c96777de01dae3b7e62f6a3c015be259] ECMINFO: add cardsystem name (OSCam rev 10653) . Issue #91 . . * [f5ae09a17003200009fe37a9a0848c43b6599667] Add ECMINFO to service interface . Closes #91 . . * [6ac4bcda63b21ec47c7d97ab8c6adec332dc60b3] Obtain ECMINFO data from OSCam (proto v2) . . * [92039a4c202d82aa212179ea1dfa1293e12130cf] cosmetics (indent) . . * [02d064a9daa2d95cbb5fb5a141852956c901a561] Update README . Thanks area was not maintained for some time and some people may rightly feel left out because of this. . I am trying to give credits in the related commit messages instead. . . * [1f253210216d583f00d32ba567d52bbb6bd8eb1f] Filter: fix for filtering multiple data tables in single TS packet . Reported-by: crow . . * [da4950202f26e4850f6af8507dde6896c5c9f217] Increase time for longer CW lifetime providers. . Some providers need longer CW time to work properly, these are eg: - KontinentTV 85E (caid: 0602 irdeto) - Telekarta 85E (caid: 0b01 conax) . Closes #90 . . * [0b2199cedb39bf49716f8e70b8e262aacbf6ec5b] Inform about plugin settings after loading log level . This should prevent displaying log info about plugin command line parameters when debug is totally disabled. . Reported-by: hotwings . . * [26f2c8e2f83ef469a82886598574ebc2d83eeca4] Update README . dvbapi 1.0.6 is not working with oscam rev >= 9855 . http://www.streamboard.tv/oscam/ticket/3930 . * [c0c7fa28f61e81522cde59f886602337d4b5d669] Don't create a CAM menu for "replay only" devices . We don't need to create Setup/CAM menu entries (and SCCIAdapter) for pure replay devices, like SAT>IP primary device. . . * [490d5a2ed58f090442dffd4d95e5d201b545c153] Tag a new stable 2.2.0 version . This version should finally work with stable VDR 2.2.0, the 15th anniversary edition :) . . * [99852d0568fb9ffe2c9804dfe68b548d4f6d9eb9] Fix segmentation faults introduced in 36a6b1d . . * [7e1de39d9aef887af229511a0103a31a1cdaec4d] Deprecate the socket mode and make network mode default. . Also updates documentation. . . * [3823b279c037be14cb432dd4fd47afa2f899cd48] Added lithuanian translation . . * [7898582ce8cba27b1a403de31532397804796e11] Use a wildcard demux_id when stopping . The commit uses the new wildcard demux_id in stop decrypting command. OSCam svn rev >= 10389 is required. . . * [1b9df50e2168edc09f68f1362f21d12312eb070b] Try to keep connection open in network mode . This commit changes the behaviour of OSCam connection: The connection is not closed when last channels is stopped for decryption, but a special command is send to oscam to stop descrambling instead. . This should also increase zap times a little bit. . . * [cfab07931cc748441873cc239d7dd05ee9ecd303] Add Estonian translation . . * [36a6b1d2642bcce66300e1e4574062af6f70d326] DeCSA: use std::map and don't rely on max adapter constant . Finally get rid of MAX_ADAPTERS allowing any adapter index from OSCam. Should also reduce memory usage of the plugin. . . * [98558a6a6a812d7dbae8f45ae358002c3f8562cb] Filtering: use std::map and don't rely on max adapter constant . Fixes #64, #78 . . * [10942d8de736c92dc7dfefe85c0316eba2419076] Enhance 'CAM decrypt' log message (add SID also in hex form) . . * [af921a9973e7b78f7b5ea42050766b5081cfc0a4] Properly inform about out of range values . This will allow to faster see the real cause of problems (like in issue #74) . . * [e3d8c2cd0e99acc0623a3623e73927a31c640045] Not every gcc likes colors ;) . Closes #72 . . * [0b42300a240a2023251da4b4a936c63c84ab6767] Fix indentation . . * [9fa8ead65cb146a66042d90f9f5be54f97be501c] cppcheck . . * [136554fa54d02ae5cc058b440f2b5b993a6ce201] Fix for older oscam handling . . * [b5bab856597a07c97c1b51bc8131fc66983bc9ec] SocketHandler: proto v1: add compatibility for old OSCams . . * [14210a7312667df47775d7662205a1e92048bc9e] Fix d08846b . The DMX_SET_FILTER in new protocol is 2 bytes smaller then dmx_sct_filter_params . . * [d08846b4f2ad167a6ed283647f4c7c39198935cb] Adapt to changes in OSCam rev 9890 . . * [16f717ee70fa219986e0cced1d2565842cb65c7e] Add support for version 1 of the dvbapi oscam network protocol . . * [4baab749c97b85ebc66660a404a6b2c58a5cdb72] Change includings . . * [2617a7f27e25c68ed85953afb21b94e01b723acb] network mode: fix VDR stuck when there is a problem with OSCam . VDR was hunging when there was a timeout when connecting to OSCam. Moves the opening connection logic to a thread only. . Fixes #68. . . * [933b587ccceb045c4a5c8f0ea14a330dede35b4b] Tag a new stable version . . * [648070a64ad582d04b6864a8be9230b16e9678e5] Optimize c518cde (compute filter after receive) and use a constant for filter size. . . * [c518cde1cf19fbba4ebd644699fbc2d467d9aefb] network mode: fix data filtering . This commit fixes the filtering when the corresponding mask of the compared byte is eg. 0xf0 instead of 0xff (which was handled correctly). . OSCam r9743 triggers this bug by comparing only the high nibble. . . * [4f0b4586fa5be04ca159bc6d6343096751b208df] Try to fix potential 'Filter' namespace conflict. . Reported by @3PO in issue #60 with the following backtraces: http://bpaste.net/raw/370021/ http://bpaste.net/raw/373927/ . . * [35f2fbabc25f9b1fc9175644fef8988df4dedc03] Filter.cpp: add missing locks . . * [bdcad3fe170ebaa89a49dc9aa52160e843bd9dfe] Stop all filters when we are disconnected . . * [4f2ed99211bb236dc2aa534e465bae90a35af9cd] Automatically detect and change endianness when needed. . The byte order should be preserved with the hton and ntoh functions, but to not break the current protocol, as a workaround a detection was implemented here in the plugin. . Thanks to saibotznuk for reporting and testing. . . * [5938bf0fe8e0e33526de9b59df4d90cc9d424e74] Better 'unknown command' error log . . * [1203c18fa9a98f22473dfbef4251a4dc2d71e831] Add switch to disable CW expiration check . When a ConstantCW was used, the OSCam sent the keys once after zap, this was leading to stop decryption after 20 secs. . Fixes #56 . . * [c7d0e2755cac76c5255e09c0345506cc5bc60124] Add option to adjust adapter indexes . This allows connecting more VDR clients to single OSCam using network mode. . . * [098293004520fb31aa80885089b919f51c2f10c0] fix a typo . . * [6ee9d6243d054986f2070a1caf65c097421543b8] Fix SetupParse() . . * [437ed964bcbeb3c81d7b2d3cc28ace060e87a530] Bump plugin version . . * [c3bdd3d372d01db5593f1004c2987b06dbc92398] setup: change 'port' to integer . . * [b3b68a8d6a2ab756f0ed846c2027e2fe3cc05a8a] Update plugin description and translations . . * [7c1d670e21395662c903c6bb056483d7499dcfc2] update doc . . * [45e64d8809bb4009d19218f765cc78a674da3c0f] Add german translation . Thanks to 3PO . . * [bf11f9e25d29d6e28879df2cd4694cf1bb409b96] Improve plugin setup menu . . * [8831c0cc88ebed5139fd5bf9fb4e51d27d2aeef1] Additional option to explicit enable/disable network mode . . * [9bc39ae3d7f7ba67176588029283eabfecde01d3] Update finnish translation . . * [e61a059d36857ba157d23b777e844ec056cc01a7] Add OSCamHost and OSCamPort configuration options, update documentation. . . * [2ee09f219096e1b7553c5b407298430a122fc9c2] Add support for OSCam network filtering . Filering of ECM/CAT/EMM packets is done localy (where the plugin/vdr) is running. The filered data is sent back to OSCam via TCP network socket. This way there is no need to have a real demux hardware where OSCam is running, the dvbapi requests could be handled totally over network. . minimal required OSCam version: r9580 . . * [4d66ac5b9d45d16a31d0018f9fbeb710ac6145eb] SocketHandler: rename WritePMT to Write . . * [839095476575b799ea6144bb15ebdacf862398fb] Add information about used decsa library . Closes #50 . . * [39f2a8fa725d18d98c98de7349df4c80d8806a23] Fix invalid writes . Adapter index from OSCam is zero-based numbered. The commit fixes this and also adds a sanity check. . . * [a9b738e05ec14f0e3cf660c1734d58df0d3ef706] version 2.0.1, update doc . . * [a3b4a5a6b4d68e9ad08b2818b87662a1bbb788d7] Fix a typo . . * [23d112593a51cc48bfa20f8aade0627889d630c4] Fix simultaneous decrypting of the same channel using different devices . This situation generally should not happen in VDR, but there are some circumstances where it may occur: The primary device is always preferred for live viewing. So no matter what other devices are receiving a particular channel, when one tune to it live it will be attempted to do so on the primary device. It's mainly because with full featured cards the primary device can display (FTA) channels without any further action by VDR (i.e. without Transfer Mode). Should a recording be started that requires the primary device (because all other devices are busy receiving other transponders), it will take over the primary device, and the live channel will select another device that currently happens to receive the live transponder. . This commit fixes eg. the problem of broken recording when zap to the same channel as the recorded one (in the above scenario). . The above problem should not affect streaming plugins at all (at least when they don't try to obtain a device for LiveTV, like latest versions of XVDR and VNSI plugins). . . * [400879b52c1a7fdc2dee7c39aceac3808b72520f] Fix plugin initialization and shutdown order . SocketHandler was sometimes trying to write to uninitialized DeCSA. Correct order of creating and deleting objects. . Valgrind: ==31812== Invalid write of size 1 ==31812== at 0x847CB1F: DeCSA::SetCaPid(unsigned char, ca_pid*) (DeCSA.cpp:132) ==31812== by 0x847D91C: SocketHandler::Action() (SocketHandler.cpp:151) ==31812== by 0x50246E: cThread::StartThread(cThread*) (thread.c:262) ==31812== by 0x5075E0D: start_thread (pthread_create.c:311) ==31812== by 0x667A0FC: clone (clone.S:113) ==31812== Address 0xf2145af is not stack'd, malloc'd or (recently) free'd . . * [8ea31068b16bb38b055b407a8d6e4b46acfa9af4] Don't send unnecessary list management updates to OSCam . This commit fixes sending updates to OSCam eg with the following flow: DVBAPI: 0.0 set CAM decrypt (SID X, caLm 4, HasCaDescriptors 0) DVBAPI: 0.0 set CAM decrypt (SID X, caLm 5, HasCaDescriptors 0) . . * [dcb6efa786272d244fbe396e07c8c6ef364f420a] Fix 801b2c9 (libdvbcsa case) . . * [aa5d72fd9c7ec4d9402d1916bf16b59c742a1d37] Fix a performance regression in decryption . Do not call Decrypt() for clear TS packets. . . * [3d74588586dec775e67ec26142aa326ebc2c034f] Put the git tag into the version name . If the plugin is built directly from the .git repository, put the git tag into the version name. . . * [801b2c9e0a856f35d6ddea5a6524f77da2c13cef] Add a validity time for a keys . Set a timestamp when OSCam provides a CW for a given index, this allows to detect if key is invalid. Now even hardware CAMs and dvbapi can cooperate on the same device. . . * [ec000b4028d56bdd860cead47767709566721534] DeCSA.h: remove unused defines . . * [5e72ce1c8a20b9d9ca580b63a66ec20e6b6198ce] SocketHandler: add missing check for recv() return value . . * [f1220b2d6e465b2713005590e9c9764f6941245f] Added i18n into the install target . . * [d43fe77f1f7bea4d2224e8c5775a45b9a62839bc] Update .gitignore . . * [18d3037179db44ab644529411920ff2b95860518] Cppcheck target and fixes . . * [9132399a5ce379d4ae754f3cf0c76a6d3e8bc3ec] Drop unnecessary code . . * [80db80e68b45ce6128171fab8695d7c260a78a0d] Added translations . . * [f6f9a9d174e5845bc27a295d797bca2aef5fcf84] Avoiding unnecessary pkg-config warnings . . * [bb3c48d086e4051e8788724325cdd3571c8479bb] Plugin version 2.0.0, add HISTORY, update FAQ . . * [02eab14635021023f7bd965b37eb606f7b36f1c2] Update documentation . . * [554d1c6b32fe37587f085bcd19dd2164e878a509] Merge branch 'plugin-rewrite' . . * [9b4ddce97beb0bbccd733d82510092dd7a6b9bb2] version 1.0.6 . . * [9a0c39dd6c583d85d5dd8d5675df935dc62ea6d5] DeCSA.cpp: dvbcsa: remove unnecessary assignments . . * [335a6b0c5b9146964e3f7229c267351af918b3fe] Change logging severity . . * [cbf0a6f08618f893355792b9185f89a70591d3e0] Fix segfault when SocketHandler started before capmt . . * [73ef658b7802ef018f6bb849697d06de6565d859] SCCAMSlot: set WantsTsData to true . . * [5ac44028929cdcbb492baa16610d75e071e847f6] Revert "Fix SCCIAdapter assigning" . This reverts commit f75f09bef2f6e5c31274dd0a45492ba8cd973b64. . . * [40425bfcb059c33a3b42781274c2135a2798b8c7] SocketHandler, CAPMT: protect code with mutexes . Also remove unused mutex variable from SCCIAdapter.h . . * [13e8c696abf7e77c5010fb264c09e8be09e4891b] Revert "Makefile: add backward compatibility with VDR < 1.7.34" . This reverts commit 9c93781522ff2bff8e32edddb1f664165f0eca16. . Conflicts: Makefile . . * [2de235c31a1f26f78d868b0dbfa6dbdbd67cf4f8] Remove leftovers from e5e59ed . . * [33072c40a541a406326196c3d712053e7e28fa64] Add missing OSCam reconnecting feature . . * [43416c32092efd3399ea82be36d59a53ac58709a] Move socket functions from CAPMT to SocketHandler . . * [fae7db12e766e7d6ce4431e6a5531f7a7a6904c3] Speed up CAM reset (and VDR start) . We probably don't need this 600ms delay. . . * [e5e59ed61176d60891fb8e68f773b5b9eed941f4] Drop CAPMT::get_pmt() . Assume that VDR always provides CA descriptors. . . * [7c28099f3247500af3d211017d2ccf08dfe6561f] Rework cScCamSlot::Process() . Adjust to recent code from vdr-sc Credits: leslie . Closes #40 . . * [f375db952ccc09aba1b53e601e65675e0560ccc4] LogLevel: fix the input range of the menu item . Added the proper input range (0...3) of the 'Log Level' menu item in cMenuSetupDVBAPI::cMenuSetupDVBAPI(). . . * [36e81c135e6cb95a69bd005db3dbd0a1bb81dcb4] Cosmetics: don't add empty lines in "vdr --help" . DVBAPI::CommandLineHelp() shall return NULL (or not be overwritten at all) if it has nothing to say, as in this case. Otherwise there are superfluous empty lines in the output of "vdr --help". . . * [ecfb5d42b81d96e2a20bccd4300ca41d09891401] Added SCCAMSlot::GetCamName() . In the CAM menu of VDR we get "OSCam" instead of "CAM ready". . . * [f75f09bef2f6e5c31274dd0a45492ba8cd973b64] Fix SCCIAdapter assigning . . * [8f941fad402de78a08321fe68ea3ede8b33f9cf2] SocketHandler: name a thread . . * [4b8caf878359fcf7ddb78a483c6abe89d4c8d185] Simplify creating and deleting SocketHandler thread. . Also check for Running() in SocketHandler::Action(). . . * [42d8e61d3bad392497c37245744c0e7286605e5a] Rename UDPSocket to SocketHandler . Currently the file has nothing common with UDP. . . * [674b20108382a7fd1c1a288ed5218a4d53e54525] UDPSocket.cpp: initialize sock variable . The 'sock' variable will be used for handling all camd.socket communication. This commit also fixes closing uninitialized variable, which could close eg. stdout. . . * [5298044ec8982b531563ad01c6a2412a641d2e3e] UDPSocket.cpp: we don't need to associate sCCIAdapter anymore . . * [7b9795a86a69261e8e4e2931630b128e6fba83da] UDPSocket.cpp: call Cancel(3) in destructor . . * [f941d4c46b3749978c4f3a27c75260ab89889bb3] Cleanup starting and stopping the plugin . Fix storing a pointers to SCCIAdapter objects and properly delete them when stopping. . Moved creation of the objects required by DVBAPI from DVBAPI::Initialize() to DVBAPI::Start(). That way it doesn't matter whether the DVBAPI plugin is loaded before or after the device plugin. . Moved deletion of the objects required by DVBAPI from SCCIAdapter::~SCCIAdapter() to DVBAPI::Stop(). That way things get cleaned up in the same source area where they have been allocated. . . * [ea71040c8ad54a7b6cd7b5d8fbf327537db69b6d] Delete unused defines and variables . . * [ee9b786e50514d492f4c57c868dbd435a6490e3b] Override ProvidesCa() and stop scanning channels.conf for CAIDs . The changes in VDR let us override ProvidesCa(const int *CaSystemIds) informing VDR that every CAID can be decrypted by our CamSlot. Of course it depends on OSCam but we don't know it at this stage. Drop the old code which generates a list of CAIDS from channels.conf. . Closes #39 . . * [c1bf3d58dae680eb543aed095073a8cd54c29341] added adapter_index to socket messages . The plugin is using a single global connection to camd.socket. In this case it was unable to distinguish between adapters when receiving CA_SET_PID and CA_SET_DESCR. A conflict was occurring when a PID numbers was the same across adapters (even if it uses different descrambler indexes). Now the PIDs are assigned per adapter, avoiding simultaneous channel decryption problems. . An adapter_index byte was introduced in OSCam rev9095. . . * [8ddba76c027d25a9158e6ec906a39d3f3fd88f31] DeCSA: remove stall checks and all kind of waiting . . * [1a0f208e68f63a78d0dee9fdc0bfe897d70f52f3] drop unnecessary code . . * [61b5bc2145ca9d6a8d65309e347c9ff353e4179f] use new VDR interface for CamSlot decrypting . Changes was introduced in VDR 2.1.3 . . * [122b6b987e0cb8f17474fdab6cedc9b278992c10] remove PMT_FILE support . It's slow, not used by anyone and probably broken. . . * [af6cd2a0ece92a1818c140a04357f6d714b87690] drop UDP: keys obtained back via same camd.socket . Another step in simplifying interface: CA_SET_PID and CA_SET_DESCR obtained via the same camd.socket connection. . Works only with OSCam >= rev9063 . . * [f904a5f386781b42c58046d6c859deb55764c5c8] one global instances of DeCSA and CAPMT objects . . * [66e4260d6b780c63d1ef55ddbb0173e5b02ec083] common code for generating CA_PMT . Obtain PMT data from VDR or demux and add it to the common object list. . . * [a5f6295b3bcdd2e77389773dc5fa9c7b73c81bde] move ProcessSIDRequest() from SCCAMSlot to CAPMT . . * [75b9da6646c32c976e44fa33742c1d1bedc9d1f6] rework list management . Use LIST_FIRST, LIST_MORE, LIST_LAST and LIST_ONLY for all services using one socket connection. . Works with OSCam >= rev9049 . . * [362eca7fc764e859026e3cdcb7ee50e1ea51c859] do not malloc/free caPMT buffer, make it a class member . . * [4d9de95b364d9b025e6c650ccba9b6c056f21456] SCCAMSlot: rename Reset() to ResetSlot() . This rename is needed to avoid name conflict after making VDR's cCamSlot::Reset(void) a virtual function. . . * [4fa3189bee7068aa27f016fc3280a1ec9a93b6b5] Fix compilation after VDR 2.1.3 . . * [2be5e157bb4ce99be4245a72d63d83f5ef068ffa] documentation: add info about CSA and FFdecsa flags . . * [74da65546c7f92a2c35ef74ffe1a0c814f34f828] update documentation, add FAQ . . * [b72afbfd87a38f6147a4c591e3068dd9a7c64f7e] Revert "list management: try to handle LIST_ONLY properly" . This reverts commit b529a4991ec0d452152363757304a21b2f260f6f. Obtaining PMT on channels with tune problems leads to timeout, and this in turn leads to CAM reset (not respond in expected time). VDR was constantly reseting the CAM and sending LIST_ONLY command after reset. This loop sometimes freezes or crashes vdr. . Fixes #33 . . * [1159e11cca65f86cc866141d3bc7a0c567db2b17] resend PMT if oscam starts after vdr . There were no further reconnect attempts when plugin failed to connect to oscam for the first time. . Fixes #32 . . * [6bc3f5a419f97dcc1c9d062881a1d04738c5b391] ARM: fix dereferencing misaligned pointers . Linear ring buffer generates problems on ARM when reading and writing short pointers. This was leading to CI communication problems with VDR, resulting with the following info in the log: 'not all devices ready after 30 seconds.' . Fixes #27. Thanks to JeroenT for report, help and testing. . . * [34dfb904de89562a252c573aa29f07fbfd9fa679] version 1.0.5 . . * [b529a4991ec0d452152363757304a21b2f260f6f] list management: try to handle LIST_ONLY properly . This should fix zapping sometimes after tune problems. . . * [6868946797d1df3c08293f17dec0dc797b1f0e57] Revert "Do not obtain PMT if OSCam socket is not connected" . This reverts commit cdb3ac3dd502a7c66e7a0b1a69d664606e90b004. The socket was created even if there was a problem obtaining PMT data; moreover, its fd was lost in the control flow in this cases. It's better to obtain PMT first, and create a socket afterwards. . . * [22d310f361ed63a7209ed3ac47cc5b8e233c2db1] Use LOG_INFO and LOG_DEBUG for info and debug messages . . * [cdb3ac3dd502a7c66e7a0b1a69d664606e90b004] Do not obtain PMT if OSCam socket is not connected . . * [02f5d25e1fb562e571d845911995d84fb0512591] Add support for reconnecting to OSCam . Fixes #28 . . * [555272d2d67d9f63f096455eb0d352b2ba84df5e] separate clean-ffdecsa target . . * [cd93752f17646f90d4cfbcf57da28486902cbf79] adapted again Makefile to vdr-1.7.36 . . * [1fbc8d4ebb672efd6c4374dd2f52e81e3a23bb29] update .gitignore . . * [29912cdc8997cf9ff3a35c332c54008e19c86f8f] add optional libdvbcsa support . ts_packet_get_payload_offset() is from libtsfuncs library, so the credits goes to Georgi Chorbadzhiyski (@gfto) . . * [0b986cc60aa85c220c9aa864f7f58958187f3b2d] version 1.0.4 . . * [2ba621e38086aa3c4ea75b42aea6b10495d05efc] Makefile: fix setting LIBDIR and LOCDIR . . * [19258fc9da42b6ff355026f61e10bcac29d58ccc] Makefile: allow including Make.config via vdr.pc for user-defined options . . * [9c93781522ff2bff8e32edddb1f664165f0eca16] Makefile: add backward compatibility with VDR < 1.7.34 . credits: @FernetMenta . . * [e697341eb8898ce4030ca7c44de9cd21f7ba1857] Makefile: fix dvbufs9xx compilation, cosmetic fixes . . * [b903b96e852dcb70989f2e30f81d757c8961cc74] Switch to the newly introduced plugin Makefiles (VDR >= 1.7.34) . Also fixes the FFdecsa crosscompilation. . . * [e87e15fc2ed61123419dea6390589ff6054358c5] Makefile: disable hddevice support if dag's device detected . fixes #14 credits: leslie . . * [24343f409629c28f863f74eb0c1322f2a595ae81] Fix a problem with clean exit in some circumstances . Fixes #12 . . * [c7a48abbd658e2c865c9b4b8193494b4341da0ae] Add option to force budget card detection . Fixes #13 source code taken from vdr-sc . . * [8fb65973509b444f3ad2c89501f43d3cb400d9fa] rework function for obtaining PMT data . partialy based on linuxtv-dvb-apps' get_pmt_pid function . . * [a98ff1e801aa142ffeae4058e90aae5e3be40f02] Fix a bug introduced in 7c44be5 . On some slower machines (eg. ION) creating SCCIAdapter later in LateInit() prevents oscam to working correctly when PMT data arrive, leading to opening demux problem and following error message in log: c dvbapi: ERROR: Read error on fd 14 (errno=110 Connection timed out) . Thanks to dreamvor for reporting the problem and for test environment. . . * [9354f2cee21e06bbfb5f81a04a070762a89e730c] documentation update, new version . . * [2060f53120464f4ef093a648cdb40bbb1b1b938b] don't create DeCSA handler for FF cards . . * [51fe1b48bc7660f4ca49fd07ea7f0796ddf07333] create hardware CI adapter when ca0 device exitst . . * [7c44be5bed57f4d7769db203940b853739530090] another fullts/softcsa mode fixes . . * [95194392fc58e8510875fc06bb468fe43b37d104] fix checking fullts mode properly . . * [6a236dc725948806eac8a555b53c0290d2559c9e] Correct APIVERSNUM (Changes were made _after_ 1.7.23) . . * [526bb16bc604af9823d33637e9e07f7b50084742] dvbapi: match changes in packet format (oscam rev. 7314) . Since oscam rev. 7314 the UDP packet format has changed. Now the CA request and data are in one packet. . . * [83e5d096b5299af5f1feed2f4de9ef2f1b015c30] Make DeCSA TS buffer size configurable . . * [2df8c881db44c9541b8990ede0b1820f595fdaa1] Call ioctl on UFS9xx device output plugin only . Add conditional flags and do ioctl on ca device currently only for UFS9xx device plugin, because commit 2e6c1ba broke recordings. . Fixes #5 . . * [2e6c1bac1ee3fc92624b131bbfacb872fe049ef3] Fix sending keys via ioctl to ca device . . * [893a7b9194bc2bccdcfffe7b246b5e4d58ffab7b] Add support for dvbufs9xx VDR output device plugin . . * [e3200c856b8bd4ccc3c9df834e92dc071af497c1] Bump plugin version number . . * [9ee0541efa5cf3cb0b322224ad2d453d19a89b14] Simplify creating udp socket; add error messages . . * [3b73ade7369275b433a2e0a79936cc93954dba4f] Fix DVB defines after VDR 1.7.23 . . * [55416a318e8e64d3cabd1a6dd60d1c7f8040de95] Add support for full-featured cards . credits goes to: leslie (commit code is mainly based on vdr-sc sources) thanks for testing: HALLO01, udobroemme . . * [97097260cfc37ff921cb01bccd9a5b2f146dbebd] Fix typo . . * [329cbe8e8168e4a013356567059dd65143618da6] Check for malloc return values . . * [f97f05c0221f7af880fda1d548542941eeeaee02] Prevent starting when not ready . Set the return value of SCDVBDevice::Ready() correctly. Thanks to Copper for tracking it down. . . * [9bef03f3edd43ad725825cf727c5e23c3fc9bc85] Add 'Known problems' section to the readme . . * [88a8b6e14ac566e87dd05bf26d04dd789f4d056c] Bump plugin version number . . * [5cfa36f63f9acc36d2d3006310bcb3ef8a6ed0f5] Remove unused method . . * [eb095408c46798fa4027f6701b4bd70615b5df8a] Initialise caid values to zeros when starting . Fixes the following valgrind problem: ==31309== Conditional jump or move depends on uninitialised value(s) ==31309== at 0x8382D64: SCCIAdapter::addCaid(int, int, unsigned short) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x838302A: SCCIAdapter::SCCIAdapter(SCDVBDevice*, int) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x83817AD: SCDVBDevice::SCDVBDevice(int, int, int) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x8381150: SCDeviceProbe::Probe(int, int) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x488526: cDvbDevice::Probe(int, int) (dvbdevice.c:1082) ==31309== by 0x48887A: cDvbDevice::Initialize() (dvbdevice.c:1103) ==31309== by 0x463E82: main (vdr.c:641) ==31309== Uninitialised value was created by a heap allocation ==31309== at 0x4C27297: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31309== by 0x838179D: SCDVBDevice::SCDVBDevice(int, int, int) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x8381150: SCDeviceProbe::Probe(int, int) (in /usr/src/vdr/my-plugins/lib/libvdr-dvbapi.so.1.7.23) ==31309== by 0x488526: cDvbDevice::Probe(int, int) (dvbdevice.c:1082) ==31309== by 0x48887A: cDvbDevice::Initialize() (dvbdevice.c:1103) ==31309== by 0x463E82: main (vdr.c:641) . . * [9a5e9bd404c7708ce21fd575e1ebe31a58bd35f5] Don't crash on plugin unload (vdr exit) . . * [f3ad2d59765d5103b797bf8889f5082840767eab] Fix last commit to work with earlier vdr versions . Previous fix in commit ebdfc05 is using Adapter() function which was introduced in vdr 1.7.23; add conditional fallback code for earlier vdr versions. Thanks to @p100 for the hint. . . * [ebdfc05251eb95699b4970f42ece37e698a44e00] Fix running on multiple vdr instances . Fix adapter indexing when running on multiple vdr instances . . * [fa68de6cac9cda130ff92bdb6ebb3f64e08162b5] Fix typo . . * [a2663b35f7702b8287d1612e05531f60e9625a8f] Bump plugin version number . The plugin is now stable enough to switch to version 1.0.0 . . * [53bfc122b1a0084712268b85a52d90c043b8324d] Add proper license headers to source files . . * [60e2c2a868e15154d4f52b4997fd7778cad36cb0] Cosmetics: fix some ifndef's . . * [f504956c4fdaf350fb2b8cc1e4bfd8bc7dd569a7] FFdecsa-benchmark.sh: adjust FFdecsa source path . . * [5a6b027ccf38a415828c039c762323207b878a26] Move FFdecsa benchmark script to extra subdirectory . . * [aeb1975ebc7578c57632bdf9924732d27579c32b] Update and cleanup documentation . . * [5661cb039192248cb03109eaafa03cd5e677291e] Remove oscam patch . Changes are upstream now . . * [00923cb045235e7a5f54a6ff20497aae43deeac3] Read config parameters during startup . . * [264eb6c32e8e0a0364cd77aed3e0237ffb05eb38] Update documentation . . * [2873b63a4aee95d04389f1e43f4dae1700487096] Reword log messages . . * [76df6949d4be08721512ac1dfa1a9c0e4973ed9d] Add plugin setup and logging functions . . * [eb83659adda1e857856f5002e7d0fe7d7df87a6b] Cleanup and refactor source code . . * [22733ee668c60743e6efa884ec5eb79987d20d64] Cleanup oscam patches . Replace previous patches for oscam with updated one (including changes for 16a7d06), update README . . * [723d7b7ea180b2c9a0692b9808acd25c56d5ca4e] Fix and cleanup CAPMT sending . Refactor CAPMT sending function, re-enable support for CAPMT data from vdr. . . * [b0194c8c6d65ea764ab64cc9016f8092e7dc0575] Fix reading PMT table from demux . The buffer size was insufficient for correctly read a complete PMT table for some channels. . . * [c8d4be379792668ba6d02be14b57a83ac63ef923] Temporary disable using CA_PMT data from vdr . This thing need to be fixed - so disabling for now . . * [dad660a07e97aa8d21f0f39d803d490f01dd6525] Define MAX_CI_SLOT_CAIDS and revert c9a0119 . There was some problems with obtaining the value from vdr sources. Development packages doesn't has ci.c but ci.h (which is of course correct, but leads to problems). . . * [c9a0119b5653fa8fa45793f8e3abf9bb0c168b9d] Makefile: obtain missing max number of CAIDs per slot . The VDR_MAXCAID defines now number of supported CAIDs for a CAM slot. From VDR version 1.5.3 this value is 64. Earlier versions uses 16 CAIDs. Without this commit the value was always set to 16. All CAIDs from all channels are divided into CAM slots - so previously the CI adapter created more CAM slots with less CAIDs. It should work even then but there is still some problem in plugin code because it is always sending requests to first slot only. This way a bunch of CAIDs (from the other slots) was not presented in AOT_CA_PMT, leading to problems after previous commit (2e84cb0): Use CA descriptors for channel provided by vdr in AOT_CA_PMT. . Now the problems should be workaround-ed because the 64 CAIDs which are in first slot should be enough. . . * [2e84cb06ddfd87306c0ccc911c8ab1e4f39e5d20] Use CA descriptors for channel provided by vdr in AOT_CA_PMT . VDR is caching CA descriptors information for every channel. This information is also collected during EPG scan mode. If vdr has CA descriptors, then the plugin is now using it to provide to camd.socket. This way the step for opening demux by dvbapi plugin and obtain PMT data is omited and channel should ZAP faster. If we don't have this information (mainly after VDR start) then the plugin is trying to obtain PMT the old way. . Many thanks for Narog for figuring this way of handling this and providing first working code. . . * [034c00423cad523c6c07dfbb7d4b0ae88a9f726d] Move obtaining PMT code to dedicated function . . * [68e043ac28c4a9de1a0013dddfadadc2a54380ae] Drop support for LD_PRELOAD-ing dvbapi_ca.so, update documentation . . * [d1d8fa0449ef9649e7c4f3052aa0986f6dc448b1] Close socket when vdr is requesting CAM to stop decrypting . This fixes the problem when oscam was still decrypting while the channel was not used Thanks to peje for reporting and testing . . * [6e8cad788ecbed6d25b2020b0b8d64711a030690] Fix sending CW after "retuning due to modification of channel" . The ready flag was set to false on channel switch (retuning) and it prevent the SCDVBDevice::SetCaDescr to set a keys. This leads to start channel, then after some seconds - stall. . For now always returning true - we can revert this in case of problems. . . * [2e4218eec6ceb1894933248c8302f1e6d34a7e18] AOT_CA_PMT: don't react on situation when ci_cmd=3 (just like it is in now vdr-sc) . This prevent to trigger in some circumstances . . * [0168b56d4426429efb24dfa72a9cc570b2b6f279] Added experimental oscam patch which implements dvbapi_ca.so functionality . . * [27241ed70259b698d12ce651634a91e8f6233de9] Move socket management to SCCIAdapter, fix adapter indexing . peje: thank you for testing the code :) . . * [fdd04fcebce0a1924261bd3cfe64d942e193453c] CAPMT: more debug . . * [03b508f8883d0d3070096a0c5043d0255bd7b855] SCDVBDevice: remove adapter property, and use DeviceNumber() instead . . * [bebb864447ae8bd567a429c18b2f665695026ff3] Fix memory leak . . * [60e76e84c98b89a35c1dc71e07dbcb550b8a7f18] Fix adapter indexing . . * [b657438882aa1c596c3e02a4b63e483515f3a971] Handle situation when starting vdr with active timers (ca_lm=3, prg!=0) . . * [bdc07a4a1aa245ea3eec24f60c493413d954f692] Implement sockets management for simultaneous channel decrypt on one adapter. . When using two or more channels from same transponder in the same time, then additional sockets are created. This gives availability to simultaneous recording and/or watching channels (especially important for users with single adapter). . . * [0940f14ea9132d3cf918b83767ea64e6fbb64576] Ignoring removal requests (where index = -1) . This fixes crash in DeCSA, because it writes to -1 index in array . . * [33445cc9598ce1650367444cb03e5e80640ab447] Some relevant fixes (found out by comparing with vdr-sc code) . . * [312ec35702ad796f2e3b1b59239e9b77b8b5a505] Merge pull request #4 from manio/master . Fixing pull request . * [d439691250c4c219a872c6e861b3e9b0a435ddef] More debug . . * [06e29b84220b3a814dbae8e6385cda0d9d615e72] benchmark.sh: use relative path . . * [4435f1fe54c6258ccf161650a0321552926a09c2] Added list of ignored files (.gitignore) . . * [b2f0c93f470869443ea6c97a917d7fb6bb502136] We don't hold binaries here anymore . . * [382def4886af81f9d7c0024bdd202cc8a5b29127] I believe that xine-out.wav went in by accident :) . . * [583844e68de4ed4461920425e18bf3dfe13b0804] Implement AOT_CA_PMT for CamSlot . The CAM is now decrypting when vdr is enabling it. When doing epg scan then CAM is not used, when watching tv or recording - the CAM is activated. . . * [2305d921f132718b87ef30b14571f8f181ec3416] Updated Readme/Install . . * [4a1088823bb451a73d14b07af7a3720f4fd02654] Added oscam patch . . * [dd9d3d82aa1494436e75c190ad78ce3c2d663ec2] update Version . . * [3912d1286eb27a870021b61570c75d8395444464] Fix error message . . * [59020c62046a38d3a985020a2dabbecf49320506] Fix closing the file descriptor . This fixes the following errors: ERROR: /dev/dvb/adapter0/demux0: Too many open files ERROR (dvbdevice.c,957): Too many open files DVPAPI: Error opening demux device ERROR: can't open filter handle on '/dev/dvb/adapter0/demux0' . . * [5cce473225d75b45ddbe2785022dd783cdbfebb9] Update . . * [77a73f6b38c111aed5b575472f5f857a23bb985e] update README . . * [55935efd71eef477e3f9bb85e35ad173cde3e22a] removed .o files . . * [6aa2f445b79afdb2d66ba6d47c0cb819729a0d0b] First version . . * [1787df22a4d0153e77974fba082cd8b153fd626f] first version Checksums-Sha1: 750c14bb5ce87e782b46b892c3433d6fc325fbc3 4917 vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.buildinfo bb2d98613ea487636760c088325c1ffa1ba0a9d2 52884 vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.deb Checksums-Sha256: 79330853e49a3b9d48b2ebceebbbf69fa24920d7a61b234db3b66b521e2cf15a 4917 vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.buildinfo 5dc2c30ef66cff2f7903f81d42ac4b94d2e292dbfb89c43ad640b66da3905f94 52884 vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.deb Files: fa0134f013ed679a9ce08124996cfd10 4917 video extra vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.buildinfo b0182fbb16a639d7ad958c4f4ae49fc3 52884 video extra vdr-plugin-dvbapi_2.2.4-444~8395491-artful_i386.deb