Closed Bug 1365584 Opened 7 years ago Closed 7 years ago

[Shutdown Decoder] On WEBM video element resume the player returns a error

Categories

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

ARM
Android
defect

Tracking

(firefox55 affected)

RESOLVED DUPLICATE of bug 1363210
Tracking Status
firefox55 --- affected

People

(Reporter: bsurd, Assigned: kaku)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached file log
Device: 
 - Nexus 5 (Android 6.0.1);
 - Galaxy Note 5 (Android 5.1).
Build:
 - Nightly 55.0a1 (2017-05-17);

Steps to reproduce:
1. Open Firefox and go to: https://goo.gl/LEVnLD;
2. After video starts playing, go to another time and wait for the video elements to stop (~10 sec if the pref. was not changed);

Expected result:
 On video resume the last decoded frame should be visible and the video elements should resume.

Actual result:
 The player returns a "Video can't be player because the file is corrupt" error and stops.

Notes:
 Video: https://goo.gl/eWqmaK
 The issue did not reproduce on the Nexus 5, video elements resumed and played back as expected.
(In reply to Bogdan Surd, QA [:BogdanS] from comment #0)
> Created attachment 8868545 [details]
> log
> 
> Device: 
>  - Nexus 5 (Android 6.0.1);
>  - Galaxy Note 5 (Android 5.1).
> Build:
>  - Nightly 55.0a1 (2017-05-17);
> 
> Steps to reproduce:
> 1. Open Firefox and go to: https://goo.gl/LEVnLD;
> 2. After video starts playing, go to another time and wait for the video
> elements to stop (~10 sec if the pref. was not changed);
> 
> Expected result:
>  On video resume the last decoded frame should be visible and the video
> elements should resume.
> 
> Actual result:
>  The player returns a "Video can't be player because the file is corrupt"
> error and stops.
> 
> Notes:
>  Video: https://goo.gl/eWqmaK
>  The issue did not reproduce on the Nexus 5, video elements resumed and
> played back as expected.
So, on what device did you encounter into this issue? and is this issue 100% reproducible on that device?

Also, is it possible for you to find out the regression window? like what you did at bug 1365582 comment 3.
Assignee: nobody → kaku
Status: NEW → ASSIGNED
Flags: needinfo?(bogdan.surd)
Priority: -- → P1
Hello Tzuhao,

The issue was 100% reproducible on the Note 4* (Android 5.1).

 Here is the regression window:
  Last known good build: 2017-05-09
  First known bad build: 2017-05-10
  Pushlog: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b21b974d60d3075ae24f6fb1bae75d0f122f28fc&tochange=ce2218406119c36a551e3faea4e192186ee46cc5
Flags: needinfo?(bogdan.surd)
(In reply to Bogdan Surd, QA [:BogdanS] from comment #2)
> Hello Tzuhao,
> 
> The issue was 100% reproducible on the Note 4* (Android 5.1).
> 
>  Here is the regression window:
>   Last known good build: 2017-05-09
>   First known bad build: 2017-05-10
>   Pushlog:
> https://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=b21b974d60d3075ae24f6fb1bae75d0f122f28fc&tochange=ce22
> 18406119c36a551e3faea4e192186ee46cc5

Bogdan, 
I don't have a Note 4 (Samsung Note 4? or Xiomi Note 4?) here, so I am afraid that I still cannot reproduce it on my side. 

May I have your help to narrow down the regression window? If we can narrow down to few patches, I might be able to speculate the root cause by looking into the code changes.
Flags: needinfo?(bogdan.surd)
Turn on MediaFormatReader log might be helpful too.
> (In reply to Bogdan Surd, QA [:BogdanS] from comment #2)
> > Hello Tzuhao,
> > 
> > The issue was 100% reproducible on the Note 4* (Android 5.1).
> > 
> >  Here is the regression window:
> >   Last known good build: 2017-05-09
> >   First known bad build: 2017-05-10
> >   Pushlog:
> > https://hg.mozilla.org/mozilla-central/
> > pushloghtml?fromchange=b21b974d60d3075ae24f6fb1bae75d0f122f28fc&tochange=ce22
> > 18406119c36a551e3faea4e192186ee46cc5

I have tried to build local Fennecs incrementally amoung this regression range and install them into several devices, but I still cannot reproduce this issue. Is it possible for you to do the same thing on the in-trouble device?

(In reply to John Lin [:jolin][:jhlin] from comment #4)
> Turn on MediaFormatReader log might be helpful too.

This is really good, could your help to do it? 
You can do this by:
(1) Go to about:config page.
(2) Press the "+" button on the left-up.
(3) Input "logging.MediaFormatReader" in the "Name" slot.
(4) Change the "Boolean" value to "String".
(5) Input "Debug" in the "Entern a string" slot.

To record the logs, please connect your device to a computer, open a terminal, and use "adb logcat" to record the logs.
Attached file logcat.txt
Hello,

 I have attached the log file from the device with the new MediaFormatReader String.
Flags: needinfo?(bogdan.surd)
(In reply to Bogdan Surd, QA [:BogdanS] from comment #6)
> Created attachment 8869339 [details]
> logcat.txt
> 
> Hello,
> 
>  I have attached the log file from the device with the new MediaFormatReader
> String.

Thanks so much, there're lots of "DECODE_ERROR"s, but I cannot judge how it related to the suspend-resumne behaviors. May I ask for your help again to open both "logging.MediaFormatReader" and "logging.MediaDecoder" logs?
Flags: needinfo?(bogdan.surd)
Attached file updated_logcat.txt
Here is the updated logcat with both MediaFormatReader and MediaDecoder.
Flags: needinfo?(bogdan.surd)
Bogdan,
 
Many thanks for your prompt response and help.

In the latest log, I found some log similar to what happened in bug 1363210:
W/AHierarchicalStateMachine( 7950): Warning message AMessage(what = 'star', target = 4) = {
W/AHierarchicalStateMachine( 7950): } unhandled in root state.
W/System.err( 7950): java.lang.IllegalStateException

AFAICT, that Android bug was already fixed in 5.1, which should be the version run on your Galaxy Note 4.

Could you please help extract some version info from your device with 'adb shell getprop'?
The properties I'm looking for are:
 [ro.build.display.id]
 [ro.build.id]
 [ro.build.version.release]
 [ro.build.version.sdk]

Thanks a lot!
Flags: needinfo?(bogdan.surd)
Bogdan,

Thanks for providing the logs. From the latest log, I found that the video decoding error happens before shutting down the decoder, is it observable? Do you ever encounter into playback error before shutting down the decoder? Or the playback error always happens after resuming the decoder?
Hello,

@John
Here is the info:
[ro.build.display.id]: [LRX22C.N910AUCU2COC6]
[ro.build.id]: [LRX22C]
[ro.build.version.release]: [5.0.1]
[ro.build.version.sdk]: [21]

 The device is running 5.0.1 not 5.1. Sorry for the confusion. Still the issue was not reproducing on earlier builds of Fennec. 
(In reply to John Lin [:jolin][:jhlin] from comment #9)
> AFAICT, that Android bug was already fixed in 5.1, which should be the
> version run on your Galaxy Note 4.
Should we just ignore this then?


@Tzuhao
 The issue happens when resuming the video. If I don't switch back to the video tab, the audio keeps playing.
Flags: needinfo?(bogdan.surd) → needinfo?(jolin)
Bogdan, thanks a lot! I'll set this one as a dup of bug 1363210 then.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Flags: needinfo?(jolin)
Resolution: --- → DUPLICATE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: