Closed Bug 881611 Opened 11 years ago Closed 11 years ago

play is not called when "HQ" pushed more than twice

Categories

(Tech Evangelism Graveyard :: Preinstalled B2G Apps, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:leo+)

RESOLVED FIXED
blocking-b2g leo+

People

(Reporter: roc, Unassigned)

References

Details

(Whiteboard: [NPOTB])

Attachments

(5 files)

This is on an Unagi running b2g18.

Sometimes while trying to start playback of the Youtube video described here:
https://bugzilla.mozilla.org/show_bug.cgi?id=877461#c28
The load fails for some reason (maybe network ... I'm testing on a 2G network), and we shut down:
E/omx_vdec(  114): Omx Flush issued when vdec is not initialized yet.
I/PRLog   (  483): 2013-06-11 05:50:07.480297 UTC - 1074578680[42507160]: OmxDecoder destroyed this=435f1dc0
E/QC_BASE (  114): Killing timer thread...
E/QC_BASE (  114): Timer thread exited
E/QC_BASE (  114):  DEINIT COMPLETED
E/QC_BASE (  114): component_deinit deinit completed
E/QC_BASE (  114): OMX AAC component destroyed
W/omx_vdec(  114): ======================================================================
W/omx_vdec(  114):                    Open Max Statistics                                
W/omx_vdec(  114): ======================================================================
W/omx_vdec(  114): empty this buffer rate = NaN
W/omx_vdec(  114): empty this buffer total time = 0
W/omx_vdec(  114): empty this buffer count = 0
W/omx_vdec(  114): ======================================================================

But after that the following sorts of messages repeat endlessly:

D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x46b00000 size:1376256 offset:1228800 fd:45
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4bbc6000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x47656000 size:8298496 offset:8151040
D/memalloc(  261): /dev/pmem: Allocated buffer base:0x4b400000 size:147456 offset:8151040 fd:107
D/memalloc(  483): /dev/pmem: Mapped buffer base:0x47656000 size:8298496 offset:8151040 fd:42
D/memalloc(  261): /dev/pmem: Freeing buffer base:0x4b52c000 size:147456 offset:1228800 fd:101
D/memalloc(  483): /dev/pmem: Unmapping buffer base:0x46b00000 size:1376256 offset:1228800

until the process exits.
Note: I haven't updated to the "codec sharing" patches yet.
Blocks: 877024
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #1)
> Note: I haven't updated to the "codec sharing" patches yet.

It's probably worthwhile to retest with the codec sharing patches. I filed a different bug that Sotaro commented on indicating to retest as well that involved failing to load 3GP content after it was playing and the user decided to reload the page.
qawanted to retest this on the latest b2g18 build to see if this happening with the recent codec sharing patches that landed.
blocking-b2g: --- → leo?
Keywords: qawanted
Let's resolve/worksforme if this doesn't repro. We're blocking because we're concerned about these video issues.
blocking-b2g: leo? → leo+
Attached file logcat
Retested this on the latest b2g18 build using steps provided in bug 877461 (https://bugzilla.mozilla.org/show_bug.cgi?id=877461#c28)

Tested using E connection,

It seems like issue reproduces - video loads extremely slowly and gets stuck at the very beginning, user is unable to get a playing video and/nor audio,

not too sure if its exactly the same issue/error as described in comment 0, providing logcat if someone can take a look

Build info:
Unagi
Gecko  http://hg.mozilla.org/releases/mozilla-b2g18/rev/537f3eac4c48
Gaia   ba4c3763514dbb9fd1dd886b4b6f3bff50bad264
Build  20130614070213
Version 18.0
Keywords: qawanted
Sotaro - Does the logcat provided in comment 5 indicate the issue filed in this bug is still reproducing even with the codec sharing patch landed?
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Jason Smith [:jsmith] from comment #6)
> Sotaro - Does the logcat provided in comment 5 indicate the issue filed in
> this bug is still reproducing even with the codec sharing patch landed?

Logcat of comment 5 is different from comment 1. attachment 762986 [details] says it succeeded the allocation of OMXCodec, but timeout happens by slow data input. This slow might come from Bug 882552.
Flags: needinfo?(sotaro.ikeda.g)
Assignee: nobody → sotaro.ikeda.g
By following STR Unagi come into condition that generate the log in comment #0.

[1] Start youtube app in Bug 877024.
[2] select any video in the youtube site.
[3] start the video
[4] Before showing first frame(showing buffering animation),
       touch 'HG' icon a lot of times.
[5] buffering animation shows forever.
STR in comment 8. I added some logs manually.
From the log, it became clear that this symptom is not infinite loop. Following infinite log is not related to OMXCodec, but related to youtube site's animation. 

> /dev/pmem: Allocated buffer base:0x4b400000 size:147456
(In reply to Sotaro Ikeda [:sotaro] from comment #11)
> From the log, it became clear that this symptom is not infinite loop.
> Following infinite log is not related to OMXCodec, but related to youtube
> site's animation. 
> 
> > /dev/pmem: Allocated buffer base:0x4b400000 size:147456

It was buffer allocation for canvas.
(In reply to Sotaro Ikeda [:sotaro] from comment #8)
> By following STR Unagi come into condition that generate the log in comment
> #0.
> 
> [1] Start youtube app in Bug 877024.
> [2] select any video in the youtube site.
> [3] start the video
> [4] Before showing first frame(showing buffering animation),
>        touch 'HG' icon a lot of times.
> [5] buffering animation shows forever.

There was no Infinite loop in libstagefright video decoder.
But STR in Comment 8, show buffing animation forever. It seems youtube web site's problem.
(In reply to Sotaro Ikeda [:sotaro] from comment #15)
> But STR in Comment 8, show buffing animation forever. It seems youtube web
> site's problem.

It is not clear. Need to analyze more.
I find out that only one push "HQ" icon during buffering after starting video fall into infinite buffering animation.

From the log, nsBuiltinDecoder did not get called play().
I checked that video element does not have "autoplay" attribute. Play needs to be called by youtube site.
(In reply to Sotaro Ikeda [:sotaro] from comment #18)
> I checked that video element does not have "autoplay" attribute. Play needs
> to be called by youtube site.

I feel it is youtube site's problem.
Summary: Infinite loop in libstagefright video decoder when there's an error on load → play is not called when "HQ" pushed more than twice
I un-assign myself. From Comment 18, it becomes clear that the problem do not caused by gecko, but by youtube.
Assignee: sotaro.ikeda.g → nobody
Component: Video/Audio → Preinstalled B2G Apps
Product: Core → Tech Evangelism
Blocks: b2g-youtube
No longer blocks: 877024
Donovan - Can you outreach to YouTube about this bug?
Flags: needinfo?(dpreston)
Yes I will mention it.
Flags: needinfo?(dpreston)
Thanks for the info.
We'll fix this issue on our end.
Whiteboard: [NPOTB]
Please Retest.  YT says this is fixed now.
Flags: needinfo?(jsmith)
(In reply to Karen Ward [:kward] from comment #24)
> Please Retest.  YT says this is fixed now.

Jeni - Can you retest?
Flags: needinfo?(jsmith) → needinfo?(jcouassi)
Unable to repros on
Build ID: 20130802164042
Gecko: /rev/
Gaia: 402e0921f78e5e93bbffb7c67c6b32164df14692
Platform Version: 18.1

After user starts video on Youtube then taps on HD video then switches to HD and plays
Flags: needinfo?(jcouassi)
Closing per comment 26
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: