Commit f75f860f authored by Thiago Santos's avatar Thiago Santos

vtdec: ignore the dropped flag if buffer was received

Apparently there is some issue with VT that makes it mark the dropped
flag even though the buffer was decoded.

https://bugzilla.gnome.org/show_bug.cgi?id=728435
parent 25974ac0
......@@ -512,16 +512,21 @@ gst_vtdec_session_output_callback (void *decompression_output_ref_con,
GstBuffer *buf;
GstVideoCodecState *state;
GST_LOG_OBJECT (vtdec, "got output frame %p %d", frame,
frame->decode_frame_number);
GST_LOG_OBJECT (vtdec, "got output frame %p %d and VT buffer %p", frame,
frame->decode_frame_number, image_buffer);
if (status != noErr) {
GST_ERROR_OBJECT (vtdec, "Error decoding frame %d", status);
goto drop;
}
if (info_flags & kVTDecodeInfo_FrameDropped)
if (image_buffer == NULL) {
if (info_flags & kVTDecodeInfo_FrameDropped)
GST_DEBUG_OBJECT (vtdec, "Frame dropped by video toolbox");
else
GST_DEBUG_OBJECT (vtdec, "Decoded frame is NULL");
goto drop;
}
/* FIXME: use gst_video_decoder_allocate_output_buffer */
state = gst_video_decoder_get_output_state (GST_VIDEO_DECODER (vtdec));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment