*参照元 [#m389a486] #backlinks *説明 [#n600820c] -パス: [[linux-2.6.33/sound/core/pcm_native.c]] -FIXME: これは何? --説明 **引数 [#m8bc5ff3] -struct snd_pcm *pcm -- --[[linux-2.6.33/snd_pcm]] -int stream -- --[[linux-2.6.33/]] -struct file *file -- --[[linux-2.6.33/file]] -struct snd_pcm_substream **rsubstream -- --[[linux-2.6.33/snd_pcm_substream]] **返り値 [#ud2dea47] -int -- **参考 [#j4e3cdee] *実装 [#t86dfc63] int snd_pcm_open_substream(struct snd_pcm *pcm, int stream, struct file *file, struct snd_pcm_substream **rsubstream) { struct snd_pcm_substream *substream; int err; err = snd_pcm_attach_substream(pcm, stream, file, &substream); if (err < 0) return err; if (substream->ref_count > 1) { *rsubstream = substream; return 0; } err = snd_pcm_hw_constraints_init(substream); if (err < 0) { snd_printd("snd_pcm_hw_constraints_init failed\n"); goto error; } if ((err = substream->ops->open(substream)) < 0) goto error; substream->hw_opened = 1; err = snd_pcm_hw_constraints_complete(substream); if (err < 0) { snd_printd("snd_pcm_hw_constraints_complete failed\n"); goto error; } *rsubstream = substream; return 0; error: snd_pcm_release_substream(substream); return err; } EXPORT_SYMBOL(snd_pcm_open_substream); *コメント [#xf7f647e]