[vorbis-dev] Problems with vorbis sdk

John Denton dentons at onetel.net.uk
Tue Sep 11 04:49:44 PDT 2001



Hi,

Many thanks for your response..

----- Original Message -----
From: Gian-Carlo Pascutto <gcp at sjeng.org>
To: <vorbis-dev at xiph.org>
Sent: Tuesday, September 11, 2001 10:45 AM
Subject: Re: [vorbis-dev] Problems with vorbis sdk

> > The first thing which threw me was the use of stdin and stdout for i/o -
I
> > haven't seen anything like this for years
>
> You surely haven't been looking outside your sandbox.
> Nearly all utilities on any unix-alike system work
> that way, or at least support it.

Now there's the rub - unix-like... I've dissassembled my machine this
morning and there is definitely no sand in there at all - perhaps its been
converted to silicon by the heat from this Athlon 1200.. Plenty of dust :-)

> It can do everything the standard command line
> (util infile outfile) can, and extras, like piping.

> > and had to search the loft for a
> > DOS (3!) book to figure out how to use the thing when I'd compiled it!
> This is not Win32!
>
> LOL. It sure is. It's not because the interface
> isn't what you're used to that it isn't Win32.
> Pipes are a standard Win32 feature too, but
> Microsoft did some nasty things that make
> them harder to use in some cases (on Win32).

That comment wasn't intended to be taken quite so literally. Win32 *implied*
to me that it would function within the GUI and I'm sure that will be the
case, once I've tortured it a bit. I assumed that the example provided would
also but it doesn't even work as a console program! It's a real
old-fashioned DOS command line proggie - years and years out of date,
un-necessarily awkward, obstruse and esoteric.. It was written by a Unix
programmer, wasn't it?  How would someone with Windows ME or beyond manage
to run it?

And I'm browsing DR DOS 6 manuals at the moment, bought in 1990 :-)

If I rewrite the stdin and stdout lines in the example to use stdio FILE*
streams the example program throws an Access error on the second call to the
statically linked dlls.. That is, it passes
    vorbis_info_init(&vi);
and I can see that the variables in vi have in fact been zeroed, except
codec_setup which is init to 00C70078. At the next line
    vorbis_encode_init(&vi, 2, 44100, -1, 128000, -1);
it fails with 'Exception class EAccessViolation - Access violation at
address 0044120C. Read of address 2028260B'.

I don't understand why it should fail here, given the nature of the changes.
The dll source doesn't have a hardwired address or port access or something?
Can't have - it would fail in the same place when compiled using stdin/out..
Does the dll try to access stdin / stdout?

> I have a (Win32) project which relies entirely
> on standard i/o for interprocess communication.
> It works just fine. And it can be ported without
> a single change.

This is great.. Porting is the last of my worries though :-)

>
> >     Project1 < c:\\temp\\test.wav > c:\\temp\\test.ogg
>
> Hmm, I don't think you need the double backslashes here.

I didn't think so either, but that renders the example closest to working..
With single slashes the prog immediately throws an 'Illegal operation'
dialog.

> > In passing - I may be being a bit thick - what is the intended
difference
> > between the dlls and those suffixed d, for example ogg.dll and
ogg_d.dll?
>
> The _d dll's have debugging information.

Yes.. That dawned on me the moment I hit the send button.. - typical :-)

Some of my comments can be a bit acid - but actually I'm very pro Vorbis.. I
have been lurking around for a while. I'm not looking to add Vorbis facility
to my few amateur progs - I'm looking to convert my music collection and the
utilities I use to maintain it entirely. At this time they have to be Win32
GUI..

Love the OggDrop proggie... One day all programs will be like that :-)

Many thanks again..

J.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list