Changeset 212

Show
Ignore:
Timestamp:
05/21/06 13:17:28 (16 years ago)
Author:
pieterpalmers
Message:

- end of day commit

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/libfreebob-2.0/src/libstreaming/AmdtpStreamProcessor.cpp

    r211 r212  
    283283//                      freebob_streaming_decode_midi(connection,(quadlet_t *)(data+8), nevents, packet->dbc); 
    284284                } 
     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); 
    285295                 
    286296                // update the frame counter 
     
    297307void AmdtpReceiveStreamProcessor::setVerboseLevel(int l) { 
    298308        setDebugLevel(l); 
    299 //    ReceiveStreamProcessor::setVerboseLevel(l); 
     309      ReceiveStreamProcessor::setVerboseLevel(l); 
    300310 
    301311} 
     
    327337        debugOutput( DEBUG_LEVEL_VERY_VERBOSE, "Transferring period...\n"); 
    328338// 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 
    329347 
    330348        return 0; 
  • branches/libfreebob-2.0/src/libstreaming/StreamProcessor.h

    r211 r212  
    6767        bool isOnePeriodReady() { return (m_framecounter > m_period); }; 
    6868        unsigned int getNbPeriodsReady() { if(m_period) return m_framecounter/m_period; else return 0;}; 
     69        void decrementFrameCounter() {m_framecounter -= m_period;}; 
     70 
    6971 
    7072        virtual int transfer(); // transfer the buffer contents from/to client 
  • branches/libfreebob-2.0/src/libstreaming/StreamProcessorManager.cpp

    r210 r212  
    169169                // signal the waiting thread(s?) that a period is ready 
    170170                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                } 
    171184        } 
    172185 
  • branches/libfreebob-2.0/tests/streaming/test-isohandling.cpp

    r207 r212  
    8787//      spt->setVerboseLevel(DEBUG_LEVEL_VERBOSE); 
    8888 
    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); 
    9191        if(!spr) { 
    9292                printf("Could not create receive AmdtpStreamProcessor\n"); 
     
    9494        } 
    9595        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); 
    96104 
    97105//      if (isomanager->registerStream(spt)) { 
     
    111119        printf("----------------------\n"); 
    112120 
     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"); 
    113126 
    114127//      printf("----------------------\n"); 
     
    127140        printf("----------------------\n"); 
    128141 
     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 
    129148        // now create the runner that does the actual streaming 
    130149        StreamRunner *runner = new StreamRunner(isomanager,procMan); 
     
    146165        printf("----------------------\n"); 
    147166 
     167        int periods=0; 
     168        int periods_print=0; 
    148169        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                 
    158184        } 
    159185 
     
    164190//      isomanager->unregisterStream(spt); 
    165191        isomanager->unregisterStream(spr); 
     192        isomanager->unregisterStream(spr2); 
    166193 
    167194//      procMan->unregisterProcessor(spt); 
    168195        procMan->unregisterProcessor(spr); 
     196        procMan->unregisterProcessor(spr2); 
    169197 
    170198        delete thread; 
     
    175203//      delete spt; 
    176204        delete spr; 
     205        delete spr2; 
    177206 
    178207        printf("Bye...\n");