[WebCodecs] Implement AudioEncoder
Categories
(Core :: Audio/Video: Web Codecs, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox126 | --- | fixed |
People
(Reporter: chunmin, Assigned: padenot)
References
(Depends on 3 open bugs, Blocks 1 open bug)
Details
Attachments
(37 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Reporter | ||
Updated•1 years ago
|
Reporter | ||
Updated•1 year ago
|
Assignee | ||
Comment 1•11 months ago
|
||
Depends on D192685
Assignee | ||
Comment 2•11 months ago
|
||
Depends on D197915
Assignee | ||
Comment 3•11 months ago
|
||
Depends on D197916
Assignee | ||
Comment 4•11 months ago
|
||
Depends on D197917
Assignee | ||
Comment 5•11 months ago
|
||
Depends on D197918
Assignee | ||
Comment 6•11 months ago
|
||
Assignee | ||
Comment 7•11 months ago
|
||
Assignee | ||
Comment 8•11 months ago
|
||
Assignee | ||
Comment 9•11 months ago
|
||
Sorry for the clang-format changes folded in.
Assignee | ||
Comment 10•11 months ago
|
||
This look like it's missing quite a few methods, but this is because the code is
shared and mostly identical in behaviour to the VideoEncoder class -- the
AudioEncoder class only implements the bits of behaviour that are
audio-specific. The audio-specific adjustments to the base class (which are not
numerous) are in the next patch of this series.
Assignee | ||
Comment 11•11 months ago
|
||
Assignee | ||
Comment 12•11 months ago
|
||
I found that useful when debugging, let's land it.
Assignee | ||
Comment 13•11 months ago
|
||
Assignee | ||
Comment 14•11 months ago
|
||
Assignee | ||
Comment 15•11 months ago
|
||
Assignee | ||
Comment 16•11 months ago
|
||
Assignee | ||
Comment 17•11 months ago
|
||
Assignee | ||
Comment 18•11 months ago
|
||
Assignee | ||
Comment 19•11 months ago
|
||
Assignee | ||
Comment 20•11 months ago
|
||
InitPromise now doesn't return the track type (since we're not using anything
related to tracks on the encode side).
Methods now either return a result or a nsresult.
Time base is handled in the child class (since it's going to be different from
audio and video).
Assignee | ||
Comment 21•11 months ago
|
||
It's very similar to the video counterpart, except:
- Conversion to planar is done as needed, f32 is always used.
- Most codec specific options are implemented later in the series.
- The time base is always the sameple-rate, as this is what ffmpeg does
internally, this limits conversions. - Codecs only accept a specific number of sample-frame per packet, this class
repacketizes the input audio in the correct packet size (that can depend on the
same rate, the codec, some other options). - The encoder delay isn't really handled, except all packets are shifted, and
mOriginalPresentationWindows is set as it should so that no timing information
is lost. This will be changed later.
Assignee | ||
Comment 22•11 months ago
|
||
Assignee | ||
Comment 23•11 months ago
|
||
Assignee | ||
Comment 24•11 months ago
|
||
Assignee | ||
Comment 25•11 months ago
|
||
Assignee | ||
Comment 26•11 months ago
|
||
Assignee | ||
Comment 27•11 months ago
|
||
Assignee | ||
Comment 28•11 months ago
|
||
Assignee | ||
Comment 29•11 months ago
|
||
Assignee | ||
Comment 30•11 months ago
|
||
Assignee | ||
Comment 31•11 months ago
|
||
Assignee | ||
Comment 32•11 months ago
|
||
This fixes a test failure in audio encoder WPTs.
Updated•11 months ago
|
Assignee | ||
Comment 33•11 months ago
|
||
Assignee | ||
Comment 34•11 months ago
|
||
Assignee | ||
Comment 35•9 months ago
|
||
Assignee | ||
Comment 36•9 months ago
|
||
Assignee | ||
Updated•9 months ago
|
Comment 37•8 months ago
|
||
Assignee | ||
Comment 39•8 months ago
|
||
Updated•8 months ago
|
Comment 40•8 months ago
|
||
Comment 41•8 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2610b665abfe
https://hg.mozilla.org/mozilla-central/rev/60f8d9644c5d
https://hg.mozilla.org/mozilla-central/rev/98f8a6b55cb0
https://hg.mozilla.org/mozilla-central/rev/f31d976a1a57
https://hg.mozilla.org/mozilla-central/rev/00f57d5f27f6
https://hg.mozilla.org/mozilla-central/rev/8ef0b45aa258
https://hg.mozilla.org/mozilla-central/rev/b12d9c0f52f1
https://hg.mozilla.org/mozilla-central/rev/22e7f89634b7
https://hg.mozilla.org/mozilla-central/rev/88b7fc2cbc1f
https://hg.mozilla.org/mozilla-central/rev/3de7e6e305e1
https://hg.mozilla.org/mozilla-central/rev/b116ff85089d
https://hg.mozilla.org/mozilla-central/rev/50d78605b761
https://hg.mozilla.org/mozilla-central/rev/eabb710ecc1c
https://hg.mozilla.org/mozilla-central/rev/ca880ba5c83d
https://hg.mozilla.org/mozilla-central/rev/7770bc65067f
https://hg.mozilla.org/mozilla-central/rev/e1f13ef3badd
https://hg.mozilla.org/mozilla-central/rev/dced90edf02c
https://hg.mozilla.org/mozilla-central/rev/dce9cbf1e6f4
https://hg.mozilla.org/mozilla-central/rev/47240f85df7c
https://hg.mozilla.org/mozilla-central/rev/31ec05902d0a
https://hg.mozilla.org/mozilla-central/rev/b05081eca4fe
https://hg.mozilla.org/mozilla-central/rev/7936d27e4a10
https://hg.mozilla.org/mozilla-central/rev/221953f41e1c
https://hg.mozilla.org/mozilla-central/rev/fe2e5e695048
https://hg.mozilla.org/mozilla-central/rev/9de63c54266d
https://hg.mozilla.org/mozilla-central/rev/42d651b12660
https://hg.mozilla.org/mozilla-central/rev/c36ec1343c7d
https://hg.mozilla.org/mozilla-central/rev/10a16e8a79ad
https://hg.mozilla.org/mozilla-central/rev/e96c1bc9e530
https://hg.mozilla.org/mozilla-central/rev/92a04a3d9162
https://hg.mozilla.org/mozilla-central/rev/96806c2bdb29
https://hg.mozilla.org/mozilla-central/rev/022e47d17cca
https://hg.mozilla.org/mozilla-central/rev/a1c56f710998
https://hg.mozilla.org/mozilla-central/rev/88078e99231d
https://hg.mozilla.org/mozilla-central/rev/2a446c2233a2
https://hg.mozilla.org/mozilla-central/rev/29994d907858
https://hg.mozilla.org/mozilla-central/rev/8b7f3601508a
https://hg.mozilla.org/mozilla-central/rev/a56c3a8cfb52
Description
•