Changeset 537

Show
Ignore:
Timestamp:
08/21/07 07:57:04 (16 years ago)
Author:
ppalmers
Message:

- SPDIF out works (tested)
- SPDIF in should work (untested)
- sync from external sync plug works

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/bebob/bebob_avdevice.cpp

    r530 r537  
    6262    {0x000f1b, 0x00010064, "ESI", "Quatafire 610"}, 
    6363 
     64    {0x00130e, 0x00000000, "Focusrite", "Saffire (LE)"}, 
    6465    {0x00130e, 0x00000003, "Focusrite", "Saffire Pro26IO"}, 
    6566    {0x00130e, 0x00000006, "Focusrite", "Saffire Pro10IO"}, 
     
    440441    } 
    441442 
    442     AvPlugVector digitalPCRInputPlugs = getPlugsByType( m_externalPlugs, 
     443    AvPlugVector digitalExternalInputPlugs = getPlugsByType( m_externalPlugs, 
    443444                                                    AvPlug::eAPD_Input, 
    444445                                                    AvPlug::eAPT_Digital ); 
     446    if ( !digitalExternalInputPlugs.size() ) { 
     447        debugOutput( DEBUG_LEVEL_VERBOSE, "No external digital input plugs found\n" ); 
     448 
     449    } 
     450     
     451    AvPlugVector syncExternalInputPlugs = getPlugsByType( m_externalPlugs, 
     452                                                    AvPlug::eAPD_Input, 
     453                                                    AvPlug::eAPT_Sync ); 
     454    if ( !syncExternalInputPlugs.size() ) { 
     455        debugOutput( DEBUG_LEVEL_VERBOSE, "No external sync input plugs found\n" ); 
     456 
     457    } 
    445458 
    446459    AvPlugVector syncMSUInputPlugs = m_pPlugManager->getPlugsByType( 
     
    476489    debugOutput( DEBUG_LEVEL_VERBOSE, "PCR Iso Output Plugs:\n" ); 
    477490    showAvPlugs( isoPCROutputPlugs ); 
    478     debugOutput( DEBUG_LEVEL_VERBOSE, "PCR digital Input Plugs:\n" ); 
    479     showAvPlugs( digitalPCRInputPlugs ); 
     491    debugOutput( DEBUG_LEVEL_VERBOSE, "External digital Input Plugs:\n" ); 
     492    showAvPlugs( digitalExternalInputPlugs ); 
     493    debugOutput( DEBUG_LEVEL_VERBOSE, "External sync Input Plugs:\n" ); 
     494    showAvPlugs( syncExternalInputPlugs ); 
    480495    debugOutput( DEBUG_LEVEL_VERBOSE, "MSU Sync Input Plugs:\n" ); 
    481496    showAvPlugs( syncMSUInputPlugs ); 
     
    507522                                      "Internal (CSP)" ); 
    508523 
    509     // Check all external PCR digital input to MSU input connections 
     524    // Check all external digital input to MSU input connections 
    510525    // -> SPDIF/ADAT sync 
    511     checkSyncConnectionsAndAddToList( digitalPCRInputPlugs, 
     526    checkSyncConnectionsAndAddToList( digitalExternalInputPlugs, 
     527                                      syncMSUInputPlugs, 
     528                                      "Digital Input Sync" ); 
     529 
     530    // Check all external sync input to MSU input connections 
     531    // -> SPDIF/ADAT sync 
     532    checkSyncConnectionsAndAddToList( syncExternalInputPlugs, 
    512533                                      syncMSUInputPlugs, 
    513534                                      "Digital Input Sync" ); 
     
    11611182        return false; 
    11621183    } 
    1163  
     1184     
    11641185    if (!addPlugToProcessor(*outputPlug,p, 
    11651186        Streaming::Port::E_Capture)) { 
     
    12821303            case ExtendedPlugInfoClusterInfoSpecificData::ePT_MADI: 
    12831304            case ExtendedPlugInfoClusterInfoSpecificData::ePT_Digital: 
     1305                p=new Streaming::AmdtpAudioPort( 
     1306                        portname.str(), 
     1307                        direction, 
     1308                        // \todo: streaming backend expects indexing starting from 0 
     1309                        // but bebob reports it starting from 1. Decide where 
     1310                        // and how to handle this (pp: here) 
     1311                        channelInfo->m_streamPosition - 1, 
     1312                        channelInfo->m_location - 1, 
     1313                        Streaming::AmdtpPortInfo::E_MBLA 
     1314                ); 
     1315                break; 
    12841316            case ExtendedPlugInfoClusterInfoSpecificData::ePT_NoType: 
    12851317            default: