Commit 55b58598 authored by Michael Niedermayer's avatar Michael Niedermayer

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
parent 08ffd370
...@@ -53,7 +53,7 @@ void ff_timefilter_reset(TimeFilter *self) ...@@ -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) ...@@ -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;
} }
...@@ -68,22 +68,10 @@ TimeFilter * ff_timefilter_new(double feedback2_factor, double feedback3_factor) ...@@ -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).
*/
void 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 * @return the filtered time, in seconds
* result is undetermined.
*/ */
double ff_timefilter_read(TimeFilter *); double ff_timefilter_update(TimeFilter *self, double system_time, double period);
/** /**
* Reset the filter * Reset the filter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment