[mythtv] Seeking after a "Couldn't read data from card" error

Torbjörn Jansson torbjorn.jansson at mbox200.swipnet.se
Mon May 30 21:17:53 UTC 2005

I've been debugging a some problems i have with the windows filters.
The problem is that some reads requests seems to get stuck.

Here is an example:
Lets say i start playback of livetv.
Backend starts recording.

Now i try to connect a spliter filter (windows filer) that tries to read at
a non existan file offset (filters sometimes need to read different parts of
the file while connecting).

I know this filter will not be able to connect, but it shoud atleast not
cause lockups.

First a SEEK command is sent to the backend, it returns with the same file
position i sent.

A few read requests is sent that eventualy times out and backend says:
"Couldn't read from the capture card in 15 seconds. Stopping"

The following reads fail and properly return zero from REQUEST_BLOCK

If, at this point a new SEEK command is sent to another position, all the
following REQUEST_BLOCK commands blocks indefinitely waiting for a reply
from the backend.

Any ideas on how to solve this?
I coud send a GET_FILE_POSITION for every read, but that woud spam the
backend with lots of extra commands.
Or if the SEEK command returned something different from what i sent when
seeking to a position that don't exist.

Or maybe the proper fix woud be to figure out why REQUEST_BLOCK gets stuck
after a read have timed out.

Maybe i'm using the protocol in a way that i'm not supposed to?

More information about the mythtv-dev mailing list