-
fef7eb6a
by Brendan McGrath at 2026-02-08T21:25:27+01:00
mf: Make flushing on sample grabber largely a no-op.
Testing on Windows seems to show a Flush on the sample grabber doesn't
actually flush.
-
febfda64
by Brendan McGrath at 2026-02-08T21:25:30+01:00
mf: Keep count of samples queued.
-
6905555f
by Brendan McGrath at 2026-02-08T21:25:30+01:00
mf: Always queue a sample unless stopped.
-
7488a4b8
by Brendan McGrath at 2026-02-08T21:25:30+01:00
mf: Ensure we always have four requests outstanding/satisfied.
The total of:
1. unsatisfied sample requests made to MF; plus
2. samples queued (i.e. satisfied requests)
should always equal 4. Thus, for example, if we flush 3 samples, we need
to request 3 more.
The stop state appears to flush all samples from sample grabber and
all requests outstanding with MF. Hence, starting playback from the stop
state always makes four new sample requests.
Pause and resume always makes four new sample requests, but will also not
flush the queue. This appears to be a Windows bug, as looping pause and
resume can therefore result in samples being queued until we are OOM.
-
314dffea
by Brendan McGrath at 2026-02-08T21:25:32+01:00
mf: Remove no longer used sample_count and samples array.
All samples are now queued in the 'items' list.
-
26109063
by Brendan McGrath at 2026-02-08T21:25:34+01:00
mf: Request new sample before processing markers.
This switches the order of the RequestSample and Marker events to match
the order on Windows.