Freigeben über


AVISTREAMINFOA-Struktur (vfw.h)

Die AVISTREAMINFO Struktur enthält Informationen für einen einzelnen Datenstrom.

Syntax

typedef struct _AVISTREAMINFOA {
  DWORD fccType;
  DWORD fccHandler;
  DWORD dwFlags;
  DWORD dwCaps;
  WORD  wPriority;
  WORD  wLanguage;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwStart;
  DWORD dwLength;
  DWORD dwInitialFrames;
  DWORD dwSuggestedBufferSize;
  DWORD dwQuality;
  DWORD dwSampleSize;
  RECT  rcFrame;
  DWORD dwEditCount;
  DWORD dwFormatChangeCount;
  char  szName[64];
} AVISTREAMINFOA, *LPAVISTREAMINFOA;

Angehörige

fccType

Vierstelligen Code, der den Datenstromtyp angibt. Die folgenden Konstanten wurden für die Daten definiert, die häufig in AVI-Datenströmen gefunden werden:

Konstante Beschreibung
streamtypeAUDIO-
Gibt einen Audiodatenstrom an.
streamtypeMIDI
Gibt einen MIDI-Stream an.
streamtypeTEXT-
Gibt einen Textstrom an.
streamtypeVIDEO-
Gibt einen Videostream an.

fccHandler

Vierstelligen Code des Kompressorhandlers, der diesen Videodatenstrom komprimiert, wenn er gespeichert wird (z. B. mmioFOURCC ('M','S','V','C')). Dieses Element wird nicht für Audiodatenströme verwendet.

dwFlags

Anwendbare Flags für den Datenstrom. Die Bits im Wort mit hoher Reihenfolge dieser Flags sind spezifisch für den Datentyp, der im Datenstrom enthalten ist. Die folgenden Flags sind definiert:

Name Beschreibung
AVISTREAMINFO_DISABLED
Gibt an, dass dieser Datenstrom gerendert werden soll, wenn er vom Benutzer explizit aktiviert wird.
AVISTREAMINFO_FORMATCHANGES
Gibt an, dass dieser Videodatenstrom Palettenänderungen enthält. Dieses Kennzeichen warnt die Wiedergabesoftware, dass sie die Palette animieren muss.

dwCaps

Funktionskennzeichnungen; zurzeit nicht verwendet.

wPriority

Priorität des Datenstroms.

wLanguage

Sprache des Datenstroms.

dwScale

Zeitskala, die für den Datenstrom gilt. Das Dividieren dwRate- durch dwScale- gibt die Wiedergaberate pro Sekunde an Beispielen an.

Bei Videostreams sollte diese Rate die Bildfrequenz sein. Bei Audiodatenströmen sollte diese Rate der Audioblockgröße entsprechen (die nBlockAlign Member des WAVEFORMAT oder PCMWAVEFORMAT Struktur), das für PCM (Pulse Code Modulation) audio reduziert wird, auf die Samplingrate reduziert.

dwRate

Rate in einem ganzzahligen Format. Um die Rate in Stichproben pro Sekunde zu erhalten, dividieren Sie diesen Wert durch den Wert in dwScale.

dwStart

Beispielnummer des ersten Frames der AVI-Datei. Die Einheiten werden durch dwRate und dwScale-definiert. Normalerweise ist dies null, kann aber eine Verzögerungszeit für einen Datenstrom angeben, der nicht gleichzeitig mit der Datei gestartet wird.

Die 1.0-Version der AVI-Tools unterstützt keine Nichtzero-Startzeit.

dwLength

Länge dieses Datenstroms. Die Einheiten werden durch dwRate und dwScale-definiert.

dwInitialFrames

Audio-Schiefe. Dieses Element gibt an, wie viel die Audiodaten vor den Videoframes in überlappenden Dateien verzerren. In der Regel beträgt dies etwa 0,75 Sekunden.

dwSuggestedBufferSize

Empfohlene Puffergröße in Byte für den Datenstrom. In der Regel enthält dieses Element einen Wert, der dem größten Datenblock im Datenstrom entspricht. Durch die Verwendung der richtigen Puffergröße wird die Wiedergabe effizienter. Verwenden Sie Null, wenn Sie die richtige Puffergröße nicht kennen.

dwQuality

Qualitätsindikator für die Videodaten im Datenstrom. Die Qualität wird als Zahl zwischen 0 und 10.000 dargestellt. Bei komprimierten Daten stellt dies normalerweise den Wert des Qualitätsparameters dar, der an die Komprimierungssoftware übergeben wird. Bei Festlegung auf –1 verwenden Treiber den Standardwert für die Qualität.

dwSampleSize

Größe eines einzelnen Datenbeispiels in Bytes. Wenn der Wert dieses Elements null ist, können die Beispiele in der Größe variieren, und jedes Datenbeispiel (z. B. ein Videoframe) muss sich in einem separaten Block befinden. Ein Wert ungleich Null gibt an, dass mehrere Datenbeispiele in einem einzelnen Datenabschnitt in der Datei gruppiert werden können.

Bei Videostreams ist diese Zahl in der Regel null, obwohl sie nicht null sein kann, wenn alle Videoframes die gleiche Größe aufweisen. Bei Audiodatenströmen sollte diese Zahl mit dem nBlockAlign- Member des WAVEFORMAT- oder WAVEFORMATEX- Struktur übereinstimmen, die die Audiodaten beschreibt.

rcFrame

Abmessungen des Videozielrechtecks. Die Werte stellen die Koordinaten der oberen linken Ecke, die Höhe und die Breite des Rechtecks dar.

dwEditCount

Häufigkeit, mit der der Datenstrom bearbeitet wurde. Der Datenstromhandler verwaltet diese Anzahl.

dwFormatChangeCount

Häufigkeit, mit der das Datenstromformat geändert wurde. Der Datenstromhandler verwaltet diese Anzahl.

szName[64]

Null-beendete Zeichenfolge, die eine Beschreibung des Datenstroms enthält.

Bemerkungen

Anmerkung

Der vfw.h-Header definiert AVISTREAMINFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- vfw.h

Siehe auch

AVIFile-Funktionen und Makros

AVIFile-Strukturen

PCMWAVEFORMAT

WAVEFORMAT-

WAVEFORMATEX-

mmioFOURCC