{"action":"created","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/1786","repository_url":"https://api.github.com/repos/google/ExoPlayer","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/1786/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/1786/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/1786/events","html_url":"https://github.com/google/ExoPlayer/issues/1786","id":173915483,"number":1786,"title":"my own widevine video source could not playback using exoplayer demo","user":{"login":"wlc520123","id":11263857,"avatar_url":"https://avatars.githubusercontent.com/u/11263857?v=3","gravatar_id":"","url":"https://api.github.com/users/wlc520123","html_url":"https://github.com/wlc520123","followers_url":"https://api.github.com/users/wlc520123/followers","following_url":"https://api.github.com/users/wlc520123/following{/other_user}","gists_url":"https://api.github.com/users/wlc520123/gists{/gist_id}","starred_url":"https://api.github.com/users/wlc520123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wlc520123/subscriptions","organizations_url":"https://api.github.com/users/wlc520123/orgs","repos_url":"https://api.github.com/users/wlc520123/repos","events_url":"https://api.github.com/users/wlc520123/events{/privacy}","received_events_url":"https://api.github.com/users/wlc520123/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,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-08-30T02:23:07Z","updated_at":"2016-09-01T08:39:16Z","closed_at":null,"body":"Issue:\r\n\r\nI made a widevine protection video file(mp4) use shaka-packager (https://github.com/google/shaka-packager),\r\n and build my own server to put the video and mpd on it. \r\nWhen I add my own code in demo of exoplayer and play my video, playback failed. \r\nThe status of player changes ether from preparing to idle or from preparing to end, \r\nwhile when I play videos in demo, I find that the status changes from preparing to buffering , then to end.\r\n\r\n\r\nIssue reproducing:\r\n\r\n1. Download shaka-packager(https://github.com/google/shaka-packager) and build it.\r\ncommand I used:\r\ncd ~\r\nmkdir shaka_packager\r\ncd shaka_packager\r\ngclient config https://www.github.com/google/shaka-packager.git --name=src\r\ngclient sync\r\ncd src\r\nninja -C out/Debug\r\n\r\n2.Get a video (huoguo.mp4) and change it to widevine protection, using command:\r\ncd ~/shaka-packager/src/out/Debug\r\n\r\n./packager input='huoguo.mp4',stream=video,output=huoguoen.mp4  \\\r\n--enable_widevine_encryption \\\r\n--key_server_url \"https://license.uat.widevine.com/cenc/getcontentkey/widevine_test\" \\\r\n--content_id \"3031323334353640\" \\\r\n--signer \"widevine_test\" \\\r\n--aes_signing_key  \"1ae8ccd0e7985cc0b6203a55855a1034afc252980e970ca90e5202689f947ab9\" \\\r\n--aes_signing_iv \"d58ce954203b7c9a9a9d467f59839249\" \\\r\n--output_media_info\r\n\r\n./mpd_generator \\\r\n--input \"huoguoen.mp4.media_info\" \\\r\n--output \"huoguoen.mpd\"\r\n\r\nFinally, huoguoen.mp4 and huoguo.mpd can be generated.\r\nAnd huoguoen.mp4 can playback well at first 10s using pre-installed video player(without a widevine license server url).\r\n\r\n3.build self simple server:\r\nUse a phone\r\n (marked as phone1) which can run as root ,and open 8080 as httpd service:\r\nadb shell\r\nbusybox httpd -p 8080 -h /sdcard/www/ \r\n\r\nThen, push huoguoen.mp4 & huoguoen.mpd to /sdcard/www/:\r\nadb push /path/to/huoguoen.mp4 /sdcard/www/\r\nadb push /path/to/huoguoen.mpd /sdcard/www/\r\n\r\nThen, use another phone (marked as phone2) to playback the video huoguoen.mp4.\r\n\r\nPhone1 and phone2 connect to the same wifi, and we can get the ip address of phone1 (e.g.192.168.1.2).\r\n\r\nTo verify connection well:\r\nUsing phone2's browser, we input and goto http://192.168.1.2/huoguoen.mp4.\r\nThe video can playback well at first 10s using pre-installed video player.\r\n\r\n4.add this video source to exoplayer\r\nGet the source of exoplayer and make a self new project usting the demo.\r\nIn samples.java, add codes:\r\n\r\nprivate static final String WIDEVINE_GTS_MPD1 =\r\n          \"http://192.168.1.2:8080/huoguoen.mpd\";\r\n\r\npublic static final Sample[] LOCAL = new Sample[] {\r\n          new Sample(\"huoguoen\", \"3031323334353640\",\"widevine_test\",\"http://192.168.1.2:8080/huoguoen.mpd\", Util.TYPE_DASH),\r\n          new Sample(\"huoguoen1\", \"3031323334353640\", \"widevine_test\",\r\n                  WIDEVINE_GTS_MPD1, Util.TYPE_DASH),\r\n  };\r\n\r\n\r\nIn SampleChooserActivity.java add codes: \r\ngroup = new SampleGroup(\"local\");\r\n    group.addAll(Samples.LOCAL);\r\n\r\n5.build and run, after installed the apk, the main activity has a new list:\r\n-local\r\n----huoguoen\r\n----huoguoen1\r\n\r\n6.playback the video added by my self:\r\nclick the huoguoen or huoguoen1, the palyer can be display.\r\n\r\nQuestion:\r\nThe state of player chages from preparing to ended. The video do not playback .\r\n\r\n\r\nThe video sources:\r\nhttp://pan.baidu.com/s/1c2gGVPe\r\nno passward\r\n\r\nExoplayer version:\r\nI use git clone https://github.com/google/ExoPlayer at 15/8/2016"},"comment":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/comments/244013866","html_url":"https://github.com/google/ExoPlayer/issues/1786#issuecomment-244013866","issue_url":"https://api.github.com/repos/google/ExoPlayer/issues/1786","id":244013866,"user":{"login":"wlc520123","id":11263857,"avatar_url":"https://avatars.githubusercontent.com/u/11263857?v=3","gravatar_id":"","url":"https://api.github.com/users/wlc520123","html_url":"https://github.com/wlc520123","followers_url":"https://api.github.com/users/wlc520123/followers","following_url":"https://api.github.com/users/wlc520123/following{/other_user}","gists_url":"https://api.github.com/users/wlc520123/gists{/gist_id}","starred_url":"https://api.github.com/users/wlc520123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wlc520123/subscriptions","organizations_url":"https://api.github.com/users/wlc520123/orgs","repos_url":"https://api.github.com/users/wlc520123/repos","events_url":"https://api.github.com/users/wlc520123/events{/privacy}","received_events_url":"https://api.github.com/users/wlc520123/received_events","type":"User","site_admin":false},"created_at":"2016-09-01T08:39:16Z","updated_at":"2016-09-01T08:39:16Z","body":"Sorry, I didn't understanding the requirment.\r\n\r\nI add my video and mpd file in exoplayer demo, \r\nin sample.java, added:\r\n`public static final Sample[] LOCAL = new Sample[] {\r\nnew Sample(\"huoguoen/mpd\", \"3031323334353640\",\"widevine_test\",\"http://192.168.1.253:8080/huoguoen.mpd\", Util.TYPE_DASH),\r\n}`\r\nin SampleChooserActivity.java added:\r\n`group = new SampleGroup(\"local\");\r\n    group.addAll(Samples.LOCAL);`\r\n\r\nlog has none error message:\r\n`09-01 16:18:32.280 4384-4384/com.example.jieyingli.exoplayerdemo I/me: Util.SDK_INT=23\r\n09-01 16:18:32.280 4384-4384/com.example.jieyingli.exoplayerdemo I/me: contenturi=http://192.168.1.253:8080/huoguoen.mpd contentTypt=0 provider=widevine_test\r\n09-01 16:18:32.281 4384-4384/com.example.jieyingli.exoplayerdemo I/me: maybeRequestPermissio=false expected 0\r\n09-01 16:18:32.281 4384-4384/com.example.jieyingli.exoplayerdemo I/me: player ==null\r\n09-01 16:18:32.281 4384-4384/com.example.jieyingli.exoplayerdemo I/ExoPlayerImpl: Init 1.5.10\r\n09-01 16:18:32.282 4384-4384/com.example.jieyingli.exoplayerdemo D/EventLogger: start [0]\r\n09-01 16:18:32.283 4384-4384/com.example.jieyingli.exoplayerdemo I/me: playerNeedsPrepare\r\n09-01 16:18:32.283 4384-4384/com.example.jieyingli.exoplayerdemo D/EventLogger: state [0.00, false, P]\r\n09-01 16:18:32.284 4384-4384/com.example.jieyingli.exoplayerdemo I/me: player setsurface...\r\n09-01 16:18:32.284 4384-4384/com.example.jieyingli.exoplayerdemo I/me: player setPlayWhenReady...\r\n09-01 16:18:32.284 4384-4384/com.example.jieyingli.exoplayerdemo D/EventLogger: state [0.00, true, P]\r\n09-01 16:18:32.371 4384-4426/com.example.jieyingli.exoplayerdemo D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000\r\n09-01 16:18:32.398 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0xb, cpu vir: 0x629b7000, handle:0x8557b1c0\r\n09-01 16:18:32.422 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0xc, cpu vir: 0x56db7000, handle:0x8557c660\r\n09-01 16:18:32.435 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_unregister_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0xd, cpu vir: 0x823b7000, handle:0x8557ca20\r\n09-01 16:18:32.436 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_unregister_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0xa, cpu vir: 0x75fb7000, handle:0x8557a180\r\n09-01 16:18:32.436 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_unregister_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0x9, cpu vir: 0x78db7000, handle:0x8557b4e0\r\n09-01 16:18:32.437 4384-4426/com.example.jieyingli.exoplayerdemo D/OpenGLRenderer: endAllActiveAnimators on 0x7f9b992000 (ExpandableListView) with handle 0x7f90633440\r\n09-01 16:18:33.865 4384-4384/com.example.jieyingli.exoplayerdemo D/EventLogger: state [1.58, true, E]\r\n09-01 16:18:33.887 4384-4426/com.example.jieyingli.exoplayerdemo D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000\r\n09-01 16:18:33.906 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:308, f:0x1, usage:0x80000b00, ion_hnd: 0xd, cpu vir: 0x8586e000, handle:0x8557b4e0\r\n09-01 16:18:33.919 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:2560, f:0x1, usage:0x80000b00, ion_hnd: 0xe, cpu vir: 0x82a2a000, handle:0x8557a180\r\n09-01 16:18:34.907 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:308, f:0x1, usage:0x80000b00, ion_hnd: 0xa, cpu vir: 0x82036000, handle:0x8557ca20\r\n09-01 16:18:35.912 4384-4426/com.example.jieyingli.exoplayerdemo I/gralloc.sp9860g: gralloc_register_buffer w:1440, h:308, f:0x1, usage:0x80000b00, ion_hnd: 0x9, cpu vir: 0x81ca2000, handle:0x855798c0\r\n`\r\n\r\nthe bugreport after run exoplayer is in the attachement.\r\n[123.txt](https://github.com/google/ExoPlayer/files/449130/123.txt)\r\n\r\n\r\n"}}
{"actor":{"display_login":"wlc520123"}}