Closed Bug 1373377 Opened 3 years ago Closed 3 years ago

Crash in java.lang.IllegalArgumentException: Unsupported type: 3 at org.mozilla.gecko.media.GeckoHlsPlayer.buildMediaSource(GeckoHlsPlayer.java)

Categories

(Firefox for Android :: Audio/Video, defect, critical)

Unspecified
Android
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Firefox 56
Tracking Status
firefox54 --- unaffected
firefox55 --- unaffected
firefox56 --- fixed

People

(Reporter: mccr8, Assigned: JamesCheng)

References

Details

(Keywords: crash, regression, topcrash-android-armv7)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-648f9796-4e35-4786-9991-c2bc20170615.
=============================================================

This is a new crash in the 6-14 Nightly Android build. It is the top crash, with 20 crashes.
kikuo, it looks like you have been working with this code recently, could you investigate please? Thanks.
Flags: needinfo?(kikuo)
I will look into this issue.

It seems the url with query string like http://yyy/xxx.m3u8?.......  will cause this happened.

We should do some logic change to adapt this kind of url.
Flags: needinfo?(kikuo)
Assignee: nobody → jacheng
Depends on: 1373500
The original design is that we assume the url must contain .m3u8 e.g. http://xxx.yyy/123.m3u8.

If the mimetype is HLS but the url did not contain .m3u8, we will throw an exception without catch it.

In bug 1368954, the exception has been catching, so the crash symptom will be hidden.

But consider that the known HLS content provider "Youku", the url did not contain .m3u8 and other browser can accept this kind of url and play it normally, we decided to remove this check and if there is an error occurred during playback, we should handle the error in Bug 1368904 - [Fennec][HLS] Handle unexpected OnError native callback from java GeckoHlsPlayer.
Comment on attachment 8878384 [details]
Bug 1373377 - Remove the 'url must contain .m3u8' constrain.

https://reviewboard.mozilla.org/r/149724/#review154756

::: mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java:257
(Diff revision 2)
>      private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
>          if (DEBUG) { Log.d(LOGTAG, "buildMediaSource uri[" + uri + "]" + ", overridedExt[" + overrideExtension + "]"); }

We don't define the extension list like ExoPlayer Demo Application did [1] to play certain URL correctly.

Please remove the overrideExtension-related code.

[1] https://google.github.io/ExoPlayer/demo-application.html
Attachment #8878384 - Flags: review?(kikuo) → review+
Comment on attachment 8878384 [details]
Bug 1373377 - Remove the 'url must contain .m3u8' constrain.

https://reviewboard.mozilla.org/r/149724/#review154756

> We don't define the extension list like ExoPlayer Demo Application did [1] to play certain URL correctly.
> 
> Please remove the overrideExtension-related code.
> 
> [1] https://google.github.io/ExoPlayer/demo-application.html

Obey! Remove the buildMediaSource function and print the uri type for debugging.
Thanks.
Pushed by jacheng@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d9e4073abd4c
Remove the 'url must contain .m3u8' constrain. r=kikuo
https://hg.mozilla.org/mozilla-central/rev/d9e4073abd4c
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 56
You need to log in before you can comment on or make changes to this bug.