{"action":"created","issue":{"url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/224","labels_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/224/labels{/name}","comments_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/224/comments","events_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/224/events","html_url":"https://github.com/Bilibili/ijkplayer/issues/224","id":75485667,"number":224,"title":"Stream audio data from a local file to ijk player through an internal socket","user":{"login":"bava502","id":9652996,"avatar_url":"https://avatars.githubusercontent.com/u/9652996?v=3","gravatar_id":"","url":"https://api.github.com/users/bava502","html_url":"https://github.com/bava502","followers_url":"https://api.github.com/users/bava502/followers","following_url":"https://api.github.com/users/bava502/following{/other_user}","gists_url":"https://api.github.com/users/bava502/gists{/gist_id}","starred_url":"https://api.github.com/users/bava502/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bava502/subscriptions","organizations_url":"https://api.github.com/users/bava502/orgs","repos_url":"https://api.github.com/users/bava502/repos","events_url":"https://api.github.com/users/bava502/events{/privacy}","received_events_url":"https://api.github.com/users/bava502/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-05-12T06:34:45Z","updated_at":"2015-05-12T10:33:58Z","closed_at":null,"body":"Hi,\r\nI want to download audio data from a remote URL, save to a local file, open the file and stream audio data to ijkplayer via an internal socket connection created with ijk player. Instead of passing remote audio URL directly to ijkplayer,  i would like to pass \"local host\" URL. \r\nI have done this successfully with android media player but not succeeded with ijk player.\r\n\r\nI am writing http header info like below:\r\n                        httpString.append(\"HTTP/1.0 200 OK\\r\\n\");\r\n                        httpString.append(\"Content-Type: audio/mpeg\\r\\n\");\r\n\t\t\thttpString.append(\"Content-Length: \");\r\n\t\t\thttpString.append(contentLength);\r\n\t\t\thttpString.append(\"\\r\\n\");\r\n\t\t\thttpString.append(\"Accept-Ranges: bytes\\r\\n\");\r\n\t\t\thttpString.append(\"Connection: keep-alive\\r\\n\");\r\n\t\t\t\r\n\t\t\thttpString.append(\"\\r\\n\");\r\n\r\n\r\nThis is working fine with android media player. \r\nIf exact content length of audio is passed then play back is ending abruptly if data streaming via socket is slow.\r\nIf content length is passed as \"-1\" then playback is working fine with ijkplayer but i would like to pass exact content length so that player will provide me with duration of audio depending on which i can display total time, elapsed time and remaining time.\r\n\r\nCould you help me if I am missing anything here?"},"comment":{"url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/comments/101232459","html_url":"https://github.com/Bilibili/ijkplayer/issues/224#issuecomment-101232459","issue_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/224","id":101232459,"user":{"login":"bava502","id":9652996,"avatar_url":"https://avatars.githubusercontent.com/u/9652996?v=3","gravatar_id":"","url":"https://api.github.com/users/bava502","html_url":"https://github.com/bava502","followers_url":"https://api.github.com/users/bava502/followers","following_url":"https://api.github.com/users/bava502/following{/other_user}","gists_url":"https://api.github.com/users/bava502/gists{/gist_id}","starred_url":"https://api.github.com/users/bava502/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bava502/subscriptions","organizations_url":"https://api.github.com/users/bava502/orgs","repos_url":"https://api.github.com/users/bava502/repos","events_url":"https://api.github.com/users/bava502/events{/privacy}","received_events_url":"https://api.github.com/users/bava502/received_events","type":"User","site_admin":false},"created_at":"2015-05-12T10:33:58Z","updated_at":"2015-05-12T10:33:58Z","body":"Also got below logs while trying again:\r\n05-12 15:57:47.880: E/IJKMEDIA(29211): stream 0, offset 0x1155e: partial file\r\n05-12 15:57:48.900: E/IJKMEDIA(29211): stream 0, offset 0x11664: partial file\r\n05-12 15:57:49.910: E/IJKMEDIA(29211): stream 0, offset 0x1176d: partial file\r\n05-12 15:57:50.920: E/IJKMEDIA(29211): stream 0, offset 0x11873: partial file\r\n05-12 15:57:51.690: E/IJKMEDIA(29211): decode_band_types: Input buffer exhausted before END element found\r\n05-12 15:57:51.930: E/IJKMEDIA(29211): ffp_toggle_buffering: completed: (error=0)\r\n05-12 15:57:51.930: E/IJKMEDIA(29211): stream 0, offset 0x1197e: partial file\r\n05-12 15:57:51.930: W/IJKMEDIA(29211): ijkmp_get_msg: FFP_MSG_COMPLETED\r\n05-12 15:57:51.930: W/IJKMEDIA(29211): FFP_MSG_COMPLETED:\r\n05-12 15:57:51.930: E/IJKMEDIA(29211): unknown FFP_MSG_xxx(700)"}}