Opened 9 years ago

Closed 9 years ago

#25 closed defect (fixed)

Implement SINGLE_SINK Flag

Reported by: ph3-der-loewe Owned by: ph3-der-loewe
Priority: medium Milestone:
Component: RoarAudio Main Package Version: 0.4beta1
Keywords: DRM Cc:
Architecture: Compiler:
Difficulty: Kernel:
Operating System: Parent Tickets:
Patch attached: no Protocol:
Sound driver: Topic: New feature

Description

The single_sink flag allows any stream connected to the mixer to tell the mixer they require the mixer to only output to a single sink. This disables TRHU and MONITOR streams and limits OUTPUT streams to exactly one.

This is considered weak DRM.

Subtickets

Change History (3)

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

  • Owner set to ph3-der-loewe
  • Status changed from new to assigned

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

This bug is now nearly fully fixed (as of trunk, current).

libroar and roarctl has full support for it.

roard has full support with a bug:
if you set the flag on a input stream and then try to reset it on the mixer stream internal lists become out of sync. I will change this later today.

other tools will not get a option for this.

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

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

The bug as been fixed in the following way:

If set on a non-mixer stream the flag is also set on the mixer and a counter is incremented. If The flag is already set on the stream the the counter is not incremented. The operation becomes a no-op.
On reset the counter is decremented in addition to reset the flag on the stream.

If the counter become zero the flag on the mixer is reset.

If the flag is set on a mixer stream the counter is incremented. This happens in 'stacked mode', meaning you can increment this counter any number of times by setting the flag. On reset the counter is decremented.

Note: See TracTickets for help on using tickets.