camera_start_encode()

Start encoding video.

Synopsis:

#include <camera/camera_api.h>
 
camera_error_t camera_start_encode(camera_handle_t handle,                 
                                   void(*video_callback)(camera_handle_t, camera_buffer_t *, void *),                 
                                   void(*enc_video_callback)(camera_handle_t, camera_buffer_t *, void *),                 
                                   void(*enc_audio_callback)(camera_handle_t, camera_buffer_t *, void *), 
                                   void(*status_callback)(camera_handle_t, camera_devstatus_t, uint16_t, void *),                 
                                   void *arg)

Since:

BlackBerry 10.0.0

Arguments:

handle

The handle returned by a call to the camera_open() function.

video_callback
A function pointer to a function with the following signature:
 void function_name( camera_handle_t,
                     camera_buffer_t*,
                     void* );
The function is a callback function that is invoked when an uncompressed video frame is available. You can use NULL if no function needs to be called. For information about the callback arguments, see About callback mode.
enc_video_callback
A function pointer to a function with the following signature:
 void function_name( camera_handle_t,
                     camera_buffer_t*,
                     void* );
The function is a callback function that is invoked when an encoded video frame is available. This argument is mandatory and can't be a NULL value. For information about the callback arguments, see About callback mode.
enc_video_callback
A function pointer to a function with the following signature:
 void function_name( camera_handle_t,
                     camera_buffer_t*,
                     void* );
The function is a callback function that is invoked when an encoded audio frame is available. You can use NULL if no function needs to be called. For information about the callback arguments, see About callback mode.
status_callback
A function pointer to a function with the following signature:
 void function_name( camera_handle_t,
                     camera_devstatus_t,
                     uint16_t,
                     void* );
The function is a callback function that is invoked when status events occur. You can use NULL if no function needs to be called. For information about the callback arguments, see About callback mode.
arg

The argument passed to all callback functions, which is the last argument in the callback functions.

Library:

libcamapi (For the qcc command, use the -l camapi option to link against this library)

Description:

This function can only be called if the CAMERA_FEATURE_VIDEO feature is available. You can determine whether this feature is available by calling the camera_can_feature() function.

The viewfinder must be started in a viewfinder mode that supports video encoding. For more information about viewfinder modes, see Viewfinder modes.

Video is encoded based on the configured properties. The audio track is encoded from the active audio input on the device.

The Camera library does not automatically play audible shutter sounds when a picture is taken or a video is recorded. Camera applications must supply their own sound when a photo is captured or a video recording begins and ends. While you can choose to not have a shutter sound when taking a picture — you are responsible to ensure that the application adheres to the local laws of the regions in which you wish to distribute the application.

For example, it is illegal to mute or modify the shutter sound of a camera application in Japan and Korea. Ensure that you comply with the laws and regulations for the countries in which you distribute your application. For more information, see the BlackBerry World Vetting Criteria at https://appworld.blackberry.com/isvportal/home.do.

Before calling this function, ensure that all required video encoding properties are set using camera_set_video_property(). For more information about encoding configurations, see the functions in camera_encoder.h.

It is important that your application follows the guidelines for resource management outlined in Camera resource management. If you do not observe these guidelines, your application is at risk of crashing due to memory access errors when resource arbitration is performed by the operating system.

Returns:

CAMERA_EOK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed. CAMERA_EINVAL is returned if there is a mismatch in video properties set using camera_set_video_property() function.

Last modified: 2014-09-30



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus