[FFmpeg-devel] [PATCH] 4 of 5 Add Speex Encoding

Art Clarke aclarke
Tue Jul 7 00:46:15 CEST 2009

> Like this in Justin's patch ?
> +    bytestream_put_buffer(&p, avctx->extradata, SPEEX_HEADER_SIZE);
> Your patch duplicates the comment part.
I missed that.  Let me restate: Justin gets it right.

> Justin had some concerns about overhead in ogg files, don't you have these
> concerns ?

Yes and no.

Yes, there is a lot of overhead per packet if you put one speex frame per
ogg packet.

But no, because our current patch just chooses 2 as the # of frames per
packet.  Why?  Adobe in their infinite wisdom decided to make 2 frames per
packet be the default in their Flash Player client-side Speex encoders, and
so we need our encoder to match that by default.  If we want to (and we do)
encode speex streams we can send to flash players, we need some way to make
that configurable (best case), or hard-code it to 2 (what we did for now).

See the comments in my first patch about how it'd be nice to have that be
configurable (I just don't know what setting in AVCodecContext if any to
use).  I think Justin and I are sniffing at the same general problem -- and
I'll accept guidance on what (if anything) y'all want to do.  Either comment
on my patches and I'll keep tweaking them, or Justin, you can use my patches
as learnings for the ultimate speex encoding solution deployed in FFmpeg.

For the moment though, we're unblocked (given our decision to build a
separate patching framework), so I'll leave the next step to you guys.

- Art

xu?ggle (z?' gl) v. To freely encode, decode, and experience audio and

Use Xuggle to get the power of FFmpeg in Java.

More information about the ffmpeg-devel mailing list