Example #1
0
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;
}
Example #2
0
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.";
}
Example #3
0
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");
}
Example #4
0
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.";
}
Example #5
0
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.";
}