int main (int argc, char *argv[]) { GtkWidget *window; GstCameraCapturer *gvc; GError *error = NULL; gtk_init (&argc, &argv); /*Create GstVideoCapturer */ gst_camera_capturer_init_backend (&argc, &argv); gvc = gst_camera_capturer_new ("test", &error); gst_camera_capturer_set_source (gvc, CAPTURE_SOURCE_TYPE_SYSTEM); gst_camera_capturer_set_video_encoder (gvc, VIDEO_ENCODER_H264); gst_camera_capturer_set_audio_encoder (gvc, AUDIO_ENCODER_AAC); gst_camera_capturer_set_video_muxer (gvc, VIDEO_MUXER_MP4); g_object_set (gvc, "output_file", "libcesarplayer-example.avi", NULL); window = create_window (gvc); gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (gvc)); gtk_widget_show (GTK_WIDGET (gvc)); gtk_widget_show (window); gst_camera_capturer_run(gvc); gtk_main (); return 0; }
static void on_realized_cb (GtkWidget * video) { GstCameraCapturer *gvc; guintptr window; GError *error = NULL; window = lgm_get_window_handle (gtk_widget_get_window (video)); gvc = gst_camera_capturer_new (&error); gst_camera_capturer_configure (gvc, sargv[1], (CaptureSourceType) atoi(sargv[4]), sargv[2], sargv[3], 0, 0, 0, 0, VIDEO_ENCODER_H264, AUDIO_ENCODER_AAC, VIDEO_MUXER_MP4, 1000, 100, TRUE, 640, 480, window); gst_camera_capturer_run (gvc); g_signal_connect (G_OBJECT (recbutton), "clicked", G_CALLBACK (rec_clicked_cb), gvc); g_signal_connect (G_OBJECT (stopbutton), "clicked", G_CALLBACK (stop_clicked), gvc); }