Hi,
Is it always a "tstate mix-up". If so, then it is likely a threading problem. Absolutely no Python api calls should be made while the GIL is released. If not then probably a memory problem.
Lenard
Tyler Laing wrote:
Yeah I know about that. Its because of everything that is done to the video file in the example code. Its a very hard error to pindown. Sometimes it happens during debugging, sometimes not. It happens on various kinds of videos, so its not format dependent, and it only happens after stopping and restarting, and adding surfaces. I haven't found it happening any other way.
Thanks for the feedback.
-Tyler
On Thu, Aug 20, 2009 at 2:05 PM, Lenard Lindstrom <len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>> wrote:
Hi,
It builds and installs in Debian lenny now. The __movie_test.py
even works for the most part, though fails at the end with this error:
Unpausing...
True
True
Stopping..., sleeping for 3 seconds
Playing again...
done restart play...
Surface time...
ValueError: surface does not have the same aspect ratio as the
video. This would cause surface corruption.
Fatal Python error: ceval: tstate mix-up
Aborted
I was playing an .flv file, so maybe that had something to do with it.
Lenard
Tyler Laing wrote:
Fixed that, sorry. I should have done an else, but I did an
endif >.>
-Tyler
On Thu, Aug 20, 2009 at 1:09 PM, Lenard Lindstrom
<len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>It is finding the headers, but now I am getting this
compiler error:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -D_REENTRANT -I/usr/X11R6/include
-I/usr/include/SDL -I/usr/include/ffmpeg -I/usr/include/ffmpeg
-I/usr/include/SDL -I/usr/include/python2.5 -c src/_gmovie.c -o
build/temp.linux-i686-2.5/src/_gmovie.o
src/_gmovie.c: In function ‘video_image_display’:
src/_gmovie.c:516: warning: unused variable ‘_oldtstate’
src/_gmovie.c: In function ‘queue_picture’:
src/_gmovie.c:826: warning: unused variable ‘_oldtstate’
src/_gmovie.c: In function ‘stream_open’:
src/_gmovie.c:1482: warning: unused variable
‘wanted_subti_stream’
src/_gmovie.c: In function ‘video_render’:
src/_gmovie.c:2444: error: ‘AVCodecContext’ has no member named
‘reordered_opaque’
error: command 'gcc' failed with exit status 1
l
Here is the version information returned by ffmpeg:
$/usr/bin/ffmpeg
FFmpeg version r11872+debian_0.svn20080206-17+lenny1, Copyright
(c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-libfaad --enable-pp
--enable-swscaler --enable-x11grab --prefix=/usr
--enable-libgsm
--enable-libtheora --enable-libvorbis --enable-pthreads
--disable-strip --enable-libdc1394 --disable-armv5te
--disable-armv6 --disable-altivec --disable-vis --enable-shared
--disable-static
libavutil version: 49.6.0
libavcodec version: 51.50.0
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Apr 28 2009 02:12:01, gcc: 4.3.2
Though ffmpeg is statically linked I assume it use the same
library versions as the share libraries.
Lenard
Tyler Laing wrote:
And I've now committed a fix for throwing exceptions if the
surface given has the wrong aspect ratio.
-Tyler
On Thu, Aug 20, 2009 at 9:46 AM, Tyler Laing
<trinioler@xxxxxxxxx <mailto:trinioler@xxxxxxxxx>
<mailto:trinioler@xxxxxxxxx <mailto:trinioler@xxxxxxxxx>>
<mailto:trinioler@xxxxxxxxx
<mailto:trinioler@xxxxxxxxx> <mailto:trinioler@xxxxxxxxx
<mailto:trinioler@xxxxxxxxx>>>> wrote:
I have this fixed, with it committed in revision
2628. I have a
custom Dependency class that adds extra directories
to the
include
search path(like libavformat or ffmpeg). This
prevents any
accidental conflict of namespaces. Let me know if this
works or not.
-Tyler
On Tue, Aug 18, 2009 at 5:17 PM, Lenard Lindstrom
<len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>><mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>> wrote:
Hi,
No, I don't see any Debian specific predefined
compiler
macros. ffmpeg library information is available
through
pkg-config.
Lenard
Tyler Laing wrote:
Does debian have a unique compile time flag
I can use?
-Tyler
On Tue, Aug 18, 2009 at 12:09 PM, Lenard
Lindstrom
<len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>><mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>>> wrote:
Hi Tyler,
/usr/include is included in the default
header
search
paths. What
is installed is
/usr/include/ffmpeg/avformat.h, not
/usr/include/ffmpeg/libavformat/avformat.h. This
may be
a quirk of
the Debian dev package and not the
general case.
Lenard
Tyler Laing wrote:
You don't have -l/usr/include
actually. What
I will
do is add
to the directories searched, for the
specific
libraries to
search in /usr/include/ffmpeg &&
/usr/include/<relevant
library name> for if people install
from source.
Does that
sound like a good solution?
-Tyler
On Tue, Aug 18, 2009 at 9:03 AM, Lenard
Lindstrom
<len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>>>> wrote:
Ok, when I add
_movie src/_gsound.c src/_gmovie.c
src/_gcommand.c src/gmovie.c
$(SDL) $(AVFORMAT) $(SWSCALE) $(MIXER)
$(DEBUG)
to Setup I get these build errors:
building 'pygame._movie' extension
gcc -pthread -fno-strict-aliasing
-DNDEBUG -g
-fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -D_REENTRANT
-I/usr/X11R6/include
-I/usr/include/SDL -I/usr/include/SDL
-I/usr/include/python2.5 -c
src/_gsound.c -o
build/temp.linux-i686-2.5/src/_gsound.o
In file included from
src/_gsound.c:35:
src/_gsound.h:36:34: error:
libavformat/avformat.h: No such
file
or directory
src/_gsound.c: In function
‘seekBuffer’:
src/_gsound.c:403: error:
‘AV_NOPTS_VALUE’
undeclared
(first use
in this function)
src/_gsound.c:403: error: (Each
undeclared
identifier is
reported
only once
src/_gsound.c:403: error: for each
function it
appears in.)
error: command 'gcc' failed with exit
status 1
The Debian dev package installs
avformat.h in
ffmpeg, not
libavformat.
Lenard
Lenard Lindstrom wrote:
Hi René,
My mistake. I didn't pay
attention to
the error.
_movie.so was
not event built since the
_movie entry is
missing in
Setup.in.
I had to manually enter it to
Setup
the last
time, and that
was clobbered when I reran
config.py.
Lenard
René Dudfield wrote:
On Tue, Aug 18, 2009 at
4:47 PM,
Lenard
Lindstrom<len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>
<mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx> <mailto:len-l@xxxxxxxxx
<mailto:len-l@xxxxxxxxx>>
<mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx><mailto:len-l@xxxxxxxxx <mailto:len-l@xxxxxxxxx>>>>>> wrote:
Hi Tyler,
The module now builds,
but the
_movie_test.py unit
tests fail:
ERROR:
MovieTypeTest.test_height
----------------------------------------------------------------------
Traceback (most recent
call
last):
File
"/home/lenard/.local/lib/python2.5/site-packages/pygame/tests/_movie_test.py",
line 125, in test_height
movie =
gmovie.Movie(movie_file)
AttributeError: 'NoneType'
object has no
attribute 'Movie'
If "movie_file" is missing
shouldn't
gmovie.Movie
raise an exception?
Lenard
hi,
check out the try/except
at the
top of
that test...
maybe
it is
raising an exception, and
catching it.
that try/except was added
to try
and get
the build
bot to
build again.
cheers,
-- Visit my blog at
http://oddco.ca/zeroth/zblog
-- Visit my blog at
http://oddco.ca/zeroth/zblog
-- Visit my blog at http://oddco.ca/zeroth/zblog
-- Visit my blog at http://oddco.ca/zeroth/zblog
-- Visit my blog at http://oddco.ca/zeroth/zblog
--
Visit my blog at http://oddco.ca/zeroth/zblog