Jean-Paul Saman [Thu, 20 Nov 2008 13:33:37 +0000 (14:33 +0100)]
Remove FORWARD_S and BACKWARD_S from input state.
The input core does separate playing states for forward or backward direction from the playing state PLAYING_S. If one wants to know in what direction VLC is playing, then he needs to look at the sign value of the "rate" value. Backward playing direction has a negative "rate" value. Forward playing direction has a positive one.
Jean-Paul Saman [Wed, 19 Nov 2008 15:07:34 +0000 (16:07 +0100)]
Allowing for rate < 0 enables rewind playback for eg: RTSP streams.
Don't allow rate < 0 when p_input->p->input.b_rescale_ts is true.
Setting b_rescale_ts to true says to vlc, rescale the timestamp.
Setting it to false is like saying, I can completely handle the rate, just aknoledge the fact that the rate is not the default one.
Do not delay processing of the first data page of the last logical stream
The first data page of a physical stream is stored in the relevant logical stream
in Ogg_FindLogicalStreams. Therefore, we must not read a page and only update the
stream it belongs to if we haven't processed this first page yet. If we do, we
will only process that first page whenever we find the second page for this stream.
While this is fine for Vorbis and Theora, which are continuous codecs, which means
the second page will arrive real quick, this is not fine for Kate, whose second
data page will typically arrive much later.
This means it is now possible to seek right at the start of a stream where the last
logical stream is Kate, without having to wait for the second data page to unblock
the first one, which is the one that triggers the 'no more headers to backup' code.
And, as we all know, seeking without having backed up all headers is bad, since the
codec will fail to initialize if it's missing its headers.
Laurent Aimar [Mon, 17 Nov 2008 18:05:40 +0000 (19:05 +0100)]
Removed timeshift module.
It has been replaced by generic timeshift at es_out level.
The only regressions I see is:
- it is not (yet) possible to timeshift module that (wrongly) advertize
pace control.
- the new timeshift still uses too much memory (~20Mbytes per hour for DVB-T).
Pierre Ynard [Mon, 17 Nov 2008 11:08:28 +0000 (12:08 +0100)]
Temporarily work around crashing on Windows due to %zu
The printf functions on Windows don't support the z length modifier,
which can shift field arguments, and causes an unconditional crash in
modules.c on start-up. For now, strip it on Windows and have vlc work
again, until a better solution is found and applied.
Alexis Ballier [Sat, 15 Nov 2008 13:42:19 +0000 (14:42 +0100)]
Allow disabling libsysfs support
Add a configure switch to allow disabling libsysfs support instead of letting it check what is on the build host and enable it accordingly. The default behavior is unchanged.
David Flynn [Fri, 14 Nov 2008 21:46:40 +0000 (21:46 +0000)]
mux/mpeg/pes: move PES_PRIVATE_STREAM_1 id handling into PESHeader()
PES_EXTENDED_STREAM_ID is handled inside PESHeader()
Not handling PES_PRIVATE_STREAM_1 inside PESHeader() just moves complication
into the calling function and creates an extra argument.
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk> Signed-off-by: Laurent Aimar <fenrir@videolan.org>
David Flynn [Wed, 12 Nov 2008 09:21:25 +0000 (09:21 +0000)]
codec/dirac: Rewrite libdirac(-research) encoding support
libdirac is currently a higher quality (albeit much slower) encoder than
libschroedinger. The intention is to port its algorithim to schro and
depricate the codebase.
A previous patch removes libdirac decoding support in preference
to the schroedinger module which is designed to be much faster.
This patch corrects previous attempts at doing an encoder module. It
takes into account:
- input PTS
- correctly forming output pts&dts (progressive and field coding modes)
- gathering dirac data units into encapsulation units
- encoder options
- simplified encoder options (block overlap)
- choosing of suitable parameters from input frame parameters
- OggDirac compliant stashing of headers in p_extra
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk> Signed-off-by: Laurent Aimar <fenrir@videolan.org>