ACK. On Thu, Aug 27, 2015 at 09:01:15PM +0200, Francois Gouget wrote: > Signed-off-by: Francois Gouget <fgouget@xxxxxxxxxxxxxxx> > --- > > Changes since take 4: > - Tweaked the h264 options comments. > > server/gstreamer_encoder.c | 17 ++++++++++++++++- > server/red_dispatcher.c | 2 ++ > 2 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/server/gstreamer_encoder.c b/server/gstreamer_encoder.c > index be18101..e42641b 100644 > --- a/server/gstreamer_encoder.c > +++ b/server/gstreamer_encoder.c > @@ -269,6 +269,9 @@ static gboolean construct_pipeline(GstEncoder *encoder, const SpiceBitmap *bitma > case SPICE_VIDEO_CODEC_TYPE_VP8: > gstenc_name = "vp8enc"; > break; > + case SPICE_VIDEO_CODEC_TYPE_H264: > + gstenc_name = "x264enc"; > + break; > default: > spice_warning("unsupported codec type %d", encoder->base.codec_type); > return FALSE; > @@ -331,6 +334,17 @@ static gboolean construct_pipeline(GstEncoder *encoder, const SpiceBitmap *bitma > NULL); > break; > } > + case SPICE_VIDEO_CODEC_TYPE_H264: > + g_object_set(G_OBJECT(encoder->gstenc), > + "bitrate", encoder->bit_rate / 1024, > + "byte-stream", TRUE, > + "aud", FALSE, > + "tune", 4, /* zero-frame latency */ > + "sliced-threads", TRUE, /* zero-frame latency */ > + "speed-preset", 1, /* ultrafast */ > + "intra-refresh", TRUE, /* uniform compressed frame sizes */ > + NULL); > + break; > default: > spice_warning("unknown encoder type %d", encoder->base.codec_type); > reset_pipeline(encoder); > @@ -729,7 +743,8 @@ GstEncoder *create_gstreamer_encoder(SpiceVideoCodecType codec_type, > > spice_assert(!cbs || (cbs && cbs->get_roundtrip_ms && cbs->get_source_fps)); > if (codec_type != SPICE_VIDEO_CODEC_TYPE_MJPEG && > - codec_type != SPICE_VIDEO_CODEC_TYPE_VP8) { > + codec_type != SPICE_VIDEO_CODEC_TYPE_VP8 && > + codec_type != SPICE_VIDEO_CODEC_TYPE_H264) { > spice_warning("unsupported codec type %d", codec_type); > return NULL; > } > diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c > index 105bdd3..0427725 100644 > --- a/server/red_dispatcher.c > +++ b/server/red_dispatcher.c > @@ -268,12 +268,14 @@ static create_video_encoder_proc video_encoder_procs[] = { > static const EnumNames video_codec_names[] = { > {SPICE_VIDEO_CODEC_TYPE_MJPEG, "mjpeg"}, > {SPICE_VIDEO_CODEC_TYPE_VP8, "vp8"}, > + {SPICE_VIDEO_CODEC_TYPE_H264, "h264"}, > {0, NULL}, > }; > > static const EnumNames video_cap_names[] = { > {SPICE_DISPLAY_CAP_CODEC_MJPEG, "mjpeg"}, > {SPICE_DISPLAY_CAP_CODEC_VP8, "vp8"}, > + {SPICE_DISPLAY_CAP_CODEC_H264, "h264"}, > {0, NULL}, > }; > > -- > 2.5.0 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpcO5liSJSwf.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel