mirror of
https://github.com/jketterl/openwebrx.git
synced 2025-12-06 07:12:09 +01:00
implement service id filter for better DAB performance
This commit is contained in:
parent
8da92f5788
commit
0edc0b49cd
|
|
@ -62,10 +62,10 @@ class MetaProcessor(PickleModule):
|
||||||
class Dablin(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, HdAudio, MetaProvider, DabServiceSelector, DialFrequencyReceiver):
|
class Dablin(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, HdAudio, MetaProvider, DabServiceSelector, DialFrequencyReceiver):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
shift = Shift(0)
|
shift = Shift(0)
|
||||||
decoder = EtiDecoder()
|
self.decoder = EtiDecoder()
|
||||||
|
|
||||||
metaBuffer = Buffer(Format.CHAR)
|
metaBuffer = Buffer(Format.CHAR)
|
||||||
decoder.setMetaWriter(metaBuffer)
|
self.decoder.setMetaWriter(metaBuffer)
|
||||||
self.processor = MetaProcessor(shift)
|
self.processor = MetaProcessor(shift)
|
||||||
self.processor.setReader(metaBuffer.getReader())
|
self.processor.setReader(metaBuffer.getReader())
|
||||||
# use a dummy to start with. it won't run without.
|
# use a dummy to start with. it won't run without.
|
||||||
|
|
@ -76,7 +76,7 @@ class Dablin(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain,
|
||||||
|
|
||||||
workers = [
|
workers = [
|
||||||
shift,
|
shift,
|
||||||
decoder,
|
self.decoder,
|
||||||
self.dablin,
|
self.dablin,
|
||||||
Downmix(Format.FLOAT),
|
Downmix(Format.FLOAT),
|
||||||
]
|
]
|
||||||
|
|
@ -101,6 +101,7 @@ class Dablin(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain,
|
||||||
self.processor.setWriter(writer)
|
self.processor.setWriter(writer)
|
||||||
|
|
||||||
def setDabServiceId(self, serviceId: int) -> None:
|
def setDabServiceId(self, serviceId: int) -> None:
|
||||||
|
self.decoder.setServiceIdFilter([serviceId])
|
||||||
self.dablin.setDabServiceId(serviceId)
|
self.dablin.setDabServiceId(serviceId)
|
||||||
|
|
||||||
def setDialFrequency(self, frequency: int) -> None:
|
def setDialFrequency(self, frequency: int) -> None:
|
||||||
|
|
|
||||||
|
|
@ -44,13 +44,13 @@ cd ..
|
||||||
rm -rf pycsdr
|
rm -rf pycsdr
|
||||||
|
|
||||||
git clone https://github.com/jketterl/csdr-eti.git
|
git clone https://github.com/jketterl/csdr-eti.git
|
||||||
# latest develop as of 2024-01-26 (global variables fix)
|
# latest develop as of 2024-02-12 (service id filter)
|
||||||
cmakebuild csdr-eti 9f2360e7ab080d3a9da5e04978c260cc911c06ca
|
cmakebuild csdr-eti e09823e188bc8a9918fb38f4ffe17e131ef2dee3
|
||||||
|
|
||||||
git clone https://github.com/jketterl/pycsdr-eti.git
|
git clone https://github.com/jketterl/pycsdr-eti.git
|
||||||
cd pycsdr-eti
|
cd pycsdr-eti
|
||||||
# latest develop as of 2024-01-26 (initial integration)
|
# latest develop as of 2024-02-12 (service id filter)
|
||||||
git checkout ebc29af1eb7c0be7532c91cf459f064dcb017455
|
git checkout 676663b4d796fbadd18dfcae0c3b80eb1b1f9147
|
||||||
./setup.py install
|
./setup.py install
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf pycsdr-eti
|
rm -rf pycsdr-eti
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue