Commit c4e9896a authored by conrad's avatar conrad

document fixing of incorrect granulepos on pages with no completed packets


git-svn-id: http://svn.annodex.net/liboggz/trunk@3491 8158c8cd-e7e1-0310-9fa4-c5954c97daef
parent ce0dc678
......@@ -95,10 +95,18 @@ manpage.1: manpage.sgml
and video data for synchronized playback, which can be a problem when
the files are viewed on low-memory devices.
</para>
<para>
Some older Ogg encoders also produce pages which incorrectly have
granulepos timestamps recorded that shouldn't be: pages which have no
completed packets must have a granulepos of -1.
<command>oggz-sort</command> will correct such granulepos during the
process of sorting.
</para>
<para>
The tool <command>oggz-validate</command> can be used to check the
relative ordering of packets in a file. If out of order packets are
reported, use <command>oggz-sort</command> to fix the problem.
relative ordering of packets in a file, and also to detect incorrect
granulepos on pages with no completed packets. If either of these errors
are reported, or use <command>oggz-sort</command> to fix the problem.
</para>
</refsect1>
......
......@@ -152,6 +152,8 @@ read_page (OGGZ * oggz, const ogg_page * og, long serialno, void * user_data)
if (serialno == input->serialno) {
ogg_page *iog;
iog = _ogg_page_copy (og);
/* If this page's granulepos should be -1 but isn't then fix that before
* storing and sorting the page. */
if(ogg_page_packets(iog)==0&&ogg_page_granulepos(iog)!=-1) {
memset(iog->header+6,0xFF,8);
ogg_page_checksum_set(iog);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment