Filename can be null.