changeset 90:31e17dd64fc1

trau-parse AMR: invalidate saved mode if CRC1 is bad
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 05 Mar 2025 00:40:43 +0000
parents 865b104ffbab
children bbb28d5447f9
files trau-decode/parse-amr.c
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/trau-decode/parse-amr.c	Wed Mar 05 00:33:45 2025 +0000
+++ b/trau-decode/parse-amr.c	Wed Mar 05 00:40:43 2025 +0000
@@ -76,6 +76,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -106,6 +108,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -136,6 +140,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -168,6 +174,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -203,6 +211,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -237,6 +247,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -272,6 +284,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void
@@ -303,6 +317,8 @@
 	printf("    CRC %s %s %s %s\n",
 		crc1 ? "bad" : "good", crc2 ? "bad" : "good",
 		crc3 ? "bad" : "good", crc4 ? "bad" : "good");
+	if (crc1)
+		saved_mode_valid = 0;
 }
 
 static void (*per_mode_decode[8])() = {