Publishing details

Changelog

vdr-plugin-dvbapi (2.2.4-532~8395491-zesty) zesty; 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 <vdr/dvbdevice.h> and <vdr/dvbci.h>
    - 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 <email address hidden>


  * [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

 -- Andrey Pavlenko <email address hidden>  Mon, 05 Jun 2017 18:02:06 +0300

Builds

Built packages

Package files