2004-12-30 23:43:55 +01:00
|
|
|
|
Special thanks go to the following persons (if you think your name is missing
|
2008-03-26 14:08:32 +01:00
|
|
|
|
here, please send an email to vdrdev@schmirler.de):
|
|
|
|
|
|
2009-06-19 08:32:38 +02:00
|
|
|
|
Klaus Schmidinger
|
|
|
|
|
for VDR as a whole
|
|
|
|
|
for permission to use VDR 1.6.0 cRemux code for PES remuxing
|
|
|
|
|
|
2008-03-26 14:08:32 +01:00
|
|
|
|
Sascha Volkenandt, the original author,
|
|
|
|
|
for this great plugin
|
2004-12-30 23:43:55 +01:00
|
|
|
|
|
|
|
|
|
The Metzler Brothers
|
2008-03-26 14:08:32 +01:00
|
|
|
|
as a lot of code has been taken from their libdvbmpeg package
|
2004-12-30 23:43:55 +01:00
|
|
|
|
|
|
|
|
|
Angelus (DOm)
|
2009-11-03 12:21:14 +01:00
|
|
|
|
for providing Italian language texts
|
2008-03-26 14:08:32 +01:00
|
|
|
|
for reporting problems with the Elchi-Patch
|
2004-12-30 23:43:55 +01:00
|
|
|
|
|
|
|
|
|
Michal
|
|
|
|
|
for sending a patch to select the HTTP streamtype via remote
|
|
|
|
|
|
|
|
|
|
Rolf Ahrenberg
|
2009-11-03 12:21:14 +01:00
|
|
|
|
for providing Finnish language texts
|
2008-03-26 14:08:32 +01:00
|
|
|
|
for adding externremux.sh commandline parameter
|
|
|
|
|
for silencing compiler warnings
|
|
|
|
|
for adding PAT, PMT, PCR and EIT to HTTP TS streams
|
|
|
|
|
for fixing a memory leak in buffer overflow situations
|
|
|
|
|
for adding a return code check to vasprintf()
|
|
|
|
|
for suggesting a fix of the Makefile's default target
|
|
|
|
|
for a TS PAT repacker based on Petri Laine's VDR TS recording patch
|
2008-03-28 16:11:40 +01:00
|
|
|
|
for making it possible to pass parameters to externremux.sh
|
2008-04-07 16:50:32 +02:00
|
|
|
|
for removing pre VDR 1.4 legacy code
|
2008-04-08 16:18:15 +02:00
|
|
|
|
for adding gettext support
|
2008-10-22 13:17:43 +02:00
|
|
|
|
for fixing output format of some debug messages
|
2008-10-22 13:59:31 +02:00
|
|
|
|
for replacing private members by cThread::Running()/Active()
|
2008-10-31 12:41:12 +01:00
|
|
|
|
for improving externremux script termination
|
2008-11-24 13:10:27 +01:00
|
|
|
|
for fixing PAT repacker version field
|
2009-07-02 08:03:50 +02:00
|
|
|
|
for improving LIMIKUUTIO and PARENTALRATING patch detection
|
2009-09-15 12:39:17 +02:00
|
|
|
|
for suggesting to include the charset in HTTP replies
|
2009-10-13 08:38:47 +02:00
|
|
|
|
for requesting replacement of asprintf calls
|
2010-07-20 08:23:32 +02:00
|
|
|
|
for suggesting to change the URL path from EXTERN to EXT
|
2010-12-02 09:57:17 +01:00
|
|
|
|
for suggesting increased thread priorities for cStreamdevWriter/Streamer
|
2011-12-08 13:07:17 +01:00
|
|
|
|
for adding "Hide mainmenu entry" option
|
2011-12-13 12:59:31 +01:00
|
|
|
|
for polishing po file headers
|
2012-04-21 22:47:36 +02:00
|
|
|
|
for adding the special meaning "show current channel" to channel 0
|
2004-12-30 23:43:55 +01:00
|
|
|
|
|
|
|
|
|
Rantanen Teemu
|
|
|
|
|
for providing vdr-incompletesections.diff
|
|
|
|
|
|
|
|
|
|
Thomas Keil
|
2008-03-26 14:08:32 +01:00
|
|
|
|
for providing vdr-localchannelprovide.diff
|
|
|
|
|
for maintaining the plugin for a while
|
|
|
|
|
|
|
|
|
|
Artur Skawina
|
|
|
|
|
for fixing an fd leak
|
|
|
|
|
|
|
|
|
|
Norad
|
|
|
|
|
for reporting a problem terminated externremux.sh children
|
|
|
|
|
|
|
|
|
|
Udo Richter
|
|
|
|
|
for fixing streamdev-server shutdown
|
|
|
|
|
for speeding up cPluginStreamdevServer::Active()
|
|
|
|
|
for adapting to VDR 1.5.0 API
|
2008-10-13 13:30:05 +02:00
|
|
|
|
for adapting to VDR 1.7.1
|
2010-06-04 20:32:34 +02:00
|
|
|
|
for proper tsplay-0.2 patch detection
|
2008-03-26 14:08:32 +01:00
|
|
|
|
|
|
|
|
|
greenman
|
|
|
|
|
for reporting that the log could get flooded on connection failures.
|
|
|
|
|
|
|
|
|
|
Petri Hintukainen
|
|
|
|
|
for making section filtering work
|
|
|
|
|
for fixing a segfault with VDR 1.5
|
|
|
|
|
for fixing high CPU load when data stream is disconnected
|
|
|
|
|
for adding PAT, PMT and PCR to HTTP TS streams
|
|
|
|
|
for fixing a segfault / deadlock when shutting down
|
|
|
|
|
for fixing compiler warnings
|
2008-03-28 16:11:40 +01:00
|
|
|
|
for adding M3U playlists
|
2008-03-26 14:08:32 +01:00
|
|
|
|
|
|
|
|
|
ollo
|
|
|
|
|
for suggesting support for WMM capable WLAN accesspoints
|
|
|
|
|
|
|
|
|
|
vdr-freak
|
|
|
|
|
for reporting connection aborts when externremux ringbuffer is full
|
|
|
|
|
|
|
|
|
|
alexw
|
|
|
|
|
for reporting client reconnect problems after a server restart
|
|
|
|
|
for a workaround for tuning problems with 1.5.x clients
|
|
|
|
|
|
|
|
|
|
Olli Lammi
|
|
|
|
|
for fixing a busy wait when client isn't accepting data fast enough
|
2009-06-19 08:32:38 +02:00
|
|
|
|
for suggesting signaling instead of sleeping when writing to buffers
|
2008-03-26 14:08:32 +01:00
|
|
|
|
|
|
|
|
|
Joerg Pulz
|
|
|
|
|
for his FreeBSD compatibility patch
|
2008-04-07 16:50:32 +02:00
|
|
|
|
|
|
|
|
|
tobi
|
|
|
|
|
for pointing to unused files in the libdvbmpeg directory
|
2008-04-14 09:14:24 +02:00
|
|
|
|
|
|
|
|
|
Diego Pierotto
|
2009-11-03 12:21:14 +01:00
|
|
|
|
for providing Italian language texts
|
2008-04-14 15:42:40 +02:00
|
|
|
|
|
|
|
|
|
micky979
|
2009-11-03 12:21:14 +01:00
|
|
|
|
for providing French language texts
|
2008-10-02 09:21:15 +02:00
|
|
|
|
|
|
|
|
|
Tiroler
|
|
|
|
|
for reporting a problem when switching between encrypted channels
|
|
|
|
|
|
|
|
|
|
Pixelpeter
|
|
|
|
|
for an initial fix to the "switching between ecncrypted channels" problem
|
|
|
|
|
|
|
|
|
|
Anssi Hannula
|
2009-07-17 09:05:40 +02:00
|
|
|
|
for the vdr-1.6.0-intcamdevices patch
|
2009-07-17 08:21:23 +02:00
|
|
|
|
for fixing insecure format strings in LSTX handlers
|
2008-10-31 12:59:48 +01:00
|
|
|
|
|
|
|
|
|
wirbel
|
|
|
|
|
for pointing out that section filtering is optional for VDR devices
|
2009-11-04 12:12:20 +01:00
|
|
|
|
for reporting a problem with Makefile defines in VDR 1.7.4+
|
2008-11-24 13:10:27 +01:00
|
|
|
|
|
|
|
|
|
Jori Hamalainen
|
|
|
|
|
for extensive testing while making stream compatible to Network Media Tank
|
2008-12-08 12:37:21 +01:00
|
|
|
|
for adding Network Media Tank browser support to HTML pages
|
2009-01-14 08:46:40 +01:00
|
|
|
|
|
2014-09-02 08:54:28 +02:00
|
|
|
|
Oliver Wagner
|
2009-01-14 08:46:40 +01:00
|
|
|
|
for pointing out a problem with the encrypted channel switching fix
|
2009-09-04 15:24:30 +02:00
|
|
|
|
for suggesting use of SO_KEEPALIVE socket option to detect dead sockets
|
2014-09-02 08:54:28 +02:00
|
|
|
|
for making cStatus::ChannelChange re-tune only if CA IDs changed
|
2009-02-03 11:26:21 +01:00
|
|
|
|
|
|
|
|
|
Joachim K<>nig-Baltes
|
|
|
|
|
for fixing Min/MaxPriority parsing
|
2009-02-13 11:39:20 +01:00
|
|
|
|
|
|
|
|
|
Artem Makhutov
|
|
|
|
|
for suggesting and heavy testing IGMP based multicast streaming
|
2009-07-01 12:46:15 +02:00
|
|
|
|
|
|
|
|
|
Alwin Esch
|
|
|
|
|
for adding XBMC support by extending VTP capabilities
|
2010-01-29 12:44:52 +01:00
|
|
|
|
for adding VDR 1.7.11 parental rating support for VTP LSTE command
|
2010-01-29 13:03:01 +01:00
|
|
|
|
for adding the DELT FORCE option to delete running timers
|
2009-09-30 12:10:40 +02:00
|
|
|
|
|
|
|
|
|
BBlack
|
|
|
|
|
for reporting that updating recordings list on CmdPLAY is a bad idea
|
2009-11-03 12:21:14 +01:00
|
|
|
|
|
|
|
|
|
Milan Hrala
|
|
|
|
|
for providing Slovak language texts
|
2009-12-15 14:38:29 +01:00
|
|
|
|
|
|
|
|
|
Valdemaras Pipiras
|
|
|
|
|
for providing Lithuanian language texts
|
2010-02-17 13:39:02 +01:00
|
|
|
|
|
|
|
|
|
sk8ter
|
|
|
|
|
for fixing failures when switching between two encrypted channels
|
2010-02-21 00:02:10 +01:00
|
|
|
|
|
|
|
|
|
lhanisch
|
|
|
|
|
for fixing a memory leak in cStreamdevPatFilter::GetPid
|
2010-04-19 12:17:33 +02:00
|
|
|
|
|
|
|
|
|
Eric Valette
|
|
|
|
|
for adding support for EnhancedAC3
|
2010-07-20 08:23:32 +02:00
|
|
|
|
|
|
|
|
|
carel
|
|
|
|
|
for reporting "plugin doesn't honor APIVERSION" error in new Makefile
|
|
|
|
|
for helping to find a way to cleanly shutdown externremux with mencoder
|
2011-02-01 14:24:47 +01:00
|
|
|
|
for reporting that GetClippedNumProvidedSystems is no longer up-to-date
|
2010-07-20 08:23:32 +02:00
|
|
|
|
|
|
|
|
|
wolfi.m
|
2010-07-22 08:30:46 +02:00
|
|
|
|
for reporting a typo in externremux quality parameter value
|
2010-07-20 14:26:29 +02:00
|
|
|
|
|
|
|
|
|
Norman Thiel
|
|
|
|
|
for reporting a wrong URL path in m3u playlists
|
2010-07-22 08:30:46 +02:00
|
|
|
|
|
|
|
|
|
vel_tins
|
|
|
|
|
for reporting that externremux x264 uses value of ABR for VBR
|
2010-12-02 09:57:17 +01:00
|
|
|
|
for various suggestions to improve externremux.sh
|
2010-07-22 16:18:17 +02:00
|
|
|
|
|
|
|
|
|
Matthias Prill
|
|
|
|
|
for reporting a compiler error with older libstdc++ versions
|
2010-12-02 09:57:17 +01:00
|
|
|
|
|
|
|
|
|
Timothy D. Lenz
|
|
|
|
|
for reporting missing support for invisible channel groups in HTTP menu
|
|
|
|
|
|
|
|
|
|
Rainer Blickle
|
|
|
|
|
for reporting that channel switches may interrupt live TV on the server
|
2010-12-10 16:38:54 +01:00
|
|
|
|
|
|
|
|
|
Gavin Hamill
|
|
|
|
|
for reporting that ES/PS/PES no longer works
|
2010-12-10 17:03:04 +01:00
|
|
|
|
|
|
|
|
|
Michal Novotny
|
|
|
|
|
for reporting that switching away live TV fails when "always suspended"
|
2010-12-10 18:06:39 +01:00
|
|
|
|
|
|
|
|
|
wtor
|
|
|
|
|
for reporting that a client may interrupt replaying on FF cards
|
2011-01-28 12:42:33 +01:00
|
|
|
|
for helping to debug channel switch issues on FF cards
|
2011-03-18 15:52:42 +01:00
|
|
|
|
|
|
|
|
|
Javier Bradineras
|
|
|
|
|
for providing Spanish language texts
|
2011-05-02 23:39:19 +02:00
|
|
|
|
|
|
|
|
|
Pekko Tiitto
|
|
|
|
|
for providing a git mirror of streamdev's lost CVS repository
|
|
|
|
|
for suggesting to use mencoder params -alang and -msglevel in externremux
|
2011-09-02 13:18:01 +02:00
|
|
|
|
|
|
|
|
|
Lubo<EFBFBD> Dole<6C>el
|
|
|
|
|
for suggesting higher buffer sizes to fix some ringbuffer overflows
|
2011-11-07 16:57:23 +01:00
|
|
|
|
|
|
|
|
|
Ville Skytt<74>
|
|
|
|
|
for updating the outdated COPYING file and FSF address
|
2011-11-07 17:15:10 +01:00
|
|
|
|
for restricting VTP command RENR to liemikuutio patch < 1.32
|
2011-11-12 22:30:48 +01:00
|
|
|
|
for fixing memory and filedescriptor leaks in libdvbmpeg
|
2011-11-21 13:03:06 +01:00
|
|
|
|
for code cleanup and optimization
|
2012-06-28 17:17:59 +02:00
|
|
|
|
for correcting typos
|
2012-03-01 09:01:37 +01:00
|
|
|
|
|
|
|
|
|
Methodus
|
|
|
|
|
for suggesting to use HTTP code 503 for unavailable channels
|
|
|
|
|
|
2012-06-22 08:54:47 +02:00
|
|
|
|
Uwe
|
|
|
|
|
for reporting a compiler error in client/device.c with VDR < 1.7.22
|
2012-12-16 13:29:15 +01:00
|
|
|
|
|
|
|
|
|
Chris Tallon
|
|
|
|
|
for his kind permission to use VOMP's recplayer for replaying recordings
|
2013-02-27 13:11:23 +01:00
|
|
|
|
|
|
|
|
|
macmenot
|
|
|
|
|
for adapting Makefiles to VDR 1.7.36+
|
2013-07-16 13:12:20 +02:00
|
|
|
|
|
|
|
|
|
thomasjfox
|
|
|
|
|
for fixing cSuspendCtl preventing idle shutdown
|
2013-09-26 09:31:35 +02:00
|
|
|
|
|
|
|
|
|
hivdr
|
|
|
|
|
for adding the pos= parameter for replaying recordings from a certain position
|
2013-10-02 00:03:39 +02:00
|
|
|
|
for suggesting to add the HTTP "Server" header
|
2013-10-30 21:18:56 +01:00
|
|
|
|
|
|
|
|
|
hummel99
|
2013-11-01 15:33:19 +01:00
|
|
|
|
for reporting and helping to debug channel switch issues with priority > 0
|
|
|
|
|
for reporting a race condition when switching the server's LiveTV device
|
2014-10-24 12:29:49 +02:00
|
|
|
|
|
|
|
|
|
Henrik Niehaus
|
|
|
|
|
for fixing replay of large TS files on 32-bit systems
|
2014-11-07 23:01:08 +01:00
|
|
|
|
|
|
|
|
|
Guy Martin
|
|
|
|
|
for adding SVDRP commands to list and disconnect clients
|
2014-11-07 23:51:13 +01:00
|
|
|
|
|
|
|
|
|
Martin1234
|
|
|
|
|
for suggesting a service call, returning the number of clients
|
2014-11-20 14:21:44 +01:00
|
|
|
|
for implementing GetCurrentlyTunedTransponder() on client
|
2014-12-22 21:56:41 +01:00
|
|
|
|
|
Fixed problems related to VTP filter streaming like ringbuffer overflows,
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.
2015-01-24 00:19:04 +01:00
|
|
|
|
Toerless Eckert
|
2014-12-22 21:56:41 +01:00
|
|
|
|
for converting suspend.dat into proper PES format
|
Fixed problems related to VTP filter streaming like ringbuffer overflows,
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.
2015-01-24 00:19:04 +01:00
|
|
|
|
for investigating and fixing problems caused by filter streaming
|
2015-01-24 00:49:51 +01:00
|
|
|
|
for fixing TimedWrite() so it doesn't fail after a slow but successful write
|
2014-12-23 12:40:13 +01:00
|
|
|
|
|
|
|
|
|
Tomasz Maciej Nowak
|
|
|
|
|
for providing Polish language texts
|