Show
Ignore:
Timestamp:
11/11/07 10:12:01 (16 years ago)
Author:
ppalmers
Message:

some more cleaning

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/ppalmers-streaming/src/libstreaming/generic/StreamProcessor.cpp

    r714 r715  
    3535IMPL_DEBUG_MODULE( StreamProcessor, StreamProcessor, DEBUG_LEVEL_VERBOSE ); 
    3636 
    37 StreamProcessor::StreamProcessor(enum eProcessorType type, int port, int framerate
     37StreamProcessor::StreamProcessor(enum eProcessorType type, int port
    3838    : IsoStream((type==ePT_Receive ? IsoStream::eST_Receive : IsoStream::eST_Transmit), port) 
    3939    , m_processor_type ( type ) 
    4040    , m_state( ePS_Created ) 
    41     , m_nb_buffers(0) 
    42     , m_period(0) 
    43     , m_xruns(0) 
    44     , m_framerate(framerate) 
     41    , m_xruns( 0 ) 
    4542    , m_manager(NULL) 
    4643    , m_running(false) 
     
    8582    debugOutputShort( DEBUG_LEVEL_NORMAL, "   enable status        : %s\n", m_is_disabled ? "No" : "Yes"); 
    8683 
    87     debugOutputShort( DEBUG_LEVEL_NORMAL, "  Nominal framerate     : %u\n", m_framerate); 
     84    debugOutputShort( DEBUG_LEVEL_NORMAL, "  Nominal framerate     : %u\n", m_manager->getNominalRate()); 
    8885    debugOutputShort( DEBUG_LEVEL_NORMAL, "  Device framerate      : Sync: %f, Buffer %f\n", 
    8986        24576000.0/getSyncSource().m_data_buffer->getRate(), 
     
    10198{ 
    10299    debugOutput( DEBUG_LEVEL_VERY_VERBOSE, "enter...\n"); 
    103  
    104100    m_data_buffer->init(); 
    105  
    106101    return IsoStream::init(); 
    107102} 
     
    156151 
    157152    debugOutput( DEBUG_LEVEL_VERBOSE, "Preparing...\n"); 
    158  
    159     // init the ports 
    160  
    161153    if(!m_manager) { 
    162154        debugFatal("Not attached to a manager!\n"); 
     
    164156    } 
    165157 
    166     m_nb_buffers=m_manager->getNbBuffers(); 
    167     debugOutput( DEBUG_LEVEL_VERBOSE, "Setting m_nb_buffers  : %d\n", m_nb_buffers); 
    168  
    169     m_period=m_manager->getPeriodSize(); 
    170     debugOutput( DEBUG_LEVEL_VERBOSE, "Setting m_period      : %d\n", m_period); 
    171  
     158    // init the ports 
    172159    // loop over the ports to reset them 
    173160    PortManager::preparePorts(); 
     
    318305StreamProcessor::getTimeAtPeriod() { 
    319306    if (getType() == ePT_Receive) { 
    320         ffado_timestamp_t next_period_boundary=m_data_buffer->getTimestampFromHead(m_period); 
     307        ffado_timestamp_t next_period_boundary=m_data_buffer->getTimestampFromHead(m_manager->getPeriodSize()); 
    321308     
    322309        #ifdef DEBUG 
     
    331318        return (uint64_t)next_period_boundary; 
    332319    } else { 
    333         ffado_timestamp_t next_period_boundary=m_data_buffer->getTimestampFromTail((m_nb_buffers-1) * m_period); 
     320        ffado_timestamp_t next_period_boundary=m_data_buffer->getTimestampFromTail((m_manager->getNbBuffers()-1) * m_manager->getPeriodSize()); 
    334321     
    335322        #ifdef DEBUG 
  • branches/ppalmers-streaming/src/libstreaming/generic/StreamProcessor.h

    r714 r715  
    3838namespace Streaming { 
    3939 
    40 class StreamProcessorManager; 
    41  
     40    class StreamProcessorManager; 
    4241/*! 
    4342\brief Class providing a generic interface for Stream Processors 
     
    8988// constructor/destructor 
    9089public: 
    91     StreamProcessor(enum eProcessorType type, int port, int framerate); 
     90    StreamProcessor(enum eProcessorType type, int port); 
    9291    virtual ~StreamProcessor(); 
    9392 
     
    125124 
    126125 
    127     // state stuff (TODO: cleanup) 
     126//--- state stuff (TODO: cleanup) 
    128127    bool xrunOccurred() { return (m_xruns>0); }; 
    129128    bool isRunning(); ///< returns true if there is some stream data processed 
     
    144143    // move to private? 
    145144    void resetXrunCounter(); 
    146  
    147  
    148 public: // FIXME: should be private 
    149     Util::TimestampedBuffer *m_data_buffer; 
    150  
    151 protected: // SPM related 
    152     void setManager(StreamProcessorManager *manager) {m_manager=manager;}; 
    153     void clearManager() {m_manager=0;}; 
    154  
    155145protected: 
    156     unsigned int m_nb_buffers; ///< cached from manager->getNbBuffers(), the number of periods to buffer 
    157     unsigned int m_period; ///< cached from manager->getPeriod(), the period size 
    158     unsigned int m_xruns; 
    159     unsigned int m_framerate; 
    160  
    161     StreamProcessorManager *m_manager; 
    162      
    163146    bool m_running; 
    164147    bool m_disabled; 
     
    166149    unsigned int m_cycle_to_enable_at; 
    167150 
     151//--- data buffering and accounting 
     152public: // FIXME: should be private 
     153    Util::TimestampedBuffer *m_data_buffer; 
     154 
     155protected: 
     156    unsigned int m_xruns; 
     157 
     158    StreamProcessorManager *m_manager; 
    168159 
    169160    // frame counter & sync stuff 
     
    263254 
    264255        int getLastCycle() {return m_last_cycle;}; 
    265         int getFrameRate() {return m_framerate;}; 
    266256 
    267257        int getBufferFill(); 
    268258 
    269259    protected: 
    270  
    271260        float m_ticks_per_frame; 
    272  
    273261        int m_last_cycle; 
    274262        int m_sync_delay; 
     263 
     264protected: // SPM related 
     265    void setManager(StreamProcessorManager *manager) {m_manager=manager;}; 
     266    void clearManager() {m_manager=NULL;}; 
    275267 
    276268public: