mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-11 08:07:24 -05:00
Resolves multi-threading issue in buffer assembler where sample listener is nullified while buffer processing is still in process. (#1005)
Co-authored-by: Denny <denny@denny-desktop>
This commit is contained in:
@@ -626,7 +626,6 @@ public class DMRConfigurationEditor extends ChannelConfigurationEditor
|
||||
config = new DecodeConfigDMR();
|
||||
}
|
||||
|
||||
// config.setChannelRotationDelay(getChannelRotationDelaySpinner().getValue());
|
||||
config.setIgnoreCRCChecksums(getIgnoreCRCChecksumsButton().isSelected());
|
||||
config.setIgnoreDataCalls(getIgnoreDataCallsButton().isSelected());
|
||||
config.setTrafficChannelPoolSize(getTrafficChannelPoolSizeSpinner().getValue());
|
||||
|
||||
@@ -149,12 +149,14 @@ public class ReusableComplexBufferAssembler
|
||||
*/
|
||||
public void flush()
|
||||
{
|
||||
if(mListener != null && mBuffer.position() > 0)
|
||||
Listener<ReusableComplexBuffer> listener = mListener;
|
||||
|
||||
if(listener != null && mBuffer.position() > 0)
|
||||
{
|
||||
mBuffer.rewind();
|
||||
ReusableComplexBuffer reusableComplexBuffer = mReusableComplexBufferQueue.getBuffer(mBufferSize);
|
||||
reusableComplexBuffer.reloadFrom(mBuffer, mCurrentBufferTimestamp);
|
||||
mListener.receive(reusableComplexBuffer);
|
||||
listener.receive(reusableComplexBuffer);
|
||||
}
|
||||
|
||||
mBuffer.rewind();
|
||||
|
||||
Reference in New Issue
Block a user