Mercurial > otakunoraifu
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 ファイルを直接指定すると全ストリームを再生してしまうので |