Skip to content

[1.x] Audiobridge global mjr flag ignored for resume mechanic #3582

@ettubrute47

Description

@ettubrute47

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions