I apologize, but I’m not sure I fully understand your previous statement and how it is relevant to identify the reason the stop recording event is triggered.
Maybe I should try to expose our use case:
Assuming a human user manually started a recording, do action “A” if any human user manually ended the same recording, do action “B” if the server automatically ended the recording because the maximum manual recording time was reached.
For the purpose of testing our use case, we use a very simple Xprotect setup with a camera set to always streaming, on which recording is enabled, no motion recording is enabled and maximum manual recording time is set to 1 minute.
That’s it! There are no other rules driving the recording and potentially interfering.
We trigger the test, by simply activating manual recording using a single smart client showing our single camera.
Using the StatusViewer sample we can observe the very same events sequence (identical data content as well), no matter if the user stopped the recording or if the server stopped the recording (because max recording time was reached) : “Manual Recording stopped”, “Recording Stopped” in this very same order.
The smartclient recording indicator confirms the recording was stopped.
Which user actually stops the recording is not relevant to us, we just need to be able to differentiate a recording stop from a user and a recording stop triggered by the system alone (again because max recording time was reached).
Looking through the server logs for a missing occurence of a stop recording event to detect the actual stop recording action was triggered by the system seems a bit far fetched and not really reliable.
My question, is there a way to detect the system stopped a manual recording because the maximum manual recording time was reached ?