동영상 플레이 시간 계산 관련 질문입니다.

graze1004의 이미지

동영상 플레이어에서 특정 동영상에 대한 누적 재생 시간을 확인하고자 합니다.

단순히 생각하면 재생시간을 DB에 누적하면 되지만, 여기에 더해서 동영상의 진행률 확인이 필요합니다.
예를 들면 전체 100분짜리 영상일 때, 아래 두 경우를 구분하고 싶습니다.

- 0~100분까지 다 본 사용자 : 진행률 100%, 누적 재생 시간 : 100분
- 0~10분 구간을 10번 반복해서 본 사용자 : 진행률 10%, 누적 재생 시간 : 100분

구현 방향을 어떻게 잡아야 할지 감이 안잡혀 질문드립니다.
그저 타이머 돌려서 현재 재생중인 구간으로 추측 계산하는 방법 외에는...없는건가요..ㅠㅠ

jehnpark의 이미지

sort된 vector< pair<int,int>> 를 사용해서 새 구간 o에 대해

o가 iter안에 포함되어 있는경우 return

시작이 iter안에 있고 끝이 iter+1에 있는 경우
iter의 시작과 iter+1의 끝을 합쳐 새 pair로 만듬

o의 시작이 iter 안에 있는 경우
iter의 끝을 o의 끝으로 바꿈

iter가 o 안에 포함되어 있는경우
iter의 시작과 끝을 o의 시작과 끝으로 바꿈

o의 끝이 iter 안에 있는 경우
iter의 시작을 o의 시작으로 바꿈

o의 끝이 iter의 시작보다 작을 경우
iter지점에 o 삽입
iter++

해서 vector를 전부 순회하면 될듯