diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2004-05-08 15:05:36 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2004-05-08 15:05:36 +0000 |
commit | 80d2afefc9d582c6768d4d78a89064be570bcd13 (patch) | |
tree | e5e478f7f8fbc5df5c0fa70b6ef7cebeb78b08a0 | |
parent | 643d18393008f7de83897ca1d85db86fdf352b14 (diff) | |
download | xine-lib-80d2afefc9d582c6768d4d78a89064be570bcd13.tar.gz xine-lib-80d2afefc9d582c6768d4d78a89064be570bcd13.tar.bz2 |
document _x_spu_decoder_sleep
CVS patchset: 6500
CVS date: 2004/05/08 15:05:36
-rw-r--r-- | doc/hackersguide/stream.sgml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/hackersguide/stream.sgml b/doc/hackersguide/stream.sgml index cbbe53d04..3ea987340 100644 --- a/doc/hackersguide/stream.sgml +++ b/doc/hackersguide/stream.sgml @@ -611,6 +611,19 @@ <programlisting> vpts = metronom->got_spu_packet(metronom, buf->pts);</programlisting> </para> <para> + Another difference is that while both audio and video decoders are automatically + blocked in their <function>get_buffer()</function>/<function>get_frame()</function> + methods when the output cannot take any more data, this does not work for SPU, + because it could take minutes before the next free slot becomes available and we must not + block the decoder thread for that long since it might be shared with a video decoder. + But when a SPU decoder does not share the thread and we let it run without any + blocking, it will overflow the available overlay slots very soon. Since SPU + decoders should not have to know, whether they share the thread or not, a helper + function <function>_x_spu_decoder_sleep()</function> is provided, which, when told + the timestamp of the next overlay, will wait long enough to not overflow the + overlay slots, but short enough to not hinder a video decoder in the same thread. + </para> + <para> There are also two functions in the SPU decoder API, which have not been discussed above: </para> <para> |