summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-06-16 19:34:27 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-06-16 19:34:27 +0000
commitf57e1636c523240a03e626e50757dd4deb7a1605 (patch)
tree2ba599e1c36d177e9b6b0090fb56c7a99b3d4daa
parente40296ac609e70ad6ee920cfdf3804a942b1d626 (diff)
downloadxine-lib-f57e1636c523240a03e626e50757dd4deb7a1605.tar.gz
xine-lib-f57e1636c523240a03e626e50757dd4deb7a1605.tar.bz2
add documentation on demuxer priorities and the new seeking API
CVS patchset: 6694 CVS date: 2004/06/16 19:34:27
-rw-r--r--doc/hackersguide/stream.sgml18
1 files changed, 15 insertions, 3 deletions
diff --git a/doc/hackersguide/stream.sgml b/doc/hackersguide/stream.sgml
index 3ea987340..d05bbba65 100644
--- a/doc/hackersguide/stream.sgml
+++ b/doc/hackersguide/stream.sgml
@@ -198,10 +198,11 @@
If possible, it is desirable that a demuxer can seek randomly through
the stream. This is easier for some file formats and essentially impossible
for other formats. xine's seeking API function allows a seek target to be
- specified in terms of stream offset from 0, or time in milliseconds from 0.
- Offset-based seeking is useful for seek bars in multimedia applications.
+ specified in terms of a ratio from 0 to 65535, or time in milliseconds from 0.
Time-based seeking is useful for specifying, e.g., a 1-minute jump forward
- or backward in a stream.
+ or backward in a stream. With the ratio-based seeking, the demuxer can
+ interpret the ratio value in the domain he sees most fit. This can also be
+ some sort of time or a simple file offset.
</para>
<para>
If a multimedia stream has video, there generally needs to be a way to
@@ -301,6 +302,17 @@
(the engine is passing on a user request to force this demuxer to be used).
</para>
<para>
+ The order in which the engine queries the available demuxers is determined
+ by the priority stated in the demuxer_info_t, which is attached to every
+ demuxer's plugin info structure. Demuxers with higher priority values are
+ called before those with lower priority. The order amongst demuxers of
+ equal priority is undefined. The idea behind this is to have the demuxers
+ for high-level container formats have high priorities, while the raw format
+ demuxers have low priorities. This way, a stream of a high-level container
+ format with a beginning that happens to look like a low-level raw format is
+ still handled by the correct demuxer, because it is queried first.
+ </para>
+ <para>
NOTE: In the course of checking the stream by content, care must be taken
not to consume bytes out of a non-seekable stream. If the stream is
non-seekable, use the input plugin's preview buffer facility to get a cache