Skip to content

Commit

Permalink
Do not chang starting DTS when PTS < DTS is found
Browse files Browse the repository at this point in the history
  • Loading branch information
Rob Walch committed Jul 10, 2020
1 parent c21c0e1 commit d090481
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/remux/mp4-remuxer.js
Expand Up @@ -8,7 +8,7 @@ import MP4 from './mp4-generator';
import Event from '../events';
import { ErrorTypes, ErrorDetails } from '../errors';

import { toMsFromMpegTsClock, toMpegTsClockFromTimescale, toTimescaleFromScale } from '../utils/timescale-conversion';
import { toMsFromMpegTsClock, toMpegTsClockFromTimescale } from '../utils/timescale-conversion';

import { logger } from '../utils/logger';

Expand Down Expand Up @@ -250,7 +250,7 @@ class MP4Remuxer {
if (PTSDTSshift < 0) {
logger.warn(`PTS < DTS detected in video samples, shifting DTS by ${toMsFromMpegTsClock(PTSDTSshift, true)} ms to overcome this issue`);
for (let i = 0; i < inputSamples.length; i++) {
inputSamples[i].dts += PTSDTSshift;
inputSamples[i].dts = Math.max(0, inputSamples[i].dts + PTSDTSshift);
}
}

Expand Down Expand Up @@ -576,7 +576,7 @@ class MP4Remuxer {
// logger.log(`Audio/PTS:${toMsFromMpegTsClock(pts, true)}`);
// if not first sample

if (lastPTS !== undefined) {
if (lastPTS !== undefined && mp4Sample) {
mp4Sample.duration = Math.round((pts - lastPTS) / scaleFactor);
} else {
let delta = pts - nextAudioPts;
Expand Down

0 comments on commit d090481

Please sign in to comment.