{ "id": "140610", "key": "TIMOB-18888", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2014-11-26T10:03:13.000+0000", "priority": null, "labels": [ "TCSupportTriage", "android", "cache", "lollipop", "video" ], "versions": [], "issuelinks": [ { "id": "48178", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "145937", "key": "TIMOB-18887", "fields": { "summary": "Android: Wrong implementation of TiResponseCache may cause occasional crashes in Lollipop", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "48327", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "147469", "key": "AC-1245", "fields": { "summary": "Android Media Player - not able to play mp3 and mp4/hls", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "48177", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "147582", "key": "TIMOB-18913", "fields": { "summary": "Android: VideoPlayer is not playing mp4 videos anymore on Android L/Lollipop/5", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "44453", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "142109", "key": "TIMOB-18372", "fields": { "summary": "Live Stream(HLS) not working in Android 5.0/5.01(Lollipop)", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": null, "updated": "2018-02-28T19:55:18.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Problem* :\r\nTi.Media.VideoPlayer doesn't work when app using cache on Android 5.0 Lollipop.\r\n\r\n*Steps to reproduce* :\r\n1. Launch app\r\n2. Watch video (auto play)\r\n3. Kill app\r\n4. Launch app a second time\r\n5. A video doesn't work\r\n\r\n\r\n*Resolution* :\r\nI need to clear cache of my app to watch again my video. This problem is only on Lollipop, It was working perfectly with the previous version of Android.\r\n\r\n\r\n*Sample Alloy* : \r\n{quote}\r\n\r\n\t\r\n\t\t\r\n \r\n\r\n{quote}\r\n\r\n*Trace Log* :\r\n11-26 10:32:34.290: E/NuCachedSource2(188): source returned error -1, 8 retries left\r\n11-26 10:32:37.306: E/NuCachedSource2(188): source returned error -1, 7 retries left\r\n11-26 10:32:40.315: E/NuCachedSource2(188): source returned error -1, 6 retries left\r\n11-26 10:32:40.491: E/REQUEST(6264): ERROR\r\n11-26 10:32:40.491: E/REQUEST(6264): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.startsWith(java.lang.String)' on a null object reference\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.StatusLine.(StatusLine.java:24)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.Response$Builder.statusLine(Response.java:419)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.JavaApiConverter.createOkResponse(JavaApiConverter.java:116)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.ResponseCacheAdapter.get(ResponseCacheAdapter.java:53)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:190)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:373)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:106)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:208)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:25)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat com.google.maps.api.android.lib6.b.l.run(Unknown Source)\r\n11-26 10:32:40.491: E/REQUEST(6264): \tat java.lang.Thread.run(Thread.java:818)\r\n11-26 10:32:43.330: E/NuCachedSource2(188): source returned error -1, 5 retries left\r\n11-26 10:32:45.049: E/WifiStateMachine(596): WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=116,23 rxSuccessRate=206,11 targetRoamBSSID=any RSSI=-53\r\n11-26 10:32:46.344: E/NuCachedSource2(188): source returned error -1, 4 retries left\r\n11-26 10:32:49.357: E/NuCachedSource2(188): source returned error -1, 3 retries left\r\n11-26 10:32:52.389: E/NuCachedSource2(188): source returned error -1, 2 retries left\r\n11-26 10:32:55.412: E/NuCachedSource2(188): source returned error -1, 1 retries left\r\n11-26 10:32:56.634: E/audio_a2dp_hw(188): adev_set_parameters: ERROR: set param called even when stream out is null\r\n11-26 10:32:56.639: E/native(596): do suspend true\r\n11-26 10:32:57.414: E/ANDR-PERF-LOCK(195): Failed to apply optimization for resource: 4 level: 0\r\n11-26 10:32:58.427: E/NuCachedSource2(188): source returned error -1, 0 retries left\r\n11-26 10:32:58.523: E/GenericSource(188): Failed to init from data source!\r\n11-26 10:32:58.541: E/MediaPlayer(24537): error (1, -2147483648)\r\n11-26 10:32:58.549: E/MediaPlayer(24537): Error (1,-2147483648)\r\n\r\n", "attachment": [ { "id": "52845", "filename": "lollipopMediaVideo.zip", "author": { "name": "hangeul", "key": "hangeul", "displayName": "Jonathan ", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-11-26T10:03:13.000+0000", "size": 3024422, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android Lollipop problem cache with MediaPlayer", "creator": { "name": "hangeul", "key": "hangeul", "displayName": "Jonathan ", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hangeul", "key": "hangeul", "displayName": "Jonathan ", "active": true, "timeZone": "Europe/Berlin" }, "environment": "SDK: 3.4.1.GA\r\nDevices Affected: Nexus 4, Nexus 5 with Android 5.0 (Lollipop)\r\nDevices Tested: Nexus 5, Nexus 4 with Android 5.0 (Lollipop) \r\nEmulator Genymotion Nexus 5 Android 5.0(Lollipop) ", "comment": { "comments": [ { "id": "337553", "author": { "name": "eyal.solodki@gmail.com", "key": "eyal.solodki@gmail.com", "displayName": "Eyal Solodki", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Miranda&Jonathan.\r\n\r\nI believe I have the same issue, but worse.\r\nwhile trying to play HLS on Lollipop - never plays.\r\non KitKat - the same code plays great.\r\nI'm a developer of a big client in the Security Area, with a very complex application. It's very urgent for us.\r\nlog:\r\n12-28 11:07:50.842: I/TiAPI(9216): cameraVodURL: http://5.102.236.132:50032/hls/vod.m3u8?sid=t1L3AUby2ykMK51JQJeZjniXjGDIB6qT\r\n12-28 11:07:50.853: D/MediaPlayer(9216): Couldn't open file on client side, trying server side\r\n12-28 11:07:50.860: I/LiveSession(183): onConnect http://\r\n12-28 11:07:50.869: E/LiveSession(183): unable to fetch master playlist http://.\r\n12-28 11:07:50.871: E/MediaPlayer(9216): error (1, -1004)\r\n12-28 11:07:50.911: E/MediaPlayer(9216): Error (1,-1004)\r\n12-28 11:07:50.912: D/TiVideoView8(9216): (main) [40530,40530] Error: 1,-1004\r\n12-28 11:07:51.043: D/HTTPClient(9216): The persistent handle is disposed.\r\n12-28 11:07:51.087: D/NuPlayerDriver(183): reset(0xb4920520)\r\n12-28 11:07:51.094: D/NuPlayerDriver(183): notifyResetComplete(0xb4920520)\r\n12-28 11:07:51.096: D/NuPlayerDriver(183): reset(0xb4920520)\r\n12-28 11:07:51.100: D/MediaPlayer(9216): Couldn't open file on client side, trying server side\r\n12-28 11:07:51.104: I/LiveSession(183): onConnect http://\r\n12-28 11:07:51.113: E/LiveSession(183): unable to fetch master playlist http://.\r\n12-28 11:07:51.114: E/MediaPlayer(9216): error (1, -1004)\r\n12-28 11:07:51.147: E/MediaPlayer(9216): Error (1,-1004)\r\n12-28 11:07:51.147: D/TiVideoView8(9216): (main) [235,40765] Error: 1,-1004\r\n12-28 11:07:52.143: D/audio_hw_primary(183): disable_audio_route: reset and update mixer path: low-latency-playback\r\n12-28 11:07:52.143: D/audio_hw_primary(183): disable_snd_device: snd_device(2: speaker)\r\n", "updateAuthor": { "name": "eyal.solodki@gmail.com", "key": "eyal.solodki@gmail.com", "displayName": "Eyal Solodki", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-12-29T10:44:35.000+0000", "updated": "2014-12-29T10:44:35.000+0000" }, { "id": "337884", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am curious if this is an Android bug. See https://code.google.com/p/android-developer-preview/issues/detail?id=1820 and (possibly) https://code.google.com/p/android/issues/detail?id=72875.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-01-05T19:59:40.000+0000", "updated": "2015-01-05T19:59:51.000+0000" }, { "id": "338357", "author": { "name": "vgrivel", "key": "vgrivel", "displayName": "Vincent Grivel", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi,\r\n\r\nI have also the same issue with Ti.Media.AudioPlayer that is include in the Android MediaPlayer. \r\nIt is also urgent for me to fix the bug. \r\nThank you", "updateAuthor": { "name": "vgrivel", "key": "vgrivel", "displayName": "Vincent Grivel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-01-08T16:00:11.000+0000", "updated": "2015-01-08T16:00:11.000+0000" }, { "id": "346041", "author": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "It looks like an android bug. Disabling the cache on the connection works around this. You can call setUseCaches(false) on the URL connection. But this is just a workaround, not a solution.", "updateAuthor": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-03-16T09:22:43.000+0000", "updated": "2015-03-16T09:22:43.000+0000" }, { "id": "347914", "author": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "This is caused by a bug in TiCacheResponse.\r\nI reported this in a separate issue - TC-5388\r\nAlso see: http://stackoverflow.com/a/29147399/2603965", "updateAuthor": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-03-31T09:52:34.000+0000", "updated": "2015-03-31T09:52:34.000+0000" }, { "id": "351663", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I have the same issue. It affects both AudioPlayer and VideoPlayer. This is critical. Please fix asap. Thanks.", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-05T16:49:14.000+0000", "updated": "2015-05-05T16:49:14.000+0000" }, { "id": "351664", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Where can I set setUseCaches for AudioPlayer and VideoPlayer?", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-05T16:56:17.000+0000", "updated": "2015-05-05T16:56:17.000+0000" }, { "id": "351782", "author": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "There's another workaround. You can fool the cache by adding at the end of the url:\r\n\"&random=\"+Math.random()", "updateAuthor": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-05-06T09:48:37.000+0000", "updated": "2015-05-06T09:48:37.000+0000" }, { "id": "351824", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "But that'll create duplicate cache, right? I'm considering deleting the cache folder every time the app starts. How do I empty the cache folder /Android/data/appid/cache/_tmp/remote-cache/ programmatically from Titanium?\r\n\r\nThanks a lot!", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-06T17:21:32.000+0000", "updated": "2015-05-06T17:21:32.000+0000" }, { "id": "351906", "author": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Shawn, sorry to say, but you got to the point where you need to learn how to build titanium and start fixing things yourself...", "updateAuthor": { "name": "buddyguards", "key": "buddyguards", "displayName": "grebulon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-05-07T07:37:37.000+0000", "updated": "2015-05-07T07:37:37.000+0000" }, { "id": "351954", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "When I play the video, I also get the following error:\r\n\r\n[ERROR] : TiResponseCache: (Binder_4) [67159,67159] Failed to add item to the cache!\r\n\r\nAnd when I close the window that has the video player, I get the following error:\r\n\r\n[ERROR] : MediaHTTPConnection: unknown exception java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference\r\n\r\nAre the errors above related to this ticket as well? Does anyone get the same errors?\r\n", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-07T19:16:28.000+0000", "updated": "2015-05-07T19:16:28.000+0000" }, { "id": "352511", "author": { "name": "dnl228", "key": "dnl228", "displayName": "Daniel Tanti", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I managed to work around this issue on Android 5.0 by using a random parameter appended to the video url. However, the problem is back on Android 5.1 and I have never managed to play a video on it. \r\n\r\n*Titanium SDK:* 3.5.2\r\n\r\n*Error:*\r\n NuCachedSource2: source returned error -1\r\n\r\n*Sample video url:*\r\n\r\nhttp://83993dd4bb14485827c6-0dc03e64f4df23ed221a7e1a04718347.r67.cf3.rackcdn.com/62b0974e1c870b9537e759ce223934086d8a482a.mp4", "updateAuthor": { "name": "dnl228", "key": "dnl228", "displayName": "Daniel Tanti", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-14T08:12:31.000+0000", "updated": "2015-05-14T08:14:19.000+0000" }, { "id": "354515", "author": { "name": "patrickmounteney", "key": "patrickmounteney", "displayName": "Patrick Mounteney", "active": true, "timeZone": "Europe/London" }, "updateAuthor": { "name": "patrickmounteney", "key": "patrickmounteney", "displayName": "Patrick Mounteney", "active": true, "timeZone": "Europe/London" }, "created": "2015-06-06T14:53:14.000+0000", "updated": "2015-06-06T14:53:14.000+0000" }, { "id": "355799", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This does seem to have the same error signature as in TIMOB-18887. Linking the two issues as duplicates. The other is closed, we will try that fix with this sample code.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-06-23T20:16:00.000+0000", "updated": "2015-06-23T20:16:00.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }