Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How common is [log] > [tsdemuxer]: AAC: align PTS for overlapping frames by -23? #3920

Closed
lpommers opened this issue May 20, 2021 · 2 comments · Fixed by #3926
Closed

How common is [log] > [tsdemuxer]: AAC: align PTS for overlapping frames by -23? #3920

lpommers opened this issue May 20, 2021 · 2 comments · Fixed by #3926
Labels

Comments

@lpommers
Copy link
Contributor

What do you want to do with Hls.js?

I'm just curious what leads to so many logs from the tsdmuxer regarding audio frames? It happens quite frequently throughougt this video (and several other test videos). The audio in the file is just the source audio of the video file, not an alternative audio track.

Is this most likely related to how I've created my HLS playlist segments via ffmpeg?

[log] > [tsdemuxer]: AAC: align PTS for overlapping frames by -23

Demo Stream

https://hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fembed-ssl.wistia.com%2Fdeliveries%2F7e4973cf750b78e0de0728c30588a448d167dcfd.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

@robwalch
Copy link
Collaborator

If you disable the worker the log messages link directly to the source outputting the log messages:

https://github.com/video-dev/hls.js/blob/v1.0.4/src/demux/tsdemuxer.ts#L1000

aac overflow happens when an MPEG-2 TS PES packet with AAC data contains an incomplete AAC frame:

  // We are at an ADTS header, but do not have enough data for a frame
  // Remaining data will be added to aacOverFlow

If the next pack picked up where that left off we'd be fine, but instead, it seems that hls.js is finding packets with PTS that start before the last set of valid AAC frames ended.

Maybe you can use something like DVB Inspector to confirm this or show that hls.js's ts demuxer is in error.

robwalch pushed a commit that referenced this issue May 22, 2021
robwalch pushed a commit that referenced this issue May 22, 2021
robwalch pushed a commit that referenced this issue May 22, 2021
robwalch pushed a commit that referenced this issue May 22, 2021
@robwalch
Copy link
Collaborator

@lpommers, I looked into this in relation to #3834. Even with the changes in #3926 the decode error persists in browsers running on Apple OSes with ARM processors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants