diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-03 13:52:12 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-03 13:52:12 +0000 |
commit | 0daf53d611bf4a8bb896a8b641079ecb50140268 (patch) | |
tree | e70a94f8766820546819a65746643f0616ac36ac /DOCS/tech/nut.txt | |
parent | b0890999dbfa61e9fea5b4a5dc88fcd0c0744be6 (diff) | |
download | mpv-0daf53d611bf4a8bb896a8b641079ecb50140268.tar.bz2 mpv-0daf53d611bf4a8bb896a8b641079ecb50140268.tar.xz |
move file up so its found first, this probably improves readability
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20634 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/tech/nut.txt')
-rw-r--r-- | DOCS/tech/nut.txt | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/DOCS/tech/nut.txt b/DOCS/tech/nut.txt index b6885f0116..ca086e4c7a 100644 --- a/DOCS/tech/nut.txt +++ b/DOCS/tech/nut.txt @@ -116,6 +116,54 @@ t (v coded universal timestamp) Bitstream syntax: ================= +file: + file_id_string + while(!eof){ + if(next_byte == 'N'){ + packet_header + switch(startcode){ + case main_startcode: main_header; break; + case stream_startcode:stream_header; break; + case info_startcode: info_packet; break; + case index_startcode: index; break; + case syncpoint_startcode: syncpoint; break; + } + packet_footer + }else + frame + } + +the structure of a undamaged file should look like the following, but +demuxers should be flexible and be able to deal with damaged headers so the +above is a better loop in practice (not to mention its simpler) +note, demuxers MUST be able to deal with new and unknown headers + +file: + file_id_string + while(!eof){ + packet_header, main_header, packet_footer + reserved_headers + for(i=0; i<stream_count; i++){ + packet_header, stream_header, packet_footer + reserved_headers + } + while(next_code == info_startcode){ + packet_header, info_packet, packet_footer + reserved_headers + } + if(next_code == index_startcode){ + packet_header, index_packet, packet_footer + } + if (!eof) while(next_code != main_startcode){ + if(next_code == syncpoint_startcode){ + packet_header, syncpoint, packet_footer + } + frame + reserved_headers + } + } + + Common elements: ---------------- @@ -319,53 +367,6 @@ syncpoint: Complete definition: -file: - file_id_string - while(!eof){ - if(next_byte == 'N'){ - packet_header - switch(startcode){ - case main_startcode: main_header; break; - case stream_startcode:stream_header; break; - case info_startcode: info_packet; break; - case index_startcode: index; break; - case syncpoint_startcode: syncpoint; break; - } - packet_footer - }else - frame - } - -the structure of a undamaged file should look like the following, but -demuxers should be flexible and be able to deal with damaged headers so the -above is a better loop in practice (not to mention its simpler) -note, demuxers MUST be able to deal with new and unknown headers - -file: - file_id_string - while(!eof){ - packet_header, main_header, packet_footer - reserved_headers - for(i=0; i<stream_count; i++){ - packet_header, stream_header, packet_footer - reserved_headers - } - while(next_code == info_startcode){ - packet_header, info_packet, packet_footer - reserved_headers - } - if(next_code == index_startcode){ - packet_header, index_packet, packet_footer - } - if (!eof) while(next_code != main_startcode){ - if(next_code == syncpoint_startcode){ - packet_header, syncpoint, packet_footer - } - frame - reserved_headers - } - } - Tag description: ---------------- |