{
"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
}
}
}