Closed Bug 1374899 Opened 3 years ago Closed 3 years ago

[Fennec][HLS] Handle InvalidResponseCodeException exception raised by Exoplayer with some url that may cause redirection.

Categories

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

defect
Not set

Tracking

()

RESOLVED FIXED
Firefox 56
Tracking Status
firefox56 --- fixed

People

(Reporter: JamesCheng, Assigned: JamesCheng)

References

Details

Attachments

(1 file)

We found this site http://www.newshub.co.nz/home/new-zealand/2016/07/powerball-winners-cash-in-tickets.html#axzz4EA1uumyJ

may use HLS as their second choice(first is MSE)

but the m3u8 url it provides will cause Exoplayer raise 


06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 302
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:123)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at com.google.android.exoplayer2.source.hls.HlsMediaChunk.loadMedia(HlsMediaChunk.java:251)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at com.google.android.exoplayer2.source.hls.HlsMediaChunk.load(HlsMediaChunk.java:200)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
06-21 10:18:29.559 26660 26872 E ExoPlayerImplInternal: 	at java.lang.Thread.run(Thread.java:761)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: playerFailed
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: com.google.android.exoplayer2.ExoPlaybackException
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:357)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at android.os.Handler.dispatchMessage(Handler.java:98)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at android.os.Looper.loop(Looper.java:154)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at android.os.HandlerThread.run(HandlerThread.java:61)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 302
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:123)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.source.hls.HlsMediaChunk.loadMedia(HlsMediaChunk.java:251)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.source.hls.HlsMediaChunk.load(HlsMediaChunk.java:200)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
06-21 10:18:29.887 26660 26683 E GeckoHlsPlayer: 	at java.lang.Thread.run(Thread.java:761)
06-21 10:18:29.887 26660 26683 I Gecko   : [Main Thread]: D/HLS HLSDemuxerCallbacksSupport(0xaf3ed260)::void mozilla::HLSDemuxer::HLSDemuxerCallbacksSupport::OnError(int): Got error(-202) from java side


We should handle this case to make it playable.
Comment on attachment 8879790 [details]
Bug 1374899 - Handle InvalidResponseCodeException exception raised by Exoplayer and set the initDone flag to false when we got onPlayerError caused by Exoplayer.

https://reviewboard.mozilla.org/r/151168/#review156008

::: mochitest.log:1
(Diff revision 1)
> +ⰲ겿{"action":"log","time":1497949640756,"thread":null,"pid":null,"source":"mochitest","level":"INFO","message":"SimpleTest START","js_source":"TestRunner.js"}ⰲ겿

This file should not be landed.
Attachment #8879790 - Flags: review?(kikuo) → review+
Comment on attachment 8879790 [details]
Bug 1374899 - Handle InvalidResponseCodeException exception raised by Exoplayer and set the initDone flag to false when we got onPlayerError caused by Exoplayer.

https://reviewboard.mozilla.org/r/151168/#review156008

Great !
Pushed by jacheng@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c3204cc8b2b3
Handle InvalidResponseCodeException exception raised by Exoplayer and set the initDone flag to false when we got onPlayerError caused by Exoplayer. r=kikuo
https://hg.mozilla.org/mozilla-central/rev/c3204cc8b2b3
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.