130 ByteStream *stream = NULL;
132 stream = byteStreamCreate((
unsigned char *) buffer,
ID3V1_MAX_SIZE);
136 byteStreamDestroy(stream);
141 byteStreamDestroy(stream);
147 byteStreamDestroy(stream);
154 byteStreamDestroy(stream);
160 byteStreamDestroy(stream);
166 byteStreamDestroy(stream);
174 nYear = (int) strtol((
char *) (year + i), NULL, 10);
180 byteStreamDestroy(stream);
183 if (!byteStreamCursor(stream)[0] && byteStreamCursor(stream)[1]) {
193 byteStreamDestroy(stream);
194 return id3v1CreateTag(holdTitle, holdArtist, holdAlbum, nYear, 0, NULL, 0);
200 trackno = byteStreamGetCh(stream);
201 if (trackno == EOF) {
202 byteStreamDestroy(stream);
203 return id3v1CreateTag(holdTitle, holdArtist, holdAlbum, nYear, 0, holdAlbum, 0);
206 if (!byteStreamSeek(stream, 1, SEEK_CUR)) {
207 byteStreamDestroy(stream);
208 return id3v1CreateTag(holdTitle, holdArtist, holdAlbum, nYear, trackno, holdComment, 0);
215 genre = byteStreamGetCh(stream);
217 byteStreamDestroy(stream);
218 return id3v1CreateTag(holdTitle, holdArtist, holdAlbum, nYear, trackno, holdComment, 0);
221 byteStreamDestroy(stream);
222 return id3v1CreateTag(holdTitle, holdArtist, holdAlbum, nYear, trackno, holdComment, genre);