Closed Bug 1343847 Opened 7 years ago Closed 7 years ago

Video frame tearing/marcoblocking

Categories

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

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1345545

People

(Reporter: bwu, Assigned: jhlin)

Details

(Keywords: regression)

1. Use the nightly.
2. Go to http://s3.cf.web.us.aiv-cdn.net/HTML5PartnerTest.html?asin=B00TYBBNAW&videoType=Trailer&ui 
3. Watch the playback for a while about one min. 

You can see video frame tearing/macroblocking.
Assignee: nobody → jolin
Priority: -- → P1
According to James (Cheng) it could be a regression caused by bug 1336431.

Anyway after discussing with Blake and Jean-Yves we decided to take another approach to fix the invalid frame size issue: instead of relying on ConfigurationChanged(), the input duration map will be extended to store dimensions too. The plan:
1. backing out bug 1336431
2. extend DurationMap to store more video frame info (duration, picture w/h, display w/h)
3. generate patches for aurora
Depends on: 1344649
Keywords: regression
The regression occurs because DecodeFirstSample() is used to decode sample after flushing [1]. Although mNeedKeyframe is set, DecodeFirstSample() unset it before calling ConvertSampleToAnnexB [2] and SPS/PPS won't be prepend to sample.

[1] http://searchfox.org/mozilla-central/source/dom/media/platforms/wrappers/H264Converter.cpp#338
[2] http://searchfox.org/mozilla-central/source/dom/media/platforms/wrappers/H264Converter.cpp#286
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
No longer depends on: 1344649
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.