From 94db04aaf080b829fbc0b61f6fa6cd1daee26aca Mon Sep 17 00:00:00 2001 From: fgsfds Date: Thu, 18 Jun 2020 01:33:45 +0300 Subject: [PATCH] fix segfaults in libaudiofile.cpp casted the wrong thing? --- tools/audiofile/Makefile | 2 +- tools/audiofile/audiofile.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/audiofile/Makefile b/tools/audiofile/Makefile index 20d22a45..5f3f3e1d 100644 --- a/tools/audiofile/Makefile +++ b/tools/audiofile/Makefile @@ -4,7 +4,7 @@ libaudiofile.a: audiofile.o ar rcs libaudiofile.a audiofile.o audiofile.o: audiofile.cpp audiofile.h aupvlist.h - $(CXX) -std=c++11 -O2 -I. -c audiofile.cpp + $(CXX) -std=c++11 -DNDEBUG -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -O2 -I. -c audiofile.cpp clean: rm -f audiofile.o libaudiofile.a diff --git a/tools/audiofile/audiofile.cpp b/tools/audiofile/audiofile.cpp index ffe960aa..88efeddf 100644 --- a/tools/audiofile/audiofile.cpp +++ b/tools/audiofile/audiofile.cpp @@ -5075,7 +5075,7 @@ bool ModuleState::fileModuleHandlesSeeking() const status ModuleState::setup(AFfilehandle file, Track *track) { - AFframecount fframepos = std::llrint((long double)track->nextvframe * track->f.sampleRate / track->v.sampleRate); + AFframecount fframepos = std::llrint(track->nextvframe * track->f.sampleRate / track->v.sampleRate); bool isReading = file->m_access == _AF_READ_ACCESS; if (!track->v.isUncompressed()) @@ -5146,11 +5146,11 @@ status ModuleState::setup(AFfilehandle file, Track *track) if (track->totalfframes == -1) track->totalvframes = -1; else - track->totalvframes = std::llrint((long double)track->totalfframes * + track->totalvframes = std::llrint(track->totalfframes * (track->v.sampleRate / track->f.sampleRate)); track->nextfframe = fframepos; - track->nextvframe = std::llrint((long double)fframepos * track->v.sampleRate / track->f.sampleRate); + track->nextvframe = std::llrint(fframepos * track->v.sampleRate / track->f.sampleRate); m_isDirty = false;