summaryrefslogtreecommitdiff
path: root/client
AgeCommit message (Collapse)Author
2015-10-05client compatibility with VDR 2.3.1 (refs #2243)Frank Schmirler
2015-01-24doubled size of client's filter buffer (fixes #2045)Frank Schmirler
2015-01-24Fixed problems related to VTP filter streaming like ringbuffer overflows,Frank Schmirler
stuttering or aborting video stream (refs #2045) Toerless Eckert wrote: This patch tries to resolve problems in streamdev-client that can occur when enabling "StreamFilters". Enabling this option is necessary to receive certain programs with dynamic PIDs such as some german "regional" broadcast (eg: NDR). Problem: Without this fix, the following behavior was observed on a Raspberry PI running streamdev-0.6.1-git with VDR-2.6.1: - Buffer overflows of filter data - Stop/go video on channels - Total stopping of video More logs in: http://www.vdr-portal.de/board16-video-disk-recorder/board55-vdr-plugins/125237- streamdev-client-filter-daten-streamen-ndr-raspberry-haengt/ Analysis: VDR expect section data from filters separately from the main program stream. Historically, it received each filter data via a separate file descriptor from the DVB card. In the streamdev-client module, a socketpair is used to feed filter data to the main VDR code. During certain operations in VDR, such as startup or channel change (depending also on the speed of initialization of the video output driver), VDR does not consume the filter data as fast as it is provided by streamdev-client, resulting in overflow of the default socket buffers used by streamdev-client. To add to the problem of overflowing the socketpair buffers, the streamdev-client code sends several times a second short packets into the socketpair to determine if the receiving side (VDR) has closed the socketpair (IsClosed(), CarbageCollect()). This further clogs up the socketpair() buffer. The raspberry PI socketpair buffering behavior seems to be the same as that of other 3.x linux systems, the socket buffer size is by default 163840, and it can be increased via sysctl net.core.wmem_max. During startup, it can take up to 10 seconds before VDR will consume filter data, so the socketpair buffer can fill up with 10 seconds worth of data. Solution 1. IsClosed()/CarbageCollect() where removed from client/filter.c and replaced by explicitly tracking when VDR closes a filter socket. This alone seems to already resolve the problem of hanging or stop&go video and seems to be sufficient to receive dynamic-PID channels reliably. 2. filter.c was enhanced to request a larger socket buffer size if config option FilterSockBufSize is set. 3. If supported (if streamdev-client runs on linux), the socketpair queue is "flushed" to reduce the amount of "random" packet drop messages and to rather drop sequential messages.
2014-12-23Added Polish translation (closes #2038)Frank Schmirler
2014-11-20Implemented GetCurrentlyTunedTransponder() on client (closes #2010)Frank Schmirler
2013-11-25Updated Slovak translation (closes #1626)Frank Schmirler
2013-11-25Updated Finnish translation (thanks to Rolf Ahrenberg)Frank Schmirler
2013-10-30Fixed channel switch issues with priority > 0Frank Schmirler
2013-10-21Removed noisy debug messagesFrank Schmirler
2013-10-19Fixed priority handling, messed up when adding multi-device supportFrank Schmirler
2013-03-19Updated Slovak translation (closes #1293)Frank Schmirler
2013-02-27Adapted Makefiles to VDR 1.7.36+ (thanks to macmenot). Old makefiles haveFrank Schmirler
been renamed to Makefile-1.7.33 (fixes #1199)
2013-02-18API changes of VDR 1.7.38 (thanks to mal@vdr-developer)Frank Schmirler
2013-01-29Implemented multi-device support for streamdev client (closes #1207)Frank Schmirler
2012-06-22Fixed compiler error in client/device.c with VDR < 1.7.22 (reported by ↵Frank Schmirler
Uwe@vdrportal)
2012-06-13Updated Italian translation (thanks to Diego Pierotto)Frank Schmirler
2012-06-07Added DeviceName() and DeviceType() to client device. The server IP and theFrank Schmirler
number of the device used on the server are returned respectively.
2012-05-29Reimplemented some client device methodsFrank Schmirler
2012-05-27Dropped m_UpdatePriorityFrank Schmirler
2012-05-21Proper fix for "client sends ABRT after TUNE". Obsoletes many hacks in clientFrank Schmirler
2012-04-21Added streamdev-client support for upcoming streamdev-server versionsFrank Schmirler
with purely priority driven precedence.
2012-03-10Fixed ProvidesChannel() on client always returning true since the new timeoutFrank Schmirler
option has been added.
2012-03-06Updated Finnish translation (thanks to Rolf Ahrenberg)Frank Schmirler
2012-03-04With VDR 1.7.25 priorities down to -99 will be usedFrank Schmirler
2012-03-04Use the new streamdev-client setup option "Live TV Priority" to controlFrank Schmirler
precedence among multiple clients. The VDR option "Primary Limit" which has previouly been used for this purpose has been dropped in VDR 1.7.25.
2012-03-03Timout for network operations now configurable in streamdev-client setupFrank Schmirler
2011-12-13Update of po headers and Finnish translation (thanks to Rolf Ahrenberg)Frank Schmirler
2011-12-11Support for non-cycle-free setups (e.g. where two VDRs mutually shareFrank Schmirler
their DVB cards through streamdev-client/-server). Must be enabled in streamdev-server setup. Obsoletes recursion patches.
2011-12-11Added missing phraseFrank Schmirler
2011-12-09API change of VDR 1.7.22Frank Schmirler
2011-12-08Update and UTF-8 conversion of Finnish po files (thanks to Rolf Ahrenberg)Frank Schmirler
2011-09-10streamdev-client returns true in its AvoidRecording() methodFrank Schmirler
2011-07-06added support for VDR 1.7.19 SignalStrength/SignalQualityFrank Schmirler
2011-05-16fixed missing #ifdefs for new NumProvidedSystems setup optionFrank Schmirler
2011-03-18Merge branch 'master' of projects.vdr-developer.org:vdr-plugin-streamdevFrank Schmirler
Conflicts: HISTORY
2011-03-18Added Spanish translationFrank Schmirler
2011-03-07Dropped compatibility with VDR < 1.5.16Frank Schmirler
2011-02-16return value of streamdev-clients cDevice::NumProvidedSystems() nowFrank Schmirler
configurable in plugin setup (fixes #552)
2011-01-27increased client side timeout for TUNE commandFrank Schmirler
2011-03-22Snapshot 2010-09-15Frank Schmirler
2010-06-08dropped "Synchronize EPG" featureschmirl
Modified Files: HISTORY README streamdev-client.c streamdev-client.h client/device.c client/setup.c client/setup.h client/socket.c client/socket.h po/de_DE.po po/fi_FI.po po/fr_FR.po po/it_IT.po po/lt_LT.po po/ru_RU.po po/sk_SK.po
2010-02-17switching between two encrypted channels on the same transponder didn'tschmirl
always work (thanks to sk8ter@vdrportal)
2009-10-19fixed regression from fix for switching between encrypted channels. It wasschmirl
no longer possible to receive multiple (FTA) streams from the same transponder
2009-09-18- cleaned up common.h / common.cschmirl
- dropped cStreamdevMenuSetupPage
2009-06-23added cDevice::NumProvidedSystems() which was introduced in VDR 1.7.0schmirl
Modified Files: HISTORY client/device.h
2009-04-06Added missing call to StopSectionHandler().schmirl
This method was introduced in VDR 1.5.15. Its absence could cause crashes when shutting down VDR
2009-02-13added comments to indicate that the VTP filter stream is proprietary formatschmirl
Modified Files: client/filter.c server/livefilter.c
2009-02-03Fixed parsing Min/MaxPriority from configschmirl
2009-01-29Added min/max priority (#508)schmirl
Modified Files: HISTORY README client/device.c client/setup.c client/setup.h po/de_DE.po po/fi_FI.po po/fr_FR.po po/it_IT.po po/ru_RU.po
2009-01-14Problem when switching between encrypted channels still exists if CA idschmirl
is set to FTA or streamdev device. Disabled transponder check.