exhale should indicate independently decodable frames by means of a 'prol' sample group
I've prepared a branch of exhale that indicates the presence of independently decodable frames by means of a preroll sample group, using a sample group description atom and a compact sample-to-group atom. This is necessary for implementations that locate random access points not by parsing the frames themselves but via use of information contained by the 'stbl' atom.
The changes presume that the first frame in each increment of m_rndAccPeriod frames is an independently decodable frame (but not an immediate play-out frame) and that the remainder of the frames in each increment are dependent frames.
I've noticed that in fact the encoder generates two frames at the start of each increment with a value of 1 for their usacIndependencyFlag, but lacking a count value to accompany m_rndAccPeriod in BasicMP4Writer I've written code that assumes just one per random access interval. It should be straightforward to adapt the code to whatever pattern the encoder eventually reports. (However, things will get more complex if IPFs are also eventually generated, as this typically affects the generation of IFs as well.)
I've also made changes that permit the estimated header size calculated by BasicMP4Writer::initHeader() to be set to any upper bound for the actual header size calculated later by BasicMP4Writer::finishFile(). Of course it's possible to make these identical, but it seemed better to me not to require exactitude in advance of encoding.
Please let me know if you have a preference for branch naming, and I'll push these changes for your review and possible use.