diff options
author | cswiger | 2007-04-23 10:45:42 +0000 |
---|---|---|
committer | cswiger | 2007-04-23 10:45:42 +0000 |
commit | d049678e49aefaa823ce45bd9310e2e43c93e1cf (patch) | |
tree | ed7b5a030611df1e4ca916bf19717a165e1bab9f /gr-atsc/src/lib/atsc_field_sync_demux.h | |
parent | aaf51ed7d99ba7cb9badd38c15e8643425b8bf78 (diff) | |
download | gnuradio-d049678e49aefaa823ce45bd9310e2e43c93e1cf.tar.gz gnuradio-d049678e49aefaa823ce45bd9310e2e43c93e1cf.tar.bz2 gnuradio-d049678e49aefaa823ce45bd9310e2e43c93e1cf.zip |
Fixed atsc_field_sync_demux to consume input even when not creating
output. Added python files to make a complete 2.x atsc receiver, but
it is not fully working. It will happily produce the exact same amount of
transport stream output as a working system but has errors in the data.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5081 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gr-atsc/src/lib/atsc_field_sync_demux.h')
-rw-r--r-- | gr-atsc/src/lib/atsc_field_sync_demux.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gr-atsc/src/lib/atsc_field_sync_demux.h b/gr-atsc/src/lib/atsc_field_sync_demux.h index 05ef068c9..48bc1b864 100644 --- a/gr-atsc/src/lib/atsc_field_sync_demux.h +++ b/gr-atsc/src/lib/atsc_field_sync_demux.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_ATSC_FIELD_SYNC_DEMUX_H #define INCLUDED_ATSC_FIELD_SYNC_DEMUX_H -#include <gr_sync_decimator.h> +#include <gr_block.h> #include <atsc_types.h> class atsc_field_sync_demux; @@ -36,9 +36,8 @@ atsc_field_sync_demux_sptr atsc_make_field_sync_demux(); * This class accepts 1 stream of floats (data), and 1 stream of tags (syminfo). * It outputs one stream of atsc_soft_data_segment packets * \ingroup atsc * - * input: atsc_data_segment; output: atsc_data_segment */ -class atsc_field_sync_demux : public gr_sync_decimator +class atsc_field_sync_demux : public gr_block { friend atsc_field_sync_demux_sptr atsc_make_field_sync_demux(); @@ -46,6 +45,13 @@ class atsc_field_sync_demux : public gr_sync_decimator public: 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); + + int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -59,8 +65,9 @@ protected: gr_uint64 d_next_input; gr_uint64 d_lost_index; // diagnostic fluff - unsigned long long inputs0_index; // for inputs[0].index - unsigned long inputs0_size; // for inputs[0].size + unsigned long long d_inputs0_index; // for inputs[0].index + unsigned long d_inputs0_size; // for inputs[0].size + int d_consume; }; |