-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
What version of Janus is this happening on?
1.3.2 a44ebb6
Have you tested a more recent version of Janus too?
No, exists in most recent version
Was this working before?
No
Is there a gdb or libasan trace of the issue?
Not that kind of bug
Additional context
If you set mjrs = true in room definition, or use enable_mjrs to turn on individual mjr recordings, it sets audiobridge->mjrs = true. However if you suspend an individual (with stop_record = true), and then resume them via resume api, it doesn't check this flag, it only resumes recording if you specifically tell it in that api call. Not really a bug since documentation is accurate, it makes clear resume record is false by default.
I think it should default to the global state of the room instead. I believe all that is involved is modifying resume check to look at audiobridge->mjrs too, e.g., if(audiobridge->mjrs || record && json_is_true(record)), and then update documentation to say default is to room mjrs state. This could've been purposeful decision, but in cursory look didn't find any discussions on this.
For my scenario, room management happens in a separate service, and suspend/resume happens per client. They are decoupled in sharing recording state. I can pass that info to clients to make sure they are in sync when using suspend/resume, but its cleaner if only one service needs to know about it.