#39 WIP - rolls back embedding source events in buffers. The channel

calculator must be updated immediately any time the tuner's center
frequency changes so that a channel can be allocated immediately.  So,
I changed source event handling to two parts where the channel calculator
is immediately updated and the channelizer configuration is deferred so
that it can happen on the buffer processor execution thread and we can
avoid any sync() locking on the channelizer or polyphase channel
sources.
This commit is contained in:
Denny
2018-01-13 11:43:26 -05:00
parent 05fa5c25fd
commit d4761be00a
9 changed files with 80 additions and 320 deletions

View File

@@ -46,6 +46,7 @@ public class TunerSourceManager extends AbstractSourceManager
mPolyphaseChannelManager = new PolyphaseChannelManager(tunerController);
//Register to receive channel count change notifications for rebroadcasting
mPolyphaseChannelManager.addSourceEventListener(this::process);
mTunerController.addListener(mPolyphaseChannelManager);
}
/**
@@ -427,7 +428,7 @@ public class TunerSourceManager extends AbstractSourceManager
broadcast(sourceEvent);
break;
default:
mLog.info("Received an unrecognized source event: " + sourceEvent);
mLog.info("Unrecognized source event: " + sourceEvent);
break;
}
}