imxv4l2sink change issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

imxv4l2sink change issue

841 次查看
reuelhaavrahami
Contributor III

Hi

We are using gstreamer dynamic changing pipeline. Using the imxv4l2sink works fine when one does not want to remove or change the sink on the fly.

A simple test when the pipe is running, we put the sink to NULL and back to PLAYING the whole pipe crashes and the last output on the debug shows the following error

imxv4l2 gstimxv4l2.c:1686:gst_imx_v4l2_free_buffer: freed buffer more than allocated.

A quick look at the code seems like when allocating memory the function returns (not performing anything) and printing to debug

GST_INFO ("USERPTR mode, needn't allocate memory.\n");

When looking at the free_buffer function, it seems to try and free things that have not been allocated.

Has this been taken care of in some version or is there a work around?

GStreamer Core Library version 1.4.5

 Linux imx6qsabresd 3.14.52-g29edc48-dirty #67 SMP PREEMPT

标签 (2)
0 项奖励
2 回复数

580 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Reuel,

Looks like this issue is due to the buffer type is not supported, or the index is out of bounds, or there is no buffer allocated at all. I suggest try gstreamer 1.6.0

regards

0 项奖励

580 次查看
reuelhaavrahami
Contributor III

As mentioned the imxv4l2sink uses user-pointer allocation, thus no buffer is supposed to be allocated or freed. The allocation correctly does not allocate anything, just returns from the allocation function (as mentioned). The de-allocate function though tries to free what is not allocated.

Also if buffer type is not supported how could the application run, displaying video, only crashing when one does a state change to NULL?

However we would have a look at gstreamer 1.6.0

Thanks

0 项奖励