That makes sense.
That brings me to my next question. We are looking at annotations with type=pause so that we can correctly mark a timeline of events in an audio recording. How may there be overlapping pauses? My understanding is that there can be pauses, whereby audio is removed based on some configuration such as a hold or time in IVR, or there can be explicit pauses, in which an agent pauses the recording to protect some private data. Can these pauses overlap? The following array of annotations suggests that they may:
[
{
"reason": "FlowOrQueue",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 400,
"durationMs": 88400,
"absoluteLocation": 0,
"absoluteDurationMs": 116317,
"recordingLocation": 400,
"recordingDurationMs": 0,
"description": "Flow Or Queue",
"realtimeLocation": 2
},
{
"reason": "OUTDATED_SDK_VERSION",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 35280,
"durationMs": 53520,
"absoluteLocation": 34880,
"absoluteDurationMs": 211600,
"recordingLocation": 35280,
"recordingDurationMs": 0,
"description": "Pause",
"annotations": [],
"realtimeLocation": 149689
},
{
"reason": "FlowOrQueue",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 35440,
"durationMs": 53360,
"absoluteLocation": 35040,
"absoluteDurationMs": 199449,
"recordingLocation": 35440,
"recordingDurationMs": 0,
"description": "Flow Or Queue",
"realtimeLocation": 161840
},
{
"reason": "OUTDATED_SDK_VERSION",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 88390,
"durationMs": 2000,
"absoluteLocation": 88400,
"absoluteDurationMs": 2000,
"recordingLocation": 88390,
"recordingDurationMs": 0,
"description": "Pause",
"realtimeLocation": 413152
}
]
Adding realtimeLocation and absoluteDurationMs in the second and third objects result in the same location.