42 lines
1007 B
JavaScript
42 lines
1007 B
JavaScript
var
|
|
ONE_SECOND_IN_TS = 90000, // 90kHz clock
|
|
secondsToVideoTs,
|
|
secondsToAudioTs,
|
|
videoTsToSeconds,
|
|
audioTsToSeconds,
|
|
audioTsToVideoTs,
|
|
videoTsToAudioTs;
|
|
|
|
secondsToVideoTs = function(seconds) {
|
|
return seconds * ONE_SECOND_IN_TS;
|
|
};
|
|
|
|
secondsToAudioTs = function(seconds, sampleRate) {
|
|
return seconds * sampleRate;
|
|
};
|
|
|
|
videoTsToSeconds = function(timestamp) {
|
|
return timestamp / ONE_SECOND_IN_TS;
|
|
};
|
|
|
|
audioTsToSeconds = function(timestamp, sampleRate) {
|
|
return timestamp / sampleRate;
|
|
};
|
|
|
|
audioTsToVideoTs = function(timestamp, sampleRate) {
|
|
return secondsToVideoTs(audioTsToSeconds(timestamp, sampleRate));
|
|
};
|
|
|
|
videoTsToAudioTs = function(timestamp, sampleRate) {
|
|
return secondsToAudioTs(videoTsToSeconds(timestamp), sampleRate);
|
|
};
|
|
|
|
module.exports = {
|
|
secondsToVideoTs: secondsToVideoTs,
|
|
secondsToAudioTs: secondsToAudioTs,
|
|
videoTsToSeconds: videoTsToSeconds,
|
|
audioTsToSeconds: audioTsToSeconds,
|
|
audioTsToVideoTs: audioTsToVideoTs,
|
|
videoTsToAudioTs: videoTsToAudioTs
|
|
};
|