aboutsummaryrefslogtreecommitdiffhomepage
path: root/common/av_log.c
Commit message (Collapse)AuthorAge
* player: fatal error if linked and compiled FFmpeg versions mismatchGravatar wm42016-07-01
| | | | | | | | | We don't support this anymore. This tries to exit in a controlled way after command line options are applied in order to honor logging options and, in case of libmpv, not to kill the host. Not sure if it would be better to just vomit text to stderr and call abort().
* av_log: readd ffmpeg library runtime version mismatch warningGravatar wm42016-05-01
| | | | It just happens far too often.
* av_log: avoid partial linesGravatar wm42016-03-01
| | | | | | | | | | | | | We want to add a prefix to the ffmpeg log message, so we called mp_msg multiple times until now. But logging such partial lines is a race condition, because there's only one internal mp_msg buffer, and no external mp_msg locks. Avoid this by building the message on a stack buffer. I might make a mp_log-local partial line buffer, but even then av_log() can be called from multiple threads, while targetting the same mp_log. (Really, ffmpeg's log API needs to be fixed.)
* build: make libavfilter mandatoryGravatar wm42016-02-05
| | | | | | The complex filter support that will be added makes much more complex use of libavfilter, and I'm not going to bother with adding hacks to keep libavfilter optional.
* av_log: remove dumb shitGravatar wm42015-07-18
| | | | | | | It's the user's fault if he/she/it does something that is not recommended. Fixes #2110.
* av_log: print FFmpeg versionGravatar wm42015-07-03
| | | | | The individual library versionsd are pretty useless. This will actually tell us at least the git hash or git tag of the FFmpeg build.
* av_log: skip prefix if unknownGravatar wm42015-06-20
| | | | | | | | This happens with av_log(NULL, ...) calls. Drop the "?: " fallback prefix, because it was confusing. (Of course FFmpeg should not do this at all, but it's a very long way to making the FFmpeg log callback sane.)
* av_log: set default av_log callback on exitGravatar wm42015-06-17
| | | | | | | | | | | | This is slightly "dangerous", because it could overwrite a log callback another library has set, after we've set our own callback. But it's probably still slightly better than leaving our own callback, which will run the fallback code if no mpv instance is set. (Multiple mpv instances sharing the same global state will safely avoid overwriting each other's log callback.) Note that we can't do much better, because the global state in FFmpeg is obviously insane.
* Update license headersGravatar Marcin Kurczewski2015-04-13
| | | | Signed-off-by: wm4 <wm4@nowhere>
* player: drop explicit exit() callsGravatar wm42015-02-12
| | | | | | | | | The code in main.c calls exit() explicitly, but the code is actually easier to follow by simply exiting from main() instead. The exit() call in av_log.c happens only on severely broken builds, so replace it with abort(). (Shuts up rpmlint warnings.)
* av_log: add tons of warnings against mismatched ffmpeg/libav librariesGravatar wm42014-02-10
| | | | | | | | | | | | | Print a warning if a library has mismatched compile time and link time versions. Refuse to work if the compile time and link time versions are a mix of ffmpeg and libav. We print an error message and call exit(). Since we'd randomly crash anyway, I think this is ok. This doesn't catch the case if you e.g. use a ffmpeg libavcodec and a libav libavformat, which would of course just crash as quickly, but I think this checks enough already.
* av_log: restructure version printing codeGravatar wm42014-02-10
| | | | Makes the following commit simpler.
* msg: rename mp_msg_log -> mp_msgGravatar wm42013-12-21
| | | | Same for companion functions.
* msg: convert defines to enumGravatar wm42013-12-21
| | | | Also get rid of MSGL_HINT and the many MSGL_DBG* levels.
* av_log: mp_msg conversionGravatar wm42013-12-21
| | | | | | | | This is pretty nasty, because FFmpeg/Libav is yet another library with a global message callback. We do something with mutexes trying to get it done, but of course we can't actually solve this problem. If more than one library in a process use FFmpeg/Libav, only one of them will get log messages.
* m_option, m_config: mp_msg conversionsGravatar wm42013-12-21
| | | | | | | | Always pass around mp_log contexts in the option parser code. This of course affects all users of this API as well. In stream.c, pass a mp_null_log, because we can't do it properly yet. This will be fixed later.
* Split mpvcore/ into common/, misc/, bstr/Gravatar wm42013-12-17