Closed Bug 1024324 Opened 10 years ago Closed 10 years ago

Can not play the video (3gp, mp4, webm) in Video app

Categories

(Core :: Audio/Video, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla33
blocking-b2g 2.1+
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.1 --- verified
b2g-v2.2 --- verified

People

(Reporter: askeing, Assigned: sotaro)

References

Details

(Keywords: regression)

### ENV
Flame master
Gaia      0750f66a0004870773c9a743fa6bdbe124379336
Gecko     https://hg.mozilla.org/mozilla-central/rev/429f55154e83
BuildID   20140611091240
Version   33.0a1
ro.build.version.incremental=108
ro.build.date=Tue Jun 10 19:40:40 CST 2014

### STR
1. record a vidio by Camera app. (format will be 3gp)
2. launch Video app.
3. tap the video in Video app.

### Except
1. play the video

### Actual
1. can not paly the video
run gaiatest to check the result of different format videos.
  Fail - test_play_3gp_video.py
  Fail - test_play_mp4_video.py
  Pass - test_play_ogg_video.py
  Pass - test_play_ogv_video.py
  Fail - test_play_webm_video.py
Summary: Can not play the video (3gp) in Video app → Can not play the video (3gp, mp4, webm) in Video app
QA Wanted to confirm this doesn't reproduce on 2.0.
Keywords: qawanted
QA Contact: demerick
Can we have a logcat when the problem happens?
It seems that Hardware decoder does not work at all. One possibility seems Bug 1004195. But I do not know that comment 0 also flashed boot.img.
This issue does not reproduce on Flame 2.0

Device: Flame 2.0
Build ID: 20140609040203
Gaia: 12af93123c5db55212d51fe235d39f21209a1eaa
Gecko: 9305a8ec77fe
Version: 32.0a1 (2.0) 
Firmware Version: v10G-2

User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

The video clip (3gp) recorded using the 'Camera' app played via the 'Video' app with no issues.
Flags: needinfo?(jmitchell)
Keywords: qawanted
QA Contact: demerick
QA Whiteboard: QAnalyst-Triage?
additional branch testing is pending  -
Flags: needinfo?(jmitchell)
This issue does not reproduce on Buri 2.0

Device: Buri 2.0
Build ID: 20140612094656
Gaia: 5e405067230af282a968be69dd00778808679ef5
Gecko: 7dde93e67590
Version: 32.0a2 (2.0) 
Firmware Version: v1.2device.cfg

User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

The video clip (3gp) recorded using the 'Camera' app played via the 'Video' app with no issues.
Flags: needinfo?(jmitchell)
Flame 2.1 = Repro
Flame 2.0 = No Repro
Buri 2.0 = No Repro

QA-Wanted = Let's get a regression-window
Flags: needinfo?(jmitchell)
blocking-b2g: --- → 2.1?
I tried on master today, and it seems to be working fine (on my flame)
Branch: master

Version=33.0a1
BuildID=20140612152309
b2g-inbound: 188460:7a69694fa94e
gaia: 5b4b4fc17a8e4a513a977f7062ea3e65d26ce268
Whoops - sorry my test in comment 9 was done with the base image. I hadn't actually flashed my phone.
With the build from comment 10, video replay no longer works on master.
Pretty sure this is a gecko issue - this is happening with any video playback, not just the video app.
Component: Gaia::Video → Video/Audio
Product: Firefox OS → Core
Version: unspecified → Trunk
I am going to investigate the problem.
Assignee: nobody → sotaro.ikeda.g
When the problem happens, OMXCodec shutdown was stopped the following. OMXCodec does not received all buffers from gecko side. Yeah, it seem to be caused by gecko regression. ImageBridge seems most possible cause of the problem...

status_t OMXCodec::stopOmxComponent_l() {
    CODEC_LOGV("stopOmxComponent_l mState=%d", mState);

>>>
    while (mNumClientBuffers) {
        mBufferCompletion.wait(mLock);
    }
Hmm, code around ImageBridge seems to work correctly.
Someone continues to hold GrallocImage. GrallocImage holds TextureClieht. It blocks OMXCodec shutdown. ImageBridge and ImageClient does not steadily hold a reference to Image object.
I modified the code like the following, but the problem still exist. Form it, it is a regression of media framework.

------------------------------
void VideoFrameContainer::SetCurrentFrame(const gfxIntSize& aIntrinsicSize,
                                          Image* aImage,
                                          TimeStamp aTargetTime)
{
  MutexAutoLock lock(mMutex);
  return;
It becomes clear that Bug 979104 causes the problem. By back out Bug 979104 locally, I confirmed the fix. This bug blocks a lot of peoples' work, we need to back out Bug 979104 as soon as possible.
How am I supposed to fix this bug when I can't build and flash b2g onto a flame? Even if I flash "OEM build v121-2" from our intranet, I can't flash a custom built Gecko on top of that.
(In reply to Chris Pearce (:cpearce) from comment #20)
> How am I supposed to fix this bug when I can't build and flash b2g onto a
> flame? Even if I flash "OEM build v121-2" from our intranet, I can't flash a
> custom built Gecko on top of that.

Can you explain more about why you can't build flame ROM?
Flags: needinfo?(cpearce)
This problem is already fixed by back out of Bug 979104. See Bug 979104 Comment 26.
QA Whiteboard: QAnalyst-Triage? → [QAnalyst-Triage+]
Fixed via backout of bug 979104.
Blocks: 979104
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
blocking-b2g: 2.1? → 2.1+
Target Milestone: --- → mozilla33
(In reply to Chris Pearce (:cpearce) from comment #20)
> How am I supposed to fix this bug when I can't build and flash b2g onto a
> flame? Even if I flash "OEM build v121-2" from our intranet, I can't flash a
> custom built Gecko on top of that.

The problem happened also on master hamachi.
(In reply to Sotaro Ikeda [:sotaro] from comment #21)
> (In reply to Chris Pearce (:cpearce) from comment #20)
> > How am I supposed to fix this bug when I can't build and flash b2g onto a
> > flame? Even if I flash "OEM build v121-2" from our intranet, I can't flash a
> > custom built Gecko on top of that.
> 
> Can you explain more about why you can't build flame ROM?

I can configure and build a flame B2G repo, but when I flash gecko+gaia, the phone will no longer boot. I've followed instructions on the wiki to flash a pvt build and a release build, but I can still not flash a locally build gecko on top of that.

We have a hamachi here in Auckland now, I'll try that...
Flags: needinfo?(cpearce)
I can't make a hamachi build, but I was able to build and flash on an otoro. I can't reproduce the problem specified above, but I do see a crash when I exit press "back" button on the video app while playing a video with the patch from bug 979104 applied. Maybe it's the same bug.
(In reply to Chris Pearce (:cpearce) from comment #26)
> I can't make a hamachi build, but I was able to build and flash on an otoro.
> I can't reproduce the problem specified above, but I do see a crash when I
> exit press "back" button on the video app while playing a video with the
> patch from bug 979104 applied. Maybe it's the same bug.

Yes, it is same thing. Just the symptom is different.
This issue is verified as fixed for the latest 2.1 and 2.2 Flame builds:

Environmental Variables:
----------------------------------------
Device: Flame 2.1
BuildID: 20141013001201
Gaia: d18e130216cd3960cd327179364d9f71e42debda
Gecko: 610ee0e6a776
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 34.0a2 (2.1)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Environmental Variables:
----------------------------------------
Device: Flame 2.2 Master
BuildID: 20141013040202
Gaia: 3b81896f04a02697e615fa5390086bd5ecfed84f
Gecko: f547cf19d104
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 35.0a1 (2.2 Master)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

User can record video in Camera app and play the recorded video in the Video app
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.