{"action":"created","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/788","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/788/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/788/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/788/events","html_url":"https://github.com/google/ExoPlayer/issues/788","id":105978741,"number":788,"title":"Something happend at 13f4a3e","user":{"login":"tai2","id":812558,"avatar_url":"https://avatars.githubusercontent.com/u/812558?v=3","gravatar_id":"","url":"https://api.github.com/users/tai2","html_url":"https://github.com/tai2","followers_url":"https://api.github.com/users/tai2/followers","following_url":"https://api.github.com/users/tai2/following{/other_user}","gists_url":"https://api.github.com/users/tai2/gists{/gist_id}","starred_url":"https://api.github.com/users/tai2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tai2/subscriptions","organizations_url":"https://api.github.com/users/tai2/orgs","repos_url":"https://api.github.com/users/tai2/repos","events_url":"https://api.github.com/users/tai2/events{/privacy}","received_events_url":"https://api.github.com/users/tai2/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/google/ExoPlayer/labels/need%20more%20info","name":"need more info","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-09-11T09:49:05Z","updated_at":"2015-09-14T09:18:51Z","closed_at":null,"body":"By bisect I've found that commit 13f4a3e broke streams that could be properly played just before applying it.\r\n\r\n* device: Nexus5 Android 5.1.1\r\n* branch: dev 5050913\r\n* app: ExoPlayer demo\r\n\r\nI'm sorry I cannot share the media file publicly so media url is hidden. This stream is dynamically transmitted and stream session depends on a cookie, although I'm not certain that it has something to do with it or not.\r\n\r\n```\r\n09-11 18:23:27.738  23000-23000/? I/art﹕ Late-enabling -Xcheck:jni\r\n09-11 18:23:27.846  23000-23000/com.google.android.exoplayer.demo W/VideoCapabilities﹕ Unrecognized profile 2130706433 for video/avc\r\n09-11 18:23:27.869  23000-23000/com.google.android.exoplayer.demo I/VideoCapabilities﹕ Unsupported profile 4 for video/mp4v-es\r\n09-11 18:23:27.878  23000-23042/com.google.android.exoplayer.demo D/OpenGLRenderer﹕ Use EGL_SWAP_BEHAVIOR_PRESERVED: true\r\n09-11 18:23:27.883  23000-23000/com.google.android.exoplayer.demo D/Atlas﹕ Validating map...\r\n09-11 18:23:27.910  23000-23042/com.google.android.exoplayer.demo I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 01/14/15, ab0075f, Id3510ff6dc\r\n09-11 18:23:27.910  23000-23042/com.google.android.exoplayer.demo I/OpenGLRenderer﹕ Initialized EGL, version 1.4\r\n09-11 18:23:27.924  23000-23042/com.google.android.exoplayer.demo D/OpenGLRenderer﹕ Enabling debug mode 0\r\n09-11 18:23:32.902  23000-23000/com.google.android.exoplayer.demo I/ExoPlayerImpl﹕ Init 1.4.2\r\n09-11 18:23:32.913  23000-23000/com.google.android.exoplayer.demo D/EventLogger﹕ start [0]\r\n09-11 18:23:32.919  23000-23000/com.google.android.exoplayer.demo D/EventLogger﹕ state [0.01, false, P]\r\n09-11 18:23:32.928  23000-23000/com.google.android.exoplayer.demo D/EventLogger﹕ state [0.01, true, P]\r\n09-11 18:23:33.038  23000-23042/com.google.android.exoplayer.demo D/OpenGLRenderer﹕ endAllStagingAnimators on 0xb49a0300 (ListView) with handle 0xa2024f10\r\n09-11 18:23:34.170  23000-23000/com.google.android.exoplayer.demo D/EventLogger﹕ state [1.26, true, B]\r\n09-11 18:23:34.270  23000-23098/com.google.android.exoplayer.demo W/HlsChunkSource﹕ Final variant not blacklisted (404): https://XXXXXXXX\r\n09-11 18:23:34.271  23000-23000/com.google.android.exoplayer.demo E/EventLogger﹕ internalError [1.36, loadError]\r\n    com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:34.294  23000-23098/com.google.android.exoplayer.demo W/HlsChunkSource﹕ Final variant not blacklisted (404): https://XXXXXXXX\r\n09-11 18:23:34.295  23000-23000/com.google.android.exoplayer.demo E/EventLogger﹕ internalError [1.38, loadError]\r\n    com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:35.327  23000-23098/com.google.android.exoplayer.demo W/HlsChunkSource﹕ Final variant not blacklisted (404): https://XXXXXXXX\r\n09-11 18:23:35.328  23000-23000/com.google.android.exoplayer.demo E/EventLogger﹕ internalError [2.41, loadError]\r\n    com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:37.410  23000-23098/com.google.android.exoplayer.demo W/HlsChunkSource﹕ Final variant not blacklisted (404): https://XXXXXXXX\r\n09-11 18:23:37.420  23000-23000/com.google.android.exoplayer.demo E/EventLogger﹕ internalError [4.51, loadError]\r\n    com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:37.424  23000-23098/com.google.android.exoplayer.demo E/ExoPlayerImplInternal﹕ Internal track renderer error.\r\n    com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:146)\r\n            at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:133)\r\n            at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:432)\r\n            at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:207)\r\n            at android.os.Handler.dispatchMessage(Handler.java:98)\r\n            at android.os.Looper.loop(Looper.java:135)\r\n            at android.os.HandlerThread.run(HandlerThread.java:61)\r\n            at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)\r\n     Caused by: com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:37.442  23000-23000/com.google.android.exoplayer.demo E/EventLogger﹕ playerFailed [4.53]\r\n    com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:146)\r\n            at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:133)\r\n            at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:432)\r\n            at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:207)\r\n            at android.os.Handler.dispatchMessage(Handler.java:98)\r\n            at android.os.Looper.loop(Looper.java:135)\r\n            at android.os.HandlerThread.run(HandlerThread.java:61)\r\n            at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)\r\n     Caused by: com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404\r\n            at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:210)\r\n            at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:136)\r\n            at com.google.android.exoplayer.hls.TsChunk.load(TsChunk.java:101)\r\n            at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)\r\n            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)\r\n            at java.util.concurrent.FutureTask.run(FutureTask.java:237)\r\n            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n            at java.lang.Thread.run(Thread.java:818)\r\n09-11 18:23:37.443  23000-23000/com.google.android.exoplayer.demo D/EventLogger﹕ state [4.53, true, I]\r\n```"},"comment":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/comments/140012780","html_url":"https://github.com/google/ExoPlayer/issues/788#issuecomment-140012780","issue_url":"https://api.github.com/repos/google/ExoPlayer/issues/788","id":140012780,"user":{"login":"tai2","id":812558,"avatar_url":"https://avatars.githubusercontent.com/u/812558?v=3","gravatar_id":"","url":"https://api.github.com/users/tai2","html_url":"https://github.com/tai2","followers_url":"https://api.github.com/users/tai2/followers","following_url":"https://api.github.com/users/tai2/following{/other_user}","gists_url":"https://api.github.com/users/tai2/gists{/gist_id}","starred_url":"https://api.github.com/users/tai2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tai2/subscriptions","organizations_url":"https://api.github.com/users/tai2/orgs","repos_url":"https://api.github.com/users/tai2/repos","events_url":"https://api.github.com/users/tai2/events{/privacy}","received_events_url":"https://api.github.com/users/tai2/received_events","type":"User","site_admin":false},"created_at":"2015-09-14T09:18:50Z","updated_at":"2015-09-14T09:18:50Z","body":"I've got why this error occurred (But I don't understand which code lines made this result yet).\r\n\r\nOur server is a bit special. If one stream is consumed, it is disappeared immediately and cannot be used forever. If a client accesses the consumed stream, the server returns 404 response.\r\n\r\nFor example, a client request a m3u8 file and server generate a file list dynamically.\r\n\r\n```\r\n#EXTM3U\r\n#EXT-X-VERSION:3\r\n#EXT-X-MEDIA-SEQUENCE:0\r\n#EXT-X-ALLOW-CACHE:NO\r\n#EXT-X-TARGETDURATION:11\r\n#EXTINF:10.110100,\r\nstream_0.ts\r\n#EXTINF:9.943267,\r\nstream_1.ts\r\n#EXTINF:9.943267,\r\nstream_2.ts\r\n```\r\n\r\nOnce stream_0.ts is consumed, the client must request stream_1.ts and the next is stream_2.ts and so on.\r\n\r\nBut the commit 13f4a3e changed access pattern. Once a client request stream_0.ts and retrieve 200 response, it request straem_0.ts again and retrieve 404 error. That's what happened and this don't occur before 13f4a3e. Do you have any ideas about which changes can make this? @ojw28 \r\n\r\n"}}