Changeset 1021
- Timestamp:
- 04/24/08 10:23:02 (15 years ago)
- Files:
-
- trunk/libffado/config.h.in (modified) (1 diff)
- trunk/libffado/SConstruct (modified) (1 diff)
- trunk/libffado/src/dice/dice_avdevice.cpp (modified) (1 diff)
- trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp (modified) (2 diffs)
- trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/config.h.in
r1013 r1021 150 150 #define AMDTP_CLIP_FLOATS 1 151 151 152 // Allow that devices request that the AMDTP transmit SP adds 153 // payload to the NO-DATA packets. Normally this should not be 154 // necessary, and it even breaks some devices (DICE-II based). 155 #define AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 0 156 157 // Default setting for the payload setting if 158 // AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT is enabled. Devices can 159 // explicity override this 160 #define AMDTP_SEND_PAYLOAD_IN_NODATA_XMIT_BY_DEFAULT false 161 152 162 // -- MOTU options -- // 153 163 trunk/libffado/SConstruct
r967 r1021 25 25 26 26 FFADO_API_VERSION="8" 27 FFADO_VERSION="1.999.1 7"27 FFADO_VERSION="1.999.18" 28 28 29 29 import os trunk/libffado/src/dice/dice_avdevice.cpp
r1004 r1021 782 782 } 783 783 784 #if AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 785 // the DICE-II cannot handle payload in the NO-DATA packets. 786 // the other DICE chips don't need payload. Therefore 787 // we disable it. 788 p->sendPayloadForNoDataPackets(false); 789 #endif 790 784 791 // add audio ports to the processor 785 792 for (unsigned int j=0;j<nb_audio;j++) { trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp
r1001 r1021 50 50 , m_nb_audio_ports( 0 ) 51 51 , m_nb_midi_ports( 0 ) 52 #if AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 53 , m_send_nodata_payload ( AMDTP_SEND_PAYLOAD_IN_NODATA_XMIT_BY_DEFAULT ) 54 #endif 52 55 {} 53 56 … … 365 368 struct iec61883_packet *packet, unsigned int* length ) 366 369 { 367 368 370 // no-data packets have syt=0xFFFF 369 // and have the usual amount of events as dummy data (?) 371 // and (can) have the usual amount of events as dummy data 372 // DBC is not increased 370 373 packet->fdf = IEC61883_FDF_NODATA; 371 374 packet->syt = 0xffff; 372 375 373 // FIXME: either make this a setting or choose 374 bool send_payload=true; 375 if ( send_payload ) 376 { 377 // this means no-data packets with payload (DICE doesn't like that) 376 #if AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 377 if ( m_send_nodata_payload ) 378 { // no-data packets with payload (NOTE: DICE-II doesn't like that) 378 379 *length = 2*sizeof ( quadlet_t ) + m_syt_interval * m_dimension * sizeof ( quadlet_t ); 379 380 return m_syt_interval; 380 } 381 else 382 { 383 // dbc is not incremented 384 // this means no-data packets without payload 381 } else { // no-data packets without payload 385 382 *length = 2*sizeof ( quadlet_t ); 386 383 return 0; 387 384 } 385 #else 386 // no-data packets without payload 387 *length = 2*sizeof ( quadlet_t ); 388 return 0; 389 #endif 388 390 } 389 391 trunk/libffado/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.h
r864 r1021 100 100 virtual bool prepareChild(); 101 101 102 #if AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 103 public: 104 void sendPayloadForNoDataPackets(bool b) {m_send_nodata_payload = b;}; 105 #endif 106 102 107 public: 103 108 virtual unsigned int getEventSize() … … 136 141 unsigned int m_dbc; 137 142 143 #if AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT 144 private: 145 bool m_send_nodata_payload; 146 #endif 147 138 148 private: // local port caching for performance 139 149 struct _MBLA_port_cache {