summaryrefslogtreecommitdiff
path: root/gr-vocoder/lib/freedv_tx_ss_impl.h
diff options
context:
space:
mode:
authorClayton Smith <argilo@gmail.com>2020-10-19 07:02:25 -0400
committermormj <34754695+mormj@users.noreply.github.com>2020-10-20 05:55:15 -0400
commitddb282314af10949706596045c2711b67a0bc3f6 (patch)
tree870800343caf084949ba04e50e41aecd8dd73bd6 /gr-vocoder/lib/freedv_tx_ss_impl.h
parentb38d43f388d8e30007b83736f329aa8aac1d1cb5 (diff)
vocoder: allow input & output rates to differ
The input & output rates of the FreeDV modulator aren't necessarily the same. In particular, the 2400A and 2400B modes have an input rate of 8000 sps and an output rate of 48000 sps. To allow for arbitrary input & output rates, I've changed freedv_tx_ss from sync_block to block.
Diffstat (limited to 'gr-vocoder/lib/freedv_tx_ss_impl.h')
-rw-r--r--gr-vocoder/lib/freedv_tx_ss_impl.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gr-vocoder/lib/freedv_tx_ss_impl.h b/gr-vocoder/lib/freedv_tx_ss_impl.h
index f4f341b97e..bf4c0ccef1 100644
--- a/gr-vocoder/lib/freedv_tx_ss_impl.h
+++ b/gr-vocoder/lib/freedv_tx_ss_impl.h
@@ -50,9 +50,12 @@ public:
void set_tx_bpf(int val);
// Where all the action really happens
- int work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items);
+ void forecast(int noutput_items, gr_vector_int& ninput_items_required);
+
+ int general_work(int noutput_items,
+ gr_vector_int& ninput_items,
+ gr_vector_const_void_star& input_items,
+ gr_vector_void_star& output_items);
};
} /* namespace vocoder */