w3c / w3c/webcodecs

Clarification needed for handling raw AAC bitstreams without description

Open
#832 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
1.3k
Forks
194
Avg merge
1d 13h
Merged PRs (30d)
3

Description

According to the AAC registration in WebCodecs, when the description is not present in AudioDecoderConfig, the bitstream is assumed to be in ADTS format. Otherwise, it's assumed to be in AAC. However, there's a case (https://webvideo-js.pages.dev/) where raw AAC data is provided to the audio decoder without supplying description data in configure beforehand (#826 seems a similar issue for opus).

Currently, Chrome can decode this raw AAC data, and Firefox has patches to support this behavior as well (by generating a AudioSpecificConfig).

This issue can be easily reproduced by adding a test case in audioDecoder-codec-specific.https.any.js WPT that replicates the properties of MP4_AAC_DATA but omits the description. I would like to ask if this behavior should be officially mentioned or detailed in the WebCodecs spec. If this use case is something that should be supported, it might be worthwhile to include a corresponding WPT for this scenario.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AAC registration's description section and audioDecoder-codec-specific.https.any.js, including MP4_AAC_DATA; compare the no-description case with the related #826 issue and existing WebCodecs behavior. Done means deciding whether this behavior belongs in the specification and, if supported, documenting the expected behavior in a corresponding WPT.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, documentation, testing
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.