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.
Marko
Index: softdevice.c
===================================================================
RCS file: /cvsroot/softdevice/softdevice/softdevice.c,v
retrieving revision 1.77
diff -p -u -r1.77 softdevice.c
--- softdevice.c 28 Jan 2007 19:38:06 -0000 1.77
+++ softdevice.c 2 Feb 2007 20:02:27 -0000
@@ -525,7 +525,7 @@ int cSoftDevice::PlayAudio(const uchar *
# endif
{
SOFTDEB("PlayAudio... %p length %d\n",Data,Length);
- if (! packetMode)
+ if (!packetMode && (!setupStore.shouldSuspend || Transferring()))
return decoder->Decode(Data, Length);
if (Length==-1) {
@@ -580,7 +580,7 @@ int cSoftDevice::GetAudioChannelDevice(
int cSoftDevice::PlayVideo(const uchar *Data, int Length)
{
SOFTDEB("PlayVideo %x length %d\n",Data,Length);
- if (! packetMode)
+ if (!packetMode && (!setupStore.shouldSuspend || Transferring()))
return decoder->Decode(Data, Length);
if (Length==-1) {
_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel