Hi, Jose Alberto Reguero wrote: >>> So, this is a matter of LiveBuffer patch. But I don't understand why it >>> 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 applied: >> #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 is >> played. (Or does something argue against it?) > > I try to force Live TV in vdr-xine for LiveBuffer to solve the problem. View > channels work ok. But when moving back or forward into the LiveBuffer don't > 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. Bye. -- Dipl.-Inform. (FH) Reinhard Nissl mailto:rnissl@xxxxxx