Fix: don't send SCH burst to the output if it wasn't correctly decoded
This had very bad effect of incorrect fn_time values coming into txtime_setter block.
They, subsequently, might have caused busts with tx_time values in distant future. The result on uhd sink is deadlock.
diff --git a/lib/receiver/receiver_impl.cc b/lib/receiver/receiver_impl.cc
index d57b4a1..cf080cb 100644
--- a/lib/receiver/receiver_impl.cc
+++ b/lib/receiver/receiver_impl.cc
@@ -209,7 +209,6 @@
         time_spec_t current_rx_time = time_spec_t(rx_time_full_part, rx_time_frac_part);
         uint64_t current_start_offset = rx_time_tag.offset;
         d_time_samp_ref.update(current_rx_time, current_start_offset);
-        std::cout << "Mam rx_time: " << current_rx_time.get_real_secs() << std::endl;
       }
 
       return d_samples_consumed;
@@ -346,7 +345,7 @@
 
         case sch_burst:
         {
-          int d_ncc, d_bcc;
+          int ncc, bcc;
           int t1, t2, t3;
           int rc;
 
@@ -358,12 +357,8 @@
           detect_burst(input, &channel_imp_resp[0],
             d_c0_burst_start, output_binary);
 
-          /* Compose a message with GSMTAP header and bits */
-          send_burst(d_burst_nr, output_binary,
-            GSMTAP_BURST_SCH, input_nr, d_c0_burst_start);
-
           /* Attempt to decode SCH burst */
-          rc = decode_sch(&output_binary[3], &t1, &t2, &t3, &d_ncc, &d_bcc);
+          rc = decode_sch(&output_binary[3], &t1, &t2, &t3, &ncc, &bcc);
           if (rc) {
             if (++d_failed_sch >= MAX_SCH_ERRORS) {
               /* We have to resynchronize, change state */
@@ -374,10 +369,13 @@
                 pmt::from_double(0.0),pmt::mp("sync_loss"));
               message_port_pub(pmt::mp("measurements"), msg);
             }
-
             break;
           }
 
+          /* Compose a message with GSMTAP header and bits */
+          send_burst(d_burst_nr, output_binary,
+            GSMTAP_BURST_SCH, input_nr, d_c0_burst_start);
+
           /**
            * Decoding was successful, now
            * compute offset from burst_start,
@@ -1073,6 +1071,7 @@
         message_port_pub(pmt::mp("C0"), msg);
       else
         message_port_pub(pmt::mp("CX"), msg);
+
     }
 
     void