1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-26 09:02:38 +00:00
mpv/core
wm4 236577af09 cache: use threads instead of fork()
Basically rewrite all the code supporting the cache (i.e. anything other
than the ringbuffer logic). The underlying design is untouched.

Note that the old cache2.c (on which this code is based) already had a
threading implementation. This was mostly unused on Linux, and had some
problems, such as using shared volatile variables for communication and
uninterruptible timeouts, instead of using locks for synchronization.

This commit does use proper locking, while still retaining the way the
old cache worked. It's basically a big refactor.

Simplify the code too. Since we don't need to copy stream ctrl args
anymore (we're always guaranteed a shared address space now), lots of
annoying code just goes away. Likewise, we don't need to care about
sector sizes. The cache uses the high-level stream API to read from
other streams, and sector sizes are handled transparently.
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_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
encode.h Remove vo_fps global variable 2013-03-04 22:21:57 +01: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 cache: use threads instead of fork() 2013-06-16 22:05:09 +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_parser.c options: rename -ss and -endpos, allow relative times 2012-11-16 21:21:15 +01:00
playlist_parser.h
playlist.c
playlist.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