Hi all !

While using theora in a project, we'd like to to an asynchronous EOS in the 
logical stream. This means that we want to finish the stream without any new 
yuv frame to encode.

Ogg specifications allow empty EOS pages at the end of a stream, but 
currently, as far as I understadn theora's API, EOS in the encoder is added 
along with the last encoded YUV frame.

Looking at the source, it is not possible to forge an EOS packet since the 
packetno is not available. It seems to be the number of encoded frame (plus 
the header and comment packets I guess), but this number is hidden in the 
opaque internal_encoder state.

As for now, we may keep track of this number when encoding frames and be then 
able to forge this EOS packet. But it would clearly be a good thing to be 
available to do it using theora's API. Either by forging it if packetno is 
available, or with a custom theora_encoder_eos(ogg_stream_t *os). Actually, 
having both functions would be a good thing I believe.

And thanks for your work, theora and ogg programming are really awsome :)


Romain

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Savonet-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-devl

Répondre à