Gst-ffmpeg Cygwin compile error

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Gst-ffmpeg Cygwin compile error

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


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gst-ffmpeg Cygwin compile error

lrn-2
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gst-ffmpeg Cygwin compile error

Marko Mikkonen
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...

-M-


----- Original Message -----
From: "LRN" <[hidden email]>
To: "Discussion of the development of GStreamer"
<[hidden email]>
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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gst-ffmpeg Cygwin compile error

Andoni Morales
2009/8/21 Marko Mikkonen <[hidden email]>:
> 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.

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" <[hidden email]>
> To: "Discussion of the development of GStreamer"
> <[hidden email]>
> 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
>> [hidden email]
>> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gst-ffmpeg Cygwin compile error

Andoni Morales
2009/8/21 Andoni Morales <[hidden email]>:

> 2009/8/21 Marko Mikkonen <[hidden email]>:
>> 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" <[hidden email]>
>> To: "Discussion of the development of GStreamer"
>> <[hidden email]>
>> 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
>>> [hidden email]
>>> 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
>> [hidden email]
>> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gst-ffmpeg Cygwin compile error

Marko Mikkonen
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" <[hidden email]>
To: "Discussion of the development of GStreamer"
<[hidden email]>
Sent: Friday, August 21, 2009 11:40 PM
Subject: Re: [gst-devel] Gst-ffmpeg Cygwin compile error


> 2009/8/21 Andoni Morales <[hidden email]>:
>> 2009/8/21 Marko Mikkonen <[hidden email]>:
>>> 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" <[hidden email]>
>>> To: "Discussion of the development of GStreamer"
>>> <[hidden email]>
>>> 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
>>>> [hidden email]
>>>> 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
>>> [hidden email]
>>> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

SDLVideoSink hangs on Windows

Marko Mikkonen
I've compiled now GStreamer with MinGW for Windows, but I can't get
SDLVideoSink to work. It hangs:

--------------------
C:\TEMP\gstreamer test>gst-launch-0.10.exe filesrc
location="H:/movies/test.avi" ! decodebin !
sdlvideosink --gst-plugin-path="c:\temp\gstreamer test"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
------------------

After this nothing happens. Gst-launch doesn't respond to ctrl-C and I have
to kill the process in Task Manager. SDLAudioSink works fine. BTW I've
compiled SDLSink plugin with both configure/make/make install and with
CodeBlocks MinGW edition (created a new project for it). I got a lot less
rubbish in the dll with CodeBlocks. I mean there was a lot of exported
functions in the dll when I compiled it with Make. Compiling with CodeBlocks
made only 5 functions exported.

How do I debug this? I'm completely new to debugging GStreamer. I tried to
set breakpoints with CodeBlocks, but gdb is very slow to even catch the
first breakpoint so I gave that up (has something to do with loading all
those plugins in plugin directory???). I tried printing from SDLVideoSink -
functions are only called once when making gstreamer registry (when I've
deleted it) so I'm not becoming any wiser. Then I tried to use --gst-debug
option with some debug categories, but I'm not really sure which ones to
try. There are so many and there's a lot of output... Maybe you could point
me to the right direction? Could this hanging be caused by a race condition
somewhere (there's no eternal loop here: CPU usage stays minimal)?

-Marko


------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel