Improved rtjpeg and seek NUV demuxer support.
authorGertjan Van Droogenbroeck <gertjanvd+vlc@gmail.com>
Mon, 25 Aug 2008 11:58:18 +0000 (13:58 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Mon, 25 Aug 2008 16:46:36 +0000 (18:46 +0200)
commitc42248cf7c4cec9a7f33c6e2291315ee5f11abb6
tree53d0bfd54100df3e510b6db6404b86ccb062c70f
parentc55c3e35c0458f7c468d975fbd5cbb9751e62aed
Improved rtjpeg and seek NUV demuxer support.

The changes to the nuv demuxer are:
 - aspect ratio is now used
 - only key frames are used for seeking / index table
 - if there is a seektable it is now used (in a seekable stream)
 - GET_LENGTH is set correctly when a seektable is available, if there
isn't a seektable it will make a guess based on the position in the
stream and the stream size
 - seek support improved, it checks if the stream is seekable and it
also checks if the stream is not changing in size (recording)
 - support for rtjpeg decoder

The demuxer was tested on Windows and Linux with a samba share with
recordings from a mythbackend. I have also tested this with MythWeb
with HTTP Direct Download and ASX Stream. If it is detected that the
stream is not seekable (for example the HTTP stream) it will fall back
to the way it worked before and keep fetching new frames until the
position is reached. If you seek to a position before the current
position it will now give a warning.

If a recording is in progress the stream size will change. This will
be detected and then only forward seeking is possible, because
changing the stream pointer on the recorded file failed (at least it
did using the network share).
modules/demux/nuv.c