gmediarender/gstreamer openwrt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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:

----
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'
').

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

"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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ms.vcf
Type: text/x-vcard
Size: 338 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20100802/5566102a/attachment.vcf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20100802/5566102a/attachment.pgp>


[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux