Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: vdr-1.3.18 and dxr3 pause mode fixed - why vdr calls PlayVideo like mad in pause? [was Re: vdr 1.3.18 cCondWait::SleepMs]
On Monday 17 Jan 2005 00:25, Luca Olivetti wrote:
{snippage}
> I think I fixed it: in dxr3device.c, PlayVideo should return -1 instead
> of 0 in freeze mode, i.e. instead of
>
> if ((m_DemuxDevice.GetDemuxMode() == DXR3_DEMUX_TRICK_MODE &&
> m_DemuxDevice.GetTrickState() == DXR3_FREEZE) ||
> cDxr3Interface::Instance().IsExternalReleased())
> {
> // Why is here so a huge time waster?
> //usleep(1000000);
> return 0;
> }
>
> it should be
>
>
> if ((m_DemuxDevice.GetDemuxMode() == DXR3_DEMUX_TRICK_MODE &&
> m_DemuxDevice.GetTrickState() == DXR3_FREEZE) ||
> cDxr3Interface::Instance().IsExternalReleased())
> {
> // Why is here so a huge time waster?
> //usleep(1000000);
> return -1;
> }
>
>
> Since this method in dxr3device.c hasn't changed there's probably
> something different in vdr that triggered this race condition (the
> LOCK_THREAD in cDvbPlayer::Play would fail with the return 0 in
> vdr-1.3.18). I don't know if PlayAudio should return also -1 under the same
> condition. What I really don't understand is why vdr is calling PlayVideo
> like mad in pause mode (and expecting a -1 as a result), anyway now it
> works.
Works a treat!
Cheers,
Laz
Home |
Main Index |
Thread Index