Changeset 1013

Show
Ignore:
Timestamp:
04/23/08 11:55:47 (16 years ago)
Author:
ppalmers
Message:

fix bug introduced by newer ECHO firmware (>= 4.3)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/config.h.in

    r1007 r1013  
    179179#define MOTU_CLIP_FLOATS                                   1 
    180180 
     181/// The unavoidable device specific hacks 
     182 
     183// specify this to 1 for ECHO audio firmwares older than v4.3 
     184#define AVC_STREAMPOSITION_USE_MUSICPLUG 0 
     185 
    181186#endif // CONFIG_H 
  • trunk/libffado/src/libavc/general/avc_plug.cpp

    r937 r1013  
    12481248 
    12491249    debugOutput( DEBUG_LEVEL_VERBOSE, "\tChannel info:\n"); 
     1250    unsigned int i=0; 
    12501251    for ( Plug::ClusterInfoVector::const_iterator it = m_clusterInfos.begin(); 
    12511252          it != m_clusterInfos.end(); 
     
    12551256 
    12561257        debugOutput(DEBUG_LEVEL_VERBOSE, "         Cluster %s (idx=%2d, type=0x%02X, ch=%2d, format=0x%02X)\n", 
    1257             clusterInfo->m_name.c_str(), clusterInfo->m_portType, clusterInfo->m_nrOfChannels, clusterInfo->m_streamFormat); 
     1258            clusterInfo->m_name.c_str(), i, clusterInfo->m_portType, clusterInfo->m_nrOfChannels, clusterInfo->m_streamFormat); 
    12581259        Plug::ChannelInfoVector channelInfos = clusterInfo->m_channelInfos; 
    12591260        for ( Plug::ChannelInfoVector::const_iterator it = channelInfos.begin(); 
     
    12651266                channelInfo->m_name.c_str(), channelInfo->m_streamPosition, channelInfo->m_location); 
    12661267        } 
     1268        i++; 
    12671269    } 
    12681270    flushDebugOutput(); 
  • trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.cpp

    r864 r1013  
    182182                    debugWarning("s.stream_position (= 0x%02X) != mplug->m_dest_stream_position (= 0x%02X)\n", 
    183183                        s.stream_position, mplug->m_dest_stream_position); 
     184                    #if AVC_STREAMPOSITION_USE_MUSICPLUG 
    184185                    // use the one from the music plug 
    185186                    sinfo.m_streamPosition=mplug->m_dest_stream_position; 
     187                    #else 
     188                    // HACK: recent ECHO firmware only fills the AVCMusicClusterInfoBlock correctly 
     189                    sinfo.m_streamPosition=s.stream_position; 
     190                    #endif 
    186191                } 
    187192                if(s.stream_location != mplug->m_dest_stream_location) { 
     
    189194                        s.stream_location, mplug->m_dest_stream_location); 
    190195                    // use the one from the music plug 
    191                     sinfo.m_location=mplug->m_dest_stream_location; 
     196                    //sinfo.m_location=mplug->m_dest_stream_location; 
     197                    // HACK: recent ECHO firmware only fills the AVCMusicClusterInfoBlock correctly 
     198                    sinfo.m_location=s.stream_location; 
    192199                } 
    193200            } else {