[01:34] <daurnimator> hey all
[02:20] <BIMZIE> morning all :)
[02:54] * crweb  is teaching basic C++ today
[03:54] <nerochiaro> anders_: ping
[03:56] <anders_> nerochiaro: pong
[03:58] <nerochiaro> anders_: can you explain why it's not kosher to keep the medialib on NFS ? we are using sqlite on NFS in the OSD for other things and it works just fine. why won't it for xmms2 ?
[03:58] <anders_> locking issues.
[03:59] <anders_> filelocks may not work reliably over nfs.
[03:59] <nerochiaro> you do any special locking in xmms2 on that DB ?
[04:00] <anders_> No, just the locking that is done with sql transactions.
[04:00] <nerochiaro> crweb: so it might work for our apps because we don't use transactions ?
[04:04] <crweb> we don't use transactions
[04:05] <crweb> well, my understanding of transactions
[04:06] <nerochiaro> ok, so i guess that why our apps work and xmms2 doesn't with nfs
[04:06] <crweb> wait
[04:06] <crweb> we do transactions..
[04:07] <crweb> anders_: sqlite says that its only a problem if 2 processes access the db. We haven't had any problems with nfs and sqlite.
[04:08] <nerochiaro> that was my understanding by reading sqlite FAQ too
[04:09] <anders_> xmms2 probably works in most cases aswell. Thats why it is a config variable.
[04:10] <nerochiaro> anders_: i tried it and i can add stuff to playlists, but when starting playback it complain it can't retrieve the URL of for the entry and then " FAIL: xmms_ringbuf_wait_used: assertion `len <= ringbuf->buffer_size_usable' failed" and crash
[04:10] <nerochiaro> looks like it fails on reading from the DB, or wrote bad data to it
[04:11] <anders_> Oh, thats interesting.
[04:12] <crweb> nerochiaro: if you take that db file and read it with sqlite hows it looks?
[04:12] <crweb> err.. how does it look?
[04:12] <nerochiaro> crweb: didn't try. in fact i jsut deleted it. making it again and trying
[04:22] <nerochiaro> crweb: it's corrupt
[04:22] <nerochiaro> Unable to open database "/srv/neuros/fs/nfs-debug-extended-area/.osd-extended/data/xmms2_medialib.db": file is encrypted or is not a database
[04:22] <nerochiaro> anders_: crweb: do you want me to send it to you ?
[04:23] <anders_> Sure.
[04:25] <nerochiaro> sent
[04:26] <anders_> Opens fine here..
[04:26] <nerochiaro> what commend do you use ?
[04:26] <anders_> (did you use sqlite3 commandline tool, and not sqlite2?)
[04:27] <nerochiaro> aw dammit, it installed the 2
[04:27] <crweb> you want just plain sqlite
[04:27] <anders_> The medialib looks fine to me.
[04:27] <crweb> 2 was a special version
[04:28] <nerochiaro> crweb: apt-get install sqlite does install the 2, appearently. anyway, not an issue. i installed the 3 and it works ok
[04:28] <crweb> huh.. mine installs 3
[04:28] <nerochiaro> anders_: so it's xmms2 that fails to read it correctly ?
[04:28] <crweb> ooo, my mistake. nvrmind
[04:29] <anders_> nerochiaro: Could you provide full log of xmms2d -v?
[04:29] <nerochiaro> anders_: also on the insert of files ? or just playback failure ?
[04:29] <anders_> nerochiaro: Just playback failure is a good start.
[04:39] <nerochiaro> anders_: pastebin.ca is this what you needed ?
[04:40] <anders_> nerochiaro: Doesn't look medialib related to me.
[04:40] <anders_> It opens the correct file nicely.
[04:41] <nerochiaro> hmm, let me try with different files then
[04:41] <nerochiaro> but i could play FLAC files from the same media when the DB was not on NFS
[04:49] <nerochiaro> anders_: i tried with an mp3 on another media, and it gave me the same error
[04:51] <anders_> You haven't changed anything with the output plugin/output buffer size?
[04:51] <nerochiaro> let me check, i may just be *that* stupid
[04:52] <nerochiaro> anders_: what's the default output.buffersize ? 4096 ?
[04:53] <anders_> 32k IIRC
[04:53] <nerochiaro> then that's what i broke. my mistake
[04:53] <nerochiaro> let me try with that fixed
[04:56] <nerochiaro> anders_: embarassingly enough, that fixed it
[04:56] <nerochiaro> they play now
[04:57] <anders_> nerochiaro: Great!
[05:00] <nerochiaro> anders_: hopefully it will work fine on NFS then
[05:00] <nerochiaro> anders_: another question i have is with the output buffer (which was the reason why i was messing wiht it)
[05:01] <nerochiaro> anders_: can we detect underruns in that buffer and force xmms2 to refill the buffer up to some limit (or to full buffer) before resuming playback after the underrun ?
[05:02] <nerochiaro> anders_: because i have this issue that sometimes there are underruns and xmms2 fills it up a bit, but start depleting it again immediately, so it enters some kind of stuttering loop (underrun, small refill, underrun, small refill, etc)
[05:03] <anders_> Maybe you could add a xmms_output_wait_buffered function which calls xmms_ringbuf_wait_used on the ringbuf..
[05:05] <nerochiaro> wait_used is a function that makes you wait ringbuf to reach a certain fill size ?
[05:05] <anders_> Yes. (defined in src/xmms/ringbuf.c)
[05:06] <nerochiaro> when would i call output_wait_buffered ?
[05:07] <anders_> nerochiaro: When you output plugin does xmms_output_read and detects it didn't fill the buffer properly?
[05:07] <anders_> nerochiaro: Or rather before next iteration.
[05:09] <nerochiaro> that makes sense. another thing i was thinking was about doing a full buffer fill when a new track is loaded ? wouldn't that be easier ? (i know it breaks gapless, but it's kind of acceptable)
[05:14] <nerochiaro> anders_: ?
[05:14] <anders_> Not sure it would be easier.
[05:15] <anders_> And it doesn't really have to break gapless either.
[05:15] <nerochiaro> anders_: because it may be we can do the fill before the previous track is finished ?
[05:15] <anders_> Yes.
[05:17] <anders_> Maybe you could make output.c:song_changed to do xmms_ringbuf_wait_used..
[05:17] <nerochiaro> anders_: i think i'll look into that
[05:18] <crweb> I think thats what we should do
[05:18] <crweb> i turn gapless off anyway
[05:18] <crweb> lol
[05:18] <nerochiaro> crweb: you are statistically insignificant anyway ;)
[05:35] <nerochiaro> anders_: can i add new sections to xmms2.conf from outside xmms2 (editing the file manually) and trust xmms2 not to delete them ?
[05:35] <nerochiaro> (add them before xmms2 starts)
[05:56] <anders_> nerochiaro: Yes, I think so. What are you planning to do?
[05:58] <nerochiaro> anders_: when we update our software sometimes we need to force the xmms2 config to change. so i'm thinking on wiping it conditionally based on a version section that is read by an init script
[05:58] <nerochiaro> but i don't want xmms2 to manage that version section (by registering it etc)
[05:59] <nerochiaro> i just want a script to check it, if it's ok don't wipe, if it's wrong wipe and copy over an updated config that has a newer version
[05:59] <nerochiaro> but if xmms2 removed the version section, then it won't work
[06:00] <nerochiaro> that's why i asked
[06:00] <crweb> nerochiaro: i used a external version file
[06:00] <nerochiaro> crweb: for what ?
[06:00] <crweb> xmms2.conf.23
[06:00] <nerochiaro> crweb: please explain ?
[06:00] <crweb> you sure. aparently me explaining things isn't going so well..
[06:00] <nerochiaro> crweb: maybe later if we are busy in the other meeting
[06:04] <crweb> init script says: VERSION = 34; if /mnt/OSD/xmms2.conf.$VERSION does not exist, rebuild config (copy it)
[06:04] <crweb> agh.
[06:07] <crweb> init script says: VERSION = 34; if /mnt/OSD/xmms2.conf.$VERSION does not exist, rm /mnt/OSD/xmms2.conf*, cp new config (copy it)
[06:08] <crweb> touch /mnt/OSD/xmms2.ocnf.$VERSION
[06:09] <crweb> see ldgen
[06:09] <nerochiaro> i get the idea
[06:09] <nerochiaro> sounds good enough
[07:13] <crweb> nerochiaro: did you see new deskmon ?
[07:13] <crweb> better yet.. did i send it..
[07:14] <crweb> anyway, i removed all paths and made the path specified at cmdline
[07:15] <crweb> and, did you see that NWaitingBoxWorkerThread leaks. I think i addressed this in email about the thread just pinging you.
[07:15] <crweb> oh
[07:15] <crweb> and you replied 8 minutes ago.. nvrmind
[07:16] <nerochiaro> ok
[07:16] <nerochiaro> didn't see new deskmon
[07:16] <crweb> i sent to review
[07:16] <nerochiaro> will look
[09:00] <BIMZIE> guys does neuros's qtopia support all the fonts in that font folder?
[09:02] <dab> hi all
[09:03] <dab> newbie help needed on how and which version to get from svn!
[09:04] <dab> anybody awake here?
[09:04] <nerochiaro> dab: get trunk
[09:04] <nerochiaro> dab: or get the one named "torfu" if you prefer the non-QT version
[09:05] <dab> ok. i did for d in $(ls) ; do svn up $d ; done
[09:05] <dab> is this ok
[09:05] <nerochiaro> depends on which one you first checked out. what does "svn info" say when you call it in one of the directories
[09:05] <nerochiaro> ?
[09:06] <dab> hmm. i downloaded the tarball dated 26th march
[09:06] <dab> then i built that one
[09:06] <dab> but now i already gave that svn up
[09:07] <dab> and its in progress.
[09:07] <dab> its downloading qtopia
[09:07] <dab> can i run svn info now or should i wait till it finishes?
[09:08] <nerochiaro> you can run it from another shell, no problem
[09:09] <nerochiaro> but i think you have trunk
[09:09] <nerochiaro> since you're downloading QT
[09:09] <nerochiaro> so if trunk is ok for you, then the svn up command was ok too
[09:10] <dab> ok.
[09:10] <dab> Path: .URL: svn://svn.neurostechnology.com/svn/neuros-bsp/tags/OSD_VER_3.33-2.05-00.837_080307Repository Root: svn://svn.neurostechnology.com/svn/neuros-bspRepository UUID: ed9ee5b5-7908-0410-92af-aedb66848885Revision: 1606Node Kind: directorySchedule: normalLast Changed Author: clinLast Changed Rev: 1091Last Changed Date: 2007-06-29 05:45:06 -0500 (Fri, 29 Jun 2007)
[09:11] <nerochiaro> wow, it's a tag
[09:11] <dab> so its ok?
[09:11] <nerochiaro> no, if you want trunk, you should do an svn switch to trunk
[09:12] <nerochiaro> svn://svn.neurostechnology.com/svn/neuros-bsp/
[09:12] <MattJ> dab: The build-helper script has an update command I think
[09:12] <dab> :-) i really dont know much... learning all the way... following the guides
[09:12] <nerochiaro> MattJ: that updates only within the same branch/tag
[09:13] <nerochiaro> dab: that is the way to go :)
[09:13] <dab> it would be better if you guys help me out by telling the exact commands to give
[09:13] <dab> should I stop that svn up script?
[09:13] <nerochiaro> let it go
[09:13] <nerochiaro> it won't hurt
[09:13] <dab> ok.
[09:14] <nerochiaro> you will have less stuff to download when you do the switch anyway
[09:14] <dab> ok.
[09:14] <MattJ> nerochiaro: I meant instead of having to do for d in $(ls) ; do svn up $d ; done
[09:14] <nerochiaro> MattJ: that's true
[09:14] <dab> but that qtopia/dist is large!
[09:14] <nerochiaro> dab: svn switch svn://svn.neurostechnology.com/svn/$d/trunk $d
[09:14] <nerochiaro> dab: and repeat it in a for loop
[09:15] <nerochiaro> but wait for that up to finish
[09:15] <nerochiaro> it's large but you need it all
[09:15] <nerochiaro> patience
[09:15] <dab> :-)
[09:16] <dab> thanks... its only a 512kbps dsl connection
[09:16] <dab> not like what you guys have in the western world
[09:16] <nerochiaro> it's the server that's slow, not your connection
[09:16] <dab> ok...
[09:16] <nerochiaro> well, both
[09:16] <dab> its a good news to me.... that my connection is faster than the server!
[09:17] <nerochiaro> well not so good for the server, but anyway :)
[09:17] <dab> Hi greyback!
[09:17] <greyback> dab: hey, how is netboot going?
[09:18] <dab> grayback: just fantastic
[09:18] <dab> I even built a tarball downloaded and ran it
[09:18] <dab> now nero is helping me out for svn thing to get updated.
[09:19] <greyback> Nice work! Am looking forward to seeing what you produce :)
[09:19] <dab> :-) I hope not to disappoint you.
[09:19] <greyback> I doubt that somehow
[09:20] <dab> :-D
[09:20] <dab> I have some embedded experience... not with emb. linux though
[09:20] <dab> did some DSP things too...
[09:21] <dab> again not on the TI ones....
[09:21] <greyback> Are you thinking of working on the DSP?
[09:22] <dab> :-D
[09:22] <dab> you got to do what you got to do...
[09:22] <greyback> Good luck, but I don't envy you!
[09:22] <greyback> That sort of stuff is way over my head
[09:23] <dab> :-) lets see how far i go...
[09:24] <nerochiaro> dab: get in touch with may1937 if he's still around or Darchon, if you want to do DSP stuff
[09:24] <nerochiaro> they worked on that, Darchon especially
[09:24] <Darchon> hi dab
[09:24] <nerochiaro> there you go
[09:24] <dab> Hi!!
[09:25] <Darchon> hwat is it you want to know?
[09:25] <Darchon> what*
[09:25] <dab> I know that question has been asked before... but cant help it
[09:25] <dab> I want raw frames captured via the analog inputs
[09:25] <Darchon> ah, alright
[09:25] <Darchon> that's possible
[09:26] <dab> whao!
[09:26] <Darchon> but requires alot of work
[09:26] <dab> hmm...
[09:26] <Darchon> as you'll have to write your own "driver" for the DSP
[09:26] <dab> where should I start?
[09:26] <dab> ok..
[09:26] <Darchon> and a small RTOS
[09:26] <Darchon> etc. etc.
[09:26] <dab> ok.
[09:27] <Darchon> basically you start from scratch if you want that
[09:27] <Darchon> as the current modules are closed API
[09:27] <dab> ok.... but any starting points?
[09:27] <dab> Do I have to sign an NDA with TI guys!!!
[09:27] * Darchon  nods
[09:28] <dab> I dont think they will entertain me.
[09:28] <Darchon> atleast... I think the video input is connected to the DSP
[09:28] <nerochiaro> dab: the NDA is an easy matter, you sign it with Neuros, not with TI
[09:28] <dab> Ya... the block diagrams shows so
[09:28] <dab> thats a good news.
[09:29] <dab> will neuros entertain me?
[09:29] <Darchon> darchon.net <- link to my GSoC2007 project
[09:29] <dab> ok. I am on it.
[09:29] <Darchon> I have started on translating the assembly to C
[09:30] <Darchon> as there's finally a free compiler for the DSP
[09:30] <nerochiaro> dab: we're very entertaining people ;)
[09:30] <nerochiaro> dab: what do you mean with "entertain" ?
[09:30] <Darchon> the next obstacle is really the lack of a debugger....
[09:30] <dab> I thought there is a JTAG on the board!
[09:30] <Darchon> my project only supports "printf" type debuggin :P if you know what I mean
[09:30] <dab> but to debugger?
[09:31] <dab> *to = no
[09:31] <Darchon> nope
[09:31] <Darchon> no debugger
[09:31] <dab> hmm....
[09:31] <Darchon> I had to debug my stuff using memory dumps
[09:31] <dab> its like working on 8052 then
[09:31] <Darchon> and my debug library
[09:31] <dab> ok. thats a great job you have done
[09:31] <Darchon> which basically sends a message to the ARM linux module, which prints in in the syslog
[09:32] <dab> ok...
[09:32] <Darchon> and sometimes it misses one
[09:32] <Darchon> so yeah... debugging is crap
[09:32] <dab> is the compiler that TI giving is of some use?
[09:32] <Darchon> yeah
[09:33] <Darchon> it compiles
[09:33] <dab> hehehe
[09:33] <Darchon> and links
[09:33] <Darchon> but that's all it does really
[09:33] <nerochiaro> it's not like you have any other choice, there's no gcc for it
[09:33] <dab> I was told earlier that the documentation is not available
[09:33] <nerochiaro> dab: only in NDA
[09:33] <dab> ok.
[09:34] <Darchon> but if you're interested in this DSP stuff
[09:34] <Darchon> I suggest applying for GSoC2008
[09:34] <dab> Darchon: you have really did a fantastic job (I was looking at your site)
[09:34] <Darchon> for the OSD 2.0
[09:34] <Darchon> I can give you some pointers on your application
[09:34] <dab> nero: how can I proceed with the NDA?
[09:35] <Darchon> cuz yeah, OSD 2.0 has that TI Codec thingie
[09:35] <dab> Darchon: sure ....
[09:35] <Darchon> which gives you direct access to the raw frames (I hope)
[09:35] <nerochiaro> dab: send an email to Joe and CC me, explain what you need to do and we will send you the NDA doc
[09:35] <dab> Are OSD 2.0 is out in beta?
[09:35] <Darchon> adn!
[09:35] <Darchon> and!*
[09:35] <Darchon> you get TI's code composer studio from neuros
[09:36] <Darchon> which does have a debugger :)
[09:36] <dab> ok...
[09:36] <nerochiaro> Darchon: not sure that applies anymore
[09:37] <Darchon> ah..
[09:37] <nerochiaro> Darchon: but doesn't hurt to ask
[09:37] <dab> hmm.... so the open things are not all that open...
[09:37] <Darchon> nerochiaro: it said so on the wiki
[09:37] <nerochiaro> dab: the DSP is not open, we never said that :)
[09:37] <dab> I know.
[09:37] <Darchon> "The student awarded this project will be loaned an OSD 2 prototype (obviously) and a complete suite of hardware and software tools for porting the codec, including TI's proprietary development environment, Code Composer Suite."
[09:38] <nerochiaro> Darchon: yup, but that was A) for SoC and B) before they released the open compiler
[09:38] <Darchon> yeah, I know
[09:38] <dab> so does that means I cant buy a beta unit?
[09:39] <Darchon> I was saying that if Dab applied for that project, he might get a real debugger and some really cool hardware (the OSD2.0)
[09:39] <dab> I dont want to do anything else but the project that I have in mind...
[09:40] <dab> A CCTV camera connected to neuros
[09:40] <dab> and when it detects motion, it records/sms/mail and what not.
[09:40] <nerochiaro> dab: osd20 or current ?
[09:40] <dab> well, I thought that it would be possible on the current
[09:41] <dab> so I bought 2 of them
[09:41] <nerochiaro> Darchon: ah, wait, i though you were looking at soc 2007, sorry
[09:41] <nerochiaro> that's 2008, then everything in there is still valid
[09:41] <nerochiaro> my mistake
[09:41] <Darchon> dab: it's possible, you just need the official documentation
[09:42] <Darchon> it's just not as easy as it would've been if the video input was connected directly to the ARM
[09:42] <Darchon> but if the ARM's fast enough, simply using the DSP DMA controller to copy video data to SDRAM, would do the trick
[09:43] <Darchon> and then you can just do all the fancy stuff on the ARM
[09:43] <Darchon> the DSP wouldn't even need an OS running
[09:44] <dab> yeah. I might start using a USB video capture device
[09:44] <Darchon> it just waits for the video input and copies, notifies the arm. and keeps repeating that cycle
[09:44] <nerochiaro> dab: on osd1 don't try that
[09:44] <nerochiaro> dab: osd1 USB sucks
[09:44] <dab> :-D
[09:45] <dab> so I gather its not fast enough for full screen full speed SD frame capture in YUV
[09:46] <nerochiaro> not sure about the speed, but the USB driver is broken with regards to some transfer modes. if you device needs them, you're screwed.
[09:46] <dab> Darchon: how far your project has gone...
[09:46] <dab> ok.
[09:46] <Darchon> i can copy from internal DSP memory to SDRAM
[09:46] <Darchon> using circular buffer
[09:47] <Darchon> but the buffer is kinda small
[09:47] <nerochiaro> Darchon: video frames or test data ?
[09:47] <Darchon> only (2^16)-1 bytes
[09:47] <Darchon> any data that's in the DSP memory
[09:48] <Darchon> I've only copied strings so far, that's true
[09:48] <dab> wait... thats 64k only!
[09:48] <Darchon> but it's done using the DMA controller
[09:48] <Darchon> so I don't see why it should have problems with other types of data
[09:48] <dab> and here goes my all video data in the water...
[09:49] <Darchon> well, it just means you have to copy a few times
[09:49] <dab> ok...
[09:49] <dab> I can also cut down my requirements to grayscale images.
[09:49] <dab> may be SIF resolution image
[09:50] <dab> If thats not fast enough... but I just cant stop of dreaming of running my code in the DSP!
[09:51] <Darchon> no, you just shouldn't make any mistakes whilst coding
[09:51] <Darchon> so you won't need a debugger ;)
[09:51] <dab> :-)
[09:51] <Darchon> I'm not saying it's impossible without... it's just harder...
[09:51] <dab> May be your libraries will help me out...
[09:52] <dab> if TI is not helping...
[09:52] <Darchon> ow... wait
[09:52] <nerochiaro> dab: you get only TI's docs
[09:52] <Darchon> my kernel buffers are only 16k
[09:52] <nerochiaro> dab: TI won't talk to you
[09:52] <dab> yeah... I dont buy 1 million chips annually.
[09:52] <Darchon> I forgot I had problems allocating bigger consecutive memory space
[09:53] * Darchon  notes to dab that the DSP has no MMU
[09:53] <dab> hmm...
[09:53] <Darchon> so if you want a bigger buffer the copying mechanism has to be updated
[09:53] <Darchon> so I will swith to another buffer location
[09:53] <Darchon> I = it*
[09:55] <dab> ok... So... currently it is not possible to have a frame in memory and have a callback... is it true?
[09:56] <Darchon> nope
[09:56] <Darchon> next month I hope to have more time
[09:56] <Darchon> as I only have 1 project at school then
[09:57] <Darchon> maybe I can update my project then
[09:57] <dab> is there any, by chance, any codec which has the source open available for this DSP?
[09:57] <Darchon> sort of...
[09:58] <Darchon> but I wonder how legal it is...
[09:58] <Darchon> and it's audio codec only
[09:58] <nerochiaro> Darchon: which one ?
[09:58] <dab> any crappy codec..
[09:59] <Darchon> Vorbis if I remember correctly
[09:59] <nerochiaro> the one we used on Neuros2 ?
[09:59] <dab> that will have access to the raw frames... and If we modify it to do the motion detection instead of encoding then we are done.
[09:59] <Darchon> no...
[09:59] <nerochiaro> that may be useful to him, maybe
[09:59] <nerochiaro> Darchon: what other ?
[09:59] <Darchon> I'm talking about ArchOpen
[10:00] <Darchon> they have C code in their distribution
[10:00] <Darchon> for the DM320
[10:00] <Darchon> and they link to the TI BIOS stuff
[10:00] <Darchon> so yeah... I don't see how that works... as it's an open source project
[10:01] <dab> ok.
[10:01] <dab> thanks guys I have to leave now.
[10:01] <Darchon> www.archopen.org
[10:01] <dab> Will join you again tomarrow.
[10:01] <Darchon> check that link out
[10:02] <dab> thanks once again for the enlightment.
[10:02] <Darchon> it has C-code for the DSP