Opened 13 years ago

Closed 13 years ago

#49 closed enhancement (fixed)

Support stream role based case handling

Reported by: ph3-der-loewe Owned by: ph3-der-loewe
Priority: medium Milestone: RoarAudio major release 0.4
Component: roard Version: 0.4beta6
Keywords: role, rolestack Cc: shogsbro, ph3-der-loewe
Architecture: Compiler:
Difficulty: Kernel:
Operating System: Parent Tickets:
Patch attached: no Protocol:
Sound driver: Topic: New feature

Description

roard should support stream role based handling of different cases based on some kind of lists.

For example to mute or pause streams of role BACKGROUND_MUSIC when a stream with MUSIC is connected.

Subtickets

Change History (3)

comment:1 Changed 13 years ago by ph3-der-loewe

  • Cc shogsbro ph3-der-loewe added
  • Keywords rolestack added

The current idea is to have a so called RoleStack?:
It's a stack of roles and actions like this:

Role Action
phone pause
music kick
background_music mix

if a stream of a role A connects all streams with a role below the current one will be subject to the action listed for role A.

In the above example this means if a stream of role music connects all streams of role background_music get kicked. If a stream of role phone is connected all streams of role music and background_music are paused.

The following basic actions should be defined:

mix
The default. Means all streams just get mixed as you expect.
kick
All streams below the current role in stack get kicked.
mute
All streams below the current role in stack get muted.
pause
All streams below the current role in stack get paused.

Other actions like crossfade can be introduced later.

This does not require anything on-wire (protocol change) as it is clearly only implementation domain.

comment:2 Changed 13 years ago by ph3-der-loewe

  • Status changed from new to assigned

if a stream connects of role B with B lower in the stack than the current one (A) it is also subject to current's (A's) action.

comment:3 Changed 13 years ago by ph3-der-loewe

  • Resolution set to fixed
  • Status changed from assigned to closed
  • Version changed from current to 0.4beta6

Was a very bad one. hope it is fixed now.

Note: See TracTickets for help on using tickets.