Archived:Resources cannot be prefetched after deallocation in Java ME on S60 1st and 2nd Editions (Known Issue)
If you have released resources by using the deallocate() method, you cannot use the prefetch() method anymore to get the player to PREFETCHED state.
A Player has five states: UNREALIZED, REALIZED, PREFETCHED, STARTED, and CLOSED. If the player is in PREFETCHED state, you can release the reserved resources by calling the deallocate() method. After that you cannot prefetch the resources anymore. If you call the prefetch() method after calling the deallocate() method, you will get MediaException. Note that this concerns S60 devices. Calling prefetch() is working in Series 40 devices with the MMAPI implementation.
How to reproduce
If your player is in the PREFETCHED state, call deallocate() and after that call prefetch().
If your player is in the PREFETCHED state, don't call deallocate() and after the prefetch() method.