[PATCH 1/2] winegstreamer: Implement pausing the media source.
Giovanni Mascellani
gmascellani at codeweavers.com
Fri Jun 11 05:22:08 CDT 2021
Hi,
Il 11/06/21 07:55, Nikolay Sivov ha scritto:
> Counter sounds certainly easier. How are you going to check that on
> Windows? By looking at stream data access? Event if it does read when
> paused, I don't know if we care, because that shouldn't happen in
> session context, and in source reader context source is never paused.
No, I am not looking at the stream access. I don't think it is really
meaningful to do it, it can depends on a lot of implementation details,
including local caching, and I don't want to unravel that.
What I noticed is the following observable behavior on Windows: if you
request samples while the stream is paused and then restart without
seeking, then you immediately receive a corresponding number of samples,
of course starting from the position you left your stream at. I don't
know whether they have been processed while the stream was paused or
just after it was restarted, but it shouldn't matter much, because I
need to replicate the behavior of the media source, not its internal status.
When I pause the media source, request samples and then restart with a
seek, then the sample requests I had done while paused are dropped.
In order to implement this behavior, it is enough to queue sample
requests while paused, together with their tokens. After yesterday's
discussion, this seems more sensible than queuing samples, because it
saves on CPU time and memory.
I will submit an updated version of my patch soon.
Giovanni.
More information about the wine-devel
mailing list