Merge ff_timefilter_read() and ff_timefilter_update(), this simplifies API and
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 6 Mar 2009 00:14:44 +0000 (00:14 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 6 Mar 2009 00:14:44 +0000 (00:14 +0000)
avoids calling them in the wrong order.

Originally committed as revision 17841 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/timefilter.c
libavformat/timefilter.h

index 26d57c0..a90371f 100644 (file)
@@ -53,7 +53,7 @@ void ff_timefilter_reset(TimeFilter *self)
     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) {
         /// 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->integrator2_state += self->feedback3_factor * loop_error / period;
     }
-}
-
-double ff_timefilter_read(TimeFilter *self)
-{
     return self->cycle_time;
 }
index 85199fe..3532aed 100644 (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
  * occured (or any other event the device clock raises at the beginning of a
  * 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