[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