[vdr] Problem with LiveBuffer and vdr-xine

Reinhard Nissl rnissl at gmx.de
Sat Apr 1 21:49:15 CEST 2006


Hi,

Jose Alberto Reguero wrote:

>>>>>>> Is there a way to wait until having data ready when starting xine?
>>>>>>> (vdr-xine is not in mode LiveTV with LiveBuffer). The replay is a
>>>>>>> slide show without sound. If pause and resume xine the problem is
>>>>>>> gone. Its only trouble when starting xine. Changing the channel 
>>>>>>> solves the problem with
>>>>>>> Frameswait(LiveBuffer )= 8. With Frameswait(LiveBuffer) = 0 when
>>>>>>> changing the chanel, or starting xine the replay is a slide show
>>>>>>> without sound.
 >>>>>>
>>>>>> Hhm, the buffer, which is established when switching the channel, is
>>>>>> also established when xine connects to vdr-xine. This is the output of
>>>>>> my system:
>>>>>>
>>>>>> vdr-xine: Client connecting ...
>>>>>> frame: (0, 0)-(720, 576), zoom: (1.00, 1.00)
>>>>>> vdr-xine: Client connected!
>>>>>> [avAVMM]buffered 8.7 frames (v:13.7, a:8.7)
>>>>>>
>>>>>> What's your output?
>>>>>> Does it help to increase the buffer size?
 >>>>>
>>>>> I change in SetPlayMode:
>>>>>
>>>>>       if (m_settings.LiveTV())
>>>>>       {
>>>>>
>>>>>         ::fprintf(stderr, "LiveTV\n");
>>>>>
>>>>>         softStartTrigger = sstNormal;
>>>>>       }
>>>>>       else
>>>>>       {
>>>>>         np = true;
>>>>>
>>>>>         ::fprintf(stderr, "No LiveTV\n");
>>>>>
>>>>>       }
>>>>>
>>>>> and my output is:
>>>>>
>>>>> ............
>>>>> SetAudioChannelDevice: 0
>>>>> SetVolumeDevice: 0
>>>>> status: volume=0 mute=1
>>>>> frame: (0, 0)-(-1, -1), zoom: (1,00, 1,00)
>>>>> SetAudioChannelDevice: 0
>>>>> SetPlayMode: 1
>>>>> No LiveTV
>>>>> SetDigitalAudioDevice: 0
>>>>> SetAudioChannelDevice: 0
>>>>> vdr-xine: Client connected!
>>>>> read(4) returned 0, error 0: Conseguido
>>>>> vdr-xine: Client disconnected!
>>>>>
>>>>> I increase the buffer size to the maximun and don't help.
 >>>>
>>>> Thanks, that's valuable output!
>>>>
>>>> Do you use a FF card?
>>>>
>>>> I have only budget cards and don't see this issue.
 >>>
>>> I don't have a FF card. Only DVB-T budget cards.
 >>
>> Which VDR version are you using?
>>
>> I'm using 1.3.44.
> 
> I am using vdr 1.3.45, vdr-xine 0.7.8 and LiveBuffer 0.1.7 but I have the same 
> problem with vdr 1.3.44. I also try vdr-xine with and without network.
> I find a solution putting in xineDevice.c cXineDevice::OnClientConnect
> 
> cLiveRecorderControl::GetLiveRecorder()->Resume();

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?

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list