Bugs item #576862, was opened at 2002-07-03 12:10
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=111050&aid=576862&group_id=11050

Category: None
Group: None
>Status: Pending
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
>Assigned to: Zdenek Kabelac (kabi)
Summary: aviplay is aborted when using win32

Initial Comment:
When I use win32 codecs aviplay crashes. 
I have no sound card installed at the moment. Thus it generates 
exception, but somehow exception is not cought as it should be. 
When I remove libwin32.so, it works nicely with libxvid.so. 
Thus it looks like the problem is somewhere in win32 initialisation code. 
It looks like it breaks exception frame. 
Platform: SuSe 8.0 
 
 dyp@dyp:~/media/divx> gdb aviplay  
GNU gdb 5.0  
Copyright 2000 Free Software Foundation, Inc.  
GDB is free software, covered by the GNU General Public License, and you are  
welcome to change it and/or distribute copies of it under certain conditions.  
Type "show copying" to see the conditions.  
There is absolutely no warranty for GDB.  Type "show warranty" for details.  
This GDB was configured as "i686-pc-linux-gnu"...  
(gdb) run tape3.001.avi  
Starting program: /usr/bin/aviplay tape3.001.avi  
[New Thread 1024 (LWP 3848)]  
<Init> : Avifile CVS-020702-14:39-2.95.3  
<Init> : Available CPU flags: fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov 
pat  
pse36 mmx fxsr sse  
<Init> : 1007.81 MHz Pentium III (Coppermine) processor detected  
libGL error: failed to open DRM: Operation not permitted  
libGL error: reverting to (slow) indirect rendering  
/usr/lib/qt3/plugins/imageformats/libqjpeg.so: Feature JPEG already defined in  
/usr/lib/qt-3.0.3/plugins/imageformats/libqjpeg.so!  
/usr/lib/qt3/plugins/imageformats/libqmng.so: Feature MNG already defined in  
/usr/lib/qt-3.0.3/plugins/imageformats/libqmng.so!  
<aviplay> : Debug is on 0  
<AVI reader> : Checking: tape3.001.avi  
<AVI reader> : AVIMainHeader: MicroSecPerFrame=40000 MaxBytesPerSec=0  
 PaddingGranularity=0  Flags=[ HAS_INDEX IS_INTERLEAVED ] TotalFrames=422  
 InitialFrames=0  Streams=2  SuggestedBufferSize=0 WxH=720x576  
 Scale=0  Rate=0  Start=0  Length=0  
<AVI reader> : AVIStreamHeader: FccType=vids FccHandler=DIVX Flags=[ ]  
 InitialFrames=0 Scale=1000000 Rate=25000000 Start=0 Length=422  
 SuggestedBufferSize=0 Quality=-1 SampleSize=0 Rect l,r,t,b=0,0,0,0  
<AVI reader> : AVIStreamHeader: FccType=auds FccHandler=0x0 Flags=[ ]  
 InitialFrames=0 Scale=1 Rate=16000 Start=0 Length=269462  
 SuggestedBufferSize=0 Quality=-1 SampleSize=1 Rect l,r,t,b=0,0,0,0  
