{"id":711,"date":"2008-11-19T13:05:12","date_gmt":"2008-11-19T11:05:12","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=711"},"modified":"2016-02-23T12:45:40","modified_gmt":"2016-02-23T10:45:40","slug":"multiple-windowless-video-mixing-renderers-vmr9-sample","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/711","title":{"rendered":"Multiple Windowless Video Mixing Renderers (VMR9) Sample"},"content":{"rendered":"<p>This is a <a href=\"http:\/\/forums.microsoft.com\/msdn\/ShowPost.aspx?PostID=4129792&amp;SiteID=1\">begged<\/a> MFC code for multiple windowless video renderers. MFC project, two independent video renderers hosted by the same parent window (actually through owned controls but this makes no major difference), VMR9 in windowless mode.<\/p>\n<p><a href=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2008\/11\/Image001.png\" rel=\"attachment wp-att-1618\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1618\" src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2008\/11\/Image001.png\" alt=\"Image001\" width=\"486\" height=\"354\" srcset=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2008\/11\/Image001.png 486w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2008\/11\/Image001-320x233.png 320w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/a><\/p>\n<p><em>(this expects C:\\Windows\\clock.avi file to be available which is no longer the case after Windows XP &#8211; simply copy any AVI there as a replacement)<\/em><\/p>\n<p>There are no <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms534901(VS.85).aspx\">WM_PAINT<\/a>\/<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms648055(VS.85).aspx\">WM_ERASEBKGND<\/a> handlers, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms787156(VS.85).aspx\">IVMRWindowlessControl9::RepaintVideo<\/a> calls and other basically required code, instead a minimalistic snippet to make video rendered the requested way.<\/p>\n<p>A Visual C++ .NET 2008 source code <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Utilities\/Miscellaneous\/MfcWindowlessVideoRenderer01\/\">is available from SVN<\/a>\/<a href=\"https:\/\/www.alax.info\/trac\/public\/browser\/trunk\/Utilities\/Miscellaneous\/MfcWindowlessVideoRenderer01\">Trac<\/a>, release binary <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Utilities\/Miscellaneous\/MfcWindowlessVideoRenderer01\/Release\/MfcWindowlessVideoRenderer01.exe\">included<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a begged MFC code for multiple windowless video renderers. MFC project, two independent video renderers hosted by the same parent window (actually through owned controls but this makes no major difference), VMR9 in windowless mode. (this expects C:\\Windows\\clock.avi file to be available which is no longer the case after Windows XP &#8211; simply&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/711\">Read the full article<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,13,10],"tags":[487,38,78,148,121,488,486,111,149],"class_list":["post-711","post","type-post","status-publish","format-standard","hentry","category-atl","category-source","category-video","tag-atl","tag-c","tag-directshow","tag-mfc","tag-renderer","tag-source","tag-video","tag-vmr","tag-windowless"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/comments?post=711"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/711\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}