mirror of
https://github.com/UberGames/ioef.git
synced 2024-12-02 17:12:16 +00:00
* Fix bug where an extraneous render command can cause a crash when
recording video * Make S_CodecUtilClose NULL the snd_stream_t pointer * Fix indentation in runtime SDL check code
This commit is contained in:
parent
3f3c827bcd
commit
b62950ca6e
6 changed files with 25 additions and 22 deletions
|
@ -889,6 +889,8 @@ void CL_Disconnect( qboolean showMainMenu ) {
|
||||||
|
|
||||||
// Stop recording any video
|
// Stop recording any video
|
||||||
if( CL_VideoRecording( ) ) {
|
if( CL_VideoRecording( ) ) {
|
||||||
|
// Finish rendering current frame
|
||||||
|
SCR_UpdateScreen( );
|
||||||
CL_CloseAVI( );
|
CL_CloseAVI( );
|
||||||
}
|
}
|
||||||
CL_UpdateGUID( NULL, 0 );
|
CL_UpdateGUID( NULL, 0 );
|
||||||
|
|
|
@ -226,8 +226,9 @@ snd_stream_t *S_CodecUtilOpen(const char *filename, snd_codec_t *codec)
|
||||||
S_CodecUtilClose
|
S_CodecUtilClose
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
void S_CodecUtilClose(snd_stream_t *stream)
|
void S_CodecUtilClose(snd_stream_t **stream)
|
||||||
{
|
{
|
||||||
FS_FCloseFile(stream->file);
|
FS_FCloseFile((*stream)->file);
|
||||||
Z_Free(stream);
|
Z_Free(*stream);
|
||||||
|
*stream = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ int S_CodecReadStream(snd_stream_t *stream, int bytes, void *buffer);
|
||||||
|
|
||||||
// Util functions (used by codecs)
|
// Util functions (used by codecs)
|
||||||
snd_stream_t *S_CodecUtilOpen(const char *filename, snd_codec_t *codec);
|
snd_stream_t *S_CodecUtilOpen(const char *filename, snd_codec_t *codec);
|
||||||
void S_CodecUtilClose(snd_stream_t *stream);
|
void S_CodecUtilClose(snd_stream_t **stream);
|
||||||
|
|
||||||
// WAV Codec
|
// WAV Codec
|
||||||
extern snd_codec_t wav_codec;
|
extern snd_codec_t wav_codec;
|
||||||
|
|
|
@ -251,7 +251,7 @@ snd_stream_t *S_OGG_CodecOpenStream(const char *filename)
|
||||||
vf = Z_Malloc(sizeof(OggVorbis_File));
|
vf = Z_Malloc(sizeof(OggVorbis_File));
|
||||||
if(!vf)
|
if(!vf)
|
||||||
{
|
{
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -261,7 +261,7 @@ snd_stream_t *S_OGG_CodecOpenStream(const char *filename)
|
||||||
{
|
{
|
||||||
Z_Free(vf);
|
Z_Free(vf);
|
||||||
|
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -273,7 +273,7 @@ snd_stream_t *S_OGG_CodecOpenStream(const char *filename)
|
||||||
|
|
||||||
Z_Free(vf);
|
Z_Free(vf);
|
||||||
|
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -285,7 +285,7 @@ snd_stream_t *S_OGG_CodecOpenStream(const char *filename)
|
||||||
|
|
||||||
Z_Free(vf);
|
Z_Free(vf);
|
||||||
|
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -298,7 +298,7 @@ snd_stream_t *S_OGG_CodecOpenStream(const char *filename)
|
||||||
|
|
||||||
Z_Free(vf);
|
Z_Free(vf);
|
||||||
|
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -343,7 +343,7 @@ void S_OGG_CodecCloseStream(snd_stream_t *stream)
|
||||||
Z_Free(stream->ptr);
|
Z_Free(stream->ptr);
|
||||||
|
|
||||||
// close the stream
|
// close the stream
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -255,7 +255,7 @@ snd_stream_t *S_WAV_CodecOpenStream(const char *filename)
|
||||||
// Read the RIFF header
|
// Read the RIFF header
|
||||||
if(!S_ReadRIFFHeader(rv->file, &rv->info))
|
if(!S_ReadRIFFHeader(rv->file, &rv->info))
|
||||||
{
|
{
|
||||||
S_CodecUtilClose(rv);
|
S_CodecUtilClose(&rv);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ S_WAV_CodecCloseStream
|
||||||
*/
|
*/
|
||||||
void S_WAV_CodecCloseStream(snd_stream_t *stream)
|
void S_WAV_CodecCloseStream(snd_stream_t *stream)
|
||||||
{
|
{
|
||||||
S_CodecUtilClose(stream);
|
S_CodecUtilClose(&stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -587,21 +587,21 @@ int main( int argc, char **argv )
|
||||||
char commandLine[ MAX_STRING_CHARS ] = { 0 };
|
char commandLine[ MAX_STRING_CHARS ] = { 0 };
|
||||||
|
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
const SDL_version *ver = SDL_Linked_Version( );
|
const SDL_version *ver = SDL_Linked_Version( );
|
||||||
|
|
||||||
#define STRING(s) #s
|
#define STRING(s) #s
|
||||||
#define XSTRING(s) STRING(s)
|
#define XSTRING(s) STRING(s)
|
||||||
#define MINSDL_VERSION \
|
#define MINSDL_VERSION \
|
||||||
XSTRING(MINSDL_MAJOR) "." \
|
XSTRING(MINSDL_MAJOR) "." \
|
||||||
XSTRING(MINSDL_MINOR) "." \
|
XSTRING(MINSDL_MINOR) "." \
|
||||||
XSTRING(MINSDL_PATCH)
|
XSTRING(MINSDL_PATCH)
|
||||||
|
|
||||||
if( SDL_VERSIONNUM( ver->major, ver->minor, ver->patch ) <
|
if( SDL_VERSIONNUM( ver->major, ver->minor, ver->patch ) <
|
||||||
SDL_VERSIONNUM( MINSDL_MAJOR, MINSDL_MINOR, MINSDL_PATCH ) )
|
SDL_VERSIONNUM( MINSDL_MAJOR, MINSDL_MINOR, MINSDL_PATCH ) )
|
||||||
{
|
{
|
||||||
Sys_Print( "SDL version " MINSDL_VERSION " or greater required\n" );
|
Sys_Print( "SDL version " MINSDL_VERSION " or greater required\n" );
|
||||||
Sys_Exit( 1 );
|
Sys_Exit( 1 );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Sys_ParseArgs( argc, argv );
|
Sys_ParseArgs( argc, argv );
|
||||||
|
|
Loading…
Reference in a new issue