vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS

It is not required on OSX apparently and was only added in 10.9.6 there.
Calculating the correct level from the configuration is not trivial, so let's
just not set a level at all here.
This commit is contained in:
Sebastian Dröge 2014-10-19 14:57:43 +02:00
parent b57f255f26
commit ad649138aa

View file

@ -475,11 +475,14 @@ gst_vtenc_create_session (GstVTEnc * self)
gst_vtenc_session_configure_expected_framerate (self, session, gst_vtenc_session_configure_expected_framerate (self, session,
(gdouble) self->negotiated_fps_n / (gdouble) self->negotiated_fps_d); (gdouble) self->negotiated_fps_n / (gdouble) self->negotiated_fps_d);
/* FIXME: This is only available since OS X 10.9.6 */
#if HAVE_IOS
status = VTSessionSetProperty (session, status = VTSessionSetProperty (session,
kVTCompressionPropertyKey_ProfileLevel, kVTCompressionPropertyKey_ProfileLevel,
kVTProfileLevel_H264_Baseline_AutoLevel); kVTProfileLevel_H264_Baseline_AutoLevel);
GST_DEBUG_OBJECT (self, "kVTCompressionPropertyKey_ProfileLevel => %d", GST_DEBUG_OBJECT (self, "kVTCompressionPropertyKey_ProfileLevel => %d",
(int) status); (int) status);
#endif
status = VTSessionSetProperty (session, status = VTSessionSetProperty (session,
kVTCompressionPropertyKey_AllowTemporalCompression, kCFBooleanTrue); kVTCompressionPropertyKey_AllowTemporalCompression, kCFBooleanTrue);