crash in libavutil with Creative Webcam Live! #14

Closed
csylvain opened this Issue Jan 26, 2014 · 2 comments

Projects

None yet

2 participants

@csylvain

ffplay -f video4linux2 -framerate 15 /dev/video0 ..works

after changes to src/mediatools.cpp and Qb/Plugins/MultiSrc/src/multisrcelement.cpp
(as detailed at http://hipersayanx.blogspot.com/2013/11/binary-packahes-for-webcamoid-500b2.html ),
running webcamoid results in:

Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, 640x480, -2147483 kb/s, 1000k tbn
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, 640x480, -2147483 kb/s, 1000k tbn
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, 640x480, -2147483 kb/s, 1000k tbn
[alsa @ 0x82d5000] cannot open audio device hw:0 (Device or resource busy)
[alsa @ 0x82cda80] cannot open audio device hw:0 (Device or resource busy)
[alsa @ 0x82cda80] cannot open audio device hw:0 (Device or resource busy)
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, 640x480, -2147483 kb/s, 1000k tbn

Program received signal SIGFPE, Arithmetic exception.
0xb337fdeb in ?? () from /usr/lib/libavutil.so.52
(gdb) bt
#0 0xb337fdeb in ?? () from /usr/lib/libavutil.so.52
#1 0xb335e58c in av_rescale_rnd () from /usr/lib/libavutil.so.52
#2 0xb335e66f in av_rescale_q () from /usr/lib/libavutil.so.52
#3 0xb464480b in ?? () from /usr/lib/libavdevice.so.55
#4 0xb44ca867 in ?? () from /usr/lib/libavformat.so.55
#5 0xb44cd28e in ?? () from /usr/lib/libavformat.so.55
#6 0xb44cdf0a in av_read_frame () from /usr/lib/libavformat.so.55
#7 0xb4689431 in MultiSrcElement::readPackets() () from /usr/lib/Qb/libMultiSrc.so
#8 0xb468c60c in ?? () from /usr/lib/Qb/libMultiSrc.so
#9 0xb7315c22 in QMetaObject::activate (sender=0x819b778, m=0xb74694b8 , local_signal_index=

0, argv=0x0) at kernel/qobject.cpp:3548
#10 0xb73673a5 in QTimer::timeout (this=0x819b778) at .moc/release-shared/moc_qtimer.cpp:148
#11 0xb731cd16 in QTimer::timerEvent (this=0x819b778, e=0xbfffea70) at kernel/qtimer.cpp:280
#12 0xb73139f4 in QObject::event (this=0x819b778, e=0xbfffea70) at kernel/qobject.cpp:1165
#13 0xb75b9bac in QApplicationPrivate::notify_helper (this=0x8050980, receiver=0x819b778, e=0xbfffea70)

at kernel/qapplication.cpp:4562
#14 0xb75be5cc in QApplication::notify (this=0xbfffea70, receiver=0x819b778, e=0xbfffea70)

at kernel/qapplication.cpp:3944
#15 0xb72fd8ce in QCoreApplication::notifyInternal (this=0xbfffed48, receiver=0x819b778, event=0xbfffea70)

at kernel/qcoreapplication.cpp:946
#16 0xb7332247 in sendEvent (event=, receiver=) at kernel/qcoreapplication.h:231
#17 QTimerInfoList::activateTimers (this=0x8053034) at kernel/qeventdispatcher_unix.cpp:637
#18 0xb732f218 in timerSourceDispatch (source=0x8053000) at kernel/qeventdispatcher_glib.cpp:186
#19 timerSourceDispatch (source=0x8053000) at kernel/qeventdispatcher_glib.cpp:180
#20 0xb66828b3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0xb6682c50 in ?? () from /usr/lib/libglib-2.0.so.0
#22 0xb6682d31 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#23 0xb732f891 in QEventDispatcherGlib::processEvents (this=0x8050090, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#24 0xb766b4aa in QGuiEventDispatcherGlib::processEvents (this=0x8050090, flags=...)

at kernel/qguieventdispatcher_glib.cpp:204
#25 0xb72fc39c in QEventLoop::processEvents (this=this@entry=0xbfffecd8, flags=...) at kernel/qeventloop.cpp:149
#26 0xb72fc691 in QEventLoop::exec (this=0xbfffecd8, flags=...) at kernel/qeventloop.cpp:204
#27 0xb730194a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#28 0xb75b7a24 in QApplication::exec () at kernel/qapplication.cpp:3823
#29 0x08048e4f in main ()

@hipersayanX hipersayanX was assigned Jan 28, 2014
@hipersayanX
Member

Ok, try compiling Webcamoid with his own FFmpeg version.
change line 111 to this:

qmake Webcamoid.pro \
    LIBDIR=%{_libdir} \
    LICENSEDIR=%{_defaultdocdir}/webcamoid \
    QMAKE_LRELEASE=%{_bindir}/lrelease \
    USE3DPARTYLIBS=1

And add :

BuildRequires: wget

here.

@hipersayanX
Member

This issue doesn't apply anymore for new releases, since Webcamoid uses V4L2 and DirectShow for webcam capture instead of FFmpeg. Also the error message show something like:

Stream #0:0: mjpeg, 640x480, -2147483 kb/s, 1000k tbn

that suggest that the webcam can only output compressed formats, that is not supported right now. I'll add support for compressed formats, probably in the course of 7.x series.

Closing this issue for the moment, feel free to reopen if it's not the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment