Mercurial > mplayer.hg
changeset 9310:b16480522be9
some typos
info_header -> info_packet
adding variable sized reserved_bytes where i forgot it
start/end time in the info_packet
stuffing_packet
author | michael |
---|---|
date | Fri, 07 Feb 2003 09:48:06 +0000 |
parents | 073127ce3644 |
children | 4b04416ada91 |
files | DOCS/tech/mpcf.txt |
diffstat | 1 files changed, 38 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/tech/mpcf.txt Fri Feb 07 02:45:12 2003 +0000 +++ b/DOCS/tech/mpcf.txt Fri Feb 07 09:48:06 2003 +0000 @@ -72,7 +72,7 @@ version v stream_count v file_size v - length_in msec v + length_in_msec v reserved_bytes checksum u(32) @@ -144,18 +144,27 @@ index_timestamp v index_position v } + reserved_bytes checksum u(32) -info_header: (optional) +info_packet: (optional) packet header info_startcode f(64) + start_time v + end_time v entry_count v for(i=0; i<entry_count; i++){ name sz value sz } + reserved_bytes checksum u(32) - + +stuffing_packet: (optional) + packet_header + stuffing_startcode f(64) + for(i=0; i<forward_ptr - length_of_non_reserved; i++) + stuffing f(8) forward_ptr backward_ptr @@ -281,6 +290,10 @@ position in bytes of the first byte of the keyframe header, relative to the last index_position +start_time, stop_time + the time range in msecs to which the info applies + Note: can be used to mark chapters + name the name of the info entry, valid names are "Author","Description","Copyright","Encoder","Title" @@ -289,7 +302,8 @@ value - +stuffing + 0xFF Structure: @@ -307,11 +321,27 @@ and repeated headers MUST be identical headers MUST be repeated every 10sec at least ? FIXME +headers MUST be repeated at least twice (so they exist 3 times in a file) -the info_header can be repeated, it can also contain different names & values -each time - - + Index +the index can be repeated but there MUST be at least one at the end + + Info packets +the info_packet can be repeated, it can also contain different names & values +each time but only if allso the time is different +Info packets can be used to describe the file or some part of it (chapters) + +info packets, SHOULD be placed at the begin of the file at least +for realtime streaming info packets will normally be transmitted when they apply +for example, the current song title & artist of the currently shown music video + + Stuffing packets +can be used as a filler, for example to leave some empty space at the begin for +a copy of the index + + Unknown packets +MUST be ignored by the decoder + Sample code (GPL, & untested) typedef BufferContext{