U E D R S I H C RSS
ID
Password
Join
不道德의 근원은 나만은 예외라고 생각하는 버릇. ―제인 아담즈

 * 레퍼런스 메뉴얼에서 "Queuing Buffers on a Source"를 번역했습니다. 약간 원문과 다를 수 있습니다. :)

버퍼 큐 처리 #

중간에 끊김없이 소스로 스트리밍 처리를 하려면 "버퍼 큐 처리"가 필요합니다. 버퍼 큐를 사용하려면 우선 일반적인 방법으로 버퍼들과 소스를 생성합니다. 하지만 이때 alSourcei()는 사용하지 않습니다. 대신, alSourceQueueBuffers()와 alSourceUnqueueBuffers()가 사용됩니다.
  • alSourceQueueBuffers() : 한개이상의 버퍼를 하나의 소스에 할당합니다.
  • alSourcePlay() : 소스를 재생합니다.
  • alSourceUnqueueBuffers() : 소스가 재생되는 동안 이미 재생된 버퍼를 처리하는데 사용.

이미 재생된 버퍼는 다시 새로운 PCM 데이타로 채워지거나 버리게 됩니다. 버퍼에 새로 데이타를 채웠을 경우에는 alSourceQueueBuffers()을 사용하여 다시 등록합니다. 이렇게 하면 큐에 재생할 버퍼가 존재하는한 계속 연속적으로 재생이 계속될 겁니다.

몇몇 플렛폼에서의 OpenAL 구현은 다음의 제약사항을 강제하지 않을 수도 있습니다만, 가급적 지켜주는 것이 좋습니다.
  1. 스트리밍에 사용하는 소스에는 이미 alSourcei()를 적용한 것을 사용하면 안됩니다. 항상 alSourceQueueBuffers()을 사용하시기 바랍니다.
  2. alSourceQueueBuffers()을 적용할 버퍼들은 모두 같은 포맷이어야만 합니다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.0517 sec