On Wed Jul 26 17:26:57 2023 +0000, Santino Mazza wrote:
Oh I just saw that we have `PRESENTER_MIXER_HAS_INPUT` flag and is set when it receives the `MFVP_MESSAGE_PROCESSINPUTNOTIFY` message, but when the streaming thread receives the `EVRM_PROCESS_INPUT` message it doesn't set that flag, shouldn't we set that flag and check for it before waiting for the thread?
I had to learn what's going on in there once again. I think what we need to do is basically stop using 'presenter->cs' in the streaming thread entirely, MFVP_MESSAGE_ENDSTREAMING handling will remain unchanged.
This means two things:
- queue itself should be protected with its own lock; - video_presenter_process_input() should not be called in the streaming thread all. Instead it could be called right in video_presenter_allocator_cb_NotifyRelease(), with appropriate locking.