int main(int args, char *argv[]) { droid_media_init(); int cameras = droid_media_camera_get_number_of_cameras(); printf("%d cameras\n", cameras); for (int x = 0; x < cameras; x++) { DroidMediaCameraInfo info; if (!droid_media_camera_get_info(&info, x)) { printf("Failed to get camera %d info\n", x); } printf("Camera %d: Orientation: %d, facing: %d\n", x, info.orientation, info.facing); printf("Initializing camera %d\n", x); DroidMediaCamera *cam = droid_media_camera_connect(x); if (!cam) { printf("Failed\n"); continue; } printf("Starting\n"); if (!droid_media_camera_lock(cam)) { printf("Failed to lock camera\n"); continue; } if (!droid_media_camera_start_preview(cam)) { printf("Failed\n"); droid_media_camera_disconnect(cam); continue; } printf("Started\n"); sleep(2); printf("Stopping\n"); droid_media_camera_stop_preview(cam); droid_media_camera_unlock(cam); printf("Stopped\n"); droid_media_camera_disconnect(cam); } droid_media_deinit(); }
static gboolean plugin_init (GstPlugin * plugin) { gboolean ok = TRUE; GST_DEBUG_CATEGORY_INIT (gst_droid_camsrc_debug, "droidcamsrc", 0, "Android HAL camera source"); GST_DEBUG_CATEGORY_INIT (gst_droid_eglsink_debug, "droideglsink", 0, "Android EGL sink"); GST_DEBUG_CATEGORY_INIT (gst_droid_adec_debug, "droidadec", 0, "Android HAL audio decoder"); GST_DEBUG_CATEGORY_INIT (gst_droid_aenc_debug, "droidaenc", 0, "Android HAL audio encoder"); GST_DEBUG_CATEGORY_INIT (gst_droid_vdec_debug, "droidvdec", 0, "Android HAL video decoder"); GST_DEBUG_CATEGORY_INIT (gst_droid_venc_debug, "droidvenc", 0, "Android HAL video encoder"); GST_DEBUG_CATEGORY_INIT (gst_droid_codec_debug, "droidcodec", 0, "Android HAL codec"); ok &= gst_element_register (plugin, "droidcamsrc", GST_RANK_PRIMARY, GST_TYPE_DROIDCAMSRC); ok &= gst_element_register (plugin, "droideglsink", GST_RANK_PRIMARY, GST_TYPE_DROIDEGLSINK); ok &= gst_element_register (plugin, "droidvdec", GST_RANK_PRIMARY + 1, GST_TYPE_DROIDVDEC); ok &= gst_element_register (plugin, "droidvenc", GST_RANK_PRIMARY + 1, GST_TYPE_DROIDVENC); ok &= gst_element_register (plugin, "droidadec", GST_RANK_PRIMARY + 1, GST_TYPE_DROIDADEC); ok &= gst_element_register (plugin, "droidaenc", GST_RANK_PRIMARY + 1, GST_TYPE_DROIDAENC); if (ok) droid_media_init (); return ok; }