Closed alex-ab closed 3 weeks ago
Thanks for bringing this behavior to my attention. Your suggestion to apply the _stopped
to both branches (moving it to the compounding if
condition) is sensible. Even though the message is prefixes with the play session, it is triggered in the context of the record client's interaction with the mixer (when trying to obtain the sample data for mixing). When the condition of no more play data occurs, the depletion to reflected to the record client, which can use it to stop recording.
Does 3af3773 fix this issue?
@chelmuth: Yes.
Fix merged to master.
After temporarily calling stop(), the mixer seems still to operate the sessions and start complaining in the Sculpt log continuously:
even so the client announced, that no new data will be enqueued.
Can/should the _stopped() method check also be applied to the warning case, as done for the later_than_avail_samples case, or should the processing be stopped already earlier (saving CPU time) ?
https://github.com/genodelabs/genode/blob/master/repos/os/src/server/record_play_mixer/play_session.h#L327