There should be some check for MP_INPUT_NOTHING in input.c, like this: int r = ((mp_cmd_func_t)mp_fd->read_func)(mp_fd->fd,mp_fd->buffer+mp_fd->pos,mp_fd->size - 1 - mp_fd->pos); + if (r == MP_INPUT_NOTHING) return MP_INPUT_NOTHING; // Error ? if(r < 0) { -- Jindrich Makovicka