locked
Camera device metro app for internal camera with MS inbox driver

    Question

  • Hi,

    I'm trying to create a device metro app for camera based from sample. Now, customized UI will show when I use an external camera (an HP one) but it seem to not work on the built-in camera. Is it possible to show custom UI even though I will just use the MS camera inbox driver (usbvideo.sys)? Or do I need to finish the camera driver first before I can show the custom UI? I also tried the instructions from http://msdn.microsoft.com/library/windows/hardware/hh454870, the DeviceOverrides, InternalDeviceNotification, etc.., but it still doesn't work. I'm wondering why it doesn't work when the HP one is also using MS inbox driver. Anyone can help me figure this out?

    Thanks.


    • Edited by Chew Esmero Thursday, February 23, 2012 10:54 AM
    Thursday, February 23, 2012 10:41 AM

Answers

  • Hello Chew,

    From what I understand Windows determines whether a Metro style device app is installed by checking the device metadata package. Each
    camera’s device metadata must specify the app, and the Driver MFT must be installed for each camera.
    There are additional steps required to associate a Metro style device app with an internal camera. You may need to modify the "InternalDeviceModification" key in the registry. Appendex A in the document you reference explains how to do this.

    From the doc:

    "Windows Developer Preview installs the metadata package
    for internal cameras based on the Model ID information in the device node,
    which is linked to the camera-specific Metro style device app. To make an
    internal camera’s metadata discoverable by Windows, so that the device metadata
    package is correctly associated with the device, an OEM needs to do the
    following:

    • Override
      the removable device capability, so that camera device nodes are grouped under
      the PC device container, by using the DeviceOverrides registry key or by modifying
      the “user-visible” flag in the ACPI table.
    • Set the Model
      ID in the device node, by using the InternalDeviceModification flag in the
      device registry key.

    Provide the _PLD Location property. "

    I hope this helps. Let me know if you still have questions.

    -James


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

    Saturday, March 3, 2012 12:55 AM
    Moderator
  • Chew,

    You can use usbvideo.sys.  The document was updated on Feb 28th.  Have you downloaded the document after that date?  It has significantly more detail.

    Best Wishes - Eric

    • Marked as answer by Chew Esmero Tuesday, March 6, 2012 2:15 AM
    Monday, March 5, 2012 5:49 PM
    Moderator

All replies

  • Hello Chew,

    From what I understand Windows determines whether a Metro style device app is installed by checking the device metadata package. Each
    camera’s device metadata must specify the app, and the Driver MFT must be installed for each camera.
    There are additional steps required to associate a Metro style device app with an internal camera. You may need to modify the "InternalDeviceModification" key in the registry. Appendex A in the document you reference explains how to do this.

    From the doc:

    "Windows Developer Preview installs the metadata package
    for internal cameras based on the Model ID information in the device node,
    which is linked to the camera-specific Metro style device app. To make an
    internal camera’s metadata discoverable by Windows, so that the device metadata
    package is correctly associated with the device, an OEM needs to do the
    following:

    • Override
      the removable device capability, so that camera device nodes are grouped under
      the PC device container, by using the DeviceOverrides registry key or by modifying
      the “user-visible” flag in the ACPI table.
    • Set the Model
      ID in the device node, by using the InternalDeviceModification flag in the
      device registry key.

    Provide the _PLD Location property. "

    I hope this helps. Let me know if you still have questions.

    -James


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

    Saturday, March 3, 2012 12:55 AM
    Moderator
  • Chew,

    You can use usbvideo.sys.  The document was updated on Feb 28th.  Have you downloaded the document after that date?  It has significantly more detail.

    Best Wishes - Eric

    • Marked as answer by Chew Esmero Tuesday, March 6, 2012 2:15 AM
    Monday, March 5, 2012 5:49 PM
    Moderator
  • Hi Eric and James,

    Thanks for the reply. It seems that the steps detailed in the document doesn't work on Dev Preview and Dev Preview update. We did the same on Consumer Preview and it worked.

    Tuesday, March 6, 2012 2:15 AM
  • Chew,

    That is great to hear!

     Best Wishes - Eric

    Tuesday, March 6, 2012 2:23 AM
    Moderator
  • Hello Chew,

    I am trying the same thing on Consumer Preview follow the document for built-in camera. But it still doesn't work.

    I set the below registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceOverrides
        USB#VID_1BCF&PID_2980&MI_00
            LocationPaths
                PCIROOT(0)#PCI(1A00)#USBROOT(0)#USB(1)#USB(5)#USB(5)
                    Removable=0

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\InternalDeviceModification
        {6bdd1fc6-810f-11d0-bec7-08002be2092f}
            HardwareIDs="USB#VID_1BCF&PID_2980&MI_00"
            PLD_Panel=4

    Could you point where is incorrect setting?

    If any other know where is the problem, please provide your answer.

    I will very appreciate your help.

    Tuesday, June 5, 2012 2:37 AM
  • Webber,

    Have you retried on Release Preview?

    Best Wishes - Eric

    Tuesday, June 12, 2012 12:19 AM
    Moderator
  • HI, Webber,

            I also try the same thing and encounter the same problem. 

            I don't know how to setting the registry on DeviceOverrides, the instructions (from http://msdn.microsoft.com/en-us/library/windows/hardware/ff541144(v=vs.85).aspx) is too rough. According it, your setting may be not correct. 

             Are yours OK?

    Tuesday, October 16, 2012 5:45 AM