[Theora] problem with theora files inside container
davidkment at web.de
Tue Aug 16 03:20:03 PDT 2005
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,
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