diff -r 9b2c3c7a1a9c -r 567bb019e3e3 gst_plugins_base/gst/audiotestsrc/gstaudiotestsrc.h --- a/gst_plugins_base/gst/audiotestsrc/gstaudiotestsrc.h Wed Mar 31 22:03:18 2010 +0300 +++ b/gst_plugins_base/gst/audiotestsrc/gstaudiotestsrc.h Tue Aug 31 15:30:33 2010 +0300 @@ -45,9 +45,11 @@ * @GST_AUDIO_TEST_SRC_WAVE_SAW: a saw wave * @GST_AUDIO_TEST_SRC_WAVE_TRIANGLE: a tringle wave * @GST_AUDIO_TEST_SRC_WAVE_SILENCE: silence - * @GST_AUDIO_TEST_SRC_WAVE_WHITE_NOISE: white noise + * @GST_AUDIO_TEST_SRC_WAVE_WHITE_NOISE: white uniform noise * @GST_AUDIO_TEST_SRC_WAVE_PINK_NOISE: pink noise * @GST_AUDIO_TEST_SRC_WAVE_SINE_TAB: sine wave using a table + * @GST_AUDIO_TEST_SRC_WAVE_TICKS: periodic ticks + * @GST_AUDIO_TEST_SRC_WAVE_GAUSSIAN_WHITE_NOISE: white (zero mean) Gaussian noise; volume sets the standard deviation of the noise in units of the range of values of the sample type, e.g. volume=0.1 produces noise with a standard deviation of 0.1*32767=3277 with 16-bit integer samples, or 0.1*1.0=0.1 with floating-point samples. * * Different types of supported sound waves. */ @@ -59,7 +61,9 @@ GST_AUDIO_TEST_SRC_WAVE_SILENCE, GST_AUDIO_TEST_SRC_WAVE_WHITE_NOISE, GST_AUDIO_TEST_SRC_WAVE_PINK_NOISE, - GST_AUDIO_TEST_SRC_WAVE_SINE_TAB + GST_AUDIO_TEST_SRC_WAVE_SINE_TAB, + GST_AUDIO_TEST_SRC_WAVE_TICKS, + GST_AUDIO_TEST_SRC_WAVE_GAUSSIAN_WHITE_NOISE } GstAudioTestSrcWave; #define PINK_MAX_RANDOM_ROWS (30) @@ -103,19 +107,23 @@ gdouble freq; /* audio parameters */ + gint channels; gint samplerate; gint samples_per_buffer; + gint sample_size; GstAudioTestSrcFormat format; /*< private >*/ gboolean tags_pushed; /* send tags just once ? */ GstClockTimeDiff timestamp_offset; /* base offset */ - GstClockTime running_time; /* total running time */ - gint64 n_samples; /* total samples sent */ - gint64 n_samples_stop; + GstClockTime next_time; /* next timestamp */ + gint64 next_sample; /* next sample to send */ + gint64 next_byte; /* next byte to send */ + gint64 sample_stop; gboolean check_seek_stop; gboolean eos_reached; gint generate_samples_per_buffer; /* used to generate a partial buffer */ + gboolean can_activate_pull; /* waveform specific context data */ gdouble accumulator; /* phase angle */