Skip to content

Commit 06ccaf6

Browse files
committed
Re-add the audio blanking for too corrupt audio in DMR, NXDN and YSFDN
modes.
1 parent 25bd10f commit 06ccaf6

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

AMBEFEC.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -527,9 +527,9 @@ unsigned int CAMBEFEC::regenerateDMR(unsigned char* bytes) const
527527
c3 |= MASK;
528528
}
529529

530-
unsigned int errors = regenerateDMR(a1, b1);
531-
errors += regenerateDMR(a2, b2);
532-
errors += regenerateDMR(a3, b3);
530+
unsigned int errors = regenerateDMR(a1, b1, c1);
531+
errors += regenerateDMR(a2, b2, c2);
532+
errors += regenerateDMR(a3, b3, c3);
533533

534534
MASK = 0x800000U;
535535
for (unsigned int i = 0U; i < 24U; i++, MASK >>= 1) {
@@ -633,7 +633,7 @@ unsigned int CAMBEFEC::regenerateYSFDN(unsigned char* bytes) const
633633
c |= MASK;
634634
}
635635

636-
unsigned int errors = regenerateDMR(a, b);
636+
unsigned int errors = regenerateDMR(a, b, c);
637637

638638
MASK = 0x800000U;
639639
for (unsigned int i = 0U; i < 24U; i++, MASK >>= 1) {
@@ -827,7 +827,7 @@ unsigned int CAMBEFEC::regenerateDStar(unsigned int& a, unsigned int& b) const
827827
return errsA + errsB;
828828
}
829829

830-
unsigned int CAMBEFEC::regenerateDMR(unsigned int& a, unsigned int& b) const
830+
unsigned int CAMBEFEC::regenerateDMR(unsigned int& a, unsigned int& b, unsigned int& c) const
831831
{
832832
unsigned int orig_a = a;
833833
unsigned int orig_b = b;
@@ -861,5 +861,11 @@ unsigned int CAMBEFEC::regenerateDMR(unsigned int& a, unsigned int& b) const
861861
errsB++;
862862
}
863863

864+
if (errsA >= 4U || ((errsA + errsB) >= 6U && errsA >= 2U)) {
865+
a = 0xF00292U;
866+
b = 0x0E0B20U;
867+
c = 0x000000U;
868+
}
869+
864870
return errsA + errsB;
865871
}

AMBEFEC.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class CAMBEFEC {
3434

3535
private:
3636
unsigned int regenerateDStar(unsigned int& a, unsigned int& b) const;
37-
unsigned int regenerateDMR(unsigned int& a, unsigned int& b) const;
37+
unsigned int regenerateDMR(unsigned int& a, unsigned int& b,unsigned int& c) const;
3838
};
3939

4040
#endif

0 commit comments

Comments
 (0)