--- 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 */