Hey All -
I'm using Qt 4.5 and doing video decoding inside a QThread. When the
thread is destroyed, it goes through and frees up the libav* stuff its
allocated. One of the calls to av_free() in particular is causing a
SIGSEGV - with that call in, program SIGSEGV's, with that call commented
out, no sigsegv.
av_free(m_av_frame);
The odd thing is, right before I free m_av_frame(), I also use av_free()
on two other libav* structs.
m_av_frame is just allocated like this:
m_av_frame = avcodec_alloc_frame();
This is the frame that is given to avcodec_deocde_video(), then I
convert it to RGB32 using sws_scale() - so the data is completely
internal to the thread.
I've even tried wrapping the calls to av_free in a mutex - still sigsegvs.
To troubleshoot, I've tried gdb (only a single line stack trace on
sigsegv, location is "??" according to gdb.) I can't get valgrind's
helgrind tool working on my system, and I'm plum out of ideas on how to
troubleshoot this.
Any else have any ideas on how to troubleshoot?
Thanks!
-josiah
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user