applemedia: vtdec: fail gracefully when not negotiated
This commit is contained in:
parent
b1a756fda7
commit
1cd62000f5
@ -257,6 +257,11 @@ gst_vtdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
|
|||||||
GstFlowReturn ret = GST_FLOW_OK;
|
GstFlowReturn ret = GST_FLOW_OK;
|
||||||
int decode_frame_number = frame->decode_frame_number;
|
int decode_frame_number = frame->decode_frame_number;
|
||||||
|
|
||||||
|
if (vtdec->format_description == NULL) {
|
||||||
|
ret = GST_FLOW_NOT_NEGOTIATED;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
GST_LOG_OBJECT (vtdec, "got input frame %d", decode_frame_number);
|
GST_LOG_OBJECT (vtdec, "got input frame %d", decode_frame_number);
|
||||||
|
|
||||||
ret = gst_vtdec_push_frames_if_needed (vtdec, FALSE, FALSE);
|
ret = gst_vtdec_push_frames_if_needed (vtdec, FALSE, FALSE);
|
||||||
@ -278,9 +283,10 @@ gst_vtdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
|
|||||||
if (status != noErr && FALSE)
|
if (status != noErr && FALSE)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
out:
|
|
||||||
GST_LOG_OBJECT (vtdec, "submitted input frame %d", decode_frame_number);
|
GST_LOG_OBJECT (vtdec, "submitted input frame %d", decode_frame_number);
|
||||||
|
|
||||||
|
out:
|
||||||
|
if (cm_sample_buffer)
|
||||||
CFRelease (cm_sample_buffer);
|
CFRelease (cm_sample_buffer);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user