[vdr] Problem with LiveBuffer and vdr-xine
Bergwinkl.Thomas at vr-web.de
Sun Apr 2 12:18:25 CEST 2006
Reinhard Nissl wrote:
> Jose Alberto Reguero wrote:
> >>> So, this is a matter of LiveBuffer patch. But I don't understand why
> >>> was working when switching channels.
> >>> Anyway, to fix it properly, the following line in
> >>> cXineDevice::SetPlayMode() most be adapted to LiveBuffer:
> >>> m_settings.SelectReplayPrebufferMode(!Transferring());
> >>> For vanilla VDR, Transferring() reports the existence of a transfer
> >>> thread which means, VDR sends Live TV to vdr-xine.
> >>> So, how could I detect Live TV in the case of a VDR with LiveBuffer
> >>> patch?
> >>> Is there a way to automatically detect that the LiveBuffer patch was
> >>> applied to VDR?
> >> In config.h LIVEBUFFERVERSION is defined, when livebuffer has been
> >> #define LIVEBUFFERVERSION 106
> >> When the livebuffer is active (replaying)
> >> cTransferControl::ReceiverDevice() returns the receiving device. So you
> >> could use this for detecting Live TV.
> >> But I think it would be better to adapt the livebuffer patch so that
> >> cDevice::Transferring() returns also true when a livebuffer recording
> >> played. (Or does something argue against it?)
> > I try to force Live TV in vdr-xine for LiveBuffer to solve the problem.
> > channels work ok. But when moving back or forward into the LiveBuffer
> > work very well.
> Hhm, it seems that it is not that easy to find a proper solution. Maybe
> cDevice::Transferring() could be patched to return true when
> LiveBuffer's reader and writer are almost at the same position (delta ~
> 8 frames) and to return false otherwise.
I don't know vdr-xine, so why is it neccessary to distinguish between LiveTV
and a recording. And why does fast forward / backward doesn't work correctly
when you in LiveTV mode?
Patching cDevice::Transferring() the way you suggested shouldn't be much of
a problem. But this behaviour doesn't seem to me very logical.
More information about the vdr