Page 1 of 2
upgraded libs broke code again..
Posted: Tue May 24, 2005 9:03 am
by reza
Seems like the latest version of ffmpeg (ffmpeg-devel-0.4.9-9_cvs20050517.rhfc3.at) breaks the code.
The struct
AVCodecContext changed. The entries
frame_rate and
frame_rate_base are no longer there, but replaced with something called pts which really isn't defined. Here's the line from
/usr/include/ffmpeg/avcodec.h
Code: Select all
/**\
* presentation timestamp in time_base units (time when frame should be shown to user)\
* if AV_NOPTS_VALUE then frame_rate = 1/time_base will be assumed\
* - encoding: MUST be set by user\
* - decoding: set by lavc\
*/\
int64_t pts;\
I commented out
Code: Select all
//c->frame_rate = frame_rate;
//c->frame_rate_base = 1;
from zm_mpeg.cpp to get zm to recompile. Any thoughts?
Reza
Posted: Tue May 24, 2005 11:05 am
by zoneminder
Thanks for highlighting this. I'll take a look.
Phil
Posted: Fri Jul 22, 2005 3:31 pm
by zengelan
Hi,
i just commented out the two line mentioned above.
But now i get another error:
Code: Select all
make all-recursive
make[1]: Entering directory `/root/software/zm-1.21.3'
Making all in src
make[2]: Entering directory `/root/software/zm-1.21.3/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/usr/include -g -O2 -MT zm_mpeg.o -MD -MP -MF ".deps/zm_mpeg.Tpo" -c -o zm_mpeg.o zm_mpeg.cpp; \
then mv -f ".deps/zm_mpeg.Tpo" ".deps/zm_mpeg.Po"; else rm -f ".deps/zm_mpeg.Tpo"; exit 1; fi
zm_mpeg.cpp: In member function `void VideoStream::SetupCodec(int, int, int,
int, int)':
zm_mpeg.cpp:78: error: cannot convert `AVCodecContext**' to `AVCodecContext*'
in initialization
zm_mpeg.cpp: In member function `void VideoStream::OpenStream()':
zm_mpeg.cpp:120: error: cannot convert `AVCodecContext**' to `AVCodecContext*'
in initialization
zm_mpeg.cpp: In destructor `VideoStream::~VideoStream()':
zm_mpeg.cpp:220: error: cannot convert `AVCodecContext**' to `AVCodecContext*'
for argument `1' to `int avcodec_close(AVCodecContext*)'
zm_mpeg.cpp: In member function `double VideoStream::EncodeFrame(uint8_t*, int,
bool, unsigned int)':
zm_mpeg.cpp:263: error: cannot convert `AVCodecContext**' to `AVCodecContext*'
in initialization
make[2]: *** [zm_mpeg.o] Error 1
make[2]: Leaving directory `/root/software/zm-1.21.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/zm-1.21.3'
make: *** [all] Error 2
Any Ideas?
br andy[quote][/quote]
dunno
Posted: Fri Jul 22, 2005 5:57 pm
by reza
Looks liek the AVCodecContext might have been misdefined somplace. I stopped upgrading ZM as it seems to break every time I do.
Reza
Did you ever figure this problem out?
Posted: Tue Oct 11, 2005 11:13 pm
by rjohanne
Hi Zoneminder,
Did you ever figure this compile problem out? I get the same exact errors on FC4, trying to compile zm 1.21.3 with ffmpeg from cvs as of last Sunday.
How do I get around the problem?
thanks
rj
Posted: Thu Oct 13, 2005 8:32 pm
by zoneminder
The ffmpeg interface changed a while back. I have a version of ZM that works now with the cvs version of ffmpeg. It's not released yet but will be very shortly.
Phil
Posted: Thu Oct 13, 2005 8:33 pm
by jameswilson
goody goody
James
(Silly smilly face lol)
zm-1.21.4 won't compile with ffmpeg-devel-0.4.9-10_cvs200506
Posted: Thu Dec 15, 2005 4:42 am
by daveparker01
Am I right in assuming that building is broken again? zm 1.21.4's release notes suggest that this problem has been fixed, but I'm still seeing
zm_mpeg.cpp:102: error: 'struct AVCodecContext' has no member named 'frame_rate'
zm_mpeg.cpp:103: error: 'struct AVCodecContext' has no member named 'frame_rate_base'
Is there a fix for this (quick or otherwise)? I was going to browse through CVS but I've had no luck finding the repository for zoneminder.
Posted: Thu Dec 15, 2005 9:44 am
by zoneminder
1.21.4 seems to be broken with respect to ffmpeg 0.4.9-pre1. However 0.4.8 and the cvs release (of ffmpeg) are fine. I would recommend the latter.
1.22.0 works with all (so far) ffmpeg versions.
Phil
hmm
Posted: Thu Dec 15, 2005 9:49 am
by reza
I might try upgrading. if things break, i'll be unhappy and sad.
reza
Posted: Thu Dec 15, 2005 10:14 am
by jameswilson
quick homer simpson imprssion
mmmmmmmmmm, 1.22.0..
woohoo!!!
James
Is 1.22.0 available somewhere?
Posted: Thu Dec 15, 2005 6:19 pm
by daveparker01
I'd like very much to try this 1.22.0 - I've hit the wall on my FC4 box trying to get an ffmpeg to build that's ostensibly compatible with zoneminder.
The problem is that, given the gcc version I have, ffmpeg 4.8 simply will not compile. And none of the repositories I've got in apt have anything older than 4.9. It's really a nightmare - I've spent many hours just trying to get ffmpeg 4.8 to build. From what I've been able to gather, it's b/c of some known issue with gcc4.
I'd be very overjoyed to have the opportunity to try zm 1.22.0
I'm hoping that zm will support my v4l2 device (which motion pretty much does not afaict).
Posted: Sat Dec 17, 2005 10:59 am
by zoneminder
Are you saying that the ffmpeg cvs version doesn't compile either, or that it won't link with ZM or neither?
If all you want to do is see if your card works then you can install ZM without ffmpeg as it's not critical for the basic functions.
Phil
Posted: Sun Dec 18, 2005 3:04 pm
by SyRenity
Hi.
Have you tried to check-out the latest CVS version of FFMPEG, and compile it? It should be compiled fine on GCC 3 and 4.
Same issu on FC4
Posted: Sun Apr 02, 2006 1:06 pm
by kbuytaert
I have the same issue on Fedora Core 4.
I can't find any prebuild rpm's either ..
Anyone ?
greetings
Kris