Error de Android MediaPlayer: error de MediaPlayer (1, -2147483648) en transmisión desde Internet

Estoy tratando de transmitir audio desde una URL. El código funciona bien con otras URL, pero en una de ellas falla en laOnPrepared Método, devolviendo este código de error: (1, -2147483648). He leído a algunas personas que dicen que es debido a los permisos, pero es un archivo remoto, por lo que no puedo establecer permisos. He probado la URL con otras aplicaciones como VLC e iTunes, y está funcionando bien. Mi código está aquí:

private void prepareradio() {
    player = new MediaPlayer();
    player.setAudioStreamType(MODE_WORLD_READABLE);
    try {
        player.setDataSource(url);

    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    player.setOnErrorListener(new OnErrorListener(){
        public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
            Toast.makeText(getApplicationContext(),"An error happened while preparing radio",Toast.LENGTH_LONG).show();
            prepareradio();
            playe.setEnabled(true);
            hidenot();
            return false;
        }
    });

Respuestas a la pregunta(3)

Su respuesta a la pregunta