FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Nightlies Feedback › DebianSlug Arm package
- This topic has 33 replies, 10 voices, and was last updated 16 years, 5 months ago by Anonymous.
-
AuthorPosts
-
28/05/2007 at 2:30 PM #7866sollieParticipant
Mumsoft,
I got exactly the same problems you got. And i dont know what todo.
Sollie.
28/05/2007 at 3:46 PM #7867mumsoftParticipantHi Sollie,
@sollie wrote:Mumsoft,
I got exactly the same problems you got. And i dont know what todo.
Sollie.
Thanx for trying in the first place.
But I did not expect this. Why? Well, because today I came over the vorbis error, and my heart jumped some meters. But now it stops with../libtool: line 1309: cd: yes/lib: No such file or directory
libtool: link: cannot determine absolute directory name of `yes/lib'
make[2]: *** [oggenc] Error 1
make[2]: Leaving directory `/shares/MYVOLUME1/MYSHARE1/firefly/vorbis-tools-1.0/oggenc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/shares/MYVOLUME1/MYSHARE1/firefly/vorbis-tools-1.0/oggenc'
make: *** [all-recursive] Error 1
To come so far, I have reinstalled uclibc-opt, while originally I had installed uclibc. There are 2 packages in the oleg branch, one is called uclibc-opt, the other uclibc. I thought that I needed uclibc, not uclibc-opt, but that is a mistake.
Now I hope Ron can give me a clue about this new error.
29/05/2007 at 9:37 AM #7868mumsoftParticipantTo come so far, I have reinstalled uclibc-opt, while originally I had installed uclibc. There are 2 packages in the oleg branch, one is called uclibc-opt, the other uclibc. I thought that I needed uclibc, not uclibc-opt, but that is a mistake.
Now I hope Ron can give me a clue about this new error.
For the first time I own a Roku Soundbridge, using mt-daapd as streaming server with ogg as my preferred music format, I can actually hear the Music. “Communication is the problem to the answer”, sings 10CC.
Ron, with the above mentioned quircks I could configure (i)vorbis-tools(1.0) without errors. But, as said, make gave errors about yes/lib not being there, so I edited several makefiles (in oggdec and oggenc etc) to change yes/lib into /opt/lib. I had configured with –prefix=/opt, but apparently that did not lead to sound makefiles. Now Make proceeded a bit further, but then gave another error in ogg123.
I got mad…
Now I edited the Makefile in ivorbis-tools, and removed every subdir except oggdec. I ran make clean. I ran make again… no errors(!). I ran ipkg install ivorbis-tools. I ran make install. This installed ONLY oggdec, BUT still the big endian, noise producing version! (? what about your patch?)
I got madder. Angry. So I edited oggdec.c. Removed the big-endian stuff. Ran make clean, make, make install… No, I copied the resulting oggdec binary.
And now finally, finally, at last, this damn Roku does not produce noise anymore.I was planning a How-to, but this is just to laborious to reproduce. So I will offer my precious little oggdec for download, if possible.
Still, I wonder: what on earth did Xaviour that he could come away with, ha, it works, thanx, goodbye, good luck…
07/10/2007 at 10:31 PM #7869thorstenhirschParticipantAlright, today I updated the tremor patch so that it can be applied to libvorbis-1.1.1. This patch also includes the endian patch. Here it is:
--- ogg123/Makefile.in~ 2005-06-27 11:29:11.000000000 +0200
+++ ogg123/Makefile.in 2007-10-07 22:05:41.000000000 +0200
@@ -209,7 +209,7 @@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
-VORBISFILE_LIBS = @VORBISFILE_LIBS@
+VORBISFILE_LIBS = -lvorbisidec
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
XGETTEXT = @XGETTEXT@
@@ -270,7 +270,7 @@
@PTHREAD_CFLAGS@ @SHARE_CFLAGS@ @I18N_CFLAGS@
ogg123_LDADD = @SHARE_LIBS@
- @VORBISFILE_LIBS@ @VORBIS_LIBS@ @OGG_LIBS@ @AO_LIBS@
+ -lvorbisidec @OGG_LIBS@ @AO_LIBS@
@SOCKET_LIBS@ @LIBICONV@ @CURL_LIBS@ @PTHREAD_CFLAGS@
@PTHREAD_LIBS@ @I18N_LIBS@ @FLAC_LIBS@ @SPEEX_LIBS@
--- ogg123/cmdline_options.c~ 2005-06-13 15:11:44.000000000 +0200
+++ ogg123/cmdline_options.c 2007-10-07 22:05:34.000000000 +0200
@@ -195,7 +195,7 @@
break;
case 'V':
- status_error(_("ogg123 from %s %sn"), PACKAGE, VERSION);
+ status_error(_("ogg123 (w/Tremor hack) from %s %sn"), PACKAGE, VERSION);
exit(0);
break;
--- ogg123/oggvorbis_format.c~ 2005-06-03 12:15:09.000000000 +0200
+++ ogg123/oggvorbis_format.c 2007-10-07 22:05:28.000000000 +0200
@@ -21,7 +21,7 @@
#include
#include
#include
-#include
+#include
#include "transport.h"
#include "format.h"
#include "vorbis_comments.h"
@@ -136,9 +136,7 @@
while (nbytes > 0) {
old_section = priv->current_section;
- ret = ov_read(&priv->vf, ptr, nbytes, audio_fmt->big_endian,
- audio_fmt->word_size, audio_fmt->signed_sample,
- &priv->current_section);
+ ret = ov_read(&priv->vf, ptr, nbytes, &priv->current_section);
if (ret == 0) {
--- oggdec/Makefile.in~ 2005-06-27 11:29:12.000000000 +0200
+++ oggdec/Makefile.in 2007-10-07 22:08:24.000000000 +0200
@@ -183,7 +183,7 @@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
-VORBISFILE_LIBS = @VORBISFILE_LIBS@
+VORBISFILE_LIBS = -lvorbisidec
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
XGETTEXT = @XGETTEXT@
--- oggdec/oggdec.c~ 2005-06-03 12:15:08.000000000 +0200
+++ oggdec/oggdec.c 2007-10-08 00:06:05.000000000 +0200
@@ -12,27 +12,25 @@
#include
#include
#include
+#include
#if defined(_WIN32) || defined(__EMX__) || defined(__WATCOMC__)
#include
#include
#endif
-#include
+#include
struct option long_options[] = {
{"quiet", 0,0,'Q'},
{"help",0,0,'h'},
{"version", 0, 0, 'v'},
- {"bits", 1, 0, 'b'},
- {"endianness", 1, 0, 'e'},
{"raw", 0, 0, 'R'},
- {"sign", 1, 0, 's'},
{"output", 1, 0, 'o'},
{NULL,0,0,0}
};
-#define VERSIONSTRING "OggDec 1.0.1n"
+#define VERSIONSTRING "OggDec 1.0.1 (Tremor)n"
static int quiet = 0;
static int bits = 16;
@@ -49,11 +47,6 @@
" --quiet, -Q Quiet mode. No console output.n"
" --help, -h Produce this help message.n"
" --version, -v Print out version number.n"
- " --bits, -b Bit depth for output (8 and 16 supported)n"
- " --endianness, -e Output endianness for 16 bit output. 0 forn"
- " little endian (default), 1 for big endiann"
- " --sign, -s Sign for output PCM, 0 for unsigned, 1 forn"
- " signed (default 1)n"
" --raw, -R Raw (headerless) output.n"
" --output, -o Output to given filename. May only be usedn"
" if there is only one input filen"
@@ -68,7 +61,7 @@
int option_index = 1;
int ret;
- while((ret = getopt_long(argc, argv, "Qhvb:e:Rs:o:",
+ while((ret = getopt_long(argc, argv, "QhvR:o:",
long_options, &option_index)) != -1)
{
switch(ret)
@@ -84,19 +77,6 @@
fprintf(stderr, VERSIONSTRING);
exit(0);
break;
- case 's':
- sign = atoi(optarg);
- break;
- case 'b':
- bits = atoi(optarg);
- if(bits <= 8)
- bits = 8;
- else
- bits = 16;
- break;
- case 'e':
- endian = atoi(optarg);
- break;
case 'o':
outfilename = strdup(optarg);
break;
@@ -242,7 +222,7 @@
}
}
- while((ret = ov_read(&vf, buf, buflen, endian, bits/8, sign, &bs)) != 0) {
+ while((ret = ov_read(&vf, buf, buflen, &bs)) != 0) {
if(bs != 0) {
fprintf(stderr, "Only one logical bitstream currently supportedn");
break;
@@ -255,6 +235,18 @@
continue;
}
+#ifdef BIG_ENDIAN
+ { /* byteswap */
+ int i;
+ char tmp_char;
+ for(i=0;i+ tmp_char = buf;
+ buf = buf[i+1];
+ buf[i+1] = tmp_char;
+ }
+ }
+#endif
+
if(fwrite(buf, 1, ret, out) != ret) {
fprintf(stderr, "Error writing to file: %sn", strerror(errno));
ov_clear(&vf);However, 1 hunk will fail for oggdec.c. I don’t know why, I’ve created a new diff 3x with “diff -ruN”, but somehow this one damn line can’t be patched correctly. Maybe it’s also too late and I’m too tired.
The next problem: I still can’t play ogg files. 🙁
This is what I did:1.) download tremor (svn co http://svn.xiph.org/trunk/Tremor/ tremor)
2.) autogen, configure, make, make install on the LS2
3.) download vorbis-tools-1.1.1
4.) apply my patch (and change this 1 line manually)
5.) configure, make, make installEverything run successfully and I can also run the decoding script of firefly manually w/o problems:
/usr/local/bin/mt-daapd-ssc.sh "/som/ogg/file.ogg" 0 251.000 "ogg"
My LS2 tries to play the ogg file, but cancels at once and says, that it can’t play the song. This is the log entry of firefly:
2007-10-08 00:38:25 (00080003): Session 0: Streaming file 'someoggfile.ogg' to 192.168.0.22 (offset 0)
So no error and also no sound. The SB doesn’t even say, that it waits for the song to be cached (that’s what it did with the “normal” liboggdec/vorbis-tools).
09/10/2007 at 4:13 AM #7870rpeddeParticipant@thorstenhirsch wrote:
Everything run successfully and I can also run the decoding script of firefly manually w/o problems:
/usr/local/bin/mt-daapd-ssc.sh "/som/ogg/file.ogg" 0 251.000 "ogg"
My LS2 tries to play the ogg file, but cancels at once and says, that it can’t play the song. This is the log entry of firefly:
2007-10-08 00:38:25 (00080003): Session 0: Streaming file 'someoggfile.ogg' to 192.168.0.22 (offset 0)
So no error and also no sound. The SB doesn’t even say, that it waits for the song to be cached (that’s what it did with the “normal” liboggdec/vorbis-tools).
Did you give a full path to oggdec in /usr/local/bin/mt-daapd-ssc.sh? As well as wavstreamer? Might be that they are on your path in your environment, but not in the environment that mt-daapd runs as.
— Ron
09/10/2007 at 6:00 PM #7871thorstenhirschParticipantHi Ron,
now I added the full path into mt-daapd-ssc.sh, but it still does not work. It’s a little bit better now, because the SB doesn’t say, that it can’t play the song at once. Instead it says “preparing to play” for 7 seconds and then it says, that it can’t play the song.
This is the process tress:
263 ? S 0:00 /usr/local/sbin/mt-daapd start
264 ? S 0:08 /usr/local/sbin/mt-daapd start
303 ? S 0:00 | _ /bin/sh /usr/local/bin/mt-daapd-ssc.sh /mnt/hda/share/musik/niagara/la_verite/aux_coeurs_ble
307 ? R 1:00 | _ /usr/local/bin/oggdec --quiet -o - /mnt/hda/share/musik/niagara/la_verite/aux_coeurs_ble
308 ? S 0:00 | _ /usr/local/bin/wavstreamer -o 0 -l 251.000So mt-daapd seems to try it at least. Is there supposed to be some STDOUT when calling mt-daapd-ssc.sh manually? Because there’s no output at all. It also doesn’t return to the shell, it just seems to do nothing.
Here’s what strace tells me about these processes.
303 – mt-daapd-ssc.sh:$ strace -p 303
Process 303 attached - interrupt to quit
waitpid(-1,
Process 303 detached307 – oggdec
$ strace -p 307
Process 307 attached – interrupt to quit
Process 307 detached[/CODE]
308 – wavstreamer$ strace -p 308
Process 308 attached - interrupt to quit
read(0,
Process 308 detachedSo actually oggdec is doing nothing, but eats all my cpu power.
edit: without the –quiet parameter, oggdec tells me the following line a million times:
Warning: hole in data
edit2: this means, that ov_read gives a bad return code. ov_read is defined in tremor’s ivorbisfile.h/vorbisfile.c; maybe my tremor package is buggy – this is the version string in vorbisfile.c:
$Id: vorbisfile.c,v 1.6 2003/03/30 23:40:56
09/10/2007 at 9:55 PM #7872masParticipantI have to say that whole oggdec-tremor thing is nasty. When I did it back then a while ago I also had to try around a lot and have since then deliberately not touched this patched oggdec thing any more.
Maybe it would be a simplification to move a small patched oggdec into the mt-daapd source and have it compiled/installed when a –with-oggdectremor option is given at the ./confogure call?
10/10/2007 at 1:31 AM #7873rpeddeParticipant@thorstenhirsch wrote:
So mt-daapd seems to try it at least. Is there supposed to be some STDOUT when calling mt-daapd-ssc.sh manually? Because there’s no output at all. It also doesn’t return to the shell, it just seems to do nothing.
Ya, it should dump to stdout.
10/10/2007 at 9:10 AM #7874thorstenhirschParticipantAnd what do you think about mas’ suggestion? Can you include tremor’s liboggidec and the patched oggdec into firefly? The license is BSD, so the legal aspect should be no problem at all.
11/10/2007 at 5:10 AM #7875rpeddeParticipant@thorstenhirsch wrote:
And what do you think about mas’ suggestion? Can you include tremor’s liboggidec and the patched oggdec into firefly? The license is BSD, so the legal aspect should be no problem at all.
I kind of hesitate to, as that’s just more to maintain, plus it’s already in all the ipkg formats.
I guess the only thing missing is debian packages. I’d think about doing debian packages. What other formats would be required?
-
AuthorPosts
- The forum ‘Nightlies Feedback’ is closed to new topics and replies.