[A/V] Video codec is blocked, and no video file can be played.

RESOLVED FIXED in Firefox 25

Status

defect
P1
major
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: leo.bugzilla.gecko, Assigned: sotaro)

Tracking

unspecified
1.1 QE5
ARM
Gonk (Firefox OS)

Firefox Tracking Flags

(blocking-b2g:leo+, firefox23 wontfix, firefox24 wontfix, firefox25 fixed, b2g18 fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 wontfix, b2g-v1.1hd fixed)

Details

(Whiteboard: [TD-57882][LeoVB+] )

Attachments

(1 attachment, 1 obsolete attachment)

Reporter

Description

6 years ago
STR

1. Play video file on device 1.
2. Send any video file from device 2 to device 1.
3. In device 1, receive file and try to play it from the notification, while first one is still playing.
4. Device 1 remains black screen with spinner. Then, push pause/start 2~3 times.
5. Push back button.

Then, video frame is stopped and I can hear only audio.
Progress bar isn't changed.
After that, I cannot play any video file until turn off the device.
Reporter

Updated

6 years ago
blocking-b2g: --- → leo+
This bug is already reported in bug 889191. After investigation, the cause is related to bug 887650. I cc alive so that he can test them together.
Reporter

Comment 2

6 years ago
(In reply to John Hu [:johnhu] from comment #1)
> This bug is already reported in bug 889191. After investigation, the cause
> is related to bug 887650. I cc alive so that he can test them together.

I'm not sure that this problem is related to bug 889191 and bug 887650.
Maybe, this problem will be fixed by that patch.

But I think we have to handle another problem here.

Bug 889191 and bug 887650 is about UX problem.
However, the main issue here is "After this problem, every video file cannot be played at all".

When push back button in STR 5 in comment #0, 
Video codec is suddenly stopped without any state change.
And even though I push back button, it doesn't release A/V codec. 

So, no media file start to play because it cannot use any H/W codec.
Assignee

Updated

6 years ago
Assignee: nobody → sotaro.ikeda.g
Assignee

Comment 3

6 years ago
Sorry, I made this bug at MediaResourceManagerServic e:-(
Assignee

Comment 4

6 years ago
Somehow, following code does not work.
>   while (it != mVideoCodecRequestQueue.end()) {
Assignee

Comment 5

6 years ago
I become clear that I hit android::Vector's bug. Following code does not work correctly. It assumes the Vector uses same arryBuffer. But it is not always correct. There is a case that the arryBuffer is reallocated. In this case it does not work.
 > it = mVideoCodecRequestQueue.erase(it);
Assignee

Comment 6

6 years ago
Changed not to use the iterator returned from mVideoCodecRequestQueue.erase(it). Current gecko continues to check all mVideoCodecRequestQueue's items even when the item is found. It is not necessary and changed to break when the item is found.
Assignee

Updated

6 years ago
Attachment #779545 - Attachment is patch: true
Attachment #779545 - Attachment mime type: text/x-patch → text/plain
Assignee

Updated

6 years ago
Attachment #779545 - Flags: review?(chris.double)
Assignee

Comment 7

6 years ago
Confirmed the patch works on v1.1 leo.

Updated

6 years ago
Attachment #779545 - Flags: review?(chris.double) → review+
Reporter

Comment 8

6 years ago
I also checked that the patch works.
And if you change vector from android to STL. It also works :)

Thanks!!.
Assignee

Comment 9

6 years ago
Thanks for the confirmation. I did not choose STL bacause of Bug 850576. When we need to use the following in future, It's better to change to STL.

> iterator returned from mVideoCodecRequestQueue.erase(it).
Assignee

Comment 10

6 years ago
Add header to a patch. Carry "chris.double: review+"
Attachment #779545 - Attachment is obsolete: true
Attachment #779770 - Flags: review+
Assignee

Updated

6 years ago
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/6c5f376186a0
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Reporter

Updated

6 years ago
Whiteboard: [TD-57882] → [TD-57882][LeoVB+]
You need to log in before you can comment on or make changes to this bug.