Browse Source

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
tags/v0.6
Michael Niedermayer 16 years ago
parent
commit
55b5859867
2 changed files with 3 additions and 19 deletions
  1. +1
    -5
      libavformat/timefilter.c
  2. +2
    -14
      libavformat/timefilter.h

+ 1
- 5
libavformat/timefilter.c 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;
} }

+ 2
- 14
libavformat/timefilter.h 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).
*/
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
* result is undetermined.
* @return the filtered time, in seconds
*/ */
double ff_timefilter_read(TimeFilter *);
double ff_timefilter_update(TimeFilter *self, double system_time, double period);


/** /**
* Reset the filter * Reset the filter


Loading…
Cancel
Save