Create a “monitor”. That should not be too difficult to achieve without making changes to the actual Licode code.
I have not done this with Licode, but I have done it in other cases.
- Create a separate process or a timed check in Node. (Each Node is a single process, but you may emulate threads)
- Inform that process (or check) that you have started recording.
- Check if an actual file has been created within a certain time.
- Check if the file grows when you are recording.
- If the file has not been created, then you have got a failure.
- If the file is not growing, then you have just created it, but no recording.
- If no file or no recording, then try to start recording again. You may inform the users of the issue or do whatever you want.
This should be fairly easy to implement and it will not require much resources.
This is not an actual fix, but a workaround. You can use Node for doing this. Or you may use some other language.