static void byzanz_encoder_gstreamer_class_init (ByzanzEncoderGStreamerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass); gst_init (NULL, NULL); object_class->finalize = byzanz_encoder_gstreamer_finalize; encoder_class->run = byzanz_encoder_gstreamer_run; }
static void byzanz_encoder_flv_class_init (ByzanzEncoderFlvClass *klass) { ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass); ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass); encoder_class->filter = gtk_file_filter_new (); g_object_ref_sink (encoder_class->filter); gtk_file_filter_set_name (encoder_class->filter, _("Flash video")); gtk_file_filter_add_mime_type (encoder_class->filter, "video/x-flv"); gtk_file_filter_add_pattern (encoder_class->filter, "*.flv"); gstreamer_class->pipeline_string = "appsrc name=src ! videoconvert ! avenc_flashsv buffer-size=8388608 ! flvmux ! giostreamsink name=sink"; gstreamer_class->audio_pipeline_string = "autoaudiosrc name=audiosrc ! audioconvert ! audio/x-raw-int,width=16 ! queue ! flvmux name=muxer ! giostreamsink name=sink " "appsrc name=src ! videoconvert ! avenc_flashsv buffer-size=8388608 ! muxer."; }
static void byzanz_encoder_byzanz_class_init (ByzanzEncoderByzanzClass *klass) { ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass); /* We don't use the run vfunc and just g_output_stream_slice() here, * because this way we get data verification. */ encoder_class->setup = byzanz_encoder_byzanz_setup; encoder_class->process = byzanz_encoder_byzanz_process; encoder_class->close = byzanz_encoder_byzanz_close; encoder_class->filter = gtk_file_filter_new (); g_object_ref_sink (encoder_class->filter); gtk_file_filter_set_name (encoder_class->filter, _("Byzanz debug files")); gtk_file_filter_add_mime_type (encoder_class->filter, "application/x-byzanz"); gtk_file_filter_add_pattern (encoder_class->filter, "*.byzanz"); }
static void byzanz_encoder_webm_class_init (ByzanzEncoderWebmClass *klass) { ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass); ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass); encoder_class->filter = gtk_file_filter_new (); g_object_ref_sink (encoder_class->filter); gtk_file_filter_set_name (encoder_class->filter, _("WebM video")); gtk_file_filter_add_mime_type (encoder_class->filter, "video/webm"); gtk_file_filter_add_pattern (encoder_class->filter, "*.webm"); gstreamer_class->pipeline_string = "appsrc name=src ! videoconvert ! videorate ! " "video/x-raw,format=I420,framerate=25/1 ! vp8enc ! webmmux ! giostreamsink name=sink"; gstreamer_class->audio_pipeline_string = "autoaudiosrc name=audiosrc ! audioconvert ! vorbisenc ! queue ! webmmux name=muxer ! giostreamsink name=sink " "appsrc name=src ! videoconvert ! videorate ! " "video/x-raw,format=I420,framerate=25/1 ! vp8enc ! queue ! muxer."; }
static void byzanz_encoder_ogv_class_init (ByzanzEncoderOgvClass *klass) { ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass); ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass); encoder_class->filter = gtk_file_filter_new (); g_object_ref_sink (encoder_class->filter); gtk_file_filter_set_name (encoder_class->filter, _("Theora video")); gtk_file_filter_add_mime_type (encoder_class->filter, "video/ogg"); gtk_file_filter_add_pattern (encoder_class->filter, "*.ogv"); gtk_file_filter_add_pattern (encoder_class->filter, "*.ogg"); gstreamer_class->pipeline_string = "appsrc name=src ! videoconvert ! videorate !" "video/x-raw,format=Y444,framerate=25/1 ! theoraenc ! oggmux ! giostreamsink name=sink"; gstreamer_class->audio_pipeline_string = "autoaudiosrc name=audiosrc ! audioconvert ! queue ! oggmux name=muxer ! giostreamsink name=sink " "appsrc name=src ! videoconvert ! videorate ! " "video/x-raw,format=Y444,framerate=25/1 ! theoraenc ! queue ! muxer."; }