From ddea2e4498056e69ba28fe6e67c66abbf1d1fe04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 17 Sep 2014 17:10:58 +0300 Subject: [PATCH] vtenc: Prepare encoder after setup This will allow encoding to happen faster on the first frame. --- sys/applemedia/vtenc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c index 644f93dddb..a090df7e1f 100644 --- a/sys/applemedia/vtenc.c +++ b/sys/applemedia/vtenc.c @@ -458,8 +458,11 @@ gst_vtenc_create_session (GstVTEnc * self) self, &session); GST_INFO_OBJECT (self, "VTCompressionSessionCreate for %d x %d => %d", self->negotiated_width, self->negotiated_height, (int) status); - if (status != noErr) + if (status != noErr) { + GST_ERROR_OBJECT (self, "VTCompressionSessionCreate() returned: %d", + (int) status); goto beach; + } if (self->dump_properties) { gst_vtenc_session_dump_properties (self, session); @@ -490,6 +493,13 @@ gst_vtenc_create_session (GstVTEnc * self) gst_vtenc_session_configure_bitrate (self, session, gst_vtenc_get_bitrate (self)); + status = VTCompressionSessionPrepareToEncodeFrames (session); + if (status != noErr) { + GST_ERROR_OBJECT (self, + "VTCompressionSessionPrepareToEncodeFrames() returned: %d", + (int) status); + } + beach: CFRelease (pb_attrs);