[theora] OGGZ Seeking in Theora

Stefan Weber s_weber at blyth.ch
Mon Jun 7 04:02:31 PDT 2010


Hi Conrad

Thanks for your reply to my request. I was able to eliminate some 
questions now.
But I obviously still have some issues calculating the keyframe 
position. This is what I do:

    /ogg_int64_t granule = oggz_tell_granulepos(oggz);
    int shift = oggz_get_granuleshift(oggz, sn);
    int noOfFramesSinceKeyframe = granule>>shift;
    int keyFramePosition = oldPosition - noOfFramesSinceKeyframe;
    oggz_seek_units(oggz, keyFramePosition, SEEK_SET);/

oldPosition being the position where initially has been seeked to as 
from /oggz_tell_units()/.

Seeking works, but not to keyframes :(  Am I getting wrong some units or 
something?

    >  If you're working with this now anyway, please try the seek-rewrite
    >  branch, from the repo at github: http://github.com/kfish/liboggz

Whats different in this branch? Why would I use it?

(I hope this time the e-mail gets to the list in the correct topic...)

Thanks again!
Regards,
Stefan


Am 06.06.2010 23:54, schrieb Conrad Parker:
> On 7 June 2010 02:12, Stefan Weber<s_weber at blyth.ch>  wrote:
>    
>> Dear all
>>
>> Excuse me for pushing this again.
>> Can't somebody give me a little hint on how to setup OGGZ for seeking
>> with Theora?
>>
>>      
> what you wrote sounds right. You should only need a page callback to
> handle the intermediate step. The callbacks are not asynchronous, they
> all happen in the same thread and only see data that gets passed
> through the most recent call to oggz_read().
>
> You can get the granuleshift with oggz_get_granuleshift(). The
> difference between ogg_page_granulepos() and oggz_tell_granulepos() is
> that the oggz version will work out the granulepos for a packet, even
> if it was not recorded in the stream. At the page level it doesn't
> matter so much.
>
> If you're working with this now anyway, please try the seek-rewrite
> branch, from the repo at github: http://github.com/kfish/liboggz
>
> cheers,
>
> Conrad.
>
>    
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/theora/attachments/20100607/c76ab45d/attachment.html 


More information about the theora mailing list