2023-11-13 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in caed(8) that could cause play-outs from different
	hosts to cross-talk into each other's outputs when using a shared
	caed(8) instance.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2023-11-13 14:51:09 -05:00
parent 8d9e5e8005
commit fb8228914f
9 changed files with 72 additions and 11 deletions

View File

@@ -41,6 +41,7 @@
#include <rdconf.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rd.h>
#include <rdsocket.h>
#include <rdsvc.h>
#include <rdsystem.h>
@@ -364,6 +365,14 @@ void MainObject::loadPlaybackData(int id,unsigned card,const QString &name)
play_handle[handle].stream=new_stream;
play_handle[handle].owner=id;
play_owner[card][new_stream]=id;
//
// Mute all volume controls for the stream
//
for(int i=0;i<dvr->outputPortQuantity(card);i++) {
dvr->setOutputVolume(card,new_stream,i,RD_MUTE_DEPTH);
}
rda->syslog(LOG_INFO,
"LoadPlayback Card: %d Stream: %d Name: %s Handle: %d",
card,new_stream,(const char *)wavename.toUtf8(),handle);