Help - Search - Members - Calendar
Full Version: Lame (Xing) VBR tag - dev advice needed
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
Jebus
Hi everyone,



So for my OmniEncoder 2.0, I have a design requirement (internationalization support) that prevents me from passing file names as command-line arguments (because the console apps don't usually support UTF characters). This means that for every encoder, I need to either wrap the .dll in managed code, or use piped IO. Piped I/O is easy to implement, but I know that lame can't write the VBR header (Xing/lame tag) because it goes at the beginning of the stream but must be calculated afterwards.



So my question...



What is the (easiest) way to apply a lame tag? Can lame.exe do it after the fact? How does Foobar do it? Failing all that, how do I calculate the frame count / byte count of the stream? Should I just give up and use the DLL?

edit: I'm also using lame.exe as an MP1/2/3 decoder via piped IO... is there any way to build the mpglib component of lame as a DLL? I tried wrapping MAD in c#, but damn that is some convoluted code.
Jebus
Upon reflection, i've decided to simply use madplay.exe for decoding (via pipes) and lame_enc.dll for encoding (via .net interop). That'll avoid the issue quite nicely.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.