(Mar 10 2014 05:37), Clemens Ladisch wrote:
In practice, this error means that a packet was dropped. I guess this doesn't actually happen too often, but eventually, we should handle this either by inserting some samples or by stopping the stream.
For inserting some samples, I realize that there are some difficulties: - In non-blocking mode, assuming the number of PCM samples in dropped packets is difficult because specification just define '0 <= N <= SYT_INTERVAL' (N = the number of events in packet). Each device can have different sequence of N in packets. - In blocking mode, assuming the value of syt in dropped packets is difficult because it's related to timing.
So I give up to think about recovering from dropped packets and make firewire-lib stops streaming when detecting this state.
But this is not better for BeBoB based devices as I mentioned in previous message. So I'll add some flags and codes for BeBoB.
Regards
Takashi Sakamoto o-takashi@sakamocchi.jp