Laurent Aimar [Tue, 26 Aug 2008 19:35:25 +0000 (21:35 +0200)]
Added new stream_out record module.
The record module:
- automatically selects the right muxer and filename extension by
looking the ES codec. In case it fails, it probes directly the
muxers and keeps the better one.
- removes all ES packets until the first key frame.
- truncates the ES without key frame to match the start time of
the other tracks.
Laurent Aimar [Tue, 26 Aug 2008 10:54:18 +0000 (12:54 +0200)]
Added record support at the stream_t level in core.
The record access_filter will become useless as soon as all demuxers that can
support it will be modified.
The record support is half done. I will also add es_out_t record functionnalities,
and a way to selected one of them if both are supported.
Preliminary changes to fix postprocessing. Decoder quantizer settings can now be exported in the picture_t struct. Currently only works if the video is being decoded by ffmpeg since other codecs don't expose quantizer stuff. Please review.
Revert "Win32: show the console (early) in debug builds"
Claims that it breaks VLC. If that is the case, I have to beliebe the
Win32 port must have some really serious problem. By the way, this
commit was the only limited yet working way for me to debug on Win32.
Laurent Aimar [Mon, 25 Aug 2008 10:54:43 +0000 (12:54 +0200)]
Added DVB scan capability.
Only DVB-T tuner is supported (but it would be easy to add DVB-S/C).
The files scan.c/h are strictly independant of the DVB access and could
be reused for the DBA access if wanted.
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).
Derk-Jan Hartman [Mon, 25 Aug 2008 13:59:26 +0000 (15:59 +0200)]
macosx: Do NOT call config_SaveConfigFile() if you don't intend to save ALL the options that might have changed. If you want to autosave something, the config option needs to be marked with change_autosave() and the core will save the option.
Don't allocate and create the Capture Open Panel in open.
The Capture panel is sensibly slower than all the other ones and way less used by most people. Therefore, don't build it (especially for windows) unless you need it. Better for speed and memory.
Fix the reminiscence of some extended settings and work-around the lack of persistence of Equalizer settins between songs by deactiving the UI. At least it is consistent.
Hopefully fix #1910 'When I use the command "mrl playlist_add vlc_play", "playlist_add" used to return the index of the item added to the playlist wheras in the last nightly build, "playlist_add" just add 0 to the stack. Thus, "vlc_play" just play the first element of the playlist in spite of playing the desired file.' ... and fix an unrelated compilation warning which ended up being a bit more complex to fix than I though.