csvorbis.VorbisFile.get_prev_page C# (CSharp) Method

get_prev_page() private method

private get_prev_page ( Page page ) : int
page csogg.Page
return int
        private int get_prev_page(Page page)
        {
            long begin=offset; //!!!
            int ret;
            int offst=-1;
            while(offst==-1)
            {
                begin-=CHUNKSIZE;
                if(begin<0)
                    begin=0;
                seek_helper(begin);
                while(offset<begin+CHUNKSIZE)
                {
                    ret=get_next_page(page, begin+CHUNKSIZE-offset);
                    if(ret==OV_EREAD){ return OV_EREAD; }
                    if(ret<0){ break; }
                    else{ offst=ret; }
                }
            }
            seek_helper(offst); //!!!
            ret=get_next_page(page, CHUNKSIZE);
            if(ret<0)
            {
                //System.err.println("Missed page fencepost at end of logical bitstream Exiting");
                //System.exit(1);
                return OV_EFAULT;
            }
            return offst;
        }