<AVI reader> : InfoChunk Software:  transcode-0.6.0rc1  
<AVI reader> : Reading index from 4170280  
<AVI reader> : Stream 0 vids : 0x58564944 (DIVX) 422 chunks (6.59KB)  
<AVI reader> : Stream 1 auds : 0x55 (MPEG Layer-3) 422 chunks (6.59KB)  
<StreamCache> : Creating cache for file descriptor: 9  
[New Thread 2049 (LWP 3849)]  
[New Thread 1026 (LWP 3850)]  
<ReadStream> : Initialized video stream (chunk tblsz: 422, fmtsz: 40)  
<ReadStream> : Initialized audio stream (chunk tblsz: 269462, fmtsz: 18)  
<AVI reader> : WARNING: fixing bad WAVEFORMAT header for MP3 audio track (0 != 12)  
<AVI reader> : Stream MPEG header  VBR:0  Layer:3  SampleRate:48000 Bitrate:128000  
SamplesPerFrame:1152  NumChannels:2  StereoMode:1  Offset:40  
<AVI reader> : WARNING: fixing bad MP3 block size 0 -> 384  
<AVI reader> : Successfully opened tape3.001.avi  
<Codec keeper> : /usr/lib/avifile0.7/ac3pass.so:  A/V 1/0  
<Codec keeper> : /usr/lib/avifile0.7/win32.so:  A/V 13/48  
<LDT_Keeper> : Installed fs segment: 0x40f68000  
<Codec keeper> : /usr/lib/avifile0.7/divx4.so:  A/V 0/2  
<Codec keeper> : /usr/lib/avifile0.7/mp3lamebin_audioenc.so:  A/V 1/0  
<Codec keeper> : /usr/lib/avifile0.7/mad_audiodec.so:  A/V 1/0  
<Codec keeper> : /usr/lib/avifile0.7/vorbis_audio.so:  A/V 1/0  
<Codec keeper> : /usr/lib/avifile0.7/ffmpeg.so:  A/V 2/9  
<Codec keeper> : /usr/lib/avifile0.7/xvid.so:  A/V 0/1  
<Codec keeper> : /usr/lib/avifile0.7/mpeg_audiodec.so:  A/V 1/0  
<Codec keeper> : /usr/lib/avifile0.7/audiodec.so:  A/V 5/0  
<Codec keeper> : /usr/lib/avifile0.7/mjpeg.so:  A/V 0/1  
<Win32 plugin> : Win32 LoadLibrary failed to load: xvid.ax, /usr/lib/win32/xvid.ax,  
/usr/local/lib/win32/xvid.ax  
Warning: DS_Filter() could not open DirectShow DLL.  (DLL=xvid.ax)  
<Win32 DS video decoder> : WARNING: DS_Filter() format not accepted  
<Codec keeper> : Trying to use XviD instead of DIVX  
<Win32 plugin> : Win32 LoadLibrary failed to load: xvid.ax, /usr/lib/win32/xvid.ax,  
/usr/local/lib/win32/xvid.ax  
Warning: DS_Filter() could not open DirectShow DLL.  (DLL=xvid.ax)  
<Win32 DS video decoder> : WARNING: DS_Filter() format not accepted  
<Win32 plugin> : Win32 LoadLibrary failed to load: xvid.dll, /usr/lib/win32/xvid.dll,  
/usr/local/lib/win32/xvid.dll  
<Win32 loader> : Could not load Win32 dll library: xvid.dll  
<Win32 video decoder> : Can't create module  
<Codec keeper> : Trying to use XviD instead of DIVX  
<Win32 plugin> : Win32 LoadLibrary failed to load: xvid.dll, /usr/lib/win32/xvid.dll,  
/usr/local/lib/win32/xvid.dll  
<Win32 loader> : Could not load Win32 dll library: xvid.dll  
<Win32 video decoder> : Can't create module  
<Win32 plugin> : External func COMCTL32.dll:17  
<Win32 plugin> : Win32 LoadLibrary failed to load: DDRAW.DLL,  
/usr/lib/win32/DDRAW.DLL, /usr/local/lib/win32/DDRAW.DLL  
Using DirectShow codec: divxdec.ax  
<Win32 DS video decoder> : Decoder does not support upside-down RGB frames  
<Win32 DS video decoder> : Decoder is capable of YUV output ( flags 0x8f )  
<Codec keeper> : Win32 DivX4 4.0 DirectShow video decoder created  
[New Thread 2051 (LWP 3851)]  
[New Thread 3076 (LWP 3852)]  
[New Thread 4101 (LWP 3854)]  
<renderer> : SDL Video driver: x11  
[New Thread 5126 (LWP 3855)]  
<renderer> : Created surface: 720 x 576  16 bits  
<renderer> : Creating YUV overlay 720x576, fourcc 0x32595559 (YUY2)  
<renderer> : XV port: 67  
<renderer> : XV attribute: XV_COLORKEY  GS   <0, 16777215> = 2110  
<renderer> : XV attribute: XV_BRIGHTNESS  GS   <-128, 127> = 0  
<renderer> : XV attribute: XV_CONTRAST  GS   <0, 255> = 128  
<renderer> : XV attribute: XV_DOUBLE_BUFFER  GS   <0, 1> = 1  
<renderer> : Loading subfont:  
"-adobe-helvetica-medium-r-normal-*-*-140-100-100-p-*-iso8859-*"  
<aviplay> : Will try audio renderers in this order: OSS,SDL,noaudio  
<Codec keeper> : MAD MPEG Layer-III audio decoder created  
<audio renderer> : src fmt=0x55 2ch 48000Hz 16b  16000B/s balign=1 cbsz=12  
<audio renderer> : dst fmt=0x01 2ch 48000Hz 16b 192000B/s balign=4 cbsz=0  
  
Program received signal SIGABRT, Aborted.  
[Switching to Thread 1024 (LWP 3848)]  
0x40a79ab1 in kill () from /lib/libc.so.6  
(gdb) bt  
#0  0x40a79ab1 in kill () from /lib/libc.so.6  
#1  0x408b7982 in pthread_kill () from /lib/libpthread.so.0  
#2  0x408b7e6d in raise () from /lib/libpthread.so.0  
#3  0x40a7aedb in abort () from /lib/libc.so.6  
#4  0x400269ab in __default_terminate () from /usr/lib/libqavm-0.7.so.0  
#5  0x400269cc in __terminate () from /usr/lib/libqavm-0.7.so.0  
#6  0x400275de in __throw () from /usr/lib/libqavm-0.7.so.0  
#7  0x4069e62f in avm::OssAudioRenderer::OssAudioRenderer (this=0x413128f8,  
as=0x80be3b0, Owf=@0xbfffee34, privcname=0x0) at OssAudioRenderer.cpp:54  
#8  0x40699052 in avm::AviPlayer::createAudioRenderer (this=0x80bba90) at  
aviplay.cpp:832  
#9  0x40697e5e in avm::AviPlayer::Start (this=0x80bba90) at aviplay.cpp:406  
#10 0x805388e in PlayerControl::play_func (this=0x80a5660) at playercontrol.cpp:572  
#11 0x8056f9c in PlayerControl::starter_slot (this=0x80a5660) at 
playercontrol.cpp:1231  
#12 0x80595b9 in PlayerControl::qt_invoke (this=0x80a5660, _id=91, _o=0xbfffefd8) at  
playercontrol.moc:266  
#13 0x402541f7 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3  
#14 0x40254143 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3  
#15 0x404ff2e0 in QTimer::timeout () from /usr/lib/libqt-mt.so.3  
#16 0x4026dc22 in QTimer::event () from /usr/lib/libqt-mt.so.3  
#17 0x401fc586 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3  
#18 0x401fc424 in QApplication::notify () from /usr/lib/libqt-mt.so.3  
#19 0x401ad7b0 in qt_activate_timers () from /usr/lib/libqt-mt.so.3  
#20 0x401ab552 in QApplication::processNextEvent () from /usr/lib/libqt-mt.so.3  
#21 0x401fda14 in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3  
#22 0x401aadf6 in QApplication::exec () from /usr/lib/libqt-mt.so.3  
#23 0x80515d7 in main (argc=2, argv=0xbffff464) at main.cpp:207  
#24 0x40a689ed in __libc_start_main () from /lib/libc.so.6  
  

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

>Comment By: Zdenek Kabelac (kabi)
Date: 2002-07-03 15:51

Message:
Logged In: YES 
user_id=15161

This is know 'feauture' of gcc-X.Y.Z (i.e. 2.95.4) compiler
which is unable
to compile usable code with exceptions and optimalizations
at the same time - the solution is to compile C++ code
without -O
flags with such compiler - the ongoing process in avifile is
to
remove most of internally used exceptions - unfortunately
this
will mean serious incompatibility problems as some used
functions
were known to return exceptions to the user - however all
the
internall code will be 'exception' free in the future (at
this moment
all the pluggins do not use exception) your problem with
sound
has not yet catched my attention :) but it might be solved
easily
as well...

Also some parts do not really have to be optimized anyway so
maybe those few function which should 'throw' exception
might be compiled separately without -O flags to preserve
full compatibility


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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=111050&aid=576862&group_id=11050

_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to