cleanup
This commit is contained in:
@@ -18,21 +18,21 @@ pos_map_queue::pos_map_queue( const pos_map_queue &cpy )
|
||||
*this = cpy;
|
||||
}
|
||||
|
||||
void pos_map_queue::Insert( int64_t frameno, int pos, int got_frames )
|
||||
void pos_map_queue::Insert( int64_t iFrame, int iPosition, int iGotFrames )
|
||||
{
|
||||
if( m_Queue.size() )
|
||||
{
|
||||
/* Optimization: If the last entry lines up with this new entry, just merge them. */
|
||||
pos_map_t &last = m_Queue.back();
|
||||
if( last.m_iFrameNo+last.m_iFrames == frameno &&
|
||||
last.m_iPosition+last.m_iFrames == pos )
|
||||
if( last.m_iFrameNo+last.m_iFrames == iFrame &&
|
||||
last.m_iPosition+last.m_iFrames == iPosition )
|
||||
{
|
||||
last.m_iFrames += got_frames;
|
||||
last.m_iFrames += iGotFrames;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
m_Queue.push_back( pos_map_t(frameno, pos, got_frames) );
|
||||
m_Queue.push_back( pos_map_t(iFrame, iPosition, iGotFrames) );
|
||||
|
||||
Cleanup();
|
||||
}
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
struct pos_map_t
|
||||
{
|
||||
/* Frame number from the POV of the sound driver: */
|
||||
int64_t frameno;
|
||||
int64_t m_iFrameNo;
|
||||
|
||||
/* Actual sound position within the sample: */
|
||||
int64_t position;
|
||||
int64_t m_iPosition;
|
||||
|
||||
/* The number of frames in this block: */
|
||||
int64_t frames;
|
||||
int64_t m_iFrames;
|
||||
|
||||
pos_map_t() { frameno=0; position=0; frames=0; }
|
||||
pos_map_t( int64_t frame, int pos, int cnt ) { frameno=frame; position=pos; frames=cnt; }
|
||||
pos_map_t() { m_iFrameNo = 0; m_iPosition = 0; m_iFrames = 0; }
|
||||
pos_map_t( int64_t iFrame, int iPosition, int iFrames ) { m_iFrameNo = iFrame; m_iPosition = iPosition; m_iFrames = iFrames; }
|
||||
};
|
||||
|
||||
/* This class maps one range of frames to another. */
|
||||
@@ -27,11 +27,11 @@ public:
|
||||
pos_map_queue();
|
||||
pos_map_queue( const pos_map_queue &cpy );
|
||||
|
||||
/* Insert a mapping from frameno to position, containing pos got_frames. */
|
||||
void Insert( int64_t frameno, int position, int got_frames );
|
||||
/* Insert a mapping from iFrame to iPosition, containing pos iGotFrames. */
|
||||
void Insert( int64_t iFrame, int iPosition, int iGotFrames );
|
||||
|
||||
/* Return the position for the given frameno. */
|
||||
int64_t Search( int64_t frameno, bool *approximate ) const;
|
||||
/* Return the position for the given iFrame. */
|
||||
int64_t Search( int64_t iFrame, bool *bApproximate ) const;
|
||||
|
||||
/* Erase all mappings. */
|
||||
void Clear();
|
||||
|
||||
Reference in New Issue
Block a user