diff --git a/lib/tools/ts-inspector.js b/lib/tools/ts-inspector.js index 8c700a8e..df2d4f7e 100644 --- a/lib/tools/ts-inspector.js +++ b/lib/tools/ts-inspector.js @@ -220,8 +220,15 @@ var parseVideoPes_ = function(bytes, pmt, result) { i += pes.byteLength; } if (probe.ts.videoPacketContainsKeyFrame(frame)) { - result.firstKeyFrame = probe.ts.parsePesTime(frame); - result.firstKeyFrame.type = 'video'; + var firstKeyFrame = probe.ts.parsePesTime(frame); + + // PTS/DTS may not be available. Simply *not* setting + // the keyframe seems to work fine with HLS playback + // and definitely preferable to a crash with TypeError... + if (firstKeyFrame) { + result.firstKeyFrame = firstKeyFrame; + result.firstKeyFrame.type = 'video'; + } } currentFrame.size = 0; }