Format: 1.8 Date: Sun, 12 Oct 2014 19:41:04 +0400 Source: vdr-plugin-dvbapi Binary: vdr-plugin-dvbapi Architecture: source Version: 2.1.1-440~2617a7f-ppa1~precise Distribution: precise Urgency: medium Maintainer: Andrey Pavlenko Changed-By: Andrey Pavlenko Description: vdr-plugin-dvbapi - DVBAPI plugin for VDR Changes: vdr-plugin-dvbapi (2.1.1-440~2617a7f-ppa1~precise) precise; urgency=medium . * [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' . . * [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 Checksums-Sha1: 2c4e218f6fe59dfb95d8154348d58576773b8df6 1734 vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.dsc 00b787e22dea1d89b3df913763f63eb96f7bb8f6 69635 vdr-plugin-dvbapi_2.1.1-440~2617a7f.orig.tar.bz2 10a6d69ab8eae4ec68b75d941a0a09e7b8d7be73 7340 vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.debian.tar.bz2 Checksums-Sha256: 84553e4ae369471479aa809f6618396825e420de1fa3f90069c5638893fc8749 1734 vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.dsc e2958841aa5a2a9cc0c21278ee199f837ee42984ae0d6b326b8b85082fccca13 69635 vdr-plugin-dvbapi_2.1.1-440~2617a7f.orig.tar.bz2 ccdececfdfa866a225d942876bafe458ec99902cc20ad8e065898d28f157ce9a 7340 vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.debian.tar.bz2 Files: 2370bd3549ecfe863124bdb9972565fd 1734 video extra vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.dsc a7e48b3d0bdf86cfa349d8e0e007085a 69635 video extra vdr-plugin-dvbapi_2.1.1-440~2617a7f.orig.tar.bz2 b4ff6e622859fb8e463e067a71582169 7340 video extra vdr-plugin-dvbapi_2.1.1-440~2617a7f-ppa1~precise.debian.tar.bz2