locked
Still Confused about Windows Store Device App for Camera

    Question

  • I have lots of experience doing cameras and AVStream drivers, but I'm still green with the Metro workflow.  I'm now trying to construct a Windows Store Device App for a client's camera with a custom KS property.  I have customized the sample and can build it.  I think I have deployed it through VS2012, but I still get the normal UI.

    Don't I have to "associate" my app with my camera in some way?  How is that connection made?  The appxmanifest file tells the system that I am a "windows.cameraSettings" extension, but how does it know that my specific camera should bring up my specific extension?  I don't see that described anywhere.


    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.

    Wednesday, October 2, 2013 8:11 PM

Answers

All replies

  • This shows how to add an MFT extension.

    Does this sample help?  http://code.msdn.microsoft.com/windowshardware/Driver-MFT-Sample-34ecfecb


    Jeff Sanders (MSFT)

    @jsandersrocks - Windows Store Developer Solutions @WSDevSol
    Getting Started With Windows Azure Mobile Services development? Click here
    Getting Started With Windows Phone or Store app development? Click here
    My Team Blog: Windows Store & Phone Developer Solutions
    My Blog: Http Client Protocol Issues (and other fun stuff I support)

    Thursday, October 3, 2013 8:08 PM
    Moderator
  • Hello Tim,

    The Camera Settings declaration must be included in package.appxmanifest. You can do this by double-clicking on package.appxmanifest in Solution Explorer and opening the Declarations tab.

    In order for Windows to recognize that the app can supply a custom flyout for more camera options, it must register the camera settings extension. This extension is declared in an Extension element, with a Category attribute set to a value of windows.cameraSettings. In the C# and C++ samples, the Executable attribute is set to DeviceAppForWebcam.exe and the EntryPoint attribute is set to DeviceAppForWebcam.App.

    Reference:

    How to customize camera options with a Windows Store device app

    http://msdn.microsoft.com/en-us/library/windows/hardware/dn394065(v=vs.85).aspx

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Thursday, October 3, 2013 9:03 PM
    Moderator
  • I understand that the Device App becomes an extension to the CameraSettings dialog.  But, surely you cannot be saying that my extension is going to be invoked for ALL cameras on the system.  That wouldn't make any sense at all.  Somewhere, there has to be a link that says "this extension should be used with only with this camera" or "this set of cameras".  That's what I'm missing.


    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.

    Thursday, October 3, 2013 9:39 PM
  • I have a UVC camera with a custom extension unit.  I have a Device App.  I understand that the Device App becomes an extension to the CameraSettings dialog.  However, that's not enough information to make the connection.  My Device App only knows how to talk to my extension.  No one else's Device App will.  Somehow, somewhere, there has to be a way to make a link that says "this extension should be used only with this camera" or "...with this set of cameras."  Surely you can't make the assumption that every computer system has exactly one camera.

    In the ksproxy world, we registered a COM component with the same GUID as the extension unit.  What's the equivalent linkage for a Device App?


    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.

    Tuesday, October 15, 2013 8:40 PM
  • Hi Tim,

    I've let James know you are still having trouble with this. If you're available right now and want to talk to him he's going to have a chalk talk on media issues starting in half an hour (11am Pacific Time). See  http://blogs.technet.com/b/ptsblog/archive/2013/10/02/chalk-talk-for-developers-light-up-your-apps-with-sights-and-sounds.aspx for details.

    --Rob

    Wednesday, October 16, 2013 5:34 PM
    Owner
  • Hello Tim,

    This association is done via your device metadata. You can use the device metadata authoring tool. On the "hardware" page you enter the unique GUID for your device. Then on the "store device app" page you can specify your device app. You can also add your app's metadata if you want to automatically install the app.

    You can look here for more information:

    Create device metadata for your Windows Store device app (Windows 8.1)

    http://msdn.microsoft.com/en-us/library/windows/hardware/dn265143(v=vs.85).aspx

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Thursday, October 17, 2013 6:20 PM
    Moderator
  • James Dailey - MSFT wrote:
    >
    >This association is done via your device metadata. You can use the device
    >metadata authoring tool. On the "hardware" page you enter the unique GUID
    >for your device. Then on the "store device app" page you can specify your
    >device app. You can also add your app's metadata if you want to
    >automatically install the app.
     
    I still have not succeeded at this, and I'm not sure how to debug it.  I've
    been over the metadata a dozen times.  I've enabled the DeviceMetadata log
    in EventViewer, but when I plug in my device, there's nothing in the log.
    That suggests a disconnect.
     
    When I update the metadata, is it sufficient to copy it into place
    (\ProgramData\Microsoft\Windows\DeviceMetadataStore) and reboot?
     
    For development and debugging purposes, what does the system use to find
    the device app from the metadata?  Is the application name, or the
    application ID, or some combination?  How exact does the match have to be?
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.
    Saturday, November 2, 2013 7:52 PM
  • Hello Tim,

    I think the best thing for you to do at this point is to open an incident with our team. We can give you one-on-one assistance and help you get unstuck. I think this will certainly be the most effective use of your time.

    To open an incident you can click on the link below. In the "category" drop down choose "devices and sensors". You can then click the "start request" button.

    https://getsupport.microsoft.com/default.aspx?locale=EN-US&supportregion=EN-US&ccfcode=US&mkt=EN-US&pesid=14654&oaspworkflow=start_1.0.0.0&tenant=store&supporttopic_L1=31762109&ccsid=635194396558984824

    Since you are a Microsoft certified partner you should have "free" incidents in accociation with your certification.

    Let me know if you have any questions about opening an incident.

    Thanks,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, November 8, 2013 12:57 AM
    Moderator