Closed
Bug 1104475
Opened 10 years ago
Closed 9 years ago
Refactor Vorbis and Opus decoding out of WebMReader
Categories
(Core :: Audio/Video, defect, P3)
Core
Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla41
Tracking | Status | |
---|---|---|
firefox41 | --- | fixed |
People
(Reporter: kinetik, Assigned: j)
References
Details
Attachments
(1 file, 4 obsolete files)
(deleted),
patch
|
kinetik
:
review+
|
Details | Diff | Splinter Review |
Bug 922314 refactored the VPx decoder out of WebMReader into a new video decoder class. We should do the same thing with the Vorbis and Opus decoders.
A later step is to factor the same code out of the OggReader to reduce code duplication.
That'll make maintenance easier and make it easier to add Opus support to the MP4Reader at a later stage.
Note that I'm not actively working on this, simply poking at it as I have free time, so feel free to ping me for the latest patch and continue work if it interests you.
Reporter | ||
Comment 1•10 years ago
|
||
Builds, runs.
Reporter | ||
Updated•10 years ago
|
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Updated•10 years ago
|
Priority: -- → P5
Updated•10 years ago
|
Priority: P5 → P3
Updated•9 years ago
|
Blocks: oggdemuxer
Assignee | ||
Comment 2•9 years ago
|
||
update patch to work with current tree.
Attachment #8528159 -
Attachment is obsolete: true
Assignee | ||
Comment 3•9 years ago
|
||
move discard padding parsing to reader and pass as int64_t
Attachment #8611056 -
Attachment is obsolete: true
Attachment #8612859 -
Flags: review?(kinetik)
Reporter | ||
Comment 4•9 years ago
|
||
Comment on attachment 8612859 [details] [diff] [review]
0001-Bug-1104475-Refactor-Vorbis-and-Opus-decoding-out-of.patch
Review of attachment 8612859 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks!
Attachment #8612859 -
Flags: review?(kinetik) → review+
Reporter | ||
Updated•9 years ago
|
Assignee: kinetik → j
Comment 5•9 years ago
|
||
This needs rebasing on top of more recent changes. E.g. bugs 1165515, 1160695, 1173001, 1163223. It doesn't apply cleanly.
Assignee | ||
Comment 6•9 years ago
|
||
rebased to latest m-c, lets try to get it in before it rots again.
Attachment #8612859 -
Attachment is obsolete: true
Attachment #8624675 -
Flags: review?(kinetik)
Comment 7•9 years ago
|
||
Comment on attachment 8624675 [details] [diff] [review]
0001-Bug-1104475-Refactor-Vorbis-and-Opus-decoding-out-of.patch
Review of attachment 8624675 [details] [diff] [review]:
-----------------------------------------------------------------
now that the new MSE is completely integrated, very keen on getting this done asap.
::: dom/media/webm/AudioDecoder.cpp
@@ +47,5 @@
> +class VorbisDecoder : public WebMAudioDecoder
> +{
> +public:
> + virtual nsresult Init();
> + virtual void Shutdown();
passing by comments. needs "override" on all overridden member (and remove virtual)
@@ +76,5 @@
> + // destructor is called before |Init|.
> + memset(&mVorbisBlock, 0, sizeof(vorbis_block));
> + memset(&mVorbisDsp, 0, sizeof(vorbis_dsp_state));
> + memset(&mVorbisInfo, 0, sizeof(vorbis_info));
> + memset(&mVorbisComment, 0, sizeof(vorbis_comment));
use PodZero.
@@ +132,5 @@
> +{
> + MOZ_ASSERT(mPacketCount == 3);
> +
> + int r = vorbis_synthesis_init(&mVorbisDsp, &mVorbisInfo);
> + if (r != 0) {
if (r)
@@ +156,5 @@
> + MOZ_ASSERT(mPacketCount >= 3);
> + ogg_packet pkt = InitOggPacket(aData, aLength, false, false, -1, mPacketCount++);
> + bool first_packet = mPacketCount == 4;
> +
> + if (vorbis_synthesis(&mVorbisBlock, &pkt) != 0) {
don't use != 0
Assignee | ||
Comment 8•9 years ago
|
||
new version of the patch addressing Jean-Yves comments
Attachment #8624675 -
Attachment is obsolete: true
Attachment #8624675 -
Flags: review?(kinetik)
Attachment #8624714 -
Flags: review?(kinetik)
Reporter | ||
Updated•9 years ago
|
Attachment #8624714 -
Flags: review?(kinetik) → review+
Assignee | ||
Comment 9•9 years ago
|
||
anyone up for landing this?
Flags: needinfo?(kinetik)
Flags: needinfo?(giles)
Reporter | ||
Comment 10•9 years ago
|
||
Reporter | ||
Comment 11•9 years ago
|
||
Gladly! Pushed to Try, link in previous comment.
Flags: needinfo?(kinetik)
Flags: needinfo?(giles)
Reporter | ||
Comment 12•9 years ago
|
||
Reporter | ||
Comment 13•9 years ago
|
||
Reporter | ||
Comment 14•9 years ago
|
||
Reporter | ||
Comment 15•9 years ago
|
||
Landed with two trivial changes: explicit keyword on single arg AudioDecoder constructors and a NULL-check in ResetDecode.
Reporter | ||
Comment 16•9 years ago
|
||
Thanks for getting this over the finish line, Jan!
Comment 17•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in
before you can comment on or make changes to this bug.
Description
•