···14081408 return size;
14091409}
1410141014111411+off_t bufstripsize(int handle_id, off_t size)
14121412+{
14131413+ struct memory_handle *h = find_handle(handle_id);
14141414+ if (!h || h->filesize < size)
14151415+ return ERR_INVALID_VALUE;
14161416+14171417+ h->filesize = size;
14181418+ return size;
14191419+}
14201420+14111421/* Update the "data" pointer to make the handle's data available to the caller.
14121422 Return the length of the available linear data or < 0 for failure (handle
14131423 not found).
···152152 long (*get_command)(intptr_t *param);
153153 /* Determine whether the track should be looped, if applicable. */
154154 bool (*loop_track)(void);
155155+ void (*strip_filesize)(off_t value);
155156156157 /* kernel/ system */
157158#if defined(ARM_NEED_DIV0)
+5
lib/rbcodec/codecs/mpa.c
···448448 ci->configure(DSP_SET_FREQUENCY, ci->id3->frequency);
449449 current_frequency = ci->id3->frequency;
450450 codec_set_replaygain(ci->id3);
451451+ if (!ci->id3->is_asf_stream)
452452+ {
453453+ // End of file might contain ID3v1 or APE tags. Strip them from decoding
454454+ ci->strip_filesize(ci->id3->first_frame_offset + ci->id3->filesize);
455455+ }
451456452457 if (ci->id3->offset) {
453458