mpv/core
wm4 7c4202b863 cache: make the stream cache a proper stream that wraps other streams
Before this commit, the cache was franken-hacked on top of the stream
API. You had to use special functions (like cache_stream_fill_buffer()
instead of stream_fill_buffer()), which would access the stream in a
cached manner.

The whole idea about the previous design was that the cache runs in a
thread or in a forked process, while the cache awa functions made sure
the stream instance looked consistent to the user. If you used the
normal functions instead of the special ones while the cache was
running, you were out of luck.

Make it a bit more reasonable by turning the cache into a stream on its
own. This makes it behave exactly like a normal stream. The stream
callbacks call into the original (uncached) stream to do work. No
special cache functions or redirections are needed. The only different
thing about cache streams is that they are created by special functions,
instead of being part of the auto_open_streams[] array.

To make things simpler, remove the threading implementation, which was
messed into the code. The threading code could perhaps be kept, but I
don't really want to have to worry about this special case. A proper
threaded implementation will be added later.

Remove the cache enabling code from stream_radio.c. Since enabling the
cache involves replacing the old stream with a new one, the code as-is
can't be kept. It would be easily possible to enable the cache by
requesting a cache size (which is also much simpler). But nobody uses
stream_radio.c and I can't even test this thing, and the cache is
probably not really important for it either.
2013-06-16 22:05:09 +02:00
..
input command: replace some show_ commands with properties 2013-06-07 18:00:34 +02:00
timeline cache: make the stream cache a proper stream that wraps other streams 2013-06-16 22:05:09 +02:00
asxparser.c
asxparser.h
av_common.c core: add common function to initialize AVPacket 2013-06-03 22:40:07 +02:00
av_common.h core: add common function to initialize AVPacket 2013-06-03 22:40:07 +02:00
av_log.c vf_lavfi: add libavfilter bridge 2013-04-21 04:39:58 +02:00
av_log.h
av_opts.c vf_lavfi: allow setting avopts 2013-05-26 16:44:18 +02:00
av_opts.h
bstr.c bstr: add bstrspn() 2013-04-21 03:47:05 +02:00
bstr.h bstr: add bstrto0() 2013-04-21 03:47:05 +02:00
codecs.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
codecs.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
command.c command: replace some show_ commands with properties 2013-06-07 18:00:34 +02:00
command.h command: give feedback on the OSD if a property is unavailable 2013-02-16 21:41:24 +01:00
cpudetect.c
cpudetect.h
encode.h Remove vo_fps global variable 2013-03-04 22:21:57 +01:00
encode_lavc.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
encode_lavc.h Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
m_config.c options: use case-sensitive comparsion for options 2013-05-15 15:30:06 +02:00
m_config.h core: add --reset-on-next-file option 2013-04-10 21:32:46 +02:00
m_option.c m_option: allow setting empty lists 2013-06-07 17:05:07 +02:00
m_option.h m_option, vf: add label support 2013-05-23 01:02:24 +02:00
m_property.c input: make input command deprecation warnings visible 2013-03-26 01:29:38 +01:00
m_property.h
m_struct.c
m_struct.h
mp_common.c cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_common.h cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_core.h core: make options.c compile standalone 2013-06-08 17:08:20 +02:00
mp_fifo.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
mp_fifo.h
mp_msg.c encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_msg.h encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_osd.h osd: always update already visible OSD bar on seeks 2013-02-16 20:50:05 +01:00
mp_talloc.h video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
mplayer.c cache: make the stream cache a proper stream that wraps other streams 2013-06-16 22:05:09 +02:00
mplayer.h sub: redo how -no-ass is handled 2013-05-30 22:20:02 +02:00
options.c core: make options.c compile standalone 2013-06-08 17:08:20 +02:00
options.h core: make options.c compile standalone 2013-06-08 17:08:20 +02:00
parser-cfg.c parser-cfg: fix profile-desc 2013-02-18 17:01:25 +01:00
parser-cfg.h
parser-mpcmd.c options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
parser-mpcmd.h options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
path.c core: support mpv directory itself as a valid location for config files on Windows 2013-05-23 01:01:41 +02:00
path.h core: add playback resume feature (manual/opt-in) 2013-05-05 20:08:11 +02:00
playlist.c
playlist.h
playlist_parser.c options: rename -ss and -endpos, allow relative times 2012-11-16 21:21:15 +01:00
playlist_parser.h
quvi.c Fix lots of bugs in mp_http URL handling 2013-01-10 14:11:26 +01:00
screenshot.c screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
screenshot.h screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
subopt-helper.c
subopt-helper.h
version.c build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00