Changeset 1911

Show
Ignore:
Timestamp:
10/10/10 15:58:32 (13 years ago)
Author:
jwoithe
Message:

MOTU: separately track packet offsets of input and output ports in the new portgroup code. This should restore the creation of the correct input port names for all MOTU devices.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/motu/motu_avdevice.cpp

    r1909 r1911  
    21822182signed int i; 
    21832183unsigned int dir = direction==Streaming::Port::E_Capture?MOTU_PA_IN:MOTU_PA_OUT; 
     2184const signed int mode_idx = direction==Streaming::Port::E_Capture?1:0; 
    21842185unsigned int flags = 0; 
    21852186unsigned int portgroup_flags; 
     
    22242225            portgroup_flags |= MOTU_PA_MK3_OPT_B_ANY; 
    22252226 
    2226         devprop->portgroup_entry[i].group_pkt_offset = -1; 
     2227        devprop->portgroup_entry[i].group_pkt_offset[mode_idx] = -1; 
    22272228        if (( portgroup_flags & dir ) && 
    22282229            ( portgroup_flags & MOTU_PA_RATE_MASK & flags ) && 
     
    22302231            ( portgroup_flags & MOTU_PA_MK3_OPT_B_MASK & flags )) { 
    22312232            if ((portgroup_flags & MOTU_PA_PADDING) == 0) { 
    2232                 devprop->portgroup_entry[i].group_pkt_offset = pkt_ofs; 
     2233                devprop->portgroup_entry[i].group_pkt_offset[mode_idx] = pkt_ofs; 
    22332234            } 
    22342235            pkt_ofs += 3*devprop->portgroup_entry[i].n_channels; 
     
    22652266 */ 
    22662267const char *mode_str = direction==Streaming::Port::E_Capture?"cap":"pbk"; 
     2268const signed int mode_idx = direction==Streaming::Port::E_Capture?1:0; 
    22672269Streaming::StreamProcessor *s_processor; 
    22682270signed int i; 
     
    22952297    /* First scan through the port groups to determine the creation order */ 
    22962298    for (i=0; i<n_groups; i++) { 
    2297         if (devprop->portgroup_entry[i].group_pkt_offset >= 0) { 
     2299        if (devprop->portgroup_entry[i].group_pkt_offset[mode_idx] >= 0) { 
    22982300            if (create_in_order) 
    22992301                creation_indices[i] = i; 
     
    23262328            asprintf(&buff,"%s_%s_%s" , id.c_str(), mode_str, namestr); 
    23272329            if (!addPort(s_processor, buff, direction,  
    2328                    devprop->portgroup_entry[entry].group_pkt_offset+3*ch, 0)) 
     2330                   devprop->portgroup_entry[entry].group_pkt_offset[mode_idx]+3*ch, 0)) 
    23292331                return false; 
    23302332        } 
  • trunk/libffado/src/motu/motu_avdevice.h

    r1906 r1911  
    307307    signed int port_order; 
    308308    signed int port_num_offset; 
    309     signed int group_pkt_offset
     309    signed int group_pkt_offset[2]
    310310}; 
    311311