sorry for bothering with html mail. pls. blame thunderbird not me.

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

Attachment: 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

Reply via email to