From 6f2a7e89a9b883ebf3a1d09701cb142efa2372f6 Mon Sep 17 00:00:00 2001 From: denny Date: Mon, 22 Feb 2016 20:49:20 -0500 Subject: [PATCH] Resolves issue with RTL2832 Tuner cancelling transfer buffers that haven't yet been initialized. This occurs when there is a channel allocated from the tuner that is the first/only listener and then is immediately released. Some of the buffers are in motion and the others simply haven't yet been initialized. --- src/source/tuner/rtl/RTL2832TunerController.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/source/tuner/rtl/RTL2832TunerController.java b/src/source/tuner/rtl/RTL2832TunerController.java index d419c782..cf8311f0 100644 --- a/src/source/tuner/rtl/RTL2832TunerController.java +++ b/src/source/tuner/rtl/RTL2832TunerController.java @@ -1527,7 +1527,14 @@ public abstract class RTL2832TunerController extends TunerController { for( Transfer transfer: mTransfers ) { - LibUsb.cancelTransfer( transfer ); + try + { + LibUsb.cancelTransfer( transfer ); + } + catch( IllegalStateException ise ) + { + //Do nothing, the transfer pointer wasn't initialized + } } ByteBuffer completed = ByteBuffer.allocateDirect( 4 );