hi, i spent my weekend trying to xcompile gstreamers upnp interface gmediarender for openwrt.
i have Makefile i am proud of! well, it compiles but does not run. while gst-inspect gives me proper output and i can play music with gst-launch, the libraries apparently don't find any plugin when linked with gmediarender. at least due to my understanding. the problem may be somewhere else. compiling and linking the exact same sources for ubuntu works great. this is what i get from gmediarender: ---- r...@openwrt:~# gmediarender --gst-plugin-load=alsa,udp,mad -I 192.168.200.2 Registering support for 'audio/mpeg' Registering support for 'audio/x-mpeg' Registering support for 'audio/x-raw-int' Registering support for 'audio/x-iec958' (gmediarender:25351): GStreamer-CRITICAL **: gst_element_get_bus: assertion `GST_IS_ELEMENT (element)' failed (gmediarender:25351): GStreamer-CRITICAL **: gst_bus_add_watch_full: assertion `GST_IS_BUS (bus)' failed (gmediarender:25351): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed (gmediarender:25351): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed Error: pipeline doesn't want to get ready registering '/upnp/rendertransportSCPD.xml' registering '/upnp/renderconnmgrSCPD.xml' registering '/upnp/rendercontrolSCPD.xml' Ready for rendering.. ---- it lies! it definetly is not ready for rendering. the status line is missing too ('GStreamer: play: State change: OLD: 'NULL', NEW: 'READY', PENDING: 'VOID_PENDING' '). this is what i get from gst-inspect: ---- r...@openwrt:~# gst-inspect coreelements: multiqueue: MultiQueue coreelements: typefind: TypeFind coreelements: tee: Tee pipe fitting coreelements: filesink: File Sink coreelements: queue2: Queue 2 coreelements: queue: Queue coreelements: identity: Identity coreelements: filesrc: File Source coreelements: fdsink: Filedescriptor Sink coreelements: fdsrc: Filedescriptor Source coreelements: fakesink: Fake Sink coreelements: fakesrc: Fake Source coreelements: capsfilter: CapsFilter coreindexers: memindex: A index that stores entries in memory udp: udpsrc: UDP packet receiver udp: dynudpsink: UDP packet sender udp: multiudpsink: UDP packet sender udp: udpsink: UDP packet sender mad: mad: mad mp3 decoder alsa: alsasink: Audio sink (ALSA) alsa: alsasrc: Audio source (ALSA) alsa: alsamixer: Alsa mixer staticelements: bin: Generic bin staticelements: pipeline: Pipeline object ---- "gmediarender -I 192.168.200.2 --gst-plugin-load=udp,mad --gstout-audiosink=alsasink" segfaults :-( "strace gmediarender -I 192.168.200.2 --gst-plugin-load=udp,mad --gstout-audiosink=alsasink 2>/tmp/strace.log" shows that, while it seems to properly find the plugins: open("/usr/lib/gstreamer-0.10/libgstudp.so", O_RDONLY) = 3 open("/usr/lib/libmad.so.0", O_RDONLY) = 3 open("/usr/lib/gstreamer-0.10/libgstalsa.so", O_RDONLY) = 3 it still segfaults. this is a tail on strace.log: --- write(2, "\n(gmediarender:25649): GStreamer"..., 98 (gmediarender:25649): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed ) = 98 write(1, "Setting audio sink to alsasink\n", 31) = 31 socketpair(PF_FILE, SOCK_STREAM, 0, [8, 9]) = 0 fcntl64(8, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 fcntl64(9, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Segmentation fault --- to make the picture complete, this is the linker command: --- mipsel-openwrt-linux-uclibc-gcc -D_GNU_SOURCE -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -msoft-float -fpic -Wall -I/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/include -I/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/include -I/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/include -I/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/include -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib/libintl/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib/libiconv/lib -Wl,-rpath-link=/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib/libintl/lib -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib/libiconv/lib -Wl,-rpath-link=/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib -o gmediarender main.o upnp.o upnp_control.o upnp_connmgr.o upnp_transport.o upnp_device.o upnp_renderer.o webserver.o output_gstreamer.o xmlescape.o -pthread -L/home/markus/hotspot/openwrt/backfire/staging_dir/target-mipsel_uClibc-0.9.30.1/usr//lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 -lintl -liconv -lupnp --- for the sake of my next weekend and all those who wait for an openwrt upn media renderer, please help, cheers, /markus -- office: +49 221 95168 35 mobile: +49 171 336 4818 fax : +49 221 95168 8 http://www.dom.de DOM Digital Online Media GmbH Bismarck Strasse 60 D-50672 Koeln Geschäftsführer: Markus Schulte Handelsregister-Nr.: Amtsgericht Köln HRB 55347 UST.-Ident.Nr.: DE814416951
<<attachment: ms.vcf>>
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm
_______________________________________________ Gstreamer-embedded mailing list Gstreamer-embedded@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded