linux-2.6.33/snd_pcm_period_elapsed()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#la39e38d]
#backlinks
*説明 [#g7c63d2a]
-パス: [[linux-2.6.33/sound/core/pcm_lib.c]]
-FIXME: これは何?
--説明
**引数 [#sfafa272]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
**返り値 [#k1e539b4]
-なし
**参考 [#g380701c]
*実装 [#gb4e68db]
/**
* snd_pcm_period_elapsed - update the pcm status for th...
* @substream: the pcm substream instance
*
* This function is called from the interrupt handler wh...
* PCM has processed the period size. It will update th...
* pointer, wake up sleepers, etc.
*
* Even if more than one periods have elapsed since the ...
* have to call this only once.
*/
void snd_pcm_period_elapsed(struct snd_pcm_substream *su...
{
struct snd_pcm_runtime *runtime;
unsigned long flags;
-
--[[linux-2.6.33/snd_pcm_runtime]]
if (PCM_RUNTIME_CHECK(substream))
return;
runtime = substream->runtime;
-
--[[linux-2.6.33/PCM_RUNTIME_CHECK()]]
if (runtime->transfer_ack_begin)
runtime->transfer_ack_begin(substream);
snd_pcm_stream_lock_irqsave(substream, flags);
if (!snd_pcm_running(substream) ||
snd_pcm_update_hw_ptr_interrupt(substream) < 0)
goto _end;
-
--[[linux-2.6.33/snd_pcm_stream_lock_irqsave()]]
-
--[[linux-2.6.33/snd_pcm_running()]]
-
--[[linux-2.6.33/snd_pcm_update_hw_ptr_interrupt()]]
if (substream->timer_running)
snd_timer_interrupt(substream->timer, 1);
-
--[[linux-2.6.33/snd_timer_interrupt()]]
_end:
snd_pcm_stream_unlock_irqrestore(substream, flags);
if (runtime->transfer_ack_end)
runtime->transfer_ack_end(substream);
-
--[[linux-2.6.33/snd_pcm_stream_unlock_irqrestore()]]
kill_fasync(&runtime->fasync, SIGIO, POLL_IN);
-
--[[linux-2.6.33/kill_fasync()]]
}
EXPORT_SYMBOL(snd_pcm_period_elapsed);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#aec298f0]
終了行:
*参照元 [#la39e38d]
#backlinks
*説明 [#g7c63d2a]
-パス: [[linux-2.6.33/sound/core/pcm_lib.c]]
-FIXME: これは何?
--説明
**引数 [#sfafa272]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
**返り値 [#k1e539b4]
-なし
**参考 [#g380701c]
*実装 [#gb4e68db]
/**
* snd_pcm_period_elapsed - update the pcm status for th...
* @substream: the pcm substream instance
*
* This function is called from the interrupt handler wh...
* PCM has processed the period size. It will update th...
* pointer, wake up sleepers, etc.
*
* Even if more than one periods have elapsed since the ...
* have to call this only once.
*/
void snd_pcm_period_elapsed(struct snd_pcm_substream *su...
{
struct snd_pcm_runtime *runtime;
unsigned long flags;
-
--[[linux-2.6.33/snd_pcm_runtime]]
if (PCM_RUNTIME_CHECK(substream))
return;
runtime = substream->runtime;
-
--[[linux-2.6.33/PCM_RUNTIME_CHECK()]]
if (runtime->transfer_ack_begin)
runtime->transfer_ack_begin(substream);
snd_pcm_stream_lock_irqsave(substream, flags);
if (!snd_pcm_running(substream) ||
snd_pcm_update_hw_ptr_interrupt(substream) < 0)
goto _end;
-
--[[linux-2.6.33/snd_pcm_stream_lock_irqsave()]]
-
--[[linux-2.6.33/snd_pcm_running()]]
-
--[[linux-2.6.33/snd_pcm_update_hw_ptr_interrupt()]]
if (substream->timer_running)
snd_timer_interrupt(substream->timer, 1);
-
--[[linux-2.6.33/snd_timer_interrupt()]]
_end:
snd_pcm_stream_unlock_irqrestore(substream, flags);
if (runtime->transfer_ack_end)
runtime->transfer_ack_end(substream);
-
--[[linux-2.6.33/snd_pcm_stream_unlock_irqrestore()]]
kill_fasync(&runtime->fasync, SIGIO, POLL_IN);
-
--[[linux-2.6.33/kill_fasync()]]
}
EXPORT_SYMBOL(snd_pcm_period_elapsed);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#aec298f0]
ページ名: