[Theora] problem with theora files inside container

david kment davidkment at web.de
Tue Aug 16 03:20:03 PDT 2005

hi folks!

i modified theora_splayer.c using libportaudio to a version which only decodes 1 frame per request, vorbis audio functionality has been removed. my video-only theora Ogg files are inside a container, directly appended, offset info accessible via some file index header.

i modified the fopen call in the source to open the main archive, find out where the requested embedded file begins, and set the file pointer to this offset using fseek().

the video is decoded without problems, but in some cases, the stream end doesn't seem to be detected correctly.....
this means i cannot tell my main program that the video playback has stopped, since the Ogg part continues to load data, but now from the next file in sequence and so on, until EOF is reported.

one method is to look how often if(ogg_sync_pageout(&oy,&og)>0) fails, but this is far from accetable.

do you know how i can detect if video stream ended in a more reliable way, and hopefully without hacking the 
Ogg source at all?

thanks in advance,

--- david

Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle 
Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179

More information about the Theora mailing list