Use custom video effect in UWP

558 Views Asked by At

First of all - my native language is not eanglish, sorry for posssible mistakes.

I need to use my own video effect for MediaCapture, made this for WS 8.1 and WP 8.1, than I start porting it to Win 10 at this moment start problems. My Video effect made as runtime component(dll), in this module I've got ActivatableClass and it is working!For win 8.1 I modified the manifest and add reference for my component, AddEffectAsync method I used with this parameters

m_mediaCaptureMgr->AddEffectAsync(Windows::Media::Capture::MediaStreamType::VideoPreview,"OcvComponent.SmileDetector",nullptr)

In Win 10 I've got crash in similary code

_mediaCapture->AddVideoEffectAsync(ref new Effects::VideoEffectDefinition("OcvComponent.SmileDetector"), Capture::MediaStreamType::VideoPreview)

I am already try old, well work method like this, the result is also crash

_mediaCapture->AddEffectAsync(Capture::MediaStreamType::VideoPreview,"OcvComponent.SmileDetector", nullptr)

Manifest in both cases i modify with this

<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
  <InProcessServer>
    <Path>OcvComponent.dll</Path>
    <ActivatableClass ActivatableClassId="OcvComponent.SmileDetector" ThreadingModel="both" />
  </InProcessServer>
</Extension>

App crashed with this message

This crash appear befor ActivatableClass constructor used, so breakpoint don't help me.

Also I should tell that the app in wich I call videoeffect for sample taken from github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CameraVideoStabilization/cpp (sorry for incorrect link, not enough reputation), and I don't understand why but I can not add reference for this project to my component normally i've got this, so I modify project file in text redactor with this

<ItemGroup>
<ProjectReference Include="..\OcvComponent\OcvComponent.vcxproj">
  <Project>{E84D5530-529F-49B4-811C-3D7FE0902B7E}</Project>
</ProjectReference>

I think this things can be connected.

Please help me to solve this problem use C++ language, Visual Studio 2015,Win 10

1

There are 1 best solutions below

0
Kai Rohmer On

not sure if this is still interesting to you.. but maybe to somebody else. Found this here: https://english.r2d2rigo.es/2016/03/10/creating-custom-video-effects-in-uwp-apps/

TLDR:

  • use a runtime component library (not any other project type)
  • make your effect sealed
  • you don't need to change the manifest anymore

cheers,