mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
#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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user