Added initial segment overlap resolution logic
This commit is contained in:
@@ -77,7 +77,7 @@ func finalizeCandidate(in *model.MergedTranscript, candidate overlapCandidate, c
|
||||
refs := make([]string, 0, len(candidate.indices))
|
||||
for _, index := range candidate.indices {
|
||||
in.Segments[index].OverlapGroupID = groupID
|
||||
refs = append(refs, segmentRef(in.Segments[index]))
|
||||
refs = append(refs, SegmentRef(in.Segments[index]))
|
||||
}
|
||||
|
||||
in.OverlapGroups = append(in.OverlapGroups, model.OverlapGroup{
|
||||
@@ -106,8 +106,15 @@ func distinctSpeakers(segments []model.Segment, indices []int) []string {
|
||||
return speakers
|
||||
}
|
||||
|
||||
func segmentRef(segment model.Segment) string {
|
||||
return fmt.Sprintf("%s#%d", segment.Source, segment.SourceSegmentIndex)
|
||||
// SegmentRef returns the stable overlap reference for a segment.
|
||||
func SegmentRef(segment model.Segment) string {
|
||||
if segment.SourceSegmentIndex != nil {
|
||||
return fmt.Sprintf("%s#%d", segment.Source, *segment.SourceSegmentIndex)
|
||||
}
|
||||
if segment.SourceRef != "" {
|
||||
return segment.SourceRef
|
||||
}
|
||||
return segment.Source
|
||||
}
|
||||
|
||||
func clearExisting(in *model.MergedTranscript) {
|
||||
|
||||
Reference in New Issue
Block a user