On Wednesday 07 February 2007 18:41, Marko Mäkelä wrote:
> On Fri, Feb 02, 2007 at 10:26:33PM +0200, Marko Mäkelä wrote:
> > I fixed the long-standing bug with the suspend function of softdevice.
> > If softdevice is suspended when playing back a recording, the recording
> > will fast-forward to the end.  This patch modifies softdevice so that
> > it will block the data stream from vdr when playing back recordings.
> > 
> > This fix is now also included in my softdevice patch for Udo Richter's
> > shutdown rewrite:
> > 
> > http://www.iki.fi/~msmakela/software/vdr/#shutdown
> > http://www.iki.fi/~msmakela/software/vdr/shutdown-softdevice.patch
> > 
> > The attached patch is simpler, as it only fixes this bug.  Please apply it.
> 
> Sorry, the patch causes 100% CPU load when softdevice is suspended.  Adding
> a usleep(10000) drops the load to less than 1% on my system.  I first tried
> usleep(100000), but it caused vdr to hang for a long time.  I updated the
> patch on my home page.  Below are the hunks that fix this bug only.

Transferring() was introduced in vdr-1.3.42. So this needs an extra #if
# if VDRVERSNUM >= 10342

Looking at the implementation of Transferring() in device.c I'm just
wondering of the difference compared to Replaying() 
!Transferring() == true -> no player (player == NULL) or
player is not derived from cTransfer.

device.c around line 948:

bool cDevice::Replaying(void) const
{
  return player != NULL;
}

bool cDevice::Transferring(void) const
{
  return dynamic_cast<cTransfer *>(player) != NULL;
}



-- 
Stefan Lucke
_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel

Reply via email to