[vdr] SVDRP connection freezes
Udo Richter
udo_richter at gmx.de
Tue Oct 31 02:51:21 CET 2006
Tony Houghton wrote:
> The problem is that the svdrp connection has a tendency to freeze. I
> have to wait a few minutes for the socket to timeout at the system
> level. VDR's SVDRP timeout is set to 0, but I don't think that's making
> a difference. I think the reason other programs such as vdradmin work OK
> is that they open and close the connection for every command, but that
> approach is too sluggish for boxstar, which is supposed to be a
> transparent, primary interface to controlling VDR.
Holding the SVDRP connection for a long time is not a good idea, since
VDR can only keep one SVDRP connection open at the same time. Holding
the line permanently would block out other uses like VDRAdmin or
EPGSearch plugin.
If you don't want to open the connection dynamically, you can write a
simple plugin that forwards the key presses. This shouldn't be too
difficult, since cRemote::Put is thread-safe, so you can open a socket
and forward incoming key presses from a simple thread. You could even go
the next step and write a real boxstar-remote plugin for VDR.
If you want to rely on existing stuff, maybe you can use the remote
plugin from Oliver Endriss for your needs - it supports tty control and
telnet control.
About the original question why the socket freezes: I don't see an
obvious reason why this happens. If the VDR side would freeze, this
would lead to a watchdog timeout. Otherwise, if anything kills the
connection, there is probably a "lost connection to SVDRP client"
message in the syslog. You may want to add some debugging code there to
investigate. (svdrp.c, line ~1594)
Cheers,
Udo
More information about the vdr
mailing list