summaryrefslogtreecommitdiff
path: root/gr-atsc/src/lib/atsc_field_sync_demux.h
diff options
context:
space:
mode:
authorcswiger2007-04-23 10:45:42 +0000
committercswiger2007-04-23 10:45:42 +0000
commitd049678e49aefaa823ce45bd9310e2e43c93e1cf (patch)
treeed7b5a030611df1e4ca916bf19717a165e1bab9f /gr-atsc/src/lib/atsc_field_sync_demux.h
parentaaf51ed7d99ba7cb9badd38c15e8643425b8bf78 (diff)
downloadgnuradio-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.h17
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;
};