On Mon, Sep 18, 2006 at 09:12:04PM +0200, Martin Wache wrote:
> The log you posted indicates that there as been bad signal during some
> time. Maybe this has something to do with you problem?
It might have something to do with my patch suspending the MPEG stream in
cDevice::Action():
@@ -1201,8 +1203,16 @@ void cDevice::Action(void)
int Pid = (((uint16_t)b[1] & PID_MASK_HI) << 8) | b[2];
// Distribute the packet to all attached receivers:
Lock();
+ int isSuspended = Setup.Suspend;
+ if (!wasSuspended && isSuspended) {
+ PrimaryDevice()->Clear();
+ }
+ wasSuspended = isSuspended;
for (int i = 0; i < MAXRECEIVERS; i++) {
- if (receiver[i] && receiver[i]->WantsPid(Pid))
+ if (!receiver[i]);
+ else if (isSuspended &&
+ !dynamic_cast<cRecorder *>(receiver[i]));
+ else if (receiver[i]->WantsPid(Pid))
receiver[i]->Receive(b, TS_SIZE);
}
Unlock();
I think it is up to what PrimaryDevice()->Clear() does. The stream will
be suspended or resumed at packet boundary. Doing it at GOP boundary
would probably be nicer. I have seen some garbled video for one or
two seconds after resuming live playback.
> Did this happen just one time or does it happen more often?
The hang may have happened once or twice before. I cannot remember when
the last time was.
Marko
_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel