comparison music2/koedec_ogg.cc @ 7:fa8511a21d05

Fixes somes memory leaks
author thib
date Tue, 05 Aug 2008 10:06:04 +0000
parents 422f3cb3614b
children 4d7486cb20a9
comparison
equal deleted inserted replaced
6:2c890434e30f 7:fa8511a21d05
99 return 0; 99 return 0;
100 } 100 }
101 int ogg_get_rate(FILE *stream) 101 int ogg_get_rate(FILE *stream)
102 { 102 {
103 OggVorbis_File vf; 103 OggVorbis_File vf;
104 ov_open(stream, &vf, NULL, 0); 104 ov_callbacks callback(OV_CALLBACKS_DEFAULT);
105 return vf.vi->rate; 105 callback.close_func = NULL;
106 ov_test_callbacks(stream, &vf, NULL, 0, callback);
107 int rate = vf.vi->rate;
108 ov_clear(&vf);
109 return rate;
106 } 110 }
107 111
108 extern char* decode_koe_ogg(AvgKoeInfo info, int* dest_len) { 112 extern char* decode_koe_ogg(AvgKoeInfo info, int* dest_len) {
109 if (info.stream == 0) return 0; 113 if (info.stream == 0) return 0;
110 // Voice ファイルを直接指定すると全ストリームを再生してしまうので 114 // Voice ファイルを直接指定すると全ストリームを再生してしまうので