{"action":"created","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/1807","repository_url":"https://api.github.com/repos/google/ExoPlayer","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/1807/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/1807/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/1807/events","html_url":"https://github.com/google/ExoPlayer/issues/1807","id":175646205,"number":1807,"title":"EAI-708 support","user":{"login":"zsmatyas","id":8737074,"avatar_url":"https://avatars.githubusercontent.com/u/8737074?v=3","gravatar_id":"","url":"https://api.github.com/users/zsmatyas","html_url":"https://github.com/zsmatyas","followers_url":"https://api.github.com/users/zsmatyas/followers","following_url":"https://api.github.com/users/zsmatyas/following{/other_user}","gists_url":"https://api.github.com/users/zsmatyas/gists{/gist_id}","starred_url":"https://api.github.com/users/zsmatyas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zsmatyas/subscriptions","organizations_url":"https://api.github.com/users/zsmatyas/orgs","repos_url":"https://api.github.com/users/zsmatyas/repos","events_url":"https://api.github.com/users/zsmatyas/events{/privacy}","received_events_url":"https://api.github.com/users/zsmatyas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-09-08T01:46:01Z","updated_at":"2016-09-08T08:59:00Z","closed_at":null,"body":"Previous version of the v1 and v2-dev branches had the entire SEI data put into a buffer and then read by the Eia608Parser. The parser had a check that the type and validity bits are set to channel 1 of the 608 content, and everything else was dropped. See: [V1](https://github.com/google/ExoPlayer/blob/release-v1/library/src/main/java/com/google/android/exoplayer/text/eia608/Eia608Parser.java#L141)\r\n`      if (ccType != 0) {\r\n        seiBuffer.skipBits(16);\r\n        continue;\r\n}`\r\nHere the ccType values mean:\r\n- 0 = channel 1 and 2 of EIA-608\r\n- 1 = channel 3 and 4 of EIA-608\r\n- 2 = Start of EIA-708 content (channel ID is defined inside the stream)\r\n- 3 = Chunk of EIA-708 content\r\n\r\nAs only value 0 was handled, and no additional checks were used to separate channel 1 and 2: a single 608 channel was supported. I added my additional channel and EIA-708 support by updating the Eia608Parser to collect the data instead of dropping it, so channel 3-4 and EIA-708 bits were collected and parsed appropriately. \r\n\r\nIn the latest v2 code, all these additional data are dropped at SeiReader level:\r\n[V2](https://github.com/google/ExoPlayer/blob/dev-v2/library/src/main/java/com/google/android/exoplayer2/extractor/ts/SeiReader.java#L65)\r\nlike:\r\n`\r\nif (ccValidityAndType != 0x04) {\r\n      seiBuffer.skipBytes(2);\r\n  }\r\n`\r\nThe change was: [Link](https://github.com/google/ExoPlayer/commit/a0c15957259384f3fd4a8c893324c50b2c3f1ab2)\r\n\r\nSeiReader seems to be the correct location to filter 608/708 and channel information, but needs serious changes in the architecture I had. Are you guys planning to ever support EIA-708 (as it is an FCC requirement from 2017)? Did you consider supporting the other channels of EIA-608? Any similar changes like the one you made in the v2-dev branch requires lots of changes to support all subtitles correctly, that is why I am interested in the plans about supported formats. \r\n\r\nAre you willing to accept pull requests related to these features or are you maybe already working on these issues?\r\n\r\nBig Thanks!"},"comment":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/comments/245536285","html_url":"https://github.com/google/ExoPlayer/issues/1807#issuecomment-245536285","issue_url":"https://api.github.com/repos/google/ExoPlayer/issues/1807","id":245536285,"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":"2016-09-08T08:59:00Z","updated_at":"2016-09-08T08:59:00Z","body":"@cdrolle it looking at 708 support. Could you comment on the above? Thanks!"}}
{"actor":{"display_login":"ojw28"}}