gstreamer/sys
Haihao Xiang ce4f9ae531 msdk: fix for mfx frame alloc response
Both MSDK and this plugin use mfxFrameAllocResponse for video and DMABuf
memory, it is possible that some GST buffers are still in use when calling
gst_msdk_frame_free, so add a reference count in the wrapper of
mfxFrameAllocResponse (GstMsdkAllocResponse) to make sure the underlying
mfx resources are still available if the corresponding buffer pool is in
use.

In addtion, currently all allocators for input or output share the same
mfxFrameAllocResponse pointer in an element, so it is possible that
the content of mfxFrameAllocResponse is updated for a new caps then all
GST buffers allocated from an old allocator will use this new content of
mfxFrameAllocResponse, which will result in unexpected behavior. In this
fix, we save the the content of mfxFrameAllocResponse in the corresponding
tructure to avoid such issue

Sample pipeline:

gst-launch-1.0 filesrc location=vp9_multi_resolutions.ivf ! ivfparse ! msdkvp9dec !
msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
2019-09-23 09:58:28 +08:00
..
androidmedia ahcsrc: #define GST_USE_UNSTABLE_API for phtography inteface 2019-08-28 16:12:11 +10:00
applemedia applemedia/videocache: remove unimplemented/used upload function 2019-09-16 03:15:39 +00:00
bluez meson: bluez: Early terminate configure on Windows 2019-06-25 12:45:56 +00:00
d3d11 d3d11: Use g_cond_broadcast() to wake up waiting threads 2019-09-18 18:47:44 +09:00
d3dvideosink d3dvideosink: Fix crash on WinProc handler 2019-08-15 17:55:29 +09:00
decklink decklinkaudiosink: Drop late buffers 2019-09-02 11:09:02 +00:00
directsound docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
dshowdecwrapper Remove plugin specific static build option 2017-05-16 14:05:52 -04:00
dshowsrcwrapper dshowsrcwrapper: fix regression on device selection 2019-08-23 09:53:59 +00:00
dshowvideosink bad: use new gst_element_class_add_static_pad_template() 2016-03-24 14:56:51 +02:00
dvb docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
fbdev docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
ipcpipeline docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
kms kmssink: Fix implicit declaration build error 2019-07-17 01:05:32 +09:00
msdk msdk: fix for mfx frame alloc response 2019-09-23 09:58:28 +08:00
nvcodec nvenc: Early terminate handle_frame if the last flow was not GST_FLOW_OK 2019-09-11 15:21:03 +00:00
opensles meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
shm docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
tinyalsa meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
uvch264 uvch264: fix werror build with clang 2019-08-28 02:47:18 +00:00
wasapi wasapi: Move to CoInitializeEx for COM initialization 2019-08-27 19:10:36 +00:00
winks docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
winscreencap docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
Makefile.am nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
meson.build nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00