私はffmpegを広範囲に使用するいくつかのソフトウェアを書いています、そしてそれは複数のクラスインスタンスを持つマルチスレッドです。
ネットワーク接続が切断された場合、ffmpegは読み取りを停止します。ffmpegが定期的に起動するコールバックを割り当てて、中止する必要があるかどうかを確認するメソッドを見つけました。
static int interrupt_cb(void *ctx)
{
// do something
return 0;
}
static const libffmpeg::AVIOInterruptCB int_cb = { interrupt_cb, NULL };
..。
AVFormatContext* formatContext = libffmpeg::avformat_alloc_context( );
formatContext->interrupt_callback = int_cb;
if ( libffmpeg::avformat_open_input( &formatContext, fileName, NULL, NULL ) !=0 ) {...}
これはすべて問題ありませんが、* ctxに含まれるものと、コールバックが1または0を返すかどうかを判断する方法をWeb上のどこにも見つけることができません。クラスには多くのインスタンスがあるため、静的な「abort」フラグを割り当てることができません。また、何らかの理由でVisual Studioが戻り値0にブレークポイントを設定することを拒否しているため、コードをデバッグできません。行、実行可能コードが場所に関連付けられていないと主張します。何か案は?