Changeset 777 for trunk/libffado/src/devicemanager.cpp
- Timestamp:
- 12/26/07 13:59:21 (16 years ago)
- Files:
-
- trunk/libffado/src/devicemanager.cpp (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/src/devicemanager.cpp
r750 r777 81 81 DeviceManager::DeviceManager() 82 82 : Control::Container("devicemanager") 83 , m_processorManager( new Streaming::StreamProcessorManager() ) 83 84 { 84 85 addOption(Util::OptionContainer::Option("slaveMode",false)); … … 88 89 DeviceManager::~DeviceManager() 89 90 { 91 delete m_processorManager; 92 90 93 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 91 94 it != m_avDevices.end(); … … 98 101 } 99 102 103 for ( FunctorVectorIterator it = m_busreset_functors.begin(); 104 it != m_busreset_functors.end(); 105 ++it ) 106 { 107 delete *it; 108 } 109 100 110 for ( Ieee1394ServiceVectorIterator it = m_1394Services.begin(); 101 111 it != m_1394Services.end(); … … 104 114 delete *it; 105 115 } 106 for ( FunctorVectorIterator it = m_busreset_functors.begin();107 it != m_busreset_functors.end();108 ++it )109 {110 delete *it;111 }112 116 } 113 117 114 118 bool 115 119 DeviceManager::setThreadParameters(bool rt, int priority) { 116 if (!m_processorManager .setThreadParameters(rt, priority)) {120 if (!m_processorManager->setThreadParameters(rt, priority)) { 117 121 debugError("Could not set processor manager thread parameters\n"); 118 122 return false; … … 419 423 420 424 debugOutput(DEBUG_LEVEL_VERBOSE, "Setting samplerate to %d for (%p)\n", 421 m_processorManager .getNominalRate(), device);425 m_processorManager->getNominalRate(), device); 422 426 423 427 // Set the device's sampling rate to that requested 424 428 // FIXME: does this really belong here? If so we need to handle errors. 425 if (!device->setSamplingFrequency(m_processorManager .getNominalRate())) {429 if (!device->setSamplingFrequency(m_processorManager->getNominalRate())) { 426 430 debugOutput(DEBUG_LEVEL_VERBOSE, " => Retry setting samplerate to %d for (%p)\n", 427 m_processorManager .getNominalRate(), device);431 m_processorManager->getNominalRate(), device); 428 432 429 433 // try again: 430 if (!device->setSamplingFrequency(m_processorManager .getNominalRate())) {431 debugFatal("Could not set sampling frequency to %d\n",m_processorManager .getNominalRate());434 if (!device->setSamplingFrequency(m_processorManager->getNominalRate())) { 435 debugFatal("Could not set sampling frequency to %d\n",m_processorManager->getNominalRate()); 432 436 return false; 433 437 } … … 438 442 439 443 // set the sync source 440 if (!m_processorManager .setSyncSource(getSyncSource())) {444 if (!m_processorManager->setSyncSource(getSyncSource())) { 441 445 debugWarning("Could not set processorManager sync source (%p)\n", 442 446 getSyncSource()); … … 448 452 DeviceManager::prepareStreaming() 449 453 { 450 if (!m_processorManager .prepare()) {454 if (!m_processorManager->prepare()) { 451 455 debugFatal("Could not prepare streaming...\n"); 452 456 return false; … … 500 504 } 501 505 502 if(m_processorManager .start()) {506 if(m_processorManager->start()) { 503 507 return true; 504 508 } else { … … 517 521 { 518 522 bool result = true; 519 m_processorManager .stop();523 m_processorManager->stop(); 520 524 521 525 // create the connections for all devices … … 550 554 bool 551 555 DeviceManager::waitForPeriod() { 552 if(m_processorManager .waitForPeriod()) {556 if(m_processorManager->waitForPeriod()) { 553 557 return true; 554 558 } else { 555 559 debugWarning("XRUN detected\n"); 556 560 // do xrun recovery 557 m_processorManager .handleXrun();561 m_processorManager->handleXrun(); 558 562 return false; 559 563 } … … 562 566 bool 563 567 DeviceManager::setStreamingParams(unsigned int period, unsigned int rate, unsigned int nb_buffers) { 564 m_processorManager .setPeriodSize(period);565 m_processorManager .setNominalRate(rate);566 m_processorManager .setNbBuffers(nb_buffers);568 m_processorManager->setPeriodSize(period); 569 m_processorManager->setNominalRate(rate); 570 m_processorManager->setNbBuffers(nb_buffers); 567 571 return true; 568 572 } … … 756 760 setDebugLevel(l); 757 761 Control::Element::setVerboseLevel(l); 758 m_processorManager .setVerboseLevel(l);762 m_processorManager->setVerboseLevel(l); 759 763 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 760 764 it != m_avDevices.end(); … … 810 814 void 811 815 DeviceManager::showStreamingInfo() { 812 m_processorManager .dumpInfo();813 } 816 m_processorManager->dumpInfo(); 817 }