]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
Reverted snd_ogg.c to DP master. Changes caused Segfault on Linux
authorkristus <kristustf@gmail.com>
Thu, 29 Apr 2021 18:10:18 +0000 (20:10 +0200)
committerkristus <kristustf@gmail.com>
Thu, 29 Apr 2021 18:10:18 +0000 (20:10 +0200)
snd_ogg.c

index f04d76bef164d491f2c6dfa453419f0301f190b6..c1d8b96c1b67740f7f5896c96b1d52e428930a28 100644 (file)
--- a/snd_ogg.c
+++ b/snd_ogg.c
@@ -598,7 +598,6 @@ Load an Ogg Vorbis file into memory
 qbool OGG_LoadVorbisFile(const char *filename, sfx_t *sfx)
 {
        unsigned char *data;
-       const char *nostream = NULL;
        fs_offset_t filesize;
        ov_decode_t ov_decode;
        OggVorbis_File vf;
@@ -651,11 +650,7 @@ qbool OGG_LoadVorbisFile(const char *filename, sfx_t *sfx)
 
        sfx->total_length = qov_pcm_total(&vf, -1);
 
-       vc = qov_comment(&vf, -1);
-
-       nostream = qvorbis_comment_query(vc, "NOSTREAM", 0);
-
-       if (snd_streaming.integer && !atof(nostream) && (snd_streaming.integer >= 2 || sfx->total_length > max(sizeof(ogg_stream_perchannel_t), snd_streaming_length.value * sfx->format.speed)))
+       if (snd_streaming.integer && (snd_streaming.integer >= 2 || sfx->total_length > max(sizeof(ogg_stream_perchannel_t), snd_streaming_length.value * sfx->format.speed)))
        {
                // large sounds use the OGG fetcher to decode the file on demand (but the entire file is held in memory)
                ogg_stream_persfx_t* per_sfx;
@@ -669,7 +664,7 @@ qbool OGG_LoadVorbisFile(const char *filename, sfx_t *sfx)
                sfx->fetcher_data = per_sfx;
                sfx->fetcher = &ogg_fetcher;
                sfx->flags |= SFXFLAG_STREAMED;
-               //vc = qov_comment(&vf, -1);
+               vc = qov_comment(&vf, -1);
                OGG_DecodeTags(vc, &sfx->loopstart, &sfx->total_length, sfx->total_length, &peak, &gaindb);
                qov_clear(&vf);
        }
@@ -693,7 +688,7 @@ qbool OGG_LoadVorbisFile(const char *filename, sfx_t *sfx)
                bs = 0;
                while ((ret = qov_read(&vf, &buff[done], (int)(len - done), mem_bigendian, 2, 1, &bs)) > 0)
                        done += ret;
-               //vc = qov_comment(&vf, -1);
+               vc = qov_comment(&vf, -1);
                OGG_DecodeTags(vc, &sfx->loopstart, &sfx->total_length, sfx->total_length, &peak, &gaindb);
                qov_clear(&vf);
                Mem_Free(data);