]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Audio codec can be disabled.
authorToni Wilen <twilen@winuae.net>
Tue, 19 May 2015 16:38:52 +0000 (19:38 +0300)
committerToni Wilen <twilen@winuae.net>
Tue, 19 May 2015 16:38:52 +0000 (19:38 +0300)
od-win32/avioutput.cpp

index f19601e90f1b9b3d10144af224ec519f90f1f3ba..b2af41cbcbf9509f712ec5e0aa1fa4d8d94e0fb2 100644 (file)
@@ -99,6 +99,7 @@ static struct avientry *avientries[AVIENTRY_MAX + 1];
 /* audio */
 
 static int FirstAudio;
+static bool audio_validated;
 static DWORD dwAudioInputRemaining;
 static unsigned int StreamSizeAudio; // audio write position
 static double StreamSizeAudioExpected, StreamSizeAudioGot;
@@ -274,6 +275,7 @@ void AVIOutput_SetSettings (void)
 
 void AVIOutput_ReleaseAudio (void)
 {
+       audio_validated = false;
 }
 
 static void AVIOutput_FreeAudioDstFormat ()
@@ -284,7 +286,7 @@ static void AVIOutput_FreeAudioDstFormat ()
 
 static int AVIOutput_AudioAllocated (void)
 {
-       return pwfxDst ? 1 : 0;
+       return pwfxDst && audio_validated;
 }
 
 static int AVIOutput_AllocateAudio (void)
@@ -364,6 +366,7 @@ static int AVIOutput_ValidateAudio (WAVEFORMATEX *wft, TCHAR *name, int len)
        ACMFORMATTAGDETAILS aftd;
        ACMFORMATDETAILS afd;
 
+       audio_validated = false;
        memset(&aftd, 0, sizeof (ACMFORMATTAGDETAILS));
        aftd.cbStruct = sizeof (ACMFORMATTAGDETAILS);
        aftd.dwFormatTag = wft->wFormatTag;
@@ -382,6 +385,7 @@ static int AVIOutput_ValidateAudio (WAVEFORMATEX *wft, TCHAR *name, int len)
 
        if (name)
                _stprintf (name, _T("%s %s"), aftd.szFormatTag, afd.szFormat);
+       audio_validated = true;
        return 1;
 }
 
@@ -409,8 +413,6 @@ static int AVIOutput_GetAudioFromRegistry (WAVEFORMATEX *wft)
        return ok;
 }
 
-
-
 static int AVIOutput_GetAudioCodecName (WAVEFORMATEX *wft, TCHAR *name, int len)
 {
        return AVIOutput_ValidateAudio (wft, name, len);