Closed Bug 1322628 Opened 8 years ago Closed 8 years ago

EOS buffer released in wrong state

Categories

(Firefox for Android Graveyard :: Audio/Video, defect)

defect
Not set
normal

Tracking

(firefox53 fixed)

RESOLVED FIXED
Firefox 53
Tracking Status
firefox53 --- fixed

People

(Reporter: jhlin, Assigned: jhlin)

Details

Attachments

(1 file)

CodecProxy doesn't record EOS buffer [1]. When releasing it calls ICodec.stop() before ICodec.release() [2], which in turn flushes the unreleased output buffers [3].
But calling MediaCodec.releaseOutputBuffer() should be called before MediaCodec.stop() or it throws IllegalStateException.

[1] https://hg.mozilla.org/mozilla-central/rev/8282bb09dc78#l2.48
[2] http://searchfox.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java#123
[3] https://hg.mozilla.org/mozilla-central/diff/c871270d176e/mobile/android/base/java/org/mozilla/gecko/media/Codec.java#l1.286
Assignee: nobody → jolin
Comment on attachment 8817561 [details]
Bug 1322628 - record EOS buffer in CodecProxy to make sure it'll be released before ICodec.stop() is called.

https://reviewboard.mozilla.org/r/97808/#review98406
Attachment #8817561 - Flags: review?(snorp) → review+
Pushed by jolin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/55878b84a3d6
record EOS buffer in CodecProxy to make sure it'll be released before ICodec.stop() is called. r=snorp
https://hg.mozilla.org/mozilla-central/rev/55878b84a3d6
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 53
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: