mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-11 16:17:24 -05:00
135 WIP - updates to resolve issue with all audio being recorded, even when user has not elected to record the audio.
This commit is contained in:
@@ -55,7 +55,8 @@ public class Metadata
|
||||
|
||||
//Lazily constructed member variables.
|
||||
private Integer mAudioPriority;
|
||||
protected Boolean mRecordable;
|
||||
protected Boolean mRecordable = false;
|
||||
protected Boolean mDoNotRecord;
|
||||
private List<BroadcastChannel> mBroadcastChannels;
|
||||
|
||||
|
||||
@@ -141,12 +142,12 @@ public class Metadata
|
||||
*/
|
||||
public boolean isRecordable()
|
||||
{
|
||||
if(mRecordable == null)
|
||||
if(mDoNotRecord == null)
|
||||
{
|
||||
determineRecordable();
|
||||
}
|
||||
|
||||
return mRecordable;
|
||||
return mRecordable & !mDoNotRecord;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -545,29 +546,29 @@ public class Metadata
|
||||
*/
|
||||
private void determineRecordable()
|
||||
{
|
||||
mRecordable = true;
|
||||
mDoNotRecord = false;
|
||||
|
||||
if(mPrimaryAddressTo.hasAlias() && !mPrimaryAddressTo.getAlias().isRecordable())
|
||||
{
|
||||
mRecordable = false;
|
||||
mDoNotRecord = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if(mPrimaryAddressFrom.hasAlias() && !mPrimaryAddressFrom.getAlias().isRecordable())
|
||||
{
|
||||
mRecordable = false;
|
||||
mDoNotRecord = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if(mSecondaryAddressTo.hasAlias() && !mSecondaryAddressTo.getAlias().isRecordable())
|
||||
{
|
||||
mRecordable = false;
|
||||
mDoNotRecord = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if(mSecondaryAddressFrom.hasAlias() && !mSecondaryAddressFrom.getAlias().isRecordable())
|
||||
{
|
||||
mRecordable = false;
|
||||
mDoNotRecord = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,6 +163,8 @@ public class MutableMetadata extends Metadata implements Listener<AttributeChang
|
||||
*/
|
||||
public void resetTemporalAttributes()
|
||||
{
|
||||
mDoNotRecord = null;
|
||||
|
||||
if(hasMessage())
|
||||
{
|
||||
mMessage = null;
|
||||
|
||||
@@ -217,15 +217,11 @@ public class ChannelProcessingManager implements ChannelEventListener
|
||||
MessageActivityModel messageModel = new MessageActivityModel(messageFilter);
|
||||
processingChain.setMessageActivityModel(messageModel);
|
||||
|
||||
//Set the recordable flag to false in metadata if we don't have a record configuration, or if the user
|
||||
//has not specified audio recording. Note: the metadata class sets recordable to true by default if no
|
||||
//setting has been specified. This flag is subsequently turned off if any of the primary or secondary
|
||||
//identifiers are designated as non-recordable.
|
||||
if(channel.getRecordConfiguration() == null ||
|
||||
!channel.getRecordConfiguration().getRecorders().contains(RecorderType.AUDIO))
|
||||
{
|
||||
processingChain.getChannelState().getMutableMetadata().setRecordable(false);
|
||||
}
|
||||
//Set the recordable flag to true if the user has requested recording. The metadata class can still
|
||||
//override recordability if any of the aliased values has 'Do Not Record' alias identifier.
|
||||
processingChain.getChannelState().getMutableMetadata()
|
||||
.setRecordable(channel.getRecordConfiguration() != null &&
|
||||
channel.getRecordConfiguration().getRecorders().contains(RecorderType.AUDIO));
|
||||
|
||||
//Inject channel metadata that will be inserted into audio packets for recorder manager and streaming
|
||||
processingChain.getChannelState().getMutableMetadata().receive(
|
||||
|
||||
@@ -72,8 +72,11 @@ public class DemodulatedAudioFilterModule extends Module implements IUnFilteredR
|
||||
mBandPassFilter.dispose();
|
||||
mBandPassFilter = null;
|
||||
|
||||
mDCFilter.dispose();
|
||||
mDCFilter = null;
|
||||
if(mDCFilter != null)
|
||||
{
|
||||
mDCFilter.dispose();
|
||||
mDCFilter = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user