Merge ff_timefilter_read() and ff_timefilter_update(), this simplifies API and

avoids calling them in the wrong order.

Originally committed as revision 17841 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2009-03-06 00:14:44 +00:00
parent 08ffd3708b
commit 55b5859867
2 changed files with 4 additions and 20 deletions

View File

@ -53,7 +53,7 @@ void ff_timefilter_reset(TimeFilter *self)
self->cycle_time = 0; self->cycle_time = 0;
} }
void ff_timefilter_update(TimeFilter *self, double system_time, double period) double ff_timefilter_update(TimeFilter *self, double system_time, double period)
{ {
if (!self->cycle_time) { if (!self->cycle_time) {
/// init loop /// init loop
@ -68,9 +68,5 @@ void ff_timefilter_update(TimeFilter *self, double system_time, double period)
self->cycle_time += self->feedback2_factor * loop_error; self->cycle_time += self->feedback2_factor * loop_error;
self->integrator2_state += self->feedback3_factor * loop_error / period; self->integrator2_state += self->feedback3_factor * loop_error / period;
} }
}
double ff_timefilter_read(TimeFilter *self)
{
return self->cycle_time; return self->cycle_time;
} }

View File

@ -68,22 +68,10 @@ TimeFilter * ff_timefilter_new(double feedback2_factor, double feedback3_factor)
* at (or as close as possible to) the moment the device hardware interrupt * at (or as close as possible to) the moment the device hardware interrupt
* occured (or any other event the device clock raises at the beginning of a * occured (or any other event the device clock raises at the beginning of a
* cycle). * cycle).
*
* @return the filtered time, in seconds
*/ */
void ff_timefilter_update(TimeFilter *self, double system_time, double period); double ff_timefilter_update(TimeFilter *self, double system_time, double period);
/**
* Retrieve the filtered time
*
* The returned value represents the filtered time, in seconds, of the
* beginning of the current cycle as updated by the last call to
* ff_timefilter_update()
*
* This is the value that should be used for timestamping.
*
* Warning: you must call ff_timefilter_update() before this, otherwise the
* result is undetermined.
*/
double ff_timefilter_read(TimeFilter *);
/** /**
* Reset the filter * Reset the filter