]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/resampler.h
beefup proplist handling for sound events
[pulseaudio] / src / pulsecore / resampler.h
index 778c738dd25d2d0eedf817b83f99cc16041317fa..8534f5b56f328b557ade63f3faf9460559846a41 100644 (file)
@@ -46,6 +46,7 @@ typedef enum pa_resample_method {
     PA_RESAMPLER_FFMPEG,
     PA_RESAMPLER_AUTO, /* automatic select based on sample format */
     PA_RESAMPLER_COPY,
+    PA_RESAMPLER_PEAKS,
     PA_RESAMPLER_MAX
 } pa_resample_method_t;
 
@@ -69,6 +70,9 @@ void pa_resampler_free(pa_resampler *r);
 /* Returns the size of an input memory block which is required to return the specified amount of output data */
 size_t pa_resampler_request(pa_resampler *r, size_t out_length);
 
+/* Inverse of pa_resampler_request() */
+size_t pa_resampler_result(pa_resampler *r, size_t in_length);
+
 /* Returns the maximum size of input blocks we can process without needing bounce buffers larger than the mempool tile size. */
 size_t pa_resampler_max_block_size(pa_resampler *r);
 
@@ -81,6 +85,9 @@ void pa_resampler_set_input_rate(pa_resampler *r, uint32_t rate);
 /* Change the output rate of the resampler object */
 void pa_resampler_set_output_rate(pa_resampler *r, uint32_t rate);
 
+/* Reinitialize state of the resampler, possibly due to seeking or other discontinuities */
+void pa_resampler_reset(pa_resampler *r);
+
 /* Return the resampling method of the resampler object */
 pa_resample_method_t pa_resampler_get_method(pa_resampler *r);
 
@@ -93,4 +100,5 @@ const char *pa_resample_method_to_string(pa_resample_method_t m);
 /* Return 1 when the specified resampling method is supported */
 int pa_resample_method_supported(pa_resample_method_t m);
 
+
 #endif