A computer device , comprising: a memory to store data and instructions; a processor in communication with the memory; an operating system in communication with the memory and the processor , wherein the operating system is operable to: receive camera resource requests from a plurality of applications to use a camera resource including an access mode ; determine a memory type to allocate to the plurality of applications for the camera resource based on the camera resource requests and compatibility information of the camera resource , wherein compatibility information identifies a memory type for use with the camera resource and/or a memory type which cannot be used with the camera resource ; based on the determination, allocate a respective memory type to the plurality of applications for the camera resource ; determine a buffer and a buffer type to provide each of the plurality of applications based on the access mode of the camera resource , wherein the buffer type comprises one or more of a shared type , a copy type , and a secure type , wherein a respective determined buffer is a portion or location in the respective allocated memory type ; and provide each of the plurality of applications access to the respective determined buffer . a memory to store data and instructions; a processor in communication with the memory; an operating system in communication with the memory and the processor , wherein the operating system is operable to: receive camera resource requests from a plurality of applications to use a camera resource including an access mode ; determine a memory type to allocate to the plurality of applications for the camera resource based on the camera resource requests and compatibility information of the camera resource , wherein compatibility information identifies a memory type for use with the camera resource and/or a memory type which cannot be used with the camera resource ; based on the determination, allocate a respective memory type to the plurality of applications for the camera resource ; determine a buffer and a buffer type to provide each of the plurality of applications based on the access mode of the camera resource , receive camera resource requests from a plurality of applications to use a camera resource including an access mode ; determine a memory type to allocate to the plurality of applications for the camera resource based on the camera resource requests and compatibility information of the camera resource , wherein compatibility information identifies a memory type for use with the camera resource and/or a memory type which cannot be used with the camera resource ; based on the determination, allocate a respective memory type to the plurality of applications for the camera resource ; determine a buffer and a buffer type to provide each of the plurality of applications based on the access mode of the camera resource , wherein the buffer type comprises one or more of a shared type , a copy type , and a secure type , wherein a respective determined buffer is a portion or location in the respective allocated memory type ; and provide each of the plurality of applications access to the respective determined buffer . <EOS>