Probleme mit AVIStreamWrite
-
Hallo,
Hat jemand von euch schon mal Probleme mit AVIStreamWrite gehabt?
Ich habe ein kleines Programm, das eine AVI-Datei aus BMP-Bilder erstellt. Dabei wird AVIStreamWrite eingesetzt. Komischeweise funktioniert das Programm nicht immer. Unter irgendwelchen von mir unbekannten Umständen scheitert die Funktion und liefert einen negativen Wert zurück. Aber bei einigen Computern finktioniert das einwandfrei. Vielleicht liegt das Problem an den Einstellungen? Hat jemand eine Idee?Danke
-
Das steht in dr Hilfe über diese Funktion:
The AVIStreamWrite function writes data to a stream.
STDAPI AVIStreamWrite(
PAVISTREAM pavi,
LONG lStart,
LONG lSamples,
LPVOID lpBuffer,
LONG cbBuffer,
DWORD dwFlags,
LONG * plSampWritten,
LONG * plBytesWritten
);
Parameterspavi - Handle to an open stream.
lStart - First sample to write.
lSamples - Number of samples to write.
...Kann jemand mir eklären, wo für ist der dritte Parameter zuständig. Was passiert mit dem Videostream, wenn er auf 0 gesetzt wird?
-
martin_pavel schrieb:
Kann jemand mir eklären, wo für ist der dritte Parameter zuständig.
Steht doch dort - die Anzahl der Samples (=Bilder), die du schreiben willst.
PS: Wenn du den Fehler nicht genauer beschreibst, wird dir hier niemand helfen können (ja, die meisten Stammgäste kennen sich halbwegs mit C++ aus, aber Hellseher sind selten).
Wie hast du die Funktion eingesetzt? Und was für ein Fehler ist zurückgekommen? (kleiner Tip: häufig reicht es schon aus, den Fehlercode in etwas lesbares umzuwandeln - schau dir mal FormatMessage() an)
-
CStoll schrieb:
martin_pavel schrieb:
Kann jemand mir eklären, wo für ist der dritte Parameter zuständig.
Steht doch dort - die Anzahl der Samples (=Bilder), die du schreiben willst.
PS: Wenn du den Fehler nicht genauer beschreibst, wird dir hier niemand helfen können (ja, die meisten Stammgäste kennen sich halbwegs mit C++ aus, aber Hellseher sind selten).
Wie hast du die Funktion eingesetzt? Und was für ein Fehler ist zurückgekommen? (kleiner Tip: häufig reicht es schon aus, den Fehlercode in etwas lesbares umzuwandeln - schau dir mal FormatMessage() an)Ich habe den dritten Parameter auf 0 gesetzt und das funktioniert. AVIStreamWrite läuft die ganze Zeit ohne Problem. Aber wenn die AVI-Datei über zwei GB ist, tritt beim Abspielen ein Fehler auf, dass der AVI Header corrupted ist.
-
Das geht IMHO nicht die Größe ist IMHO limitiert auf 0x7fffffff was in etwa 2GB entspricht.
Du musst die Streams aufspallten!