kopia lustrzana https://github.com/sh123/codec2_talkie
Update codec2 related interfaces
rodzic
4d56b32c55
commit
2f949aa501
|
@ -97,7 +97,7 @@ public class AppWorker extends Thread {
|
|||
_stationItemRepository = new StationItemRepository((Application)context);
|
||||
|
||||
_transport = TransportFactory.create(transportType, context);
|
||||
_protocol = ProtocolFactory.create(_codec2Mode, context);
|
||||
_protocol = ProtocolFactory.create(context);
|
||||
|
||||
_processPeriodicTimer = new Timer();
|
||||
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
package com.radio.codec2talkie.protocol;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
import com.radio.codec2talkie.R;
|
||||
import com.radio.codec2talkie.protocol.message.TextMessage;
|
||||
import com.radio.codec2talkie.protocol.position.Position;
|
||||
import com.radio.codec2talkie.settings.PreferenceKeys;
|
||||
import com.radio.codec2talkie.tools.AudioTools;
|
||||
import com.radio.codec2talkie.transport.Transport;
|
||||
import com.ustadmobile.codec2.Codec2;
|
||||
|
||||
|
@ -19,18 +23,23 @@ public class AudioCodec2 implements Protocol {
|
|||
private char[] _recordAudioEncodedBuffer;
|
||||
private short[] _playbackAudioBuffer;
|
||||
|
||||
private final SharedPreferences _sharedPreferences;
|
||||
private ProtocolCallback _parentProtocolCallback;
|
||||
|
||||
public AudioCodec2(Protocol childProtocol, int codec2ModeId) {
|
||||
public AudioCodec2(Protocol childProtocol, SharedPreferences sharedPreferences) {
|
||||
_childProtocol = childProtocol;
|
||||
_codec2Con = 0;
|
||||
constructCodec2(codec2ModeId);
|
||||
_sharedPreferences = sharedPreferences;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize(Transport transport, Context context, ProtocolCallback protocolCallback) throws IOException {
|
||||
_parentProtocolCallback = protocolCallback;
|
||||
_childProtocol.initialize(transport, context, _protocolCallback);
|
||||
|
||||
String codec2ModeName = _sharedPreferences.getString(PreferenceKeys.CODEC2_MODE, context.getResources().getStringArray(R.array.codec2_modes)[0]);
|
||||
int codec2ModeId = AudioTools.extractCodec2ModeId(codec2ModeName);
|
||||
constructCodec2(codec2ModeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,9 +6,11 @@ import android.util.Log;
|
|||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.radio.codec2talkie.R;
|
||||
import com.radio.codec2talkie.protocol.message.TextMessage;
|
||||
import com.radio.codec2talkie.protocol.position.Position;
|
||||
import com.radio.codec2talkie.settings.PreferenceKeys;
|
||||
import com.radio.codec2talkie.tools.AudioTools;
|
||||
import com.radio.codec2talkie.transport.Transport;
|
||||
import com.ustadmobile.codec2.Codec2;
|
||||
|
||||
|
@ -25,19 +27,18 @@ public class AudioFrameAggregator implements Protocol {
|
|||
private int _outputBufferPos;
|
||||
private byte[] _outputBuffer;
|
||||
|
||||
private final int _codec2FrameSize;
|
||||
private final int _codec2ModeId;
|
||||
private int _codec2FrameSize;
|
||||
|
||||
private String _lastSrc;
|
||||
private String _lastDst;
|
||||
private int _lastCodec2Mode;
|
||||
|
||||
private final SharedPreferences _sharedPreferences;
|
||||
private ProtocolCallback _parentProtocolCallback;
|
||||
|
||||
public AudioFrameAggregator(Protocol childProtocol, int codec2ModeId) {
|
||||
public AudioFrameAggregator(Protocol childProtocol, SharedPreferences sharedPreferences) {
|
||||
_childProtocol = childProtocol;
|
||||
_codec2ModeId = codec2ModeId;
|
||||
_codec2FrameSize = getPcmAudioBufferSize(codec2ModeId);
|
||||
_sharedPreferences = sharedPreferences;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -48,6 +49,10 @@ public class AudioFrameAggregator implements Protocol {
|
|||
_outputBuffer = new byte[_outputBufferSize];
|
||||
_outputBufferPos = 0;
|
||||
_childProtocol.initialize(transport, context, _protocolCallback);
|
||||
|
||||
String codec2ModeName = _sharedPreferences.getString(PreferenceKeys.CODEC2_MODE, context.getResources().getStringArray(R.array.codec2_modes)[0]);
|
||||
int codec2ModeId = AudioTools.extractCodec2ModeId(codec2ModeName);
|
||||
_codec2FrameSize = getPcmAudioBufferSize(codec2ModeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -59,7 +59,7 @@ public class ProtocolFactory {
|
|||
return protocolType;
|
||||
}
|
||||
|
||||
public static Protocol create(int codec2ModeId, Context context) {
|
||||
public static Protocol create(Context context) {
|
||||
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
|
@ -104,11 +104,11 @@ public class ProtocolFactory {
|
|||
}
|
||||
if (!freedvEnabled) {
|
||||
if (recordingEnabled) {
|
||||
proto = new Recorder(proto, codec2ModeId);
|
||||
proto = new Recorder(proto, sharedPreferences);
|
||||
}
|
||||
|
||||
proto = new AudioFrameAggregator(proto, codec2ModeId);
|
||||
proto = new AudioCodec2(proto, codec2ModeId);
|
||||
proto = new AudioFrameAggregator(proto, sharedPreferences);
|
||||
proto = new AudioCodec2(proto, sharedPreferences);
|
||||
}
|
||||
|
||||
if (aprsEnabled) {
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
package com.radio.codec2talkie.protocol;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.radio.codec2talkie.MainActivity;
|
||||
import com.radio.codec2talkie.R;
|
||||
import com.radio.codec2talkie.protocol.message.TextMessage;
|
||||
import com.radio.codec2talkie.protocol.position.Position;
|
||||
import com.radio.codec2talkie.settings.PreferenceKeys;
|
||||
import com.radio.codec2talkie.tools.AudioTools;
|
||||
import com.radio.codec2talkie.tools.StorageTools;
|
||||
import com.radio.codec2talkie.transport.Transport;
|
||||
|
||||
|
@ -31,16 +35,17 @@ public class Recorder implements Protocol {
|
|||
private Timer _fileRotationTimer;
|
||||
|
||||
final Protocol _childProtocol;
|
||||
final int _codec2ModeId;
|
||||
int _codec2ModeId;
|
||||
|
||||
private String _prevSrcCallsign;
|
||||
private String _prevDstCallsign;
|
||||
|
||||
private final SharedPreferences _sharedPreferences;
|
||||
private ProtocolCallback _parentProtocolCallback;
|
||||
|
||||
public Recorder(Protocol childProtocol, int codec2ModeId) {
|
||||
public Recorder(Protocol childProtocol, SharedPreferences sharedPreferences) {
|
||||
_childProtocol = childProtocol;
|
||||
_codec2ModeId = codec2ModeId;
|
||||
_sharedPreferences = sharedPreferences;
|
||||
|
||||
_prevSrcCallsign = null;
|
||||
_prevDstCallsign = null;
|
||||
|
@ -51,6 +56,9 @@ public class Recorder implements Protocol {
|
|||
_parentProtocolCallback = protocolCallback;
|
||||
_storage = StorageTools.getStorage(context);
|
||||
_childProtocol.initialize(transport, context, _protocolCallback);
|
||||
|
||||
String codec2ModeName = _sharedPreferences.getString(PreferenceKeys.CODEC2_MODE, context.getResources().getStringArray(R.array.codec2_modes)[0]);
|
||||
_codec2ModeId = AudioTools.extractCodec2ModeId(codec2ModeName);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Ładowanie…
Reference in New Issue