-1

BB10 でカメラ プレビュー バッファを opengl レンダラーにレンダリングしようとすると問題が発生します (ただし、どのプラットフォームにも関連します)。私のレンダラーは、比較的無限のレンダー ループを通過する基本的なオープン gl レンダラーですが、カメラ クラス (レンダラーをインスタンス化する場所) からカメラ プレビュー バッファーを送信しようとしています。

myThread = new QThread();
renderer = new BPRenderer();
renderer->moveToThread(myThread);
connect(myThread, SIGNAL(started()), renderer, SLOT(run()));
connect(this, SIGNAL(NewTexture(int)), renderer, SLOT(SetTextureFromRaw(unsigned char*)));
myThread->start();

したがって、出力関数は次のとおりです。

emit this->NewTexture(camera->buf);

それはかなり基本的なものであり、私はそれがうまく更新されていることを知っています。しかし、実行信号は正常に実行されますが、settexturefromraw スロットがトリガーされないため、スレッドに問題がある可能性があります。ローカル カメラ関数に設定して、カメラ(この)関数ではないことを確認しようとしましたが、それは機能していましたいいので、settexturefromrawfunc だと確信しています。

これはかなり長い間私を持っていたので、誰かが何かアイデアを持っているなら、私に投げてください! 乾杯

4

1 に答える 1

0

コンソール出力 (デバイスに SSH 接続して "slog2info" を実行する必要がある場合があります) をチェックして、信号が実際に接続されているかどうかを確認します。コードの残りの部分を確認しないと確信が持てませんが、NewTexture の引数が一致していないと推測できます。

接続呼び出しでは、NewTexture(int) に接続しています。あなたがそれを放出するとき、あなたは this->NewTexture(camera->buf) を呼び出しています。引数名からすると、ポインタのように見えます。

于 2012-12-21T14:09:22.983 に答える