{"action":"created","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/406","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/406/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/406/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/406/events","html_url":"https://github.com/google/ExoPlayer/issues/406","id":70023565,"number":406,"title":"can't parse some H.264 files","user":{"login":"Ood-Tsen","id":7362564,"avatar_url":"https://avatars.githubusercontent.com/u/7362564?v=3","gravatar_id":"","url":"https://api.github.com/users/Ood-Tsen","html_url":"https://github.com/Ood-Tsen","followers_url":"https://api.github.com/users/Ood-Tsen/followers","following_url":"https://api.github.com/users/Ood-Tsen/following{/other_user}","gists_url":"https://api.github.com/users/Ood-Tsen/gists{/gist_id}","starred_url":"https://api.github.com/users/Ood-Tsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ood-Tsen/subscriptions","organizations_url":"https://api.github.com/users/Ood-Tsen/orgs","repos_url":"https://api.github.com/users/Ood-Tsen/repos","events_url":"https://api.github.com/users/Ood-Tsen/events{/privacy}","received_events_url":"https://api.github.com/users/Ood-Tsen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-22T04:51:33Z","updated_at":"2015-04-22T07:52:20Z","closed_at":null,"body":"The function parseAvcCFromParent in the file [AtomParsers.java] (https://github.com/google/ExoPlayer/blob/dev/library/src/main/java/com/google/android/exoplayer/extractor/mp4/AtomParsers.java) raise an exception.\r\n>  private static List<byte[]> parseAvcCFromParent(ParsableByteArray parent, int position) {\r\n>    parent.setPosition(position + Atom.HEADER_SIZE + 4);\r\n>    // Start of the AVCDecoderConfigurationRecord (defined in 14496-15)\r\n>    int nalUnitLength = (parent.readUnsignedByte() & 0x3) + 1;\r\n>    if (nalUnitLength != 4) {\r\n>      // readSample currently relies on a nalUnitLength of 4.\r\n>      // TODO: Consider handling the case where it isn't.\r\n>      throw new IllegalStateException();\r\n>    }\r\n\r\nBut the nalUnitLength may not be 4 in some H.264 videos (e.q.  [video264_fr30.mp4](https://www.dropbox.com/s/2aw8p4asc7cj3qc/video264_fr30.mp4?dl=0)).\r\n"},"comment":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/comments/95065943","html_url":"https://github.com/google/ExoPlayer/issues/406#issuecomment-95065943","issue_url":"https://api.github.com/repos/google/ExoPlayer/issues/406","id":95065943,"user":{"login":"ojw28","id":7881572,"avatar_url":"https://avatars.githubusercontent.com/u/7881572?v=3","gravatar_id":"","url":"https://api.github.com/users/ojw28","html_url":"https://github.com/ojw28","followers_url":"https://api.github.com/users/ojw28/followers","following_url":"https://api.github.com/users/ojw28/following{/other_user}","gists_url":"https://api.github.com/users/ojw28/gists{/gist_id}","starred_url":"https://api.github.com/users/ojw28/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ojw28/subscriptions","organizations_url":"https://api.github.com/users/ojw28/orgs","repos_url":"https://api.github.com/users/ojw28/repos","events_url":"https://api.github.com/users/ojw28/events{/privacy}","received_events_url":"https://api.github.com/users/ojw28/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T07:52:20Z","updated_at":"2015-04-22T07:52:20Z","body":"Thanks for raising this issue. The new Extractor model in the dev branch actually allows us to support this pretty easily (which was not the case previously). We'll get this done."}}