NextPVR Forums

Full Version: new async device stop didn't help
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Sub I know you're away, but I wanted to post this now before I lose the evidence. I got the same problem again where the recording service gets stuck trying to stop a recording.

For some reason it almost always seems to happen on Thursday, though at different times and on different channels; I think it does this because it knows that my wife's shows record on Thursday evening, and it gets some sort of sick satisfaction by getting me in trouble that way. Once I discover it has skipped recording all the shows Thursday night, I can swear I hear a faint giggle in the fan noise :mad: :mad: :mad:

Log attached, but the pertinent bit at the end is:
Code:
2010-10-21 10:30:00.080    [DEBUG][7]    Stopping recording (22132). Past end time of recording.
2010-10-21 10:30:00.080    [INFO][7]    DigitalRecorder.StopStream() handle: 7B
2010-10-21 10:30:00.080    [INFO][7]    No more streams active. Stopping device.
2010-10-21 10:30:00.080    [DEBUG][7]    About to request async graph stop
2010-10-21 10:30:00.080    [DEBUG][6]    Graph stopping... (async)
2010-10-21 10:30:08.080    [DEBUG][7]    Async stop taking way too long
2010-10-21 10:30:08.080    [DEBUG][7]    Removing filter  MPEG-2 Sections and Tables
2010-10-21 10:30:08.080    [DEBUG][7]    Removing filter  BDA MPEG2 Transport Information Filter
2010-10-21 10:30:08.080    [DEBUG][7]    Removing filter  MPEG-2 Demultiplexer
and that's all she wrote...
Bump it when I get back and I'll take another look. I can see some unexpected messages in there that still on the main thread, not the async thread.

Ignoring this specific bug to the change though, the whole async stop thing may not help at all though. ie, the recording might stay responsive, but you might find future attempts to use the device fail with some error. We'll have to wait and see though.
Once it gets this way though simply restarting the recording service is enough to make everything work fine again. So something in the graph may be stuck, but it goes away cleanly when NRecord does. So the trick is presuambly to find a way to make whatever bit of NRecord the graph is 'stuck to' go away, without having to make all of NRecord go away.