/* audio */
static int FirstAudio;
+static bool audio_validated;
static DWORD dwAudioInputRemaining;
static unsigned int StreamSizeAudio; // audio write position
static double StreamSizeAudioExpected, StreamSizeAudioGot;
void AVIOutput_ReleaseAudio (void)
{
+ audio_validated = false;
}
static void AVIOutput_FreeAudioDstFormat ()
static int AVIOutput_AudioAllocated (void)
{
- return pwfxDst ? 1 : 0;
+ return pwfxDst && audio_validated;
}
static int AVIOutput_AllocateAudio (void)
ACMFORMATTAGDETAILS aftd;
ACMFORMATDETAILS afd;
+ audio_validated = false;
memset(&aftd, 0, sizeof (ACMFORMATTAGDETAILS));
aftd.cbStruct = sizeof (ACMFORMATTAGDETAILS);
aftd.dwFormatTag = wft->wFormatTag;
if (name)
_stprintf (name, _T("%s %s"), aftd.szFormatTag, afd.szFormat);
+ audio_validated = true;
return 1;
}
return ok;
}
-
-
static int AVIOutput_GetAudioCodecName (WAVEFORMATEX *wft, TCHAR *name, int len)
{
return AVIOutput_ValidateAudio (wft, name, len);