msdkdec: release the surface if this surface is not in use
If the surface is not in use, we may release it even if GST_FLOW_OK is going to be returned, which may avoid the issue of failing to get surface available This fixes the regression caused by commit c05acf4
This commit is contained in:
parent
8daac1c09a
commit
c689c94458
@ -1067,7 +1067,11 @@ gst_msdkdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
|
|||||||
|
|
||||||
if (bitstream.DataLength == 0) {
|
if (bitstream.DataLength == 0) {
|
||||||
flow = GST_FLOW_OK;
|
flow = GST_FLOW_OK;
|
||||||
|
|
||||||
|
/* Don't release it if the current surface is in use */
|
||||||
|
if (surface && task->surface == surface->surface)
|
||||||
surface = NULL;
|
surface = NULL;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (status == MFX_ERR_MORE_DATA) {
|
} else if (status == MFX_ERR_MORE_DATA) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user