TrackName can be null and this should not give an error.

The default language (eng) is sometimes omitted from the header.
However if I do not set this value mkvmerge uses und (undetermined) as language instead of leaving this field out of the header as well.
Therefore if the source stream did not have a language code assigned I assign eng as language code.