[vdr] Problem with LiveBuffer and vdr-xine
Reinhard Nissl
rnissl at gmx.de
Sun Apr 2 11:29:19 CEST 2006
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 at gmx.de
More information about the vdr
mailing list