{"action":"created","comment":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/comments/84968023","pull_request_review_id":5712128,"id":84968023,"diff_hunk":"@@ -1484,7 +1484,9 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx)\n \n     stream->source = STREAM_SOURCE_DEMUX;\n     stream->pPrivate = pStream;\n-    stream->flags = (CDemuxStream::EFlags)pStream->disposition;","path":"xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp","position":4,"original_position":4,"commit_id":"1800fcf24736faf870da4e23ce28c3964019d2a5","original_commit_id":"996ce7d491726537c79d29f8160db4a1709f2829","user":{"login":"peak3d","id":22704999,"avatar_url":"https://avatars.githubusercontent.com/u/22704999?v=3","gravatar_id":"","url":"https://api.github.com/users/peak3d","html_url":"https://github.com/peak3d","followers_url":"https://api.github.com/users/peak3d/followers","following_url":"https://api.github.com/users/peak3d/following{/other_user}","gists_url":"https://api.github.com/users/peak3d/gists{/gist_id}","starred_url":"https://api.github.com/users/peak3d/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peak3d/subscriptions","organizations_url":"https://api.github.com/users/peak3d/orgs","repos_url":"https://api.github.com/users/peak3d/repos","events_url":"https://api.github.com/users/peak3d/events{/privacy}","received_events_url":"https://api.github.com/users/peak3d/received_events","type":"User","site_admin":false},"body":"just looked at the definition of the AV_DISPOSITION flags, right, didn't knew that the demuxstream EFlags values are already a translation of AV_DISPOSITION, so you're right, the |= is false.","created_at":"2016-10-25T18:22:30Z","updated_at":"2016-10-25T18:22:30Z","html_url":"https://github.com/xbmc/xbmc/pull/10771#discussion_r84968023","pull_request_url":"https://api.github.com/repos/xbmc/xbmc/pulls/10771","_links":{"self":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/comments/84968023"},"html":{"href":"https://github.com/xbmc/xbmc/pull/10771#discussion_r84968023"},"pull_request":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/10771"}}},"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/10771","id":90837029,"html_url":"https://github.com/xbmc/xbmc/pull/10771","diff_url":"https://github.com/xbmc/xbmc/pull/10771.diff","patch_url":"https://github.com/xbmc/xbmc/pull/10771.patch","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/10771","number":10771,"state":"open","locked":false,"title":"Singledecoder","user":{"login":"peak3d","id":22704999,"avatar_url":"https://avatars.githubusercontent.com/u/22704999?v=3","gravatar_id":"","url":"https://api.github.com/users/peak3d","html_url":"https://github.com/peak3d","followers_url":"https://api.github.com/users/peak3d/followers","following_url":"https://api.github.com/users/peak3d/following{/other_user}","gists_url":"https://api.github.com/users/peak3d/gists{/gist_id}","starred_url":"https://api.github.com/users/peak3d/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peak3d/subscriptions","organizations_url":"https://api.github.com/users/peak3d/orgs","repos_url":"https://api.github.com/users/peak3d/repos","events_url":"https://api.github.com/users/peak3d/events{/privacy}","received_events_url":"https://api.github.com/users/peak3d/received_events","type":"User","site_admin":false},"body":"Support streamchanges on systems with only 1 h/w decoder\r\n\r\n## Description\r\nIf there is a stream change on systems wich only allow 1 h/w decoder, every stream change leads to toggle between ffmpeg fallback and h/w. This is because a new decoder on streamchange is prepared before it is used. For a short time 2 decoders are up regarding the current implementation.\r\n\r\nThis PR introduces a hint in DVDStreamInfo::flags wich can tell the decoder, that the Open() call leads from a streamchange and one more decoder is running. If codec information and capabilities are checked, but the decoder fails, we can be quite sure that this is because of resources.\r\n\r\nAt the time the stream change is applied, it is checked, if the decoder needs to be reopened. \r\n\r\n## Motivation and Context\r\n- Android encrypted media has to play on with mediaCodec, a fallback to ffmpeg is no alternative.\r\n- Adaptive streamchange (inputstream.mpd) would lead to a mix of s/w and h/w decoding.\r\n\r\n## How Has This Been Tested?\r\n\r\n- create a .strm file with this content:\r\n#KODIPROP:inputstreamaddon=inputstream.mpd\r\nhttps://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd\r\n- enable inputstream.mpd\r\n- The first packet from inputstream generates a DMX_GENERAL_STREAMCHANGE.\r\n- Without this PR on machines with limited resources (Odroid-C2 here) the video is played with ffmpeg. Using this PR, its played with mediaCodec.\r\n\r\n## Types of change\r\n- [x] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to change)\r\n\r\n## Checklist:\r\n- [x] My code follows the [Code guidelines](https://codedocs.xyz/xbmc/xbmc/code_guidelines.html) of this project \r\n- [ ] My change requires a change to the documentation, either Doxygen or wiki\r\n- [ ] I have updated the documentation accordingly\r\n- [x] I have read the [CONTRIBUTING](https://github.com/xbmc/xbmc/blob/master/CONTRIBUTING.md) document\r\n- [ ] I have added tests to cover my change\r\n- [ ] All new and existing tests passed\r\n","created_at":"2016-10-25T15:53:07Z","updated_at":"2016-10-25T18:22:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6e742574472ac9c4e84b84201a1701b102960092","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/xbmc/xbmc/pulls/10771/commits","review_comments_url":"https://api.github.com/repos/xbmc/xbmc/pulls/10771/comments","review_comment_url":"https://api.github.com/repos/xbmc/xbmc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/10771/comments","statuses_url":"https://api.github.com/repos/xbmc/xbmc/statuses/1800fcf24736faf870da4e23ce28c3964019d2a5","head":{"label":"peak3d:singledecoder","ref":"singledecoder","sha":"1800fcf24736faf870da4e23ce28c3964019d2a5","user":{"login":"peak3d","id":22704999,"avatar_url":"https://avatars.githubusercontent.com/u/22704999?v=3","gravatar_id":"","url":"https://api.github.com/users/peak3d","html_url":"https://github.com/peak3d","followers_url":"https://api.github.com/users/peak3d/followers","following_url":"https://api.github.com/users/peak3d/following{/other_user}","gists_url":"https://api.github.com/users/peak3d/gists{/gist_id}","starred_url":"https://api.github.com/users/peak3d/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peak3d/subscriptions","organizations_url":"https://api.github.com/users/peak3d/orgs","repos_url":"https://api.github.com/users/peak3d/repos","events_url":"https://api.github.com/users/peak3d/events{/privacy}","received_events_url":"https://api.github.com/users/peak3d/received_events","type":"User","site_admin":false},"repo":{"id":36955169,"name":"xbmc","full_name":"peak3d/xbmc","owner":{"login":"peak3d","id":22704999,"avatar_url":"https://avatars.githubusercontent.com/u/22704999?v=3","gravatar_id":"","url":"https://api.github.com/users/peak3d","html_url":"https://github.com/peak3d","followers_url":"https://api.github.com/users/peak3d/followers","following_url":"https://api.github.com/users/peak3d/following{/other_user}","gists_url":"https://api.github.com/users/peak3d/gists{/gist_id}","starred_url":"https://api.github.com/users/peak3d/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peak3d/subscriptions","organizations_url":"https://api.github.com/users/peak3d/orgs","repos_url":"https://api.github.com/users/peak3d/repos","events_url":"https://api.github.com/users/peak3d/events{/privacy}","received_events_url":"https://api.github.com/users/peak3d/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/peak3d/xbmc","description":"ODROID Modifed Kodi (except master)","fork":true,"url":"https://api.github.com/repos/peak3d/xbmc","forks_url":"https://api.github.com/repos/peak3d/xbmc/forks","keys_url":"https://api.github.com/repos/peak3d/xbmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/peak3d/xbmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/peak3d/xbmc/teams","hooks_url":"https://api.github.com/repos/peak3d/xbmc/hooks","issue_events_url":"https://api.github.com/repos/peak3d/xbmc/issues/events{/number}","events_url":"https://api.github.com/repos/peak3d/xbmc/events","assignees_url":"https://api.github.com/repos/peak3d/xbmc/assignees{/user}","branches_url":"https://api.github.com/repos/peak3d/xbmc/branches{/branch}","tags_url":"https://api.github.com/repos/peak3d/xbmc/tags","blobs_url":"https://api.github.com/repos/peak3d/xbmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/peak3d/xbmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/peak3d/xbmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/peak3d/xbmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/peak3d/xbmc/statuses/{sha}","languages_url":"https://api.github.com/repos/peak3d/xbmc/languages","stargazers_url":"https://api.github.com/repos/peak3d/xbmc/stargazers","contributors_url":"https://api.github.com/repos/peak3d/xbmc/contributors","subscribers_url":"https://api.github.com/repos/peak3d/xbmc/subscribers","subscription_url":"https://api.github.com/repos/peak3d/xbmc/subscription","commits_url":"https://api.github.com/repos/peak3d/xbmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/peak3d/xbmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/peak3d/xbmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/peak3d/xbmc/issues/comments{/number}","contents_url":"https://api.github.com/repos/peak3d/xbmc/contents/{+path}","compare_url":"https://api.github.com/repos/peak3d/xbmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/peak3d/xbmc/merges","archive_url":"https://api.github.com/repos/peak3d/xbmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/peak3d/xbmc/downloads","issues_url":"https://api.github.com/repos/peak3d/xbmc/issues{/number}","pulls_url":"https://api.github.com/repos/peak3d/xbmc/pulls{/number}","milestones_url":"https://api.github.com/repos/peak3d/xbmc/milestones{/number}","notifications_url":"https://api.github.com/repos/peak3d/xbmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/peak3d/xbmc/labels{/name}","releases_url":"https://api.github.com/repos/peak3d/xbmc/releases{/id}","deployments_url":"https://api.github.com/repos/peak3d/xbmc/deployments","created_at":"2015-06-05T21:01:07Z","updated_at":"2016-10-08T11:27:32Z","pushed_at":"2016-10-25T15:38:23Z","git_url":"git://github.com/peak3d/xbmc.git","ssh_url":"git@github.com:peak3d/xbmc.git","clone_url":"https://github.com/peak3d/xbmc.git","svn_url":"https://github.com/peak3d/xbmc","homepage":"http://forum.odroid.com","size":555265,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"xbmc:master","ref":"master","sha":"a3dba41fcd8880f85b5b7a1d33eb07e276f46048","user":{"login":"xbmc","id":199122,"avatar_url":"https://avatars.githubusercontent.com/u/199122?v=3","gravatar_id":"","url":"https://api.github.com/users/xbmc","html_url":"https://github.com/xbmc","followers_url":"https://api.github.com/users/xbmc/followers","following_url":"https://api.github.com/users/xbmc/following{/other_user}","gists_url":"https://api.github.com/users/xbmc/gists{/gist_id}","starred_url":"https://api.github.com/users/xbmc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xbmc/subscriptions","organizations_url":"https://api.github.com/users/xbmc/orgs","repos_url":"https://api.github.com/users/xbmc/repos","events_url":"https://api.github.com/users/xbmc/events{/privacy}","received_events_url":"https://api.github.com/users/xbmc/received_events","type":"Organization","site_admin":false},"repo":{"id":1217614,"name":"xbmc","full_name":"xbmc/xbmc","owner":{"login":"xbmc","id":199122,"avatar_url":"https://avatars.githubusercontent.com/u/199122?v=3","gravatar_id":"","url":"https://api.github.com/users/xbmc","html_url":"https://github.com/xbmc","followers_url":"https://api.github.com/users/xbmc/followers","following_url":"https://api.github.com/users/xbmc/following{/other_user}","gists_url":"https://api.github.com/users/xbmc/gists{/gist_id}","starred_url":"https://api.github.com/users/xbmc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xbmc/subscriptions","organizations_url":"https://api.github.com/users/xbmc/orgs","repos_url":"https://api.github.com/users/xbmc/repos","events_url":"https://api.github.com/users/xbmc/events{/privacy}","received_events_url":"https://api.github.com/users/xbmc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/xbmc/xbmc","description":"Kodi Main Repository - By using this code you agree with our policy and will follow the GPLv2 license as included","fork":false,"url":"https://api.github.com/repos/xbmc/xbmc","forks_url":"https://api.github.com/repos/xbmc/xbmc/forks","keys_url":"https://api.github.com/repos/xbmc/xbmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xbmc/xbmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xbmc/xbmc/teams","hooks_url":"https://api.github.com/repos/xbmc/xbmc/hooks","issue_events_url":"https://api.github.com/repos/xbmc/xbmc/issues/events{/number}","events_url":"https://api.github.com/repos/xbmc/xbmc/events","assignees_url":"https://api.github.com/repos/xbmc/xbmc/assignees{/user}","branches_url":"https://api.github.com/repos/xbmc/xbmc/branches{/branch}","tags_url":"https://api.github.com/repos/xbmc/xbmc/tags","blobs_url":"https://api.github.com/repos/xbmc/xbmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xbmc/xbmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xbmc/xbmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/xbmc/xbmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xbmc/xbmc/statuses/{sha}","languages_url":"https://api.github.com/repos/xbmc/xbmc/languages","stargazers_url":"https://api.github.com/repos/xbmc/xbmc/stargazers","contributors_url":"https://api.github.com/repos/xbmc/xbmc/contributors","subscribers_url":"https://api.github.com/repos/xbmc/xbmc/subscribers","subscription_url":"https://api.github.com/repos/xbmc/xbmc/subscription","commits_url":"https://api.github.com/repos/xbmc/xbmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/xbmc/xbmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/xbmc/xbmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/xbmc/xbmc/issues/comments{/number}","contents_url":"https://api.github.com/repos/xbmc/xbmc/contents/{+path}","compare_url":"https://api.github.com/repos/xbmc/xbmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xbmc/xbmc/merges","archive_url":"https://api.github.com/repos/xbmc/xbmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xbmc/xbmc/downloads","issues_url":"https://api.github.com/repos/xbmc/xbmc/issues{/number}","pulls_url":"https://api.github.com/repos/xbmc/xbmc/pulls{/number}","milestones_url":"https://api.github.com/repos/xbmc/xbmc/milestones{/number}","notifications_url":"https://api.github.com/repos/xbmc/xbmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xbmc/xbmc/labels{/name}","releases_url":"https://api.github.com/repos/xbmc/xbmc/releases{/id}","deployments_url":"https://api.github.com/repos/xbmc/xbmc/deployments","created_at":"2011-01-03T21:18:51Z","updated_at":"2016-10-25T07:04:51Z","pushed_at":"2016-10-25T15:53:08Z","git_url":"git://github.com/xbmc/xbmc.git","ssh_url":"git@github.com:xbmc/xbmc.git","clone_url":"https://github.com/xbmc/xbmc.git","svn_url":"https://github.com/xbmc/xbmc","homepage":"http://kodi.wiki/view/Official:Trademark_Policy","size":1772717,"stargazers_count":5139,"watchers_count":5139,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3726,"mirror_url":null,"open_issues_count":190,"forks":3726,"open_issues":190,"watchers":5139,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/10771"},"html":{"href":"https://github.com/xbmc/xbmc/pull/10771"},"issue":{"href":"https://api.github.com/repos/xbmc/xbmc/issues/10771"},"comments":{"href":"https://api.github.com/repos/xbmc/xbmc/issues/10771/comments"},"review_comments":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/10771/comments"},"review_comment":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xbmc/xbmc/pulls/10771/commits"},"statuses":{"href":"https://api.github.com/repos/xbmc/xbmc/statuses/1800fcf24736faf870da4e23ce28c3964019d2a5"}}}}
{"actor":{"display_login":"peak3d"}}