> > I was trying to find a ffmpeg version from the release repo which would > actually compile. I know for sure 0.5 used to work but no more. > > I think the main problem is/was that the ffmpeg API is changing way to > often to keep up with. Compare that to the command line interface of > ffmpeg, which hardly ever changes ( and that for good reasons ) . > > Anyhow, let me see if Steven can ind and re-submit his patch to get > things compiling again. I will then make sure that I keep a working > source copy of ffmpeg around.
Oh, there's no question it's ffmpeg's fault, trying to keep software current with their moving-target API is a nightmare, and most of the distros have to keep at least one set of old-ABI compatibility libs around, for software that isn't caught up to the New Hotness™. (Sometimes, more than one — despite the ffmpeg-compat-0.6.6 package that rpmfusion maintains to support avidemux3 and other tools, I find I *STILL* have to keep another, *sliightly* different old-version around, to make audacity happy. Ugh.) :-P QDVDauthor should have it easier, though, since you're punting and just sucking a local ffmpeg into your build instead of trying to keep synced up with shared libs. (I can't really say that's not the right way to go, either. It does solve a lot of problems!) Given that, IMHO the way to track ffmpeg so that it doesn't keep surprising you is to avoid the snapshot silliness, and target a specific ffmpeg release version (old-ABI) for compatibility. Then, you can retarget occasionally, but in the meantime that release shouldn't ever change out from under you. It looks like FFMpeg 0.7.15 is the latest release that's ABI-compatible with the 0.6 series, so if qdvdauthor compiles against 0.6.3 then it *should * (in theory) compile against 0.7.15. If not, it *should* (again) hopefully not be much work to get it compatible with 0.7.15. At that point, the most reliable thing for the qdvdrender build scripts would be to have them download http://www.ffmpeg.org/releases/ffmpeg-0.7.15.tar.bz2 and build against *that*. That way, you know ffmpeg won't change out from under you, so the code should stay compatible. Then, occasionally, if someone gets inspired to break things into compatibility with a newer ffmpeg, the code and the library URL can be updated accordingly (in sync). -FeRD On Fri, Apr 5, 2013 at 7:17 AM, Varol Okan <[email protected]>wrote: > On 04/05/2013 05:34 AM, Varol Okan wrote: > > On 04/04/2013 04:26 PM, [email protected]: > >> g++ -c -m64 -pipe -g -O0 -ggdb3 -Wall -W -D_REENTRANT -DQT_WEBKIT > -DQDVD_RENDER -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB > -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. > -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork > -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 > -Iffmpeg-0.6.6/include -Iffmpeg-0.6.6 -I.moc -o .obj/xml_slideshow.o > ../qdvdauthor/xml_slideshow.cpp > >> engine/ffmpeg_enc.cpp: In function ‘int > Encoder::qrender_avcodec_open(AVCodecContext*, AVCodec*, void*)’: > >> engine/ffmpeg_enc.cpp:91:43: error: ‘AVDictionary’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp:91:58: error: expected primary-expression before > ‘)’ token > >> engine/ffmpeg_enc.cpp:91:66: error: ‘avcodec_open2’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp: At global scope: > >> engine/ffmpeg_enc.cpp:85:5: warning: unused parameter ‘ppDict’ > [-Wunused-parameter] > >> engine/ffmpeg_enc.cpp: In member function ‘virtual bool > Encoder::FFmpeg::Media::openStream(QString)’: > >> engine/ffmpeg_enc.cpp:150:97: error: ‘avformat_open_input’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp:154:55: error: ‘avformat_find_stream_info’ was > not declared in this scope > >> engine/ffmpeg_enc.cpp: In member function ‘Encoder::FFmpeg::Buffer* > Encoder::FFmpeg::Audio::decode(AVPacket*)’: > >> engine/ffmpeg_enc.cpp:415:41: error: ‘AV_SAMPLE_FMT_U8’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp: In member function ‘Encoder::FFmpeg::Buffer* > Encoder::FFmpeg::Audio::decodeAudio(bool&)’: > >> engine/ffmpeg_enc.cpp:518:3: error: ‘AVSampleFormat’ was not declared > in this scope > >> engine/ffmpeg_enc.cpp:518:18: error: expected ‘;’ before ‘enOutFormat’ > >> engine/ffmpeg_enc.cpp:519:18: error: expected ‘;’ before ‘enInFormat’ > >> engine/ffmpeg_enc.cpp:521:139: error: ‘enOutFormat’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp:521:152: error: ‘enInFormat’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp: In member function ‘Encoder::FFmpeg::Buffer* > Encoder::FFmpeg::Audio::decodeAudio(AVPacket*)’: > >> engine/ffmpeg_enc.cpp:581:3: error: ‘AVSampleFormat’ was not declared > in this scope > >> engine/ffmpeg_enc.cpp:581:18: error: expected ‘;’ before ‘enOutFormat’ > >> engine/ffmpeg_enc.cpp:582:18: error: expected ‘;’ before ‘enInFormat’ > >> engine/ffmpeg_enc.cpp:585:141: error: ‘enOutFormat’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp:585:154: error: ‘enInFormat’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp: In member function ‘void > Encoder::FFmpeg::Vid::setSWScale(int, int, int, int)’: > >> engine/ffmpeg_enc.cpp:810:15: error: ‘AVFrame’ has no member named > ‘width’ > >> engine/ffmpeg_enc.cpp:811:15: error: ‘AVFrame’ has no member named > ‘height’ > >> engine/ffmpeg_enc.cpp: In member function ‘double > Encoder::FFmpeg::Vid::guessDuration(AVFormatContext*, int)’: > >> engine/ffmpeg_enc.cpp:1239:9: error: ‘guess’ was not declared in this > scope > >> engine/ffmpeg_enc.cpp: In member function ‘virtual bool > Encoder::FFmpeg::initStream(QString, Encoder::Encoder::enVideo, > Encoder::Encoder::enAudio, uint)’: > >> engine/ffmpeg_enc.cpp:1354:84: error: ‘AVIO_FLAG_WRITE’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp:1354:100: error: ‘avio_open’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp:1371:46: error: ‘avformat_write_header’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp: In member function ‘virtual void > Encoder::FFmpeg::endStream()’: > >> engine/ffmpeg_enc.cpp:1457:42: error: ‘avio_close’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp: In member function ‘bool > Encoder::FFmpeg::addVideoStream(int, Encoder::Encoder::enVideo, int)’: > >> engine/ffmpeg_enc.cpp:1479:57: error: ‘avformat_new_stream’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp: In member function ‘bool > Encoder::FFmpeg::OpenVideoEncoder()’: > >> engine/ffmpeg_enc.cpp:1631:36: error: ‘fMuxPreload’ was not declared in > this scope > >> engine/ffmpeg_enc.cpp: In member function ‘bool > Encoder::FFmpeg::addAudioStream(int)’: > >> engine/ffmpeg_enc.cpp:1668:57: error: ‘avformat_new_stream’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp:1682:28: error: ‘AV_SAMPLE_FMT_S16’ was not > declared in this scope > >> engine/ffmpeg_enc.cpp: In function ‘int > Encoder::qrender_avcodec_open(AVCodecContext*, AVCodec*, void*)’: > >> engine/ffmpeg_enc.cpp:93:1: warning: control reaches end of non-void > function [-Wreturn-type] > >> make: *** [.obj/ffmpeg_enc.o] Error 1 > >> make: *** Waiting for unfinished jobs.... > >> /test/Qdvdauthor/qdvdauthor/qrender$ exit > >> exit > >> > >> Script done on Thu 04 Apr 2013 21:19:49 BST > > I was trying to find a ffmpeg version from the release repo which would > > actually compile. I know for sure 0.5 used to work but no more. > > > > I think the main problem is/was that the ffmpeg API is changing way to > > often to keep up with. Compare that to the command line interface of > > ffmpeg, which hardly ever changes ( and that for good reasons ) . > > > > Anyhow, let me see if Steven can ind and re-submit his patch to get > > things compiling again. I will then make sure that I keep a working > > source copy of ffmpeg around. > > > > Varol :) > > > > > > > ------------------------------------------------------------------------------ > > Minimize network downtime and maximize team effectiveness. > > Reduce network management and security costs.Learn how to hire > > the most talented Cisco Certified professionals. Visit the > > Employer Resources Portal > > http://www.cisco.com/web/learning/employer_resources/index.html > > _______________________________________________ > > QDVDAuthor-users mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/qdvdauthor-users > Found and applied the patch. > > Please get the latest nighty tar ball and try again. > > Varol :) > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > QDVDAuthor-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/qdvdauthor-users > ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ QDVDAuthor-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qdvdauthor-users
