From 90aaa62df5a5fb5f49b12f481c7337fe1a14ea65 Mon Sep 17 00:00:00 2001 From: Noldor Date: Sun, 20 May 2007 15:30:50 +0000 Subject: fixed crash in mp3scan and used kvs_int_t instead of int type git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@573 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/mediaplayer/mp_mp3.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src/modules/mediaplayer/mp_mp3.cpp') diff --git a/src/modules/mediaplayer/mp_mp3.cpp b/src/modules/mediaplayer/mp_mp3.cpp index b1e0f795a..6e27fa5f5 100644 --- a/src/modules/mediaplayer/mp_mp3.cpp +++ b/src/modules/mediaplayer/mp_mp3.cpp @@ -180,7 +180,20 @@ const char *emphasis_text[] = { "None", "50/15 Microseconds", "Reserved", "CCITT J 17" }; - +void resetmp3infoStruct(mp3info *i) +{ + i->file=0; + i->datasize=0; + i->header_isvalid=0; + memset(&i->header,0,sizeof(i->header)); + i->id3_isvalid=0; + memset(&i->id3,0,sizeof(i->id3)); + i->vbr=0; + i->vbr_average=0; + i->seconds=0; + i->frames=0; + i->badframes=0; +} int get_mp3_info(mp3info *mp3) { @@ -190,7 +203,7 @@ int get_mp3_info(mp3info *mp3) int l,vbr_median=-1; int bitrate,lastrate; int counter=0; - mp3header header; +// mp3header header; int sample_pos,data_start=0; @@ -438,8 +451,11 @@ char *unpad(char *string) bool scan_mp3_file(QString& szFileName,mp3info * i) { - memset(i,0,sizeof(mp3info)); - i->filename = szFileName; + //memset(i,0,sizeof(mp3info)); + resetmp3infoStruct(i); + + + i->filename = "text"; i->file = fopen(QTextCodec::codecForLocale()->fromUnicode(i->filename).data(),"rb"); if(!i->file)return false; -- cgit v1.3.1-10-gc9f91