{"action":"created","issue":{"url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/21","labels_url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/21/comments","events_url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/21/events","html_url":"https://github.com/mmaitre314/VideoEffect/issues/21","id":110970236,"number":21,"title":"[Questions] Understanding the code","user":{"login":"pke","id":164625,"avatar_url":"https://avatars.githubusercontent.com/u/164625?v=3","gravatar_id":"","url":"https://api.github.com/users/pke","html_url":"https://github.com/pke","followers_url":"https://api.github.com/users/pke/followers","following_url":"https://api.github.com/users/pke/following{/other_user}","gists_url":"https://api.github.com/users/pke/gists{/gist_id}","starred_url":"https://api.github.com/users/pke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pke/subscriptions","organizations_url":"https://api.github.com/users/pke/orgs","repos_url":"https://api.github.com/users/pke/repos","events_url":"https://api.github.com/users/pke/events{/privacy}","received_events_url":"https://api.github.com/users/pke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-12T13:01:33Z","updated_at":"2015-10-12T17:54:34Z","closed_at":null,"body":"Thanks for the source! It helped me a lot to understand the video processing pipeline in MF.\r\n\r\nI have several questions about certain implementation details:\r\n\r\n## 1. CreateVideoProcessor\r\n\r\nyou commented \r\n> Create two different formats to force the SourceReader to create a video processor\r\n\r\nWhat does that mean? Will the SourceReader not create a video processor if only one ouput format ist defined?\r\n\r\n## 2. Why the arbitrary width & height values in VideoProcessor\r\n\r\nYou are using 640x480 for the first outputFormat and 800x600 for the second. Where do these values come from? Why did you choose those?\r\nWill using the real cam preview width/height be more GPU friendly because no scaling would have to be applied.\r\n\r\n## 3. \"Length\" parameter\r\n\r\nFrom your sample app your hand in `640` as the \"Length\" parameter. Does it relate to the internal used values for the VideoProcessor in anyway?\r\n\r\n## 4. Locks & Sync\r\n\r\nI wonder why you not process every incoming frame in a thread? I have removed the `_processingSample` checks and it seems to run just fine, not sure if it improved the performance much because of the #20 issue.\r\n\r\nAlso why do you hold the `_analyzerLock` inside the `WorkItemHandler` and the `StartStreaming`. Because the workitemhandler could still be working when another `StartStreaming` is called? Can `StartStreaming` be called multiple times while filter is in the pipeline?\r\n\r\n## 5. How to improve detection rate\r\n\r\nWould using the native camera preview resolution improve detection rate of codes? I am asking cause it seems the detection rate could be better sometimes.\r\n\r\n## 6. PropertySet\r\n\r\nHow would I fill a PropertySet from C++ code? It seems I cannot find any source code examples about this anywhere?\r\n\r\nThanks for taking your time to answer some or all those questions.\r\n\r\nPS: I have used the relevant parts from your source code in my [QRScanner](https://github.com/pke/QrCodeScanner) test app (which will be used to improve the Cordova QR scanner plugin for Windows). Maybe I missed something. The detection rate seems worse than in your QRTest program"},"comment":{"url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/comments/147474954","html_url":"https://github.com/mmaitre314/VideoEffect/issues/21#issuecomment-147474954","issue_url":"https://api.github.com/repos/mmaitre314/VideoEffect/issues/21","id":147474954,"user":{"login":"mmaitre314","id":8584604,"avatar_url":"https://avatars.githubusercontent.com/u/8584604?v=3","gravatar_id":"","url":"https://api.github.com/users/mmaitre314","html_url":"https://github.com/mmaitre314","followers_url":"https://api.github.com/users/mmaitre314/followers","following_url":"https://api.github.com/users/mmaitre314/following{/other_user}","gists_url":"https://api.github.com/users/mmaitre314/gists{/gist_id}","starred_url":"https://api.github.com/users/mmaitre314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmaitre314/subscriptions","organizations_url":"https://api.github.com/users/mmaitre314/orgs","repos_url":"https://api.github.com/users/mmaitre314/repos","events_url":"https://api.github.com/users/mmaitre314/events{/privacy}","received_events_url":"https://api.github.com/users/mmaitre314/received_events","type":"User","site_admin":false},"created_at":"2015-10-12T17:54:34Z","updated_at":"2015-10-12T17:54:34Z","body":"A couple more things to try for flash:\r\n- set FlashControl.Enabled to false\r\n- set both flags to true and then to false (to force the command to go to the driver -- I recall a bug between MediaCapture and the driver in that area)"}}