[Kwintv] UI-Widget separation, alpha2?

Dirk Ziegelmeier dirk at ziegelmeier.net
Wed Oct 22 11:18:09 CEST 2003


On Wednesday 22 October 2003 07:58, George Staikos wrote:
> 1) We need to prevent the endless reports of "no plugins are listed". 
I already added a popup with a reference to the FAQ if no devices are found. 
Since this is a consequence of "no plugins found", I don't want to flood the 
user with error messages, I think this one is enough.

> 2) The Xv driver is difficult to setup (XFree more than qtvision), and the
> v4l driver is just not usable for most people.  I think this needs to be
> better addressed.
Someone who can download, configure and install a source package should be 
able to add one line to the XFree config file. However, I'd completely agree 
if we would ship binary packages.
I had a look at v4l, but I have no experience with XFree/bttv concepts to 
touch it. Also, I'm not really aware of the real problems behind the plugin.

> 3) The crash/freeze on resize needs to be tracked down.
I can reproduce it and got a bt of it. It is always the same memcpy that 
causes the crash. Unfortunately, I don't know why it happens.
Maybe you have a clue:

qtvision: QtVisionView::resizeEvent()
qtvision: elegant font resized to 16
qtvision: viewResized 247 235
qtvision: VIDIOCMCAPTURE failed.
qtvision: QtVisionView::resizeEvent()
qtvision: elegant font resized to 26
qtvision: viewResized 391 343
qtvision: VIDIOCMCAPTURE failed.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 5078)]
0x414aab4f in memcpy () from /lib/libc.so.6
(gdb) bt full
#0  0x414aab4f in memcpy () from /lib/libc.so.6
No symbol table info available.
#1  0x0824ac90 in ?? ()
No symbol table info available.
#2  0x41fa788f in KXvDevice::displayImage(QWidget*, unsigned char const*, int, 
int, int, int) (this=0x824ac90, widget=0x923f7437,
    data=0x42909000 <Address 0x42909000 out of bounds>, w=184, h=168, dw=391, 
dh=343) at /usr/lib/qt3/include/qwidget.h:702
No locals.
#3  0x41fac197 in QVideoStream::displayFrame(unsigned char const*) 
(this=0x42909000,
    img=0x42019000 
"\021\201\023\203\020\204\020\206KxH\213JpJ\230DrJ\231DrB\223 at qA\2227t?\222BtB\224 at v5\214Ì`Ã\205Ât»\216¦v\230\216\227x\227\215\225r_\221Qj_\234Zbc¢c^_¢Yn;\2300~*\2064x<\200HhT\220f`c\236t\\q£u\\{ \201\\~£}\\w¥}X\200¦wX|§\201R[¬Fv¨§HK{¢\201Ry§\177Xz£\177^u¥v`t£o^p¢gbF LbG\234G^K\236I`J¢ZhR\230UjU\222WlT\217OnQ\217OhR\215Ud`\216tkk\224J`L\222V\\Y\224"...) 
at /usr/lib/qt3/include/qsize.h:132
No locals.
#4  0x41fac351 in QVideoStream::operator<<(unsigned char const*) 
(this=0x82d55a8, img=0x42909000 <Address 0x42909000 out of bounds>)
    at qvideostream.cpp:442
No locals.
#5  0x41f98478 in QtVisionV4L::event(QEvent*) (this=0x82d55a8, e=0x83341a0) at 
qtvision_v4l.cpp:839
        ts = {tv_sec = 1066808974, tv_usec = 252399}
#6  0x40d285f8 in QApplication::internalNotify(QObject*, QEvent*) () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#7  0x40d27b50 in QApplication::notify(QObject*, QEvent*) () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#8  0x4098b929 in KApplication::notify(QObject*, QEvent*) () from 
/opt/kde3/lib/libkdecore.so.4
No symbol table info available.
#9  0x40d294f4 in QApplication::sendPostedEvents(QObject*, int) () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#10 0x40d29296 in QApplication::sendPostedEvents() () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#11 0x40cdc515 in QEventLoop::processEvents(unsigned) () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#12 0x40d3cb83 in QEventLoop::enterLoop() () from 
/usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#13 0x40d3ca76 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#14 0x40d2887f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#15 0x080554c6 in main (argc=1, argv=0xbffff2b4) at main.cpp:56
        options = {{name = 0x0, description = 0x0, def = 0x0}}
        about = {mAppName = 0x80660d7 "qtvision", mProgramName = 0x80660d7 
"qtvision", mVersion = 0x80660be "Development post-alpha 1",
  mShortDescription = 0x80660b3 "TV for KDE", mLicenseKey = 2, 
mCopyrightStatement = 0x8066240 "(c) 2002 The KWinTV Developers", mOtherText 
= 0x0,
  mHomepageAddress = 0x806609c "http://www.kwintv.org/", mBugEmailAddress = 
0x8066088 "submit at bugs.kde.org", mAuthorList = {sh = 0x8075410},
  mCreditList = {sh = 0x8075440}, mLicenseText = 0x8066045 
"\213\003\203øÿuôX[]ÃU\211åSè", d = 0x8075470}
        a = <incomplete type>
Segmentation fault
dziegel at lightspeed:~>

--------------

>   Without these things, I think it will result in more headaches in the end
> to release another version of qtvision.  #2 is very time consuming to fix,
> #3 is very tricky to fix (track down).  #1 is easy.  What do you think?
How can we attract someone to help with v4l plugin? Maybe via kwintv.org? But 
I think we could package an ALPHA for users that don't want to / cannot check 
out from CVS.

I prefer working on easier things, I currently try to write a new channel 
wizard. BTW, how should it work? The current one scans frequency ranges. I'd 
like to import a region file and try all listed channels in it, this is much 
faster (XawTV does that, too). I'd like to import the xawtv lists for that, 
we would need to distribute them with qtvision for that. For XVIDEO, the user 
needs to supply a correct /dev/vbi device to get the signal strength. I try 
to also read the station name from it like motv/xawtv does in the next step.

Ciao,
Dirk

--
Dirk Ziegelmeier * dirk at ziegelmeier.net * http://www.ziegelmeier.net



More information about the kwintv mailing list