Revision 0946176f host/lib/usrp/usrp2/io_impl.cpp

b/host/lib/usrp/usrp2/io_impl.cpp
366 366
/***********************************************************************
367 367
 * Receive streamer
368 368
 **********************************************************************/
369
rx_streamer::sptr usrp2_impl::get_rx_stream(const uhd::stream_args_t &args){
370
    //map an empty channel set to chan0
371
    const std::vector<size_t> channels = args.channels.empty()? std::vector<size_t>(1, 0) : args.channels;
369
rx_streamer::sptr usrp2_impl::get_rx_stream(const uhd::stream_args_t &args_){
370
    stream_args_t args = args_;
371

  
372
    //setup defaults for unspecified values
373
    args.otw_format = args.otw_format.empty()? "sc16" : args.otw_format;
374
    args.channels = args.channels.empty()? std::vector<size_t>(1, 0) : args.channels;
372 375

  
373 376
    //calculate packet size
374 377
    static const size_t hdr_size = 0
......
383 386
    boost::shared_ptr<sph::recv_packet_streamer> my_streamer = boost::make_shared<sph::recv_packet_streamer>(spp);
384 387

  
385 388
    //init some streamer stuff
386
    my_streamer->resize(channels.size());
389
    my_streamer->resize(args.channels.size());
387 390
    my_streamer->set_vrt_unpacker(&vrt::if_hdr_unpack_be);
388 391

  
389 392
    //set the converter
......
396 399
    my_streamer->set_converter(id);
397 400

  
398 401
    //bind callbacks for the handler
399
    for (size_t chan_i = 0; chan_i < channels.size(); chan_i++){
400
        const size_t chan = channels[chan_i];
402
    for (size_t chan_i = 0; chan_i < args.channels.size(); chan_i++){
403
        const size_t chan = args.channels[chan_i];
401 404
        size_t num_chan_so_far = 0;
402 405
        BOOST_FOREACH(const std::string &mb, _mbc.keys()){
403 406
            num_chan_so_far += _mbc[mb].rx_chan_occ;
......
427 430
/***********************************************************************
428 431
 * Transmit streamer
429 432
 **********************************************************************/
430
tx_streamer::sptr usrp2_impl::get_tx_stream(const uhd::stream_args_t &args){
433
tx_streamer::sptr usrp2_impl::get_tx_stream(const uhd::stream_args_t &args_){
434
    stream_args_t args = args_;
435

  
436
    //setup defaults for unspecified values
437
    args.otw_format = args.otw_format.empty()? "sc16" : args.otw_format;
438
    args.channels = args.channels.empty()? std::vector<size_t>(1, 0) : args.channels;
439

  
431 440
    if (args.otw_format != "sc16"){
432 441
        throw uhd::value_error("USRP TX cannot handle requested wire format: " + args.otw_format);
433 442
    }
434 443

  
435
    //map an empty channel set to chan0
436
    const std::vector<size_t> channels = args.channels.empty()? std::vector<size_t>(1, 0) : args.channels;
437

  
438 444
    //calculate packet size
439 445
    static const size_t hdr_size = 0
440 446
        + vrt::max_if_hdr_words32*sizeof(boost::uint32_t)
......
448 454
    boost::shared_ptr<sph::send_packet_streamer> my_streamer = boost::make_shared<sph::send_packet_streamer>(spp);
449 455

  
450 456
    //init some streamer stuff
451
    my_streamer->resize(channels.size());
457
    my_streamer->resize(args.channels.size());
452 458
    my_streamer->set_vrt_packer(&vrt::if_hdr_pack_be, vrt_send_header_offset_words32);
453 459

  
454 460
    //set the converter
......
461 467
    my_streamer->set_converter(id);
462 468

  
463 469
    //bind callbacks for the handler
464
    for (size_t chan_i = 0; chan_i < channels.size(); chan_i++){
465
        const size_t chan = channels[chan_i];
470
    for (size_t chan_i = 0; chan_i < args.channels.size(); chan_i++){
471
        const size_t chan = args.channels[chan_i];
466 472
        size_t num_chan_so_far = 0;
467 473
        size_t abs = 0;
468 474
        BOOST_FOREACH(const std::string &mb, _mbc.keys()){

Also available in: Unified diff