Changeset 231

Show
Ignore:
Timestamp:
05/29/06 04:43:44 (18 years ago)
Author:
pieterpalmers
Message:

- implemented a hacked solution to the naming problem when using 2 identical devices. Now the port name is prefixed with "dev#?" with # being the device number (in order of discovery), and the ? being either "c" or "p", meaning "capture" or "playback". Note however that there is no guarantee that device 1 will be the same device next time you start up.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libfreebob/configure.ac

    r224 r231  
    2424m4_define(freebob_major_version, 0) 
    2525m4_define(freebob_minor_version, 9) 
    26 m4_define(freebob_micro_version, 2
     26m4_define(freebob_micro_version, 3
    2727 
    2828m4_define(freebob_version, freebob_major_version.freebob_minor_version.freebob_micro_version) 
  • trunk/libfreebob/src/bebob/bebob_avdevice.cpp

    r187 r231  
    791791} 
    792792 
    793 
     793bool AvDevice::setId( unsigned int id) { 
     794        return true; 
     795
     796 
     797
  • trunk/libfreebob/src/bebob/bebob_avdevice.h

    r187 r231  
    5252    virtual bool setSamplingFrequency( ESamplingFrequency samplingFrequency ); 
    5353    virtual void showDevice() const; 
     54    virtual bool setId(unsigned int id); 
    5455 
    5556    Ieee1394Service* get1394Service() 
  • trunk/libfreebob/src/bebob_light/bebob_light_avdevice.cpp

    r188 r231  
    4949    , m_nodeId( nodeId ) 
    5050    , m_verboseLevel( verboseLevel ) 
     51    , m_id( 0 ) 
    5152{ 
    5253    if ( m_verboseLevel ) { 
     
    12621263    } 
    12631264 
     1265    asprintf( &result, "%d", m_id & 0xff ); 
     1266    if ( !xmlNewChild( connection,  0, 
     1267                       BAD_CAST "Id",  BAD_CAST result ) ) { 
     1268        debugError( "Couldn't create 'Id' node\n" ); 
     1269        return false; 
     1270    } 
     1271 
    12641272    asprintf( &result, "%d", m_1394Service->getPort() ); 
    12651273    if ( !xmlNewChild( connection,  0, 
     
    16741682} 
    16751683 
    1676 
     1684bool AvDevice::setId( unsigned int id) { 
     1685        m_id=id; 
     1686        return true; 
     1687
     1688 
     1689
  • trunk/libfreebob/src/bebob_light/bebob_light_avdevice.h

    r188 r231  
    5454    virtual bool setSamplingFrequency( ESamplingFrequency samplingFrequency ); 
    5555    virtual void showDevice() const; 
     56    bool setId(unsigned int id); 
    5657 
    5758protected: 
     
    109110    nr_of_plugs_t m_serialBusIsochronousOutputPlugs; 
    110111 
     112    unsigned int m_id; 
     113 
    111114    DECLARE_DEBUG_MODULE; 
    112115}; 
  • trunk/libfreebob/src/bounce/bounce_avdevice.cpp

    r185 r231  
    9898} 
    9999 
     100bool 
     101BounceDevice::setId(unsigned int id) 
     102{ 
     103    return true; 
    100104} 
     105 
     106} 
  • trunk/libfreebob/src/bounce/bounce_avdevice.h

    r185 r231  
    4747    virtual bool setSamplingFrequency( ESamplingFrequency samplingFrequency ); 
    4848    virtual void showDevice() const; 
     49    virtual bool setId(unsigned int id); 
    4950 
    5051protected: 
  • trunk/libfreebob/src/configrom.cpp

    r224 r231  
    185185                                  ( quadlet_t* )buffer) ) 
    186186    { 
    187         debugOutput( DEBUG_LEVEL_VERBOSE, "ConfigRom: Read failed\n"); 
     187        //debugOutput( DEBUG_LEVEL_VERBOSE, "ConfigRom: Read failed\n"); 
    188188        return -1; 
    189189    } 
  • trunk/libfreebob/src/devicemanager.cpp

    r188 r231  
    119119            if ( avDevice ) { 
    120120                m_avDevices.push_back( avDevice ); 
     121 
     122                if ( !avDevice->setId( m_avDevices.size() ) ) { 
     123                    debugError( "setting Id failed\n" ); 
     124                } 
    121125                if ( verboseLevel ) { 
    122126                    avDevice->showDevice(); 
     
    256260        { 
    257261            debugError( "Couldn't create 'NodeId' node" ); 
    258             return false
     262            return 0
    259263        } 
    260264 
     
    306310            xmlFreeDoc( doc ); 
    307311            xmlCleanupParser(); 
    308             return false
     312            return 0
    309313        } 
    310314 
  • trunk/libfreebob/src/iavdevice.h

    r185 r231  
    3737    virtual bool addXmlDescription( xmlNodePtr deviceNode ) = 0; 
    3838    virtual void showDevice() const = 0; 
     39    virtual bool setId(unsigned int id) = 0; 
    3940}; 
    4041 
  • trunk/libfreebob/src/libfreebobstreaming/freebob_streaming.c

    r224 r231  
    367367                                 stream->parent->spec.plug, stream->spec.name); 
    368368*/ 
    369                 return snprintf (buffer, buffersize, "%s_%s", 
    370                                  "cap", stream->spec.name); 
     369                return snprintf (buffer, buffersize, "dev%d%s_%s", 
     370                                 stream->parent->spec.id , "c", stream->spec.name); 
    371371        } else { 
    372372                return -1; 
     
    383383                                 stream->parent->spec.plug, stream->spec.name); 
    384384*/ 
    385                 return snprintf (buffer, buffersize, "%s_%s", 
    386                                  "pbk", stream->spec.name); 
     385                return snprintf (buffer, buffersize, "dev%d%s_%s", 
     386                                 stream->parent->spec.id, "p", stream->spec.name); 
    387387        } else { 
    388388                return -1; 
     
    24262426                                memcpy(&connection->status.cip,&old_cip,sizeof(struct iec61883_cip)); 
    24272427 
    2428                                 // retry this packed  
    2429                                 retval=RAW1394_ISO_AGAIN; 
     2428                                // retry this packet 
     2429                                retval=RAW1394_ISO_AGAIN; 
     2430//                              retval=RAW1394_ISO_DEFER; 
    24302431                                nsamples=0; 
    24312432                        } else {