>
> 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

Reply via email to