Closed Bug 1152236 Opened 9 years ago Closed 9 years ago

Gonk PlatformDecoderModule is broken.

Categories

(Core :: Audio/Video: Playback, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox40 --- fixed

People

(Reporter: ayang, Assigned: ayang)

References

Details

Attachments

(1 file)

Enable Gonk PlatformDEcoderModule and play a mp4 file from browser. It fails to play.

04-08 05:36:18.096 I/PRLog   ( 2900): 2015-04-08 09:36:18.109155 UTC - -1199926664[b1dd5900]: MP4Reader(b1520800)::void mozilla::MP4Reader::Update(mozilla::MP4Reader::TrackType): Update(Video) ni=1 no=1 iex=0 fl=0
04-08 05:36:18.096 I/PRLog   ( 2900): 2015-04-08 09:36:18.112842 UTC - -1199922576[afac9880]: MP4Reader(b1520800)::void mozilla::MP4Reader::ScheduleUpdate(mozilla::MP4Reader::TrackType): SchedulingUpdate(Video)
04-08 05:36:18.096 I/PRLog   ( 2900): 2015-04-08 09:36:18.112918 UTC - -1199926664[b1dd5900]: MP4Reader(b1520800)::void mozilla::MP4Reader::Update(mozilla::MP4Reader::TrackType): Update(Video) ni=1 no=1 iex=0 fl=0
04-08 05:36:18.106 I/PRLog   ( 2900): 2015-04-08 09:36:18.116729 UTC - -1199922576[afac9880]: MP4Reader(b1520800)::void mozilla::MP4Reader::ScheduleUpdate(mozilla::MP4Reader::TrackType): SchedulingUpdate(Video)
04-08 05:36:18.106 I/PRLog   ( 2900): 2015-04-08 09:36:18.116824 UTC - -1199926664[b1dd5900]: MP4Reader(b1520800)::void mozilla::MP4Reader::Update(mozilla::MP4Reader::TrackType): Update(Video) ni=1 no=1 iex=0 fl=0
04-08 05:36:18.106 I/PRLog   ( 2900): 2015-04-08 09:36:18.124219 UTC - -1199922576[afac9880]: MP4Reader(b1520800)::void mozilla::MP4Reader::ScheduleUpdate(mozilla::MP4Reader::TrackType): SchedulingUpdate(Video)
04-08 05:36:18.106 I/PRLog   ( 2900): 2015-04-08 09:36:18.124337 UTC - -1199926664[b1dd5900]: MP4Reader(b1520800)::void mozilla::MP4Reader::Update(mozilla::MP4Reader::TrackType): Update(Video) ni=1 no=1 iex=0 fl=0
04-08 05:36:18.116 E/OMX-VDEC-1080P(  200):
04-08 05:36:18.116 E/OMX-VDEC-1080P(  200): ERROR: Sending OMX_EventError to Client
04-08 05:36:18.116 E/ACodec  ( 2900): [OMX.qcom.video.decoder.avc] ERROR(0x80001009)
04-08 05:36:18.116 E/MediaCodec( 2900): Codec reported an error. (omx error 0x80001009, internalError -2147483648)
04-08 05:36:18.116 D/GonkVideoDecoderManager( 2900): Decoder failed, err=-38
04-08 05:36:18.116 D/GonkMediaDataDecoder( 2900): Failed to output data
04-08 05:36:18.116 D/GonkMediaDataDecoder( 2900): Callback error!


It looks like OMX video codec rejects the input sample.
is this a regression ?
Flags: needinfo?(ayang)
I think so, it was ok at last week. I'm bisecting the changelist.
Flags: needinfo?(ayang)
Bad news, 237908 is good, 237910 isn't.
Attachment #8590114 - Flags: review?(jyavenard)
Comment on attachment 8590114 [details] [diff] [review]
use_annex_b_for_omx

Review of attachment 8590114 [details] [diff] [review]:
-----------------------------------------------------------------

Sorry for that...
Attachment #8590114 - Flags: review?(jyavenard) → review+
(In reply to Alfredo Yang from comment #3)
> Bad news, 237908 is good, 237910 isn't.

Those revisions are unlikely going to be global... Should use the hash instead.
Keywords: checkin-needed
One line changed on gonk kk so it won't break other platforms.
It won't break any testcase because try-run on emulator-kk doesn't work yet. :(
https://hg.mozilla.org/mozilla-central/rev/59247aa975ee
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
It happens again on m-c. :(
Not only MSE but also mp4 playback fails.

changeset:   256394:07befc6f54e7
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Component: Audio/Video → Audio/Video: Playback
Assignee: nobody → ayang
Blocks: 1123246
The problem is decoder enters dormant state because mOwner->IsHidden() is true.

https://dxr.mozilla.org/mozilla-central/source/dom/media/MediaDecoder.cpp#202
It sets dormant to false later but mDecodingFrozenAtStateDecoding is true. That stops playback.

https://dxr.mozilla.org/mozilla-central/source/dom/media/MediaDecoderStateMachine.cpp#1507
mQueuedSeek is not pending when returning from dormant state so the decoding won't start.
The root cause is different with this bug. I'll create another bug.

[1] https://dxr.mozilla.org/mozilla-central/rev/d6ea652c579992daa9041cc9718bb7c6abefbc91/dom/media/MediaDecoderStateMachine.cpp#1327
Bug 1192694
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
No longer blocks: 1123246
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: