Skip to content

Commit a6ce0d9

Browse files
committed
Undo previous changes as they were not allowing data to flow
1 parent c5240e2 commit a6ce0d9

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

drivers/src/main/java/info/martinmarinov/drivers/usb/rtl28xx/Rtl2832pFrontend.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,16 @@ class Rtl2832pFrontend implements DvbFrontend {
3939
private final Rtl2832Frontend rtl2832Frontend;
4040
private final Rtl28xxDvbDevice rtl28xxDvbDevice;
4141
private final DvbFrontend slave;
42+
private final boolean forceSlave;
4243
private DvbCapabilities rtl2832Capabilities;
4344

4445
private boolean slaveEnabled;
4546

46-
Rtl2832pFrontend(Rtl2832Frontend rtl2832Frontend, Rtl28xxDvbDevice rtl28xxDvbDevice, DvbFrontend slave) throws DvbException {
47+
Rtl2832pFrontend(Rtl2832Frontend rtl2832Frontend, Rtl28xxDvbDevice rtl28xxDvbDevice, DvbFrontend slave, boolean forceSlave) throws DvbException {
4748
this.rtl2832Frontend = rtl2832Frontend;
4849
this.rtl28xxDvbDevice = rtl28xxDvbDevice;
4950
this.slave = slave;
51+
this.forceSlave = forceSlave;
5052
}
5153

5254
@Override
@@ -78,7 +80,7 @@ public synchronized void init(DvbTuner tuner) throws DvbException {
7880
@Override
7981
public synchronized void setParams(long frequency, long bandwidthHz, @NonNull DeliverySystem deliverySystem) throws DvbException {
8082
enableSlave(false);
81-
if (!rtl2832Capabilities.getSupportedDeliverySystems().contains(deliverySystem)) {
83+
if (forceSlave || !rtl2832Capabilities.getSupportedDeliverySystems().contains(deliverySystem)) {
8284
enableSlave(true);
8385
}
8486
activeFrontend().setParams(frequency, bandwidthHz, deliverySystem);

drivers/src/main/java/info/martinmarinov/drivers/usb/rtl28xx/Rtl28xxSlaveType.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,22 @@ enum Rtl28xxSlaveType {
3434

3535
Rtl2832Frontend master = new Rtl2832Frontend(tuner, i2CAdapter, resources);
3636
Mn88472 slave = new Mn88472(i2CAdapter, resources);
37-
return new Rtl2832pFrontend(master, rtl28xxDvbDevice, slave);
37+
return new Rtl2832pFrontend(master, rtl28xxDvbDevice, slave, false);
3838
}),
3939
SLAVE_DEMOD_MN88473((rtl28xxDvbDevice, tuner, i2CAdapter, resources) -> {
4040
if (tuner != Rtl28xxTunerType.RTL2832_R828D)
4141
throw new DvbException(DvbException.ErrorCode.BAD_API_USAGE, resources.getString(R.string.unsupported_slave_on_tuner));
4242

4343
Rtl2832Frontend master = new Rtl2832Frontend(tuner, i2CAdapter, resources);
4444
Mn88473 slave = new Mn88473(i2CAdapter, resources);
45-
return new Rtl2832pFrontend(master, rtl28xxDvbDevice, slave);
45+
return new Rtl2832pFrontend(master, rtl28xxDvbDevice, slave, false);
4646
}),
4747
SLAVE_DEMOD_CXD2837ER((rtl28xxDvbDevice, tuner, i2CAdapter, resources) -> {
4848
if (tuner != Rtl28xxTunerType.RTL2832_R828D)
4949
throw new DvbException(DvbException.ErrorCode.BAD_API_USAGE, resources.getString(R.string.unsupported_slave_on_tuner));
5050

51-
return new Cxd2841er(
51+
Rtl2832Frontend master = new Rtl2832Frontend(tuner, i2CAdapter, resources);
52+
Cxd2841er slave = new Cxd2841er(
5253
i2CAdapter,
5354
resources,
5455
Cxd2841er.Xtal.SONY_XTAL_20500,
@@ -57,6 +58,7 @@ enum Rtl28xxSlaveType {
5758
true,
5859
true,
5960
true);
61+
return new Rtl2832pFrontend(master, rtl28xxDvbDevice, slave, true);
6062
});
6163

6264
private final FrontendCreator frontendCreator;

0 commit comments

Comments
 (0)