*参照元 [#b2bd0c8d]
#backlinks

*説明 [#hd84564d]
-パス: [[linux-2.6.33/sound/core/pcm_lib.c]]

-FIXME: これは何?
--説明


**引数 [#u7ae7246]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
-struct snd_pcm_runtime *runtime
--
--[[linux-2.6.33/snd_pcm_runtime]]


**返り値 [#r0becd3c]
-snd_pcm_uframes_t
--


**参考 [#l59fed48]


*実装 [#td469302]
 static snd_pcm_uframes_t
 snd_pcm_update_hw_ptr_pos(struct snd_pcm_substream *substream,
 			  struct snd_pcm_runtime *runtime)
 {
 	snd_pcm_uframes_t pos;
 
-
--[[linux-2.6.33/snd_pcm_uframes_t]]

 	pos = substream->ops->pointer(substream);
-substream->ops は snd_pcm_ops 型
--[[linux-2.6.33/snd_pcm_ops]]

 	if (pos == SNDRV_PCM_POS_XRUN)
 		return pos; /* XRUN */
-
--[[linux-2.6.33/SNDRV_PCM_POS_XRUN]]

 	if (pos >= runtime->buffer_size) {
 		if (printk_ratelimit()) {
-
--[[linux-2.6.33/printk_ratelimit()]]

 			char name[16];
 			pcm_debug_name(substream, name, sizeof(name));
 			snd_printd(KERN_ERR  "BUG: %s, pos = 0x%lx, "
 				   "buffer size = 0x%lx, period size = 0x%lx\n",
 				   name, pos, runtime->buffer_size,
 				   runtime->period_size);
-
--[[linux-2.6.33/pcm_debug_name()]]
-
--[[linux-2.6.33/snd_printd()]]

 		}
 		pos = 0;
 	}
 	pos -= pos % runtime->min_align;
 	return pos;
 }


*コメント [#yfdd9dbe]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS