While there is code that should read the chpl atom in moov.udata.chpl, it doesn't seem to work. Also the MP4GetChapters function doesn't seem to look for this. It would be great if MP4GetChapters would use the chpl data if the text track wasn't found.