Closed
Bug 511038
Opened 15 years ago
Closed 14 years ago
Fix Ogg/Theora on ARM
Categories
(Core :: Audio/Video, defect)
Tracking
()
VERIFIED
FIXED
Tracking | Status | |
---|---|---|
fennec | 1.0- | --- |
People
(Reporter: vlad, Assigned: vlad)
References
Details
(Whiteboard: [nv])
Attachments
(2 files, 1 obsolete file)
596 bytes,
patch
|
cajbir
:
review+
|
Details | Diff | Splinter Review |
4.90 KB,
patch
|
cajbir
:
review+
|
Details | Diff | Splinter Review |
Our current ogg-related code does not compile on ARM. It should.
Assignee | ||
Comment 1•15 years ago
|
||
The cpu detection code in liboggplay tries to compile x86-only code on all platforms. This puts ifdefs around the relevant code block.
Attachment #394985 -
Flags: review?
Assignee | ||
Updated•15 years ago
|
Attachment #394985 -
Flags: review? → review?(chris.double)
Assignee | ||
Comment 2•15 years ago
|
||
Curiously, someone fixed one part of this a while back in http://lists.xiph.org/pipermail/ogg-dev/2009-May/001394.html but didn't fix the other 3 macros that were in the same spot, doing the exact same kind of bad cast. And noone mentioned it.
Attachment #394987 -
Flags: review?(chris.double)
Comment 3•15 years ago
|
||
If this is as trivial as it looks I think it should block Fennec 1.0; the playback won't be fantastic, I don't expect, but it'll show progress and commitment to open video on mobile devices.
tracking-fennec: --- → ?
Comment 4•15 years ago
|
||
Comment on attachment 394987 [details] [diff] [review] liboggz unaligned access fixes >+static ogg_int64_t >+int64_le_at (unsigned char *c) >+{ >+ ogg_int32_t a = c [0] | (c [1] << 8) | (c [2] << 16) | (c [3] << 24); >+ ogg_int32_t b = c [4] | (c [5] << 8) | (c [6] << 16) | (c [7] << 24); >+ >+ return (((ogg_int64_t)b) << 32) | a; > } Since ogg_int32_t is signed, a will get sign extended to 64 bits which is not what you want. (b doesn't care because it gets shifted anyway.)
Comment 5•15 years ago
|
||
About cpu.c, I believe that it is already fixed on upstream by http://git.xiph.org/?p=liboggplay.git;a=commitdiff;h=b908ed69267c001310cc234628fb4c7dc41ced76
Assignee | ||
Comment 6•15 years ago
|
||
Good catch -- now with more uint32_t.
Attachment #394987 -
Attachment is obsolete: true
Attachment #395755 -
Flags: review?(chris.double)
Attachment #394987 -
Flags: review?(chris.double)
Comment 7•15 years ago
|
||
(In reply to comment #6) > Created an attachment (id=395755) [details] > liboggz unaligned access fixes, v2 We maintain changes to liboggz as patches which we apply to a liboggz release/changeset with the media/liboggz/update.sh script. So your patch also needs to add these changes to a patch in media/liboggz, and you need to edit media/liboggz/update.sh and media/liboggz/README_MOZILLA similar to how we've done it for the other patches in media/liboggz.
Updated•15 years ago
|
tracking-fennec: ? → 1.0-
Flags: wanted-fennec1.0+
Comment 8•15 years ago
|
||
patch v2 (id=395755) applied in upstream liboggz master branch (and seek-rewrite etc. are rebased on top of master): commit 20609d34c41fa611fe3dbb4853d4f328bd0a6185 Author: Conrad Parker <conrad@metadecks.org> Date: Fri Aug 21 15:21:21 2009 +0900 Mozilla #511038: Fix Ogg/Theora on ARM "liboggz unaligned access fixes v2" patch by Vladimir Vukicevic (:vlad)
Comment 9•15 years ago
|
||
With Conrad pushing the fixes upstream the patch is obviously fine. Needs the changes outlined in comment 7 before we can push to trunk - or we need to update to liboggz tip and then we don't need this patch. Added wiking, the liboggplay maintainer, to take a look at the liboggplay patch.
Updated•15 years ago
|
Attachment #395755 -
Flags: review?(chris.double) → review+
Comment 10•15 years ago
|
||
Comment on attachment 394985 [details] [diff] [review] liboggplay cpu detection code r+ with update to README_MOZILLA, addition of a .patch file to be applied so it doesn't get lost when we do a liboggplay update, and adding the patch application to update.sh.
Attachment #394985 -
Flags: review?(chris.double) → review+
Comment 11•15 years ago
|
||
(In reply to comment #9) > With Conrad pushing the fixes upstream the patch is obviously fine. Needs the > changes outlined in comment 7 before we can push to trunk - or we need to > update to liboggz tip and then we don't need this patch. > > Added wiking, the liboggplay maintainer, to take a look at the liboggplay > patch. i've just pushed my patch to oggplay repo. the only diff between that and the one by Vlad is that i've added defined(_M_AMD64) macro to the macro condition, as otherwise it'll have problems when compiling it on Win64. see commit 9c7a748
Comment 12•15 years ago
|
||
I'm working on updating the ogg libraries, which will include the changes in these patches, so these changes will be in those patches.
Updated•15 years ago
|
Depends on: CVE-2009-3377
Assignee | ||
Comment 13•15 years ago
|
||
Ok, great -- I'll hold off on landing these then. Are we going to take those updates on 1.9.2 as well?
Comment 14•15 years ago
|
||
Fixed on m-c by bug 512327.
Updated•15 years ago
|
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 15•15 years ago
|
||
Bug 512327 was backed out to see if it caused a near permanent orange on Linux, so reopening this bug until that lands again. [ http://hg.mozilla.org/mozilla-central/rev/b722d9fdf154 ]
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•15 years ago
|
Whiteboard: [nv]
Comment 17•15 years ago
|
||
Fixed on m-c by bug 512327...
Status: REOPENED → RESOLVED
Closed: 15 years ago → 15 years ago
Resolution: --- → FIXED
Comment 18•15 years ago
|
||
We still need liboggplay changeset 9c7a74803736d45c10c40e4f15f899246bbd7f9f before we can mark this fixed.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 19•14 years ago
|
||
bug 512328 includes liboggplay changeset 9c7a74803736d45c10c40e4f15f899246bbd7f9f
Status: REOPENED → RESOLVED
Closed: 15 years ago → 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•