[vdr] Problem with LiveBuffer and vdr-xine

Jose Alberto Reguero jareguero at telefonica.net
Sat Apr 1 23:45:05 CEST 2006


El Sábado, 1 de Abril de 2006 21:49, Reinhard Nissl escribió:
> 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.

It only work for me switching channels with setup option 
Frameswait(LiveBuffer )= 8

From the README.LiveBuffer
Frameswait:                       The number of frames, which have to be
                                  received, until the replay of the livebuffer
                                  starts
Jose Alberto

>
> 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.



More information about the vdr mailing list