class PositionManager
Defined at line 18 of file ../../src/media/audio/lib/processing/position_manager.h
Class that handles the updating of source and destination positions, as a resampler steps through
source buffers with a specific step size (based on the resampling ratio). This class extracts a
significant amount of duplicate code across the samplers.
Public Methods
void PositionManager (int32_t source_channel_count, int32_t dest_channel_count, int64_t positive_length, int64_t negative_length)
Defined at line 20 of file ../../src/media/audio/lib/processing/position_manager.cc
void ~PositionManager ()
Defined at line 22 of file ../../src/media/audio/lib/processing/position_manager.h
void PositionManager (const PositionManager & other)
Non-copyable and non-movable.
Defined at line 25 of file ../../src/media/audio/lib/processing/position_manager.h
PositionManager & operator= (const PositionManager & other)
Defined at line 26 of file ../../src/media/audio/lib/processing/position_manager.h
void PositionManager (PositionManager && other)
Defined at line 27 of file ../../src/media/audio/lib/processing/position_manager.h
PositionManager & operator= (PositionManager && other)
Defined at line 28 of file ../../src/media/audio/lib/processing/position_manager.h
void CheckPositions (int64_t dest_frame_count, int64_t * dest_offset_ptr, int64_t source_frame_count, int64_t source_offset, int64_t frac_pos_filter_length, int64_t frac_step_size, uint64_t step_size_modulo, uint64_t step_size_denominator, uint64_t source_pos_modulo)
Used for debugging purposes only.
Validates source and destination frame positions.
Defined at line 31 of file ../../src/media/audio/lib/processing/position_manager.cc
template <typename SourceSampleType>
SourceSampleType * CurrentSourceFrame ()
Retrieves the pointer to the current source frame (based on source offset).
Defined at line 51 of file ../../src/media/audio/lib/processing/position_manager.h
float * CurrentDestFrame ()
Retrieves the pointer to the current destination frame (based on destination offset).
Defined at line 60 of file ../../src/media/audio/lib/processing/position_manager.h
bool CanFrameBeMixed ()
Returns true if there is enough remaining source data and destination space to produce another
frame.
Defined at line 64 of file ../../src/media/audio/lib/processing/position_manager.h
bool IsSourceConsumed ()
Returns true if there is NOT enough remaining source data to produce another output frame.
Defined at line 69 of file ../../src/media/audio/lib/processing/position_manager.h
int64_t AdvanceFrame ()
Advances one dest frame (and related source, incl modulo); return the new source_offset.
Defined at line 72 of file ../../src/media/audio/lib/processing/position_manager.h
Fixed source_offset ()
Returns source frame offset.
Defined at line 93 of file ../../src/media/audio/lib/processing/position_manager.h
int64_t dest_offset ()
Returns destination frame offset.
Defined at line 96 of file ../../src/media/audio/lib/processing/position_manager.h
void Display ()
Defined at line 97 of file ../../src/media/audio/lib/processing/position_manager.cc
uint64_t source_pos_modulo ()
Returns source position modulo.
Defined at line 99 of file ../../src/media/audio/lib/processing/position_manager.h
void DisplayUpdate ()
Defined at line 115 of file ../../src/media/audio/lib/processing/position_manager.cc
void SetSourceValues (const void * source_void_ptr, int64_t source_frame_count, Fixed * source_offset_ptr)
Establishes the parameters for this source and dest
Defined at line 139 of file ../../src/media/audio/lib/processing/position_manager.cc
void SetDestValues (float * dest_ptr, int64_t dest_frame_count, int64_t * dest_offset_ptr)
Defined at line 123 of file ../../src/media/audio/lib/processing/position_manager.cc
void SetRateValues (int64_t step_size, uint64_t step_size_modulo, uint64_t step_size_denominator, uint64_t source_pos_modulo)
Specifies the rate parameters. If not called, a unity rate (1:1) is assumed.
Defined at line 156 of file ../../src/media/audio/lib/processing/position_manager.cc
int64_t AdvanceToEnd ()
Advances to the end of this source and destination combo, returning the integer source frames
advanced. Skips as much source and destination frames as possible, returning the number of
whole source frames skipped.
Defined at line 177 of file ../../src/media/audio/lib/processing/position_manager.cc
void UpdateOffsets ()
Writes back the final offset values.
Defined at line 231 of file ../../src/media/audio/lib/processing/position_manager.cc