{"action":"created","issue":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/699","labels_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/699/labels{/name}","comments_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/699/comments","events_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/699/events","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/699","id":101660794,"number":699,"title":"Ensure TTML captions are clipped to sample boundaries","user":{"login":"bbcrddave","id":5390145,"avatar_url":"https://avatars.githubusercontent.com/u/5390145?v=3","gravatar_id":"","url":"https://api.github.com/users/bbcrddave","html_url":"https://github.com/bbcrddave","followers_url":"https://api.github.com/users/bbcrddave/followers","following_url":"https://api.github.com/users/bbcrddave/following{/other_user}","gists_url":"https://api.github.com/users/bbcrddave/gists{/gist_id}","starred_url":"https://api.github.com/users/bbcrddave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbcrddave/subscriptions","organizations_url":"https://api.github.com/users/bbcrddave/orgs","repos_url":"https://api.github.com/users/bbcrddave/repos","events_url":"https://api.github.com/users/bbcrddave/events{/privacy}","received_events_url":"https://api.github.com/users/bbcrddave/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-08-18T13:53:25Z","updated_at":"2015-08-24T20:34:46Z","closed_at":"2015-08-24T20:34:45Z","pull_request":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/pulls/699","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/699","diff_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/699.diff","patch_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/699.patch"},"body":"To ease encoding and packaging of TTML segments, captions which span segment boundaries may appear in two segments with identical start and end times.\r\n\r\nWhen an ISOBMFF segment becomes inactive (ie sample DTS plus duration has passed), anything related to that sample should be removed.\r\n\r\nThis PR ensures that captions in an ISOBMFF sample are clipped to the sample start and end times of that sample.\r\n\r\nWith our test asset http://rdmedia.bbc.co.uk/dash/ondemand/elephants_dream/1/client_manifest-all.mpd, this stops captions spanning a segment boundary appearing twice.\r\n\r\nNote 1: In theory, the TTML parser should compute the intermediate synchronic document between each sample and determine that nothing has changed, but we do not currently have a full-featured TTML parser.\r\n\r\nNote 2: sample CTS is used here to maintain existing functionality, though this has been previously been discussed (https://github.com/Dash-Industry-Forum/dash.js/pull/691#discussion_r36537984) and should be DTS."},"comment":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/comments/134371288","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/699#issuecomment-134371288","issue_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/699","id":134371288,"user":{"login":"bbcrddave","id":5390145,"avatar_url":"https://avatars.githubusercontent.com/u/5390145?v=3","gravatar_id":"","url":"https://api.github.com/users/bbcrddave","html_url":"https://github.com/bbcrddave","followers_url":"https://api.github.com/users/bbcrddave/followers","following_url":"https://api.github.com/users/bbcrddave/following{/other_user}","gists_url":"https://api.github.com/users/bbcrddave/gists{/gist_id}","starred_url":"https://api.github.com/users/bbcrddave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbcrddave/subscriptions","organizations_url":"https://api.github.com/users/bbcrddave/orgs","repos_url":"https://api.github.com/users/bbcrddave/repos","events_url":"https://api.github.com/users/bbcrddave/events{/privacy}","received_events_url":"https://api.github.com/users/bbcrddave/received_events","type":"User","site_admin":false},"created_at":"2015-08-24T20:34:45Z","updated_at":"2015-08-24T20:34:45Z","body":"This PR is no longer required after the EBU-TT feature merge. Great work guys!"}}