ebu-tt-live-toolkit
ebu-tt-live-toolkit copied to clipboard
tt element merging rules clarification
I am looking for the specific rules to merge the tt element
def merge(self, other, dataset):
# TODO: compatibility check, rules of merging TBD
# merged_tt = tt_type(
# lang=self.lang,
# extent=self.extent,
# timeBase=self.timeBase,
# frameRate=self.frameRate,
# frameRateMultiplier=self.frameRateMultiplier,
# markerMode=self.markerMode,
# dropMode=self.dropMode,
# clockMode=self.clockMode,
# cellResolution=self.cellResolution,
# sequenceIdentifier=self.sequenceIdentifier,
# sequenceNumber=self.sequenceNumber,
# authoringDelay=self.authoringDelay,
# authorsGroupIdentifier=self.authorsGroupIdentifier,
# authorsGroupControlToken=self.authorsGroupControlToken,
# authorsGroupControlRequest=self.authorsGroupControlRequest,
# referenceClockIdentifier=self.referenceClockIdentifier,
# _strict_keywords=False
# )
# return merged_tt
What is the decision on this?
We need to do more analysis I think. This is for merging two part 3 documents? That is not actually required or specified functionality; we only do it in the context of splicing prior to onward conversion. However I think we still need to answer it.
We need attribute-by-attribute rules I think. In some cases part 3 constrains them to be equal, like clockMode; in other cases you can come up with a common denominator type rule, e.g. tts:extent, but in some cases there might be no sensible answer, and it may actually be an error condition - authorsGroupControlToken for example.
Is this still something we still need to do? Can it be written as a user story? It would help to know what the merge circumstances are.