{"action":"created","issue":{"url":"https://api.github.com/repos/gpac/gpac/issues/339","labels_url":"https://api.github.com/repos/gpac/gpac/issues/339/labels{/name}","comments_url":"https://api.github.com/repos/gpac/gpac/issues/339/comments","events_url":"https://api.github.com/repos/gpac/gpac/issues/339/events","html_url":"https://github.com/gpac/gpac/pull/339","id":119483642,"number":339,"title":"Added missing DASH-IF IOP profiles.","user":{"login":"vladimir-kazakov","id":3518844,"avatar_url":"https://avatars.githubusercontent.com/u/3518844?v=3","gravatar_id":"","url":"https://api.github.com/users/vladimir-kazakov","html_url":"https://github.com/vladimir-kazakov","followers_url":"https://api.github.com/users/vladimir-kazakov/followers","following_url":"https://api.github.com/users/vladimir-kazakov/following{/other_user}","gists_url":"https://api.github.com/users/vladimir-kazakov/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimir-kazakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimir-kazakov/subscriptions","organizations_url":"https://api.github.com/users/vladimir-kazakov/orgs","repos_url":"https://api.github.com/users/vladimir-kazakov/repos","events_url":"https://api.github.com/users/vladimir-kazakov/events{/privacy}","received_events_url":"https://api.github.com/users/vladimir-kazakov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-11-30T12:34:48Z","updated_at":"2015-12-04T11:05:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/gpac/gpac/pulls/339","html_url":"https://github.com/gpac/gpac/pull/339","diff_url":"https://github.com/gpac/gpac/pull/339.diff","patch_url":"https://github.com/gpac/gpac/pull/339.patch"},"body":"This change resolves the issue #41. It adds missing DASH-IF IOP profiles, as well as obsoletes the current, wrong ones. Using obsolete profiles will produce a warning.\r\n\r\nThe logic of using DASH-IF IOP profiles was also changed. Previously, using `dashavc264:live` was implicitly enabling `-url-template`, for example. But since `:live` and `:onDemand` parts are not included in the names of profiles anymore, users have to be more specific about what they want. For, example, in order to achieve the same behavior as in the previous example, the user must specify: `-profile \"dashif264\" -url-template`. For on-demand case, it will be something like this: `-profile \"dashif264\" -single-segment`.\r\n\r\nThis change is only about correct identifiers for different DASH-IF IOP profiles. Strictly speaking, each profile has its own restrictions, so, ideally, MP4Box would generate some warnings or errors if the user wants to do something that is restricted. I'm not sure that it's needed, though. First of all, it would complicate MP4Box, which is bad. And another reason is that perhaps it's a job of validators to check for compliance.\r\n\r\nAnyway, with this change, it's now possible to conform to different DASH-IF IOP profiles, using not only H.264/AVC, but H.265/HEVC as well."},"comment":{"url":"https://api.github.com/repos/gpac/gpac/issues/comments/161938760","html_url":"https://github.com/gpac/gpac/pull/339#issuecomment-161938760","issue_url":"https://api.github.com/repos/gpac/gpac/issues/339","id":161938760,"user":{"login":"rbouqueau","id":1917976,"avatar_url":"https://avatars.githubusercontent.com/u/1917976?v=3","gravatar_id":"","url":"https://api.github.com/users/rbouqueau","html_url":"https://github.com/rbouqueau","followers_url":"https://api.github.com/users/rbouqueau/followers","following_url":"https://api.github.com/users/rbouqueau/following{/other_user}","gists_url":"https://api.github.com/users/rbouqueau/gists{/gist_id}","starred_url":"https://api.github.com/users/rbouqueau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbouqueau/subscriptions","organizations_url":"https://api.github.com/users/rbouqueau/orgs","repos_url":"https://api.github.com/users/rbouqueau/repos","events_url":"https://api.github.com/users/rbouqueau/events{/privacy}","received_events_url":"https://api.github.com/users/rbouqueau/received_events","type":"User","site_admin":false},"created_at":"2015-12-04T11:05:24Z","updated_at":"2015-12-04T11:05:24Z","body":"> > No, they are 3 different identifiers. But for the packager the code would be the exact same. Does it make sense?\r\n\r\n> No, they're not just identifiers :) And their specific sections prove it. Let's take a look at IOP v2 for example. Compare sections 6 (dash264), 7 (dash264#sd) and 8 (dash264#hd). There are differences.\r\n\r\nAgreed. My point was to say that the packaging is the exact same (aside from the URN and the possible checks).\r\n\r\n> > They can already use the '-profile-ext' option from MP4Box :)\r\n\r\n> No, they can't. Extensions (table 2; -profile-ext) and profiles (table 1; -profile) are different things. \r\n\r\nAgreed. But the MP4Box option was not added for DASH-IF extensions but rather to support signal several profiles at the same time.\r\n\r\n> Let's see what they'll answer\r\n\r\nThey expect the IOP v3 to only have extensions. They could deprecated the v1 and v2 profiles in the future if market shares are low.\r\n\r\nI agree with the philosophy of your patch. It just misses 'onDemand' versus 'live'. I'd like us to map the dashif(./#sd/#hd) to the current 'dashavc264' option. I propose to make a new branch based on that when I find time. Does it seem ok to you?"}}