Opendigitalradio / dablin

DAB/DAB+ receiver for Linux (including ETI-NI and EDI AF playback)
GNU General Public License v3.0
118 stars 26 forks source link

Dropouts from stdin? #21

Closed andimik closed 7 years ago

andimik commented 7 years ago

See https://github.com/JvanKatwijk/qt-dab/issues/22

./eti-frontend -O - | dablin_gtk

SDLOutput: silence started... SDLOutput: silence ended (115200 bytes) SDLOutput: silence started... SDLOutput: silence ended (117760 bytes) SDLOutput: silence started... SDLOutput: silence ended (199680 bytes) SDLOutput: silence started... SDLOutput: silence ended (101376 bytes) SDLOutput: silence started...

I don't know yet, if the problem comes from eti-stuff or dablin produces these dropouts.

basicmaster commented 7 years ago

Hmm, I tried eti-frontend just some days after the first release and also the recent version. In both cases I did not have any problems in piping the output to dablin_gtk with different ensembles. I used a Realtek stick with E4000 tuner (autogain).

Some questions:

andimik commented 7 years ago

It was a prerecorded file (I tried raw and sdr)

Will drive to a place where the signal is good enough for Airspy.

basicmaster commented 7 years ago

Have you had the chance to check this in the meantime?

andimik commented 7 years ago

Seems listening live through an Airspy is not affected. I don't have stable DAB+ reception at home, so I had to drive 30 min.

Then I thought that only *.sdr files don't work, but then also the raw-file mentioned on https://github.com/AlbrechtL/welle.io/issues/30#issuecomment-288872557

The first second is ok, but then these messages "silence started - ended" appear, in DAB as well as DAB+.

My syntax is eti-frontend -O - | dablin_gtk and I load this raw file to eti-frontend, waiting for 2 seconds and then press eti waiting.

My problem is I don't know where these dropouts are coming from (your or Jan's program).

basicmaster commented 7 years ago

Hmm, the mentioned raw file works quite well here. Do you get errors like (5+) or (AU #2), before the silence start/end messages? If not, could you post a complete log (e.g. upload to pastebin)?

andimik commented 7 years ago

Ok good to know

I'll check my installation

andimik commented 7 years ago

Yes, I see 5+, but only in my Slowene raw and sdr files.

andreas@andiE535:~$ /home/andreas/eti-stuff/linux-bin/eti-frontend -O - | dablin_gtk 
DABlin v1.3.0 - capital DAB experience
Plays a DAB/DAB+ audio service from a frame-aligned ETI-NI stream.
  https://github.com/Opendigitalradio/dablin

SDLOutput: using SDL version '2.0.4'
ETISource: reading from 'stdin'
ofdmProcessor is closing down
ofdmProcessor is closing down
Period = 8000
Starting 1

FICDecoder: found new audio service: SId 0x2201, subchannel  1, DAB
FICDecoder: found new audio service: SId 0x2202, subchannel  2, DAB
FICDecoder: found new audio service: SId 0x2203, subchannel  3, DAB
FICDecoder: found new audio service: SId 0x2204, subchannel  4, DAB
FICDecoder: found new audio service: SId 0x2245, subchannel  7, DAB
FICDecoder: found new audio service: SId 0x2247, subchannel  6, DAB
FICDecoder: found new audio service: SId 0x2248, subchannel  9, DAB
FICDecoder: found new audio service: SId 0x2249, subchannel  8, DAB
FICDecoder: found new audio service: SId 0x224A, subchannel 10, DAB
FICDecoder: found new audio service: SId 0x2261, subchannel 12, DAB+
FICDecoder: found new audio service: SId 0x2262, subchannel 13, DAB+
FICDecoder: found new programme service label: SId 0x224A, 'RTE Radio 1Extra'
FICDecoder: found new ensemble label: EId 0x2E01, 'DAB Ireland Mux1'
FICDecoder: found new programme service label: SId 0x2261, 'RTE Radio 1 +'
FICDecoder: found new programme service label: SId 0x2202, 'RTE 2FM'
FICDecoder: found new programme service label: SId 0x2249, 'RTE PULSE'
FICDecoder: found new programme service label: SId 0x2247, 'RTE Jr Radio'
FICDecoder: found new programme service label: SId 0x2204, 'RTE RnaG'
FICDecoder: found new programme service label: SId 0x2203, 'RTE LYRIC'
FICDecoder: found new programme service label: SId 0x2262, 'RTE 2FM +'
ETIPlayer: playing subchannel 4 (DAB)
MP2Decoder: using decoder 'AVX'.
ETIPlayer: format: MPEG 1.0 Layer II, 48 kHz Mono @ 80 kbit/s
SDLOutput: using audio buffer of 96000 bytes
SDLOutput: audio opened; driver name: pulseaudio, freq: 48000, channels: 1, size: 8192, samples: 2048, silence: 0x00, output: 32bit float
FICDecoder: found new programme service label: SId 0x2245, 'RTE 2XM'
FICDecoder: found new programme service label: SId 0x2201, 'RTE Radio 1'
FICDecoder: found new programme service label: SId 0x2248, 'RTE GOLD'
SDLOutput: silence started...
SDLOutput: silence ended (17408 bytes)
SDLOutput: silence started...
SDLOutput: silence ended (39936 bytes)
SDLOutput: silence started...
SDLOutput: silence ended (39936 bytes)
SDLOutput: silence started...
SDLOutput: silence ended (23552 bytes)
SDLOutput: silence started...
SDLOutput: silence ended (39936 bytes)
SDLOutput: silence started...

...

Also the Polish one (antena-1_dab_229072kHz_fs2048kHz_gain42_1.raw, google for it) does not work but has no 5+

basicmaster commented 7 years ago

The silence messages (and hence silenced audio) should only occur after errors happened or some seconds after switching to a service. The reason is an audio buffer underrun.

When this happens with DAB+ services, e.g. (5+) (the + is important, as it means that there were errors that could not be corrected by the Reed Solomon coding) or (AU #2) shows that.

DAB services have a CRC as well, but as the used mpg123 lib does not implement the CRC and it is quite complicated, it is not checked. Hence there is no message when the audio decoder does not output frames.

The silence should only occur in the mentioned cases. Does it also occur in other cases?

andimik commented 7 years ago

I found out an older version of eti-stuff from 29th Jan 2017 does not have these dropouts (only after EOF and restarting)

So I close this issue as I found the root cause ...

aleena57 commented 5 years ago

I could generate DAB file but am unable to generate DAB+ file. While playing the audio through dablin_gtk, audio is not clear.

SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (6144 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (24576 bytes) SDLOutput: silence started... (0+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started... (5+) (AU #2) SDLOutput: silence ended (15360 bytes) SDLOutput: silence started...

andimik commented 5 years ago

See https://github.com/JvanKatwijk/eti-stuff/issues/40