Am 02.08.2010 11:04, schrieb Markus Schulte: > hi, > > i spent my weekend trying to xcompile gstreamers upnp interface > gmediarender for openwrt. GMediarenderer is a project independent of gstreamer. A more up-to-date upnp solution might be GUPnP. > > 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: > > ---- > root at 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' > '). I'd suggest to file a bug against gmediarender. > > this is what i get from gst-inspect: > ---- > root at 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 This is core and a few of base. Not much. Seems to be tailored to mp3 playback. > ---- > > "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. Yes, those assertions need to be fixed for sure. Stefan > > 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 > > > > > > ------------------------------------------------------------------------------ > 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 at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded