An electronic device comprising: a memory; a camera subsystem (202, 204) comprising an image sensor and an image signal processor, ISP; and a hardware abstraction layer, HAL, configured to communicatively couple to the camera subsystem (202, 204) characterized in that the HAL is further configured to initiate image capture to perform at least two different, competing media tasks (316, 318) based on input from a user-application, wherein the media tasks (316, 318) include at least two of a live-preview of image frames, encoding of image frames, transmitting image frames to a wireless display, and recording image frames to a media file, the HAL including a workload scheduler and configured to determine if available memory bandwidth to perform the media tasks is sufficient to avoid power consumption above a given target consumption threshold during performance of the set of media tasks, in response to the available memory bandwidth being sufficient the workload scheduler is configured to apply a legacy workload scheduler policy such that image frames are dispatched in an immediate and unsynchronized manner and in response to the available memory bandwidth being insufficient the workload scheduler is configured to apply an optimized workload scheduler policy such that captured image frames are dispatched in an alternating manner to the media tasks (316, 318) such that video processing stages utilized during performance of the media tasks (316, 318) access the memory in a sequential and non-overlapping manner, wherein the workload scheduler is configured to co-ordinate dispatching of image frames to the media tasks (316, 318) using event signals from a clock source. a memory; a camera subsystem (202, 204) comprising an image sensor and an image signal processor, ISP; and a hardware abstraction layer, HAL, configured to communicatively couple to the camera subsystem (202, 204) characterized in that the HAL is further configured to initiate image capture to perform at least two different, competing media tasks (316, 318) based on input from a user-application, wherein the media tasks (316, 318) include at least two of a live-preview of image frames, encoding of image frames, transmitting image frames to a wireless display, and recording image frames to a media file, the HAL including a workload scheduler and configured to determine if available memory bandwidth to perform the media tasks is sufficient to avoid power consumption above a given target consumption threshold during performance of the set of media tasks, in response to the available memory bandwidth being sufficient the workload scheduler is configured to apply a legacy workload scheduler policy such that image frames are dispatched in an immediate and unsynchronized manner and in response to the available memory bandwidth being insufficient the workload scheduler is configured to apply an optimized workload scheduler policy such that captured image frames are dispatched in an alternating manner to the media tasks (316, 318) such that video processing stages utilized during performance of the media tasks (316, 318) access the memory in a sequential and non-overlapping manner, wherein the workload scheduler is configured to co-ordinate dispatching of image frames to the media tasks (316, 318) using event signals from a clock source.