From 8215b78a43975e72a52cd3d0d84f6f6c33b56c54 Mon Sep 17 00:00:00 2001 From: Denny Date: Sun, 29 Jan 2017 09:07:48 -0500 Subject: [PATCH] Resolves #161 - E4000 tuner error. Tweaks settings in the USB transfer processor to improve latency in IQ buffer handling. --- src/source/tuner/rtl/RTL2832TunerController.java | 9 ++------- src/source/tuner/rtl/e4k/E4KTunerController.java | 5 +++++ src/source/tuner/usb/USBTransferProcessor.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/source/tuner/rtl/RTL2832TunerController.java b/src/source/tuner/rtl/RTL2832TunerController.java index 468b308a..7666890b 100644 --- a/src/source/tuner/rtl/RTL2832TunerController.java +++ b/src/source/tuner/rtl/RTL2832TunerController.java @@ -78,14 +78,9 @@ public abstract class RTL2832TunerController extends TunerController private SampleRate mSampleRate = DEFAULT_SAMPLE_RATE; - private ByteSampleAdapter mSampleAdapter = new ByteSampleAdapter(); - - private Broadcaster mComplexBufferBroadcaster = new Broadcaster<>(); - + protected ByteSampleAdapter mSampleAdapter = new ByteSampleAdapter(); protected int mOscillatorFrequency = 28800000; //28.8 MHz - - private USBTransferProcessor mUSBTransferProcessor; - + protected USBTransferProcessor mUSBTransferProcessor; protected Descriptor mDescriptor; /** diff --git a/src/source/tuner/rtl/e4k/E4KTunerController.java b/src/source/tuner/rtl/e4k/E4KTunerController.java index a04e1a42..5c53621f 100644 --- a/src/source/tuner/rtl/e4k/E4KTunerController.java +++ b/src/source/tuner/rtl/e4k/E4KTunerController.java @@ -249,6 +249,11 @@ public class E4KTunerController extends RTL2832TunerController throw new SourceException("E4K Tuner Controller - error during " + "init()", e); } + + String deviceName = getTunerType().getLabel() + " " + getUniqueID(); + + mUSBTransferProcessor = new RTL2832USBTransferProcessor(deviceName, mDeviceHandle, mSampleAdapter, + USB_TRANSFER_BUFFER_SIZE); } /** diff --git a/src/source/tuner/usb/USBTransferProcessor.java b/src/source/tuner/usb/USBTransferProcessor.java index 69c43582..902345ce 100644 --- a/src/source/tuner/usb/USBTransferProcessor.java +++ b/src/source/tuner/usb/USBTransferProcessor.java @@ -173,7 +173,7 @@ public class USBTransferProcessor implements TransferCallback //Start transferred buffer dispatcher mBufferDispatcherFuture = ThreadPool.SCHEDULED.scheduleAtFixedRate(mBufferDispatcher, - 20, 20, TimeUnit.MILLISECONDS); + 0, 11, TimeUnit.MILLISECONDS); //Register with LibUSB processor so that it auto-starts LibUSB processing TunerManager.LIBUSB_TRANSFER_PROCESSOR.registerTransferProcessor(this);