mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
applemedia: vtdec: fail gracefully when not negotiated
This commit is contained in:
parent
b1a756fda7
commit
1cd62000f5
1 changed files with 8 additions and 2 deletions
|
@ -257,6 +257,11 @@ gst_vtdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
|
|||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
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);
|
||||
|
||||
ret = gst_vtdec_push_frames_if_needed (vtdec, FALSE, FALSE);
|
||||
|
@ -278,10 +283,11 @@ gst_vtdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
|
|||
if (status != noErr && FALSE)
|
||||
goto error;
|
||||
|
||||
out:
|
||||
GST_LOG_OBJECT (vtdec, "submitted input frame %d", decode_frame_number);
|
||||
|
||||
CFRelease (cm_sample_buffer);
|
||||
out:
|
||||
if (cm_sample_buffer)
|
||||
CFRelease (cm_sample_buffer);
|
||||
return ret;
|
||||
|
||||
error:
|
||||
|
|
Loading…
Reference in a new issue