次の方法で共有


tagAM_SAMPLE_PROPERTY_FLAGS列挙 (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

AM_SAMPLE2_PROPERTIES構造体の値を指定します。 これらの値は、メディア サンプルのプロパティを表します。

構文

typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
  AM_SAMPLE_SPLICEPOINT = 0x1,
  AM_SAMPLE_PREROLL = 0x2,
  AM_SAMPLE_DATADISCONTINUITY = 0x4,
  AM_SAMPLE_TYPECHANGED = 0x8,
  AM_SAMPLE_TIMEVALID = 0x10,
  AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  AM_SAMPLE_STOPVALID = 0x100,
  AM_SAMPLE_ENDOFSTREAM = 0x200,
  AM_STREAM_MEDIA = 0,
  AM_STREAM_CONTROL = 1
} ;

定数

 
AM_SAMPLE_SPLICEPOINT
値: 0x1
サンプルはスプライス ポイントです (前のデータを参照せずにデコードできます)。
AM_SAMPLE_PREROLL
値: 0x2
サンプルはプリロール サンプルです。
AM_SAMPLE_DATADISCONTINUITY
値: 0x4
このサンプルの初期データはスプライス ポイントです。 前のサンプルのデータは、このサンプルのデータの後に続くものではありません。 詳細については、「解説」を参照してください。
AM_SAMPLE_TYPECHANGED
値: 0x8
サンプルの種類が変更されました。
AM_SAMPLE_TIMEVALID
値: 0x10
時間は有効です。
AM_SAMPLE_TIMEDISCONTINUITY
値: 0x40
このサンプルの後に、データの時間差が開始されます。 この場合、 AM_SAMPLE2_PROPERTIES 構造体は NULL にすることができます。
AM_SAMPLE_FLUSH_ON_PAUSE
値: 0x80
ライブ データの場合のみ。は、一時停止状態の破棄を示します。
AM_SAMPLE_STOPVALID
値: 0x100
停止時間は有効です。
AM_SAMPLE_ENDOFSTREAM
値: 0x200
ストリームの終了は、このサンプルの後に発生します。 このフラグはカーネル ストリーミング用に予約されています。 現在、DirectShow では使用されません。
AM_STREAM_MEDIA
値: 0
通常のデータ ストリーム識別子。
AM_STREAM_CONTROL
値: 1
ストリーム識別子を制御します。 0x7FFFFFFFより大きい値は、アプリケーション定義ストリームを示します。

注釈

AM_SAMPLE_DATADISCONTINUITY フラグは、現在のメディア サンプルのデータが、前のサンプルのデータと連続していると見なされないことを示します。 AM_SAMPLE_DATADISCONTINUITY フラグが設定されたサンプルを受け取るフィルターでは、バッファー内の未処理のデータを破棄しないでください。 バッファー内のデータを処理する前に受信データを待機しているフィルターは、バッファーされたデータを直ちに処理する必要があります。そのため、バッファー内のデータが不完全な場合は破棄される可能性があります。

たとえば、ビデオ圧縮解除フィルターは、2 つの完全な圧縮ビデオ フレームとそのバッファーに不完全な圧縮ビデオ フレームが 1 つ含まれている場合に、 AM_SAMPLE_DATADISCONTINUITY フラグが設定されたメディア サンプルを受け取る場合があります。 この場合、フィルターは 2 つの完全なフレームを圧縮解除し、不完全な 3 番目のフレームを破棄してから、現在のメディア サンプルからのデータの処理を開始します。

AM_SAMPLE_DATADISCONTINUITY フラグは、フラッシュまたは停止の後に受信した最初のサンプルで設定されます。 さらに、ソースでコンテンツが切り替えられる場合、チャネルの変更が発生した場合 (形式の変更がある場合)、またはストリームの中断のためにデータが不足している場合は、 AM_SAMPLE_DATADISCONTINUITY フラグを使用する必要があります。

AM_SAMPLE_DATADISCONTINUITY フラグは、S_OKを返す IMediaSample::IsDiscontinuity メソッドと同じです。

要件

要件
Header strmif.h (DShow.h を含む)

こちらもご覧ください

DirectShow 列挙型