someone with in depth programming skillz:

Locked
User avatar
RadicalEd0
Joined: Mon Jun 24, 2002 2:58 pm
Org Profile

someone with in depth programming skillz:

Post by RadicalEd0 » Thu Nov 21, 2002 8:59 pm

you know besweet? yeah, you do. How did dspguru engineer it to transcode without intermediate files, specifically wavs?

Unless I figure it out soon the program I'm working on is going to be doomed to having an intermediate uncompressed wav outputted halfway through the process which does not = good when the length could be anywhere from a minute to 2 and a half hours or more. :cry:
NMEAMV: PENIS
NMEAMV: IN
NMEAMV: YO
NMEAMV: MIXED
NMEAMV: DRINK

User avatar
RadicalEd0
Joined: Mon Jun 24, 2002 2:58 pm
Org Profile

Post by RadicalEd0 » Thu Nov 21, 2002 9:10 pm

let me clarify, since klinky had a problem with my original question, for it was merely an example

how can one program something to output a wav and directly feed it to the next program without actually creating a file and using up hdd space
NMEAMV: PENIS
NMEAMV: IN
NMEAMV: YO
NMEAMV: MIXED
NMEAMV: DRINK

trythil
is
Joined: Tue Jul 23, 2002 5:54 am
Status: N͋̀͒̆ͣ͋ͤ̍ͮ͌ͭ̔̊͒ͧ̿
Location: N????????????????
Org Profile

Post by trythil » Wed Nov 27, 2002 7:19 pm

RadicalEd0 wrote:let me clarify, since klinky had a problem with my original question, for it was merely an example

how can one program something to output a wav and directly feed it to the next program without actually creating a file and using up hdd space
You can use a circular buffer, using threads. Have one process fill the buffer, and have the second process continually read from the buffer (until it's empty, and then wait for data to appear in the buffer, and so on). Any platform with a decent threading API will let you do this.

I have C++ source code for a circular buffer template using the Boost::Threads API. It won't exactly be what you're looking for, but if you're interested, I can dig it up.

There are other ways to pipe data between processes. For example, under UNIX, you can use pipes, like:

Code: Select all

tccat -i /dev/cdroms/cdrom0 -T 1,-1 | tcdemux -a 0 | split -b 1024m - aa
which basically says "read this chunk off of the DVD, demux the video, and split at every 1 GB marker". There's also shared memory segments, UNIX sockets, and so on. Most of those systems have equivalents under Windows, if threading turns out to be hairy. (It can be quite a nasty affair at times.)

User avatar
klinky
Joined: Mon Jul 23, 2001 12:23 am
Location: Cookie College...
Contact:
Org Profile

Post by klinky » Wed Nov 27, 2002 10:26 pm

RadicalEd0 was unl33t and didn't notice that they're not actual indepentant programs, but libraries(dlls) that are included with beSweet :O

My guess is it just loads the libraries and passes pointers around...


I think :roll:

~klinky

trythil
is
Joined: Tue Jul 23, 2002 5:54 am
Status: N͋̀͒̆ͣ͋ͤ̍ͮ͌ͭ̔̊͒ͧ̿
Location: N????????????????
Org Profile

Post by trythil » Thu Nov 28, 2002 12:03 am

Oh, well, if they're just library routines, then it should be possible to do something like I wrote above ;)

Locked

Return to “Video & Audio Help”