Hi
I'm getting a bunch of errors trying to compile xine-lib-1.2 for vdr-xine.
First up, I had to disable musepack support - because I could find no source containing musepack.h. There is no libmusepack for Fedora, it's contained in libmpcdec but libmpcdec-devel does not have musepack.h. Only thing I could do to get past this is disable via:
./autogen.sh --with-external-ffmpeg --disable-dxr3 --enable-debug --disable-optimizations --with-mpc=no
Now I'm getting the following error ff_video_decoder.c:1271: error: 'AVCodecContext' has no member named 'ticks_per_frame'
ff_video_decoder.c:127: warning: 'AVPaletteControl' is deprecated ff_video_decoder.c: In function 'ff_handle_special_buffer': ff_video_decoder.c:954: warning: 'AVPaletteControl' is deprecated ff_video_decoder.c:958: warning: 'AVPaletteControl' is deprecated ff_video_decoder.c: In function 'ff_handle_buffer': ff_video_decoder.c:1271: error: 'AVCodecContext' has no member named 'ticks_per_frame' ff_video_decoder.c:1354: warning: passing argument 1 of 'pp_postprocess' from incompatible pointer type make[4]: *** [xineplug_decode_ff_la-ff_video_decoder.lo] Error 1 make[4]: Leaving directory `/usr/src/development/xine-lib-1.2/src/combined/ffmpeg' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/src/development/xine-lib-1.2/src/combined/ffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/development/xine-lib-1.2/src/combined' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/development/xine-lib-1.2/src' make: *** [all-recursive] Error 1
I'm using ffmpeg svn revision 29766
Any ideas?
Simon Baxter wrote:
I'm using ffmpeg svn revision 29766
Any ideas?
You must have picked up that revision number from a wrong place, since the current revision is 20199. libavcodec/avcodec.h is the file where you should look for the missing member definition. Also make sure that the headers for that revision are the only ones installed. Most likely you are not using correct headers.
btw... --with-external-ffmpeg is deprecated in xine-lib 1.2 since it uses external ffmpeg by default.
-Petri
Simon Baxter wrote:
I'm using ffmpeg svn revision 29766
Any ideas?
You must have picked up that revision number from a wrong place, since the current revision is 20199. libavcodec/avcodec.h is the file where you should look for the missing member definition. Also make sure that the headers for that revision are the only ones installed. Most likely you are not using correct headers.
I pulled ffmpeg from: svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg which told me revision 29766 is this wrong?
/usr/src/development/ffmpeg/libavcodec/avcodec.h _does define_ int ticks_per_frame;
Perhaps I am using the wrong headers - how do I link to these?
btw... --with-external-ffmpeg is deprecated in xine-lib 1.2 since it uses external ffmpeg by default.
Thanks
-Petri
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Simon Baxter wrote:
Simon Baxter wrote:
I'm using ffmpeg svn revision 29766
Any ideas?
You must have picked up that revision number from a wrong place, since the current revision is 20199. libavcodec/avcodec.h is the file where you should look for the missing member definition. Also make sure that the headers for that revision are the only ones installed. Most likely you are not using correct headers.
I pulled ffmpeg from: svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg which told me revision 29766 is this wrong?
You can check the revision with "svn info". I guess that 29766 is actually the revision of libswscale.
/usr/src/development/ffmpeg/libavcodec/avcodec.h _does define_ int ticks_per_frame;
Perhaps I am using the wrong headers - how do I link to these?
You should install the headers (well, doing "make install" should do that). Look for avcodec.h under /usr/local/include and check the contents of that file. Also make sure that there is only one such file. To do that, you could clear all ffmpeg headers and re-install the current ones.
-Petri
You must have picked up that revision number from a wrong place, since the current revision is 20199. libavcodec/avcodec.h is the file where you should look for the missing member definition. Also make sure that the headers for that revision are the only ones installed. Most likely you are not using correct headers.
Yes - my mistake. Am running revision 20195
/usr/src/development/ffmpeg/libavcodec/avcodec.h _does define_ int ticks_per_frame;
Perhaps I am using the wrong headers - how do I link to these?
You should install the headers (well, doing "make install" should do that). Look for avcodec.h under /usr/local/include and check the contents of that file. Also make sure that there is only one such file. To do that, you could clear all ffmpeg headers and re-install the current ones.
Found 2 copies of the headers: /usr/local/include/libavcodec/avcodec.h /usr/include/ffmpeg/libavcodec/avcodec.h
Have written over the "/usr/include/ffmpeg/libavcodec/avcodec.h" with the new headers and it now complies.
NEXT PROBLEM(s): 1) I gather I still need a xine front end for xine-0.9.1? I've compiled and installed "xine-ui-cvs-20090412200000" Correct?
2) I've compiled xine-0.9.1 plugin and started vdr. But when I start xine with: xine --verbose=2 -V vdpau -L --post vdr_video --post vdr_audio --post upmix_mono vdr:/tmp/vdr-xine/stream#demux:mpeg_pes I get: xine: error while loading shared libraries: libxine.so.2: cannot open shared object file: No such file or directory But: # locate libxine.so.2 /usr/local/lib/libxine.so.2 /usr/local/lib/libxine.so.2.0.0
What's wrong now? Is the wrong front end to use?
Found 2 copies of the headers: /usr/local/include/libavcodec/avcodec.h /usr/include/ffmpeg/libavcodec/avcodec.h
Have written over the "/usr/include/ffmpeg/libavcodec/avcodec.h" with the new headers and it now complies.
I did this because the YUM installed ffmpeg had loads of dependencies and wouldn't easily YUM REMOVE
NEXT PROBLEM(s):
- I gather I still need a xine front end for xine-0.9.1? I've compiled
and installed "xine-ui-cvs-20090412200000" Correct?
I've ended up using the latest cvs xine-ui which works fine
- I've compiled xine-0.9.1 plugin and started vdr. But when I start xine
with: xine --verbose=2 -V vdpau -L --post vdr_video --post vdr_audio --post upmix_mono vdr:/tmp/vdr-xine/stream#demux:mpeg_pes I get: xine: error while loading shared libraries: libxine.so.2: cannot open shared object file: No such file or directory But: # locate libxine.so.2 /usr/local/lib/libxine.so.2 /usr/local/lib/libxine.so.2.0.0
What's wrong now? Is the wrong front end to use?
Idiot error - updated my /etc/ld.so.conf/xine.conf to add the location for these libraries, then did a ldconfig
AND....it works!!!
Not too happy about the CPU usage though - it's up at 55% on replaying MPEG2 recordings, where xvmc/xxmc was at ~30ish.....
Ahh well!