1
OpenAL-alGetSourceiとAL_BUFFERS_PROCESSEDがジャンクを与える
この質問をSOに投稿しましたが、回答がありませんでした。多分誰かがここで私を助けることができます。 私は最近、WAVとOggのサウンドをOpenALでストリーミングする、うまく機能するプログラムを持っていました。次に、ソースオブジェクトとバッファオブジェクトをC ++クラスに抽象化することにしました。私はソースクラスまで行きました。処理されたバッファの数を返す私の関数は、に渡される整数を変更していませんalGetSourcei。 int ALSource::GetBuffersProcessed() const { ALint processed; alGetSourcei(this->source, AL_BUFFERS_PROCESSED, &processed); int error = alGetError(); if(error != AL_NO_ERROR) return -1; return processed; } 私errorはそれが決して決して何でもないことを確認しましたAL_NO_ERROR。コンストラクターでソースを生成します。 alGenSources(1, &source); これによってエラーが発生することもありません。 これの実際の症状は、processed宣言されているが初期化されていないことです。最終値は、最初のジャンク値です。(通常-8834824334のようなもの)。 これは予想される動作でしょうか?OpenAL仕様では、値はその値である必要があります0 - anyが、実際にはそれよりも具体的ではありません。プログラマーのガイドも同じです。