Publishing details

Changelog

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
 -- Andrey Pavlenko <email address hidden>   Sun, 12 Oct 2014 19:41:04 +0400

Available diffs

Builds

Package files

No files published for this package.