Re: AVI reader

"David McPaul" <dmcpaul-bzGI/[email protected]> Mon, 15 Dec 2003 08:42:23 +1100 EST
Newsgroups gmane.os.openbeos.mediakit
Message-ID <543042788-BeMail@HackerZone1>
This is a multipart message in MIME format.

------------Zoidberg-BeMail-temp--------
Mime-Version: 1.0
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit

Marcus,

> is you AVI reader useable by now, or do you think I should better 
> finish my own one?

Here is what I have so far.

It parses both AVI file types (original and OpenDML) and generates an 
index for both file types as well.
However, as allways there are lots of bad AVI file creators out there.

I still need to implement the Seek and GetNextChunk functions.

Both of them should just use the metadata function GetPositionForFrame 
to position in the file.

> I have made reader detection automatic based on the Sniff() 
> function's result,
> and moved the codec assignment into the media_server 
> (FormatManager.cpp)
> 
> Right now, when you read the avi file, please try to use 
> media_mpeg_description
> to create the media format for the audio stream, and it should be 
> playable with
> MediaPlayer as long as it's mp3 audio

Ok I will look at that.

> I'm going to implement proper decoder assignemt based on the format 
> now.

I should have some more time to work on this  before I head off for 
christmas on friday but 
you are welcome to take the code and do with it whatever you need to.

Cheers
David


------------Zoidberg-BeMail-temp--------
Content-Transfer-Encoding: base64
Content-Disposition: Attachment
Content-Type: application/zip; name=AVIReader.zip

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
------------Zoidberg-BeMail-temp----------

--
Do infants have as much fun in infancy as adults do in adultery?