[Matroska-devel] [Cellar] ReferenceTimecode tracks in Matroska proposal
moritz at bunkus.org
Thu Jan 14 13:50:00 CET 2016
> 2016-01-14 13:38 GMT+01:00 Moritz Bunkus <moritz at bunkus.org>:
> > Please keep in mind that existing Matroska libraries (not just
> > libMatroska) name their functions/classes after the elements in the
> > specs. Renaming the elements in the specs requires either that the the
> > classes/functions in the libraries be renamed as well (breaking
> > compilation with each and every program out there) or we'll end up with
> > a severe discrepancy between the naming in the libraries and the specs
> > (especially if new elements will be introduced after the renaming with
> > names that were used before the naming!).
> The spec file already has a way to override the name of the C++ class
> when it doesn't match exactly the one displayed in the specs (usually
> shorter or just to keep backward compatibility). We just need to use
> this for such elements.
> Maybe also add some typedefs to have both old and new names.
What I meant:
- Rename e.g. ClusterTimecode to ClusterTimestamp in the specs
- Leave the class name the same in the library (ClusterTimecode)
- Then introduce elements in the spec dealing with actual timecodes
(e.g. ReferenceTimecode) which would translate into a class name
Now you have the situation that a developer working with such a library
would have several classes with Timecode in their name and some of
those would deal with timestamps and others with timecodes. Highly
confusing to anyone not familiar with our current discussion.
Also: functions like KaxBlockGroup::GlobalTimecode() – those return
timestamps. If not returned it would be very, very confusing for new
users to determine what they actually return, timestamps or timecodes.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: not available
More information about the Matroska-devel