aboutsummaryrefslogtreecommitdiffhomepage
path: root/stream/cache2.c
Commit message (Collapse)AuthorAge
* cache2: flush cache and sync stream position/eof after seeking STREAM_CTRLsGravatar mplayer-svn2012-08-03
| | | | | | | | | | | | | | | | | | | | This avoid some strange differences in behaviour between -cache and -nocache. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34461 b3059339-0415-0410-9bf9-f77b7e298cf2 cache2: fix seeking with e.g. flv files This is a regression that was introduced in r34461. Found and bisected by Anssi Hannula [anssi.hannula iki fi]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34575 b3059339-0415-0410-9bf9-f77b7e298cf2 cache2: print an error when streams behave in a way that the cache cannot handle git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34576 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar
* cache2: make cache process exit when main process diesGravatar mplayer-svn2012-08-03
| | | | | | | | Make cache process detect when the main process disappeared and make it exit on its own in that case. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34371 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar
* cache2: make warnings easier to understandGravatar mplayer-svn2012-08-03
| | | | | | | | | | | | Mark two warnings that usually only indicate a performance issue as such. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33955 b3059339-0415-0410-9bf9-f77b7e298cf2 Another attempt to make message easier to understand. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33956 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar
* mplayer: rip out --capture supportGravatar wm42012-08-02
| | | | | | | While this was an interesting idea, it wasn't actually useful. Basically it dumped the raw data (as requested by the demuxer) into a file. The result is only useful if the file format was raw or maybe some MPEG packet stream, but not with most modern file formats.
* build: remove OS/2 supportGravatar Uoti Urpala2012-04-06
|
* cleanup: Silence compilation warnings on MinGW-w64Gravatar wm42012-03-01
| | | | | | | | | | | | | | | | | | | Some of the code, especially the dshow and windows codec loader parts, are extremely hacky and likely full of bugs. The goal is merely getting rid of warnings that could obscure more important warnings and actual bugs, instead of fixing actual problems. This reduces the number of warnings from over 500 to almost the same as when compiling on Linux. Note that many problems stem from using the ancient wine-derived windows headers. There are some differences to the "proper" windows header. Changing the code to compile with the proper headers would be too much trouble, and it still has to work on Unix. Some of the changes might actually break compilation on legacy MinGW, but we don't support that anymore. Always use MinGW-w64, even when compiling to 32 bit. Fixes some warnings in the win32 loader code on Linux too.
* cache: don't modify argument when stream control failsGravatar reimar2011-07-06
| | | | | | | | | | | | | | | When handling STREAM_CTRL calls for the cached stream, do not modify the return parameter if the underlying stream returns an error for the operation. Avoids issues with some places that don't check the return value of stream_control. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33802 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove condition that is now always true. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33803 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: allow STREAM_CTRL_GET_CURRENT_TIME with cacheGravatar reimar2011-07-06
| | | | | | | | | | | | | Change code to allow STREAM_CTRL_GET_CURRENT_TIME with cache enabled. Due to that time being from what is currently read into the cache it is unfortunately somewhat inaccurate and unsmooth, however for streams that do have stream timestamps it is till a lot better than going by the demuxer alone. In particular it fixes bug #1081, when starting a DVD with -chapter following seeks would be relative to the start of the DVD instead of the current position. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33605 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: cache2.c: Fix commentGravatar reimar2011-07-06
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33600 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache2.c: Avoid warnings about discarding volatileGravatar reimar2011-06-29
| | | | | | | | | In practice this should not really make a difference, but the code is not significantly worse and it is more correct. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33435 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33447 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: call stream read with at least sector size spaceGravatar reimar2011-05-01
| | | | | | | | | | | | Ensure we always pass a buffer of at least sector size to the read function. This is never an issue with streams that have actual sectors, as the reads will always return a multiple of sector size and the cache is always used in blocks of sector size. However the rtp protocol misuses this so it can just assume it always has a sufficiently large buffer available and thus fails without this extra hack. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33120 b3059339-0415-0410-9bf9-f77b7e298cf2
* terminal output: show cache fill changes in "PAUSED" messageGravatar reimar2011-02-15
| | | | | | | | | | | Convert cache_fill_status into a function so we always get the latest state, not whatever it was after the last read. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32818 b3059339-0415-0410-9bf9-f77b7e298cf2 Update PAUSED status line with cache fill status if it changed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32819 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: suggest increasing cache size in the "not filling!" messageGravatar reimar2011-01-31
| | | | | | | Change "cache not filling" warning to include a hint to increase the cache size. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32815 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: read up to 64 KiB at once from stream_fileGravatar reimar2010-11-14
| | | | | | | | | Make the file protocol read up to 64 KiB at once when the cache is used, assuming that files will generally be readable with high bandwidth. This should improve performance when playing e.g. from high-latency network shares. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32616 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache, stream: avoid extra memcpy when using cacheGravatar reimar2010-11-07
| | | | | | | | | | Add a stream_read_internal() function that reads directly into a given buffer instead of the stream's internal one. Use this to read directly into cache memory, avoiding a memcpy(). This requires also adding a stream_seek_internal() as the normal seek function reads into the stream's buffer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32559 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: cache2.c: Remove some irrelevant commented-out codeGravatar reimar2010-11-07
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32555 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add a simple capture feature (-capture)Gravatar Uoti Urpala2010-11-02
| | | | | | | | | | | | | | | | | If a specified key is pressed during playback, the current stream is captured to a file, similar to what -dumpstream achieves. original patch by Pásztor Szilárd, don tricon hu Taken from the following svn commits, but with several fixes and modifications (one obvious user-visible difference is that the default key binding is 'C', not 'c'): git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32524 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32529 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32530 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: Remove unused cache_stats functionGravatar diego2010-11-02
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32121 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: add sanity-check for sector sizeGravatar reimar2010-11-02
| | | | | | | Add sanity-check for sector size to avoid strange crashes if it is too large. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31914 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: Don't mess up current position if time-based seek failsGravatar reimar2010-11-02
| | | | | | | | Avoid STREAM_CTRL_SEEK_TO_TIME messing up the current position for stream types which do not support it. Fixes seeking in local flv files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31907 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: Use sigaction() instead of signal()Gravatar reimar2010-11-02
| | | | | | | | | | | Signal() has an unavoidable race-condition on "broken by backwards-compatibility" systems like Solaris. (Upon receiving a signal, the handler is reset to SIG_DFL, thus a second signal will kill the process. The problem could also be reduced by re-installing the handler inside the handler, but there's still a race-condition and the risk of the handler being called inside the handler). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31738 b3059339-0415-0410-9bf9-f77b7e298cf2
* cache: Respect -cache-seek-min also for on-disk filesGravatar reimar2010-11-02
| | | | | | | Should reduce issues with mp4/mov (playing those may involve a lot of seeking inside the file). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31371 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge svn changes up to r31256Gravatar Uoti Urpala2010-05-30
|\
* \ Merge svn changes up to r31244Gravatar Uoti Urpala2010-05-30
|\ \
* \ \ Merge svn changes up to r31226Gravatar Uoti Urpala2010-05-30
|\ \ \
* \ \ \ Merge svn changes up to r31211Gravatar Uoti Urpala2010-05-30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | The merged cache2.c changes are known to have problems. Will merge further fixes to them before merging this to the master branch.
* | | | | cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf"Gravatar Uoti Urpala2010-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 'struct vf_instance' pointer arguments to more standard style as in the subject. Also some other minor formatting fixes. Patch by Diego Biurrun.
| | | | * Fix typo in message.Gravatar reimar2010-05-28
| | | | | | | | | | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31256 b3059339-0415-0410-9bf9-f77b7e298cf2
| | | | * 100l, stream_check_for_interrupt argument is not in usec,Gravatar reimar2010-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so we would end up sleeping for 10s instead of 10ms. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31254 b3059339-0415-0410-9bf9-f77b7e298cf2
| | | | * Improve handling of cache process/thread hanging/being killed.Gravatar reimar2010-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular allow a single STRG+C to quit MPlayer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31251 b3059339-0415-0410-9bf9-f77b7e298cf2
| | | | * Fix cache process accidentally being killed by SIGUSR1.Gravatar reimar2010-05-28
| | | |/ | | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31250 b3059339-0415-0410-9bf9-f77b7e298cf2
| | | * Fix a bunch of typos in the stream cache code.Gravatar diego2010-05-27
| | |/ | | | | | | | | | | | | | | | | | | patch by Giorgio Vazzana, mywing81 gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31242 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * Retry reading even if we hit eof before.Gravatar reimar2010-05-26
| | | | | | | | | | | | | | | | | | | | | This allows playing growing files even with a large cache. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31226 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * Re-enable wakeup-on-signal for cache process.Gravatar reimar2010-05-26
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31224 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * Disable waking the cache process up via a signal, itGravatar reimar2010-05-26
| |/ | | | | | | | | | | | | currently causes read errors due to not handling EINTR. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31223 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Slightly reduce number of #ifsGravatar reimar2010-05-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31204 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use an extra define to simplify ifdefsGravatar reimar2010-05-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31203 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Try reducing the #ifdef mess for the different cache variants.Gravatar reimar2010-05-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31202 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Extract the cache main loop into a separate function.Gravatar reimar2010-05-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31201 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Optimize cache behaviour for the many-consecutive-seeks case.Gravatar reimar2010-05-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31199 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add code to wake up cache process when e.g. a seek is needed.Gravatar reimar2010-05-23
| | | | | | | | | | | | | | | | Dramatically reduces seeking times with lavf ogg demuxer. Needs a spearate implementation for the thread-based cache implementation. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31198 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Delete things related to old translation systemGravatar Uoti Urpala2010-03-10
| | | | | | | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* | Merge svn changes up to r30798Gravatar Uoti Urpala2010-03-10
|\|
* | Merge svn changes up to r30475Gravatar Uoti Urpala2010-03-09
|\ \
* | | Restore collapsed whitespace in output messagesGravatar Uoti Urpala2010-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason commit e306174952d42e1cd6cc5efc50ae6bb0410501bc, which replaced translation macro names with the corresponding English strings, also collapsed multiple consecutive space characters into one. Change most of these back. In a couple of cases the amount of whitespace is important for alignment, and for the rest it at least keeps the strings closer to the existing translations.
| | * Threaded cache fixes: do not free the stream_t struct twice on windowsGravatar reimar2010-02-27
| | | | | | | | | | | | | | | | | | | | | | | | and make sure the cache thread quits also for streams without a control function (e.g. http). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30773 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * Restructure #ifs to be clearer, also ensures that we return from the threadGravatar reimar2010-02-27
| | | | | | | | | | | | | | | | | | | | | proc instead of calling exit() on __MINGW32__. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30754 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * Remove declarations of functions now already declared in stream.hGravatar reimar2010-02-25
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30733 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * stream: Mark functions not used outside of their files as static.Gravatar diego2010-02-16
| |/ | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30599 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add license header to all files missing it in the stream subdirectory.Gravatar diego2010-01-30
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30468 b3059339-0415-0410-9bf9-f77b7e298cf2