imxv4l2sink change issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imxv4l2sink change issue

792 Views
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

Labels (2)
0 Kudos
2 Replies

531 Views
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 Kudos

531 Views
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 Kudos