From 7d8fbc5f10b98612e7d3ffd961b8b65d2497dcc7 Mon Sep 17 00:00:00 2001 From: Vladslav P Date: Tue, 2 Jul 2024 17:48:21 +0300 Subject: [PATCH] RDS: fix flags decoding Change d0...d3 order to d3...d0 to match the standard. Change decoding of Mono/Stereo flag to match the standard. Change decoding of stPTY flag to match the standard. --- src/dsp/rds/parser_impl.cc | 8 ++++---- src/qtgui/dockrds.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dsp/rds/parser_impl.cc b/src/dsp/rds/parser_impl.cc index 53c44ee68..da479a5b6 100644 --- a/src/dsp/rds/parser_impl.cc +++ b/src/dsp/rds/parser_impl.cc @@ -103,16 +103,16 @@ void parser_impl::decode_type0(unsigned int *group, bool B) { /* see page 41, table 9 of the standard */ switch (segment_address) { case 0: - mono_stereo=decoder_control_bit; + static_pty=!decoder_control_bit; break; case 1: - artificial_head=decoder_control_bit; + compressed=decoder_control_bit; break; case 2: - compressed=decoder_control_bit; + artificial_head=decoder_control_bit; break; case 3: - static_pty=decoder_control_bit; + mono_stereo=decoder_control_bit; break; default: break; diff --git a/src/qtgui/dockrds.cpp b/src/qtgui/dockrds.cpp index 1ef688a7a..a9080234b 100644 --- a/src/qtgui/dockrds.cpp +++ b/src/qtgui/dockrds.cpp @@ -70,8 +70,8 @@ void DockRDS::updateRDS(QString text, int type) if (str.at(1) == '1') out.append("TA "); if (str.at(2) == '0') out.append("Speech "); if (str.at(2) == '1') out.append("Music "); - if (str.at(3) == '0') out.append("Stereo "); - if (str.at(3) == '1') out.append("Mono "); + if (str.at(3) == '1') out.append("Stereo "); + if (str.at(3) == '0') out.append("Mono "); if (str.at(4) == '1') out.append("AH "); if (str.at(5) == '1') out.append("CMP "); if (str.at(6) == '1') out.append("stPTY ");