GNU Radio 3.3.0 C++ API
|
Stream muxing block to multiplex many streams into one with a specified format. More...
#include <gr_stream_mux.h>
Public Member Functions | |
~gr_stream_mux (void) | |
void | forecast (int noutput_items, gr_vector_int &ninput_items_required) |
Estimate input requirements given output request. | |
int | general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
compute output items from input items | |
Protected Member Functions | |
gr_stream_mux (size_t itemsize, const std::vector< int > &lengths) | |
Friends | |
gr_stream_mux_sptr | gr_make_stream_mux (size_t itemsize, const std::vector< int > &lengths) |
Stream muxing block to multiplex many streams into one with a specified format.
Muxes N streams together producing an output stream that contains N0 items from the first stream, N1 items from the second, etc. and repeats:
[N0, N1, N2, ..., Nm, N0, N1, ...]
gr_stream_mux::gr_stream_mux | ( | size_t | itemsize, |
const std::vector< int > & | lengths | ||
) | [protected] |
gr_stream_mux::~gr_stream_mux | ( | void | ) |
void gr_stream_mux::forecast | ( | int | noutput_items, |
gr_vector_int & | ninput_items_required | ||
) | [virtual] |
Estimate input requirements given output request.
noutput_items | number of output items to produce |
ninput_items_required | number of input items required on each input stream |
Given a request to product noutput_items
, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
Reimplemented from gr_block.
int gr_stream_mux::general_work | ( | int | noutput_items, |
gr_vector_int & | ninput_items, | ||
gr_vector_const_void_star & | input_items, | ||
gr_vector_void_star & | output_items | ||
) | [virtual] |
compute output items from input items
noutput_items | number of output items to write on each output stream |
ninput_items | number of input items available on each input stream |
input_items | vector of pointers to the input items, one entry per input stream |
output_items | vector of pointers to the output items, one entry per output stream |
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
Implements gr_block.
gr_stream_mux_sptr gr_make_stream_mux | ( | size_t | itemsize, |
const std::vector< int > & | lengths | ||
) | [friend] |