janusw / Camera.Maui

A CameraView Control for .NET Maui
MIT License
18 stars 3 forks source link

Question: Can it use Pixel Camera Services on Pixel Android phones for better pictures? #7

Open MagicAndre1981 opened 8 months ago

MagicAndre1981 commented 8 months ago

Does your lib use Pixel Camera Services on Pixel phones for better pictures?

From what I understand, there is an extension lib for the camera on Android that allows using camera features that are only avaiable on specific phones. And I thnik that the Pixel Camera Services provides this on my Pixel 6.

Does your lib use those specific camera extensions and if not how hard would it be to add this?

janusw commented 8 months ago

Does your lib use Pixel Camera Services on Pixel phones for better pictures?

From what I understand, there is an extension lib for the camera on Android that allows using camera features that are only avaiable on specific phones. And I thnik that the Pixel Camera Services provides this on my Pixel 6.

Does your lib use those specific camera extensions and if not how hard would it be to add this?

No, at present the lib basically just uses the Android.Hardware.Camera2 API, with our any CameraX extensions. Not sure how hard it would be to add those extensions (I haven't worked with them). You can just try your luck if you're interested in this ;)

MagicAndre1981 commented 8 months ago

Calling CameraExtensionCharacteristics extensionChars = ((CameraManager)context.GetSystemService(Context.CameraService)).GetCameraExtensionCharacteristics(id); inside foreach in InitDevices() calls the Pixel camera service:

[CameraManagerGlobal] Connecting to camera service
[CameraExtensionManagerGlobal] Choosing the vendor camera extensions proxy package: com.google.android.apps.camera.services
[CameraExtensionManagerGlobal] Choosing the vendor camera extensions proxy service: com.google.android.apps.camera.services.extensions.service.PixelExtensions

Which phone do you have? What do you see?

Now I have no real idea how to continue to use HDR or NightMode from that Pixel camera service.

janusw commented 8 months ago

Calling CameraExtensionCharacteristics extensionChars = ((CameraManager)context.GetSystemService(Context.CameraService)).GetCameraExtensionCharacteristics(id); inside foreach in InitDevices() calls the Pixel camera service:

[CameraManagerGlobal] Connecting to camera service
[CameraExtensionManagerGlobal] Choosing the vendor camera extensions proxy package: com.google.android.apps.camera.services
[CameraExtensionManagerGlobal] Choosing the vendor camera extensions proxy service: com.google.android.apps.camera.services.extensions.service.PixelExtensions

Which phone do you have? What do you see?

I don't have a Pixel available right now. On my Samsung Galaxy S21+ I only see the following:

[CameraManagerGlobal] Connecting to camera service
[VendorTagDescriptor] addVendorDescriptor: vendor tag id 14172875900359437128 added
[CameraManagerGlobal] Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.companyname.camera.maui.test API Level 2 User Id 0
[CameraManagerGlobal] Camera 2 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.companyname.camera.maui.test API Level 2 User Id 0

(and some more CAMERA_STATE_CLOSED messages)

Now I have no real idea how to continue to use HDR or NightMode from that Pixel camera service.

I guess you should check the documentation: