Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
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;
}