summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js')
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js24
1 files changed, 5 insertions, 19 deletions
diff --git a/animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js b/animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js
index dfa7a85..f056168 100644
--- a/animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js
+++ b/animism-align/frontend/app/views/viewer/player/components.media/video.subtitles.js
@@ -3,8 +3,7 @@ import { connect } from 'react-redux'
import actions from 'app/actions'
import { timestampToSeconds, floatInRange } from 'app/utils'
-
-const REGEXP_ALL_COMMAS = new RegExp(',', 'g')
+import { parseSubtitles } from 'app/utils/transcript.utils'
export default class VideoSubtitles extends Component {
state = {
@@ -20,23 +19,10 @@ export default class VideoSubtitles extends Component {
}
}
loadSubtitles() {
- if (!this.props.mediaItem || !this.props.mediaItem.settings.subtitles) return;
- const groups = this.props.mediaItem.settings.subtitles.split("\n\n")
- const subtitles = groups.map((group) => {
- if (!group) return
- const lines = group.trim().split("\n")
- if (!lines.length || !parseInt(lines[0])) {
- return null
- }
- let ts_parts = lines[1].replace(REGEXP_ALL_COMMAS, '.').split(" --> ").map(timestampToSeconds)
- return {
- id: parseInt(lines[0]),
- start_ts: ts_parts[0],
- end_ts: ts_parts[1],
- lines: lines.slice(2),
- }
- }).filter(a => !!a)
- this.setState({ subtitles, current: null })
+ const subtitles = parseSubtitles(this.props.mediaItem, 0)
+ if (subtitles) {
+ this.setState({ subtitles, current: null })
+ }
}
updateCurrentSubtitle() {
const { play_ts } = this.props