0

私の知る限り、フレームがキー フレームかどうかを確認するには、IMediaSample::IsSyncPoint() メソッドを確認する必要があります。このメソッドは、フレームがキー フレームの場合は 0 (S_OK) を返します。その他の場合。

しかし、IsSyncPoint() メソッドは、取得されて ISampleGrabberCB::SampleCB() コールバック メソッドに渡されるすべてのフレームで 0 を返すだけです。

私のコールバックに含まれるコードは単純です:

  public int SampleCB ( double sampleTime, IMediaSample mediaSample )
  {
   Console.WriteLine ( "SampleCB Callback" );
   Console.WriteLine ( mediaSample.IsSyncPoint ( ) + " " );

   Marshal.ReleaseComObject ( mediaSample );
   return 0;
  }

ここで何が欠けていますか?

4

1 に答える 1

1

あなたのメディアの種類は何ですか?サンプル グラバーが圧縮されていないビデオ フレームを受信して​​いる場合、すべてのフレームが同期ポイントです。

于 2011-01-30T18:19:54.003 に答える