[gst-devel] Gst-ffmpeg Cygwin compile error

Marko Mikkonen mmikkone at mail.student.oulu.fi
Sun Aug 23 22:24:22 CEST 2009


Back at the Cygwin/gst-ffmpeg adventure:

Thank you for the .dll.a creation commands! I learn new things every day... 
Somebody claimed in the bug report link which you gave that the problem with 
shared libraries is in the roq_dpcm encoder. Configuring 
with --disable-encoder=roq_dpcm should work. So I did that. Then I used the 
pexport and dlltool commands on ffmpeg libraries (dlltool without -U option 
because the function symbols in the libraries that I created didn't have 
underscores in the beginning).  Then I configured gst-ffmpeg 
with --with-system-ffmpeg and compiled. After that I was able to play a divx 
movie with cygwin's XWin server (playbin uses X image sink). BUT: the video 
is REALLY jerky. No video acceleration here... There is no directdrawsink 
created on Cygwin. When I configure the gst-plugins-bad-0.10.13, it says:

configure: *** checking feature: DirectDraw plug-in ***
configure: *** for plug-ins: directdrawsink ***
checking for DirectDraw LDFLAGS... no
configure: *** These plugins will not be built: directdrawsink

What should I do with this???

-M-

----- Original Message ----- 
From: "Andoni Morales" <ylatuya at gmail.com>
To: "Discussion of the development of GStreamer" 
<gstreamer-devel at lists.sourceforge.net>
Sent: Friday, August 21, 2009 11:40 PM
Subject: Re: [gst-devel] Gst-ffmpeg Cygwin compile error


> 2009/8/21 Andoni Morales <ylatuya at gmail.com>:
>> 2009/8/21 Marko Mikkonen <mmikkone at mail.student.oulu.fi>:
>>> Thank you. Your tip caused me to try to compile ffmpeg-0.5 for cygwin.
>>> Again, no import libraries are created. Only .dll's. So maybe this is an
>>> ffmpeg problem... Hmmm... I should complain to ffmpeg people instead...
>>
>> If it helps, these are the options we use in OSSBuild to build ffmpeg
>> using minGW:
>> ./configure --enable-avfilter-lavf --enable-avfilter --disable-vhook
>> --enable-avisynth --target-os=mingw32 --arch=i686 --cpu=i686
>> --enable-memalign-hack --extra-cflags=-fno-common --enable-zlib
>> --enable-bzlib --enable-w32threads --enable-libmp3lame
>> --enable-libvorbis --enable-libopenjpeg --enable-libtheora
>> --enable-libspeex --enable-libschroedinger --disable-ffmpeg
>> --disable-ffplay --disable-ffserver --enable-static --disable-shared
>>
>> We use static linking because using dynamic linking on win32 with the
>> ffmpeg-0.5 release leads to a strange bug loading the library. Anyway
>> you can use --enable-shared and try it by yourself.
>
> There is bug about this issue here:
> https://roundup.ffmpeg.org/roundup/ffmpeg/issue783
>
> Andoni
>>
>> To get import libraries from the dll you can use the following commands:
>>
>> #pexports /usr/bin/avformat-52.dll | sed "s/^_//" > avformat.def
>> #dlltool -U -d avformat.def -l libavformat.dll.a
>>
>> Andoni
>>
>>>
>>> -M-
>>>
>>>
>>> ----- Original Message -----
>>> From: "LRN" <lrn1986 at gmail.com>
>>> To: "Discussion of the development of GStreamer"
>>> <gstreamer-devel at lists.sourceforge.net>
>>> Sent: Wednesday, August 19, 2009 8:22 PM
>>> Subject: Re: [gst-devel] Gst-ffmpeg Cygwin compile error
>>>
>>>
>>>> Marko Mikkonen wrote:
>>>>> Hello,
>>>>>
>>>>> I've been trying to compile ffmpeg gstreamer plugin with cygwin and it
>>>>> won't
>>>>> compile.
>>>>>
>>>>> First some preliminaries: I use Cygwin 1.7 beta, because 
>>>>> rtp/rtsp-plugins
>>>>> in
>>>>> base plugins need IPv6 stuff and only Cygwin 1.7 beta has them.
>>>>> Additionally, I've downloaded, compiled and installed glib-2.20.1 and
>>>>> liboil-0.3.16. Other external libraries can be found in Cygwin. Oh, 
>>>>> and I
>>>>> had to fix glib-2.20.1 a bit: I set the return type of strsignal as 
>>>>> char*
>>>>> (instead of const char*) in gstrfuncs.c (line 1414). The compilation 
>>>>> of
>>>>> gstreamer-0.10.24, gst-plugins-base-0.10.24 and 
>>>>> gst-plugins-good-0.10.15
>>>>> (with ./configure --prefix=/usr --exec-prefix=/usr & make install) all
>>>>> went
>>>>> well. But there's a problem with gst-ffmpeg-0.10.8.
>>>>>
>>>>> After configure, when I try to make, it goes well until I hit this 
>>>>> spot:
>>>>>
>>>>> --------------------------------
>>>>> Making all in ffmpeg
>>>>> CC gstffmpeg.o
>>>>> CC gstffmpegprotocol.o
>>>>> CC gstffmpegcodecmap.o
>>>>> CC gstffmpegutils.o
>>>>> CC gstffmpegenc.o
>>>>> CC gstffmpegdec.o
>>>>> CC gstffmpegcfg.o
>>>>> CC gstffmpegdemux.o
>>>>> CC gstffmpegmux.o
>>>>> CC gstffmpegdeinterlace.o
>>>>> CC gstffmpegaudioresample.o
>>>>> LINK libgstffmpeg.la
>>>>>
>>>>> *** Warning: Trying to link with static lib archive
>>>>> ../../gst-libs/ext/ffmpeg/li
>>>>> bavformat/libavformat.a.
>>>>> *** I have the capability to make that library automatically link in 
>>>>> when
>>>>> *** you link to this library. But I can only do this if you have a
>>>>> *** shared version of the library, which you do not appear to have
>>>>> *** because the file extensions .a of this argument makes me believe
>>>>> *** that it is just a static archive that I should not use here.
>>>>> -----------------------------
>>>>>
>>>>> There are similar complaints about libavcodec and libavutil. Then 
>>>>> there's
>>>>> lots of "undefined references" to this and that, apparently things 
>>>>> from
>>>>> those libraries. Import libraries are not created (no files with
>>>>> extension
>>>>> .dll.a can be found, except libgstffmpeg.dll.a). Static libraries are
>>>>> created (libavcodec.a, libavformat.a and libavutil.a). However, dll's 
>>>>> are
>>>>> also created (cygavcodec-52.dll, cygavformat-52.dll and
>>>>> cygavutil-49.dll).
>>>>> Is there a switch of some sort that creates import libraries or is 
>>>>> this a
>>>>> bug in the gst-ffmpeg build engine or Cygwin 1.7 beta? I've tried a 
>>>>> bunch
>>>>> of
>>>>> different switches.
>>>>>
>>>>> -M-
>>>>>
>>>> I don't know much about cygwin, so i don't really know if it is related
>>>> or not...but i do know that gst-ffmpeg uses libtool in
>>>> non-cross-platform way to link libav* to libgstffmpeg. As a result i
>>>> have failed to build gst-ffmpeg on Windows with internal ffmpeg copy 
>>>> and
>>>> had to resort to using external ffmpeg (of appropriate version, of
>>>> course).
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>>>> 30-Day
>>>> trial. Simplify your report design, integration and deployment - and 
>>>> focus
>>>> on
>>>> what you do best, core application coding. Discover what's new with
>>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
>>> 30-Day
>>> trial. Simplify your report design, integration and deployment - and 
>>> focus on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>
>>
>>
>>
>> --
>> Andoni Morales Alastruey
>>
>> LongoMatch:The Digital Coach
>> http://www.longomatch.ylatuya.es
>>
>
>
>
> -- 
> Andoni Morales Alastruey
>
> LongoMatch:The Digital Coach
> http://www.longomatch.ylatuya.es
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 
> 30-Day
> trial. Simplify your report design, integration and deployment - and focus 
> on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 





More information about the gstreamer-devel mailing list