clock.js 1007 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. var
  2. ONE_SECOND_IN_TS = 90000, // 90kHz clock
  3. secondsToVideoTs,
  4. secondsToAudioTs,
  5. videoTsToSeconds,
  6. audioTsToSeconds,
  7. audioTsToVideoTs,
  8. videoTsToAudioTs;
  9. secondsToVideoTs = function(seconds) {
  10. return seconds * ONE_SECOND_IN_TS;
  11. };
  12. secondsToAudioTs = function(seconds, sampleRate) {
  13. return seconds * sampleRate;
  14. };
  15. videoTsToSeconds = function(timestamp) {
  16. return timestamp / ONE_SECOND_IN_TS;
  17. };
  18. audioTsToSeconds = function(timestamp, sampleRate) {
  19. return timestamp / sampleRate;
  20. };
  21. audioTsToVideoTs = function(timestamp, sampleRate) {
  22. return secondsToVideoTs(audioTsToSeconds(timestamp, sampleRate));
  23. };
  24. videoTsToAudioTs = function(timestamp, sampleRate) {
  25. return secondsToAudioTs(videoTsToSeconds(timestamp), sampleRate);
  26. };
  27. module.exports = {
  28. secondsToVideoTs: secondsToVideoTs,
  29. secondsToAudioTs: secondsToAudioTs,
  30. videoTsToSeconds: videoTsToSeconds,
  31. audioTsToSeconds: audioTsToSeconds,
  32. audioTsToVideoTs: audioTsToVideoTs,
  33. videoTsToAudioTs: videoTsToAudioTs
  34. };