diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-01-12 11:40:08 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-01-12 11:40:08 +0300 |
commit | a29fb94ff48cba620e1ac1317f5eef5920ead3ff (patch) | |
tree | 2fb8e026712bdf7848ea400e25118f6a58824a02 /include/sound/pcm.h | |
parent | 52a7a5835173af61b9f6c3038212370d9717526f (diff) | |
parent | dd3533eca859a6debb1565503ec03e68354e08e0 (diff) | |
download | linux-a29fb94ff48cba620e1ac1317f5eef5920ead3ff.tar.xz |
Merge commit alsa/devel into topic/misc
Conflicts:
include/sound/version.h
Diffstat (limited to 'include/sound/pcm.h')
-rw-r--r-- | include/sound/pcm.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 0ad2d28f2360..1d4ca2aae50d 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -262,6 +262,8 @@ struct snd_pcm_hw_constraint_list { unsigned int mask; }; +struct snd_pcm_hwptr_log; + struct snd_pcm_runtime { /* -- Status -- */ struct snd_pcm_substream *trigger_master; @@ -269,7 +271,6 @@ struct snd_pcm_runtime { int overrange; snd_pcm_uframes_t avail_max; snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ - snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */ unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */ snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */ @@ -310,6 +311,7 @@ struct snd_pcm_runtime { struct snd_pcm_mmap_control *control; /* -- locking / scheduling -- */ + unsigned int nowake: 1; /* no wakeup (data-copy in progress) */ wait_queue_head_t sleep; struct fasync_struct *fasync; @@ -340,6 +342,10 @@ struct snd_pcm_runtime { /* -- OSS things -- */ struct snd_pcm_oss_runtime oss; #endif + +#ifdef CONFIG_SND_PCM_XRUN_DEBUG + struct snd_pcm_hwptr_log *hwptr_log; +#endif }; struct snd_pcm_group { /* keep linked substreams */ @@ -834,6 +840,8 @@ void snd_pcm_set_sync(struct snd_pcm_substream *substream); int snd_pcm_lib_interleave_len(struct snd_pcm_substream *substream); int snd_pcm_lib_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg); +int snd_pcm_update_state(struct snd_pcm_substream *substream, + struct snd_pcm_runtime *runtime); int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream); int snd_pcm_playback_xrun_check(struct snd_pcm_substream *substream); int snd_pcm_capture_xrun_check(struct snd_pcm_substream *substream); |