Changeset 212
- Timestamp:
- 05/21/06 13:17:28 (16 years ago)
- Files:
-
- branches/libfreebob-2.0/src/libstreaming/AmdtpStreamProcessor.cpp (modified) (3 diffs)
- branches/libfreebob-2.0/src/libstreaming/StreamProcessor.h (modified) (1 diff)
- branches/libfreebob-2.0/src/libstreaming/StreamProcessorManager.cpp (modified) (1 diff)
- branches/libfreebob-2.0/tests/streaming/test-isohandling.cpp (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/libfreebob-2.0/src/libstreaming/AmdtpStreamProcessor.cpp
r211 r212 283 283 // freebob_streaming_decode_midi(connection,(quadlet_t *)(data+8), nevents, packet->dbc); 284 284 } 285 286 debugOutput(DEBUG_LEVEL_VERY_VERBOSE, 287 "RCV: CH = %d, FDF = %X. SYT = %6d, DBS = %3d, DBC = %3d, FMT = %3d, LEN = %4d (%2d)\n", 288 channel, packet->fdf, 289 packet->syt, 290 packet->dbs, 291 packet->dbc, 292 packet->fmt, 293 length, 294 ((length / sizeof (quadlet_t)) - 2)/packet->dbs); 285 295 286 296 // update the frame counter … … 297 307 void AmdtpReceiveStreamProcessor::setVerboseLevel(int l) { 298 308 setDebugLevel(l); 299 //ReceiveStreamProcessor::setVerboseLevel(l);309 ReceiveStreamProcessor::setVerboseLevel(l); 300 310 301 311 } … … 327 337 debugOutput( DEBUG_LEVEL_VERY_VERBOSE, "Transferring period...\n"); 328 338 // TODO: implement 339 340 int read_size=m_period*sizeof(quadlet_t)*m_dimension; 341 char *dummybuffer=(char *)calloc(sizeof(quadlet_t),m_period*m_dimension); 342 if (freebob_ringbuffer_read(m_event_buffer,(char *)(dummybuffer),read_size) < read_size) { 343 debugWarning("Could not read from event buffer\n"); 344 } 345 free(dummybuffer); 346 329 347 330 348 return 0; branches/libfreebob-2.0/src/libstreaming/StreamProcessor.h
r211 r212 67 67 bool isOnePeriodReady() { return (m_framecounter > m_period); }; 68 68 unsigned int getNbPeriodsReady() { if(m_period) return m_framecounter/m_period; else return 0;}; 69 void decrementFrameCounter() {m_framecounter -= m_period;}; 70 69 71 70 72 virtual int transfer(); // transfer the buffer contents from/to client branches/libfreebob-2.0/src/libstreaming/StreamProcessorManager.cpp
r210 r212 169 169 // signal the waiting thread(s?) that a period is ready 170 170 sem_post(&m_period_semaphore); 171 debugOutputShort( DEBUG_LEVEL_VERY_VERBOSE, "Period done...\n"); 172 173 for ( StreamProcessorVectorIterator it = m_ReceiveProcessors.begin(); 174 it != m_ReceiveProcessors.end(); 175 ++it ) { 176 (*it)->decrementFrameCounter(); 177 } 178 179 for ( StreamProcessorVectorIterator it = m_TransmitProcessors.begin(); 180 it != m_TransmitProcessors.end(); 181 ++it ) { 182 (*it)->decrementFrameCounter(); 183 } 171 184 } 172 185 branches/libfreebob-2.0/tests/streaming/test-isohandling.cpp
r207 r212 87 87 // spt->setVerboseLevel(DEBUG_LEVEL_VERBOSE); 88 88 89 // AmdtpReceiveStreamProcessor *spr = new AmdtpReceiveStreamProcessor(0,2,44100,7);90 ReceiveStreamProcessor *spr = new ReceiveStreamProcessor(0,2,44100);89 AmdtpReceiveStreamProcessor *spr = new AmdtpReceiveStreamProcessor(0,2,44100,11); 90 // ReceiveStreamProcessor *spr = new ReceiveStreamProcessor(0,2,44100); 91 91 if(!spr) { 92 92 printf("Could not create receive AmdtpStreamProcessor\n"); … … 94 94 } 95 95 spr->setVerboseLevel(DEBUG_LEVEL_VERBOSE); 96 97 AmdtpReceiveStreamProcessor *spr2 = new AmdtpReceiveStreamProcessor(1,2,44100,7); 98 // ReceiveStreamProcessor *spr = new ReceiveStreamProcessor(0,2,44100); 99 if(!spr2) { 100 printf("Could not create receive AmdtpStreamProcessor\n"); 101 return -1; 102 } 103 spr2->setVerboseLevel(DEBUG_LEVEL_VERBOSE); 96 104 97 105 // if (isomanager->registerStream(spt)) { … … 111 119 printf("----------------------\n"); 112 120 121 if (isomanager->registerStream(spr2)) { 122 printf("Could not register receive stream processor with the ISO manager\n"); 123 return -1; 124 } 125 printf("----------------------\n"); 113 126 114 127 // printf("----------------------\n"); … … 127 140 printf("----------------------\n"); 128 141 142 if (procMan->registerProcessor(spr2)) { 143 printf("Could not register receive stream processor with the Processor manager\n"); 144 return -1; 145 } 146 printf("----------------------\n"); 147 129 148 // now create the runner that does the actual streaming 130 149 StreamRunner *runner = new StreamRunner(isomanager,procMan); … … 146 165 printf("----------------------\n"); 147 166 167 int periods=0; 168 int periods_print=0; 148 169 while(run) { 149 printf("\n"); 150 printf("============================================\n"); 151 isomanager->dumpInfo(); 152 printf("--------------------------------------------\n"); 153 procMan->dumpInfo(); 154 printf("============================================\n"); 155 printf("\n"); 156 157 sleep(1); 170 periods++; 171 if(periods>periods_print) { 172 printf("\n"); 173 printf("============================================\n"); 174 isomanager->dumpInfo(); 175 printf("--------------------------------------------\n"); 176 procMan->dumpInfo(); 177 printf("============================================\n"); 178 printf("\n"); 179 periods_print+=100; 180 } 181 procMan->waitForPeriod(); 182 procMan->transfer(); 183 158 184 } 159 185 … … 164 190 // isomanager->unregisterStream(spt); 165 191 isomanager->unregisterStream(spr); 192 isomanager->unregisterStream(spr2); 166 193 167 194 // procMan->unregisterProcessor(spt); 168 195 procMan->unregisterProcessor(spr); 196 procMan->unregisterProcessor(spr2); 169 197 170 198 delete thread; … … 175 203 // delete spt; 176 204 delete spr; 205 delete spr2; 177 206 178 207 printf("Bye...\n");