mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
openh264dec: Don't drop videocodec frames if we can't decode them *yet*
Fixes jittery playback of streams with B frames.
This commit is contained in:
parent
1dfcdb9ce3
commit
8ae2af61ce
1 changed files with 2 additions and 5 deletions
|
@ -283,9 +283,9 @@ static GstFlowReturn gst_openh264dec_handle_frame(GstVideoDecoder *decoder, GstV
|
||||||
return GST_FLOW_EOS;
|
return GST_FLOW_EOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* No output available yet */
|
||||||
if (dst_buf_info.iBufferStatus != 1) {
|
if (dst_buf_info.iBufferStatus != 1) {
|
||||||
GST_VIDEO_CODEC_FRAME_SET_DECODE_ONLY(frame);
|
return GST_FLOW_OK;
|
||||||
goto finish;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
actual_width = dst_buf_info.UsrData.sSystemBuffer.iWidth;
|
actual_width = dst_buf_info.UsrData.sSystemBuffer.iWidth;
|
||||||
|
@ -333,11 +333,8 @@ static GstFlowReturn gst_openh264dec_handle_frame(GstVideoDecoder *decoder, GstV
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gst_video_codec_state_unref (state);
|
gst_video_codec_state_unref (state);
|
||||||
|
|
||||||
gst_video_frame_unmap(&video_frame);
|
gst_video_frame_unmap(&video_frame);
|
||||||
|
|
||||||
|
|
||||||
finish:
|
|
||||||
return gst_video_decoder_finish_frame(decoder, frame);
|
return gst_video_decoder_finish_frame(decoder, frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue