From: Joseph W. <jo...@kd...> - 2007-04-15 14:34:31
|
Hi ! I'm trying to use libxine for audioplayback on an nslu2 (Linksys) with an usb sound device and with debian sid installed. I'm using the debian arm/little endian - packages. flac123 works without problems, but if I invoke a xine_play on a stream for the same file, libxine crashes with a segfault. Neither the audioport nor the stream is null, I'm checking that. The same small app runs without problems on my x86 notebook. xine-ui of course needs ages to start up on that system but seems to have the same crash Has anybody an experience with the above hardware/softwaresetup ? Any hints ? Thanks in advance for any answers. Kind regards Joseph Wenninger |
From: Darren S. <li...@yo...> - 2007-04-15 16:04:16
|
I demand that Joseph Wenninger may or may not have written... > I'm trying to use libxine for audioplayback on an nslu2 (Linksys) with an > usb sound device and with debian sid installed. I'm using the debian > arm/little endian - packages. flac123 works without problems, but if I > invoke a xine_play on a stream for the same file, libxine crashes with a > segfault. Neither the audioport nor the stream is null, I'm checking that. > The same small app runs without problems on my x86 notebook. Does this happen with newer libxine? Regardless of that, a backtrace (generated with libxine1-dbg installed) should help. [snip] -- | Darren Salt | linux or ds at | nr. Ashington, | Toon | RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army | + Use more efficient products. Use less. BE MORE ENERGY EFFICIENT. The two most common elements in the universe are hydrogen and stupidity. |
From: Joseph W. <jo...@kd...> - 2007-04-16 18:34:13
|
Hi! I've built my own xine-lib 1.1.5 now. Took quite a long time. I'm able to play wav files now without problem, but can't play flacs at all, since valid files are not recognized as flac files. The flac files starts with: (hexdump with mc on i386) 66 4C 61 43 | 00 00 00 22 | 12 00 12 00 | ... f L a C ....... I've narrowed it down to demux_flac.c It recognizes the fLaC signature correctly, but the first read preamble, which should be 0x00 0x00 0x00 0x22 contains 0x00 0x61 0x43 0x22, therefore the calculated block length for the stream metainfo isn't 0x22 (34) but a huge number which causes the failure. Any ideas what could cause the problem ? I guess it could be a pointer alignment problem or something like that, but I'm not sure. Any ideas ? I'm not that familiar with the xine-lib internals. Any hints are appreciated. I can't see a bug in the demux_flac.c itself. Kind regards Joseph Wenninger On Sunday 15 April 2007 17:00, Darren Salt wrote: > I demand that Joseph Wenninger may or may not have written... > > > I'm trying to use libxine for audioplayback on an nslu2 (Linksys) with an > > usb sound device and with debian sid installed. I'm using the debian > > arm/little endian - packages. flac123 works without problems, but if I > > invoke a xine_play on a stream for the same file, libxine crashes with a > > segfault. Neither the audioport nor the stream is null, I'm checking > > that. The same small app runs without problems on my x86 notebook. > > Does this happen with newer libxine? > > Regardless of that, a backtrace (generated with libxine1-dbg installed) > should help. > > [snip] |
From: Joseph W. <jo...@kd...> - 2007-04-18 08:19:00
Attachments:
input_cache_patch
|
Hi ! Follow up for my own message On Monday 16 April 2007 20:34, Joseph Wenninger wrote: [...] >I guess it could be a pointer alignment problem or something like > that, but I'm not sure. Any ideas ? I'm not that familiar with the xine-lib > internals. Any hints are appreciated. I can't see a bug in the demux_flac.c > itself. > It is/was an alignment issue. input_cache.c -fPIC -DPIC -o .libs/input_cache.o input_cache.c: In function 'cache_plugin_read': input_cache.c:79: warning: cast increases required alignment of target type input_cache.c:79: warning: cast increases required alignment of target type input_cache.c:85: warning: cast increases required alignment of target type input_cache.c:85: warning: cast increases required alignment of target type input_cache.c:86: warning: cast increases required alignment of target type input_cache.c:86: warning: cast increases required alignment of target type input_cache.c:92: warning: cast increases required alignment of target type input_cache.c:92: warning: cast increases required alignment of target type input_cache.c:98: warning: cast increases required alignment of target type input_cache.c:98: warning: cast increases required alignment of target type If somebody is interessted attached is the patch for input_cache.c which solves my problem. Now wav and flac playback works on my nslu2 with xine-lib-1.1.5 with slugos/le 3.10 and debian unstable (uname -a says: Linux LKG7FA34C 2.6.16 #1 PREEMPT Thu Jun 8 23:38:13 PDT 2006 armv5tel GNU/Linux) Kind regards Joseph Wenninger |
From: Darren S. <li...@yo...> - 2007-04-18 15:38:35
|
I demand that Joseph Wenninger may or may not have written... > Follow up for my own message > On Monday 16 April 2007 20:34, Joseph Wenninger wrote: > [...] >> I guess it could be a pointer alignment problem or something like that, >> but I'm not sure. Any ideas ? I'm not that familiar with the xine-lib >> internals. Any hints are appreciated. I can't see a bug in the >> demux_flac.c itself. > It is/was an alignment issue. > input_cache.c -fPIC -DPIC -o .libs/input_cache.o > input_cache.c: In function 'cache_plugin_read': > input_cache.c:79: warning: cast increases required alignment of target type [snip] Well, I'm familiar with the way in which ARM wraps unaligned reads... > If somebody is interested attached is the patch for input_cache.c which > solves my problem. [...] Fix committed. People distributing 1.1.6 (and who build on various non-x86 architectures) probably want to apply it: http://hg.debian.org/hg/xine-lib/xine-lib?cmd=changeset;node=bddb6f68e9e9;style=raw -- | Darren Salt | linux or ds at | nr. Ashington, | Toon | RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army | + Use more efficient products. Use less. BE MORE ENERGY EFFICIENT. System checkpoint complete. |