OSDN Git Service
Ramiro Polla [Fri, 9 Sep 2011 03:16:06 +0000 (00:16 -0300)]
dshow: cleanup internal references on capture interface
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:15:54 +0000 (00:15 -0300)]
dshow: release pin on disconnect
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:15:41 +0000 (00:15 -0300)]
doc: add documentation for dshow indev
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:15:22 +0000 (00:15 -0300)]
dshow: indent
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:15:14 +0000 (00:15 -0300)]
dshow: add option to list audio/video options
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:12:42 +0000 (00:12 -0300)]
dshow: add audio/video options
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:10:22 +0000 (00:10 -0300)]
dshow: initialize variable to prevent releasing random data
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Ramiro Polla [Fri, 9 Sep 2011 03:10:07 +0000 (00:10 -0300)]
dshow: factorise cycling through pins
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Michael Niedermayer [Fri, 16 Sep 2011 04:07:07 +0000 (06:07 +0200)]
libavfilter/formats.c: fix compile of test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 16 Sep 2011 03:33:28 +0000 (05:33 +0200)]
bintext: make decoder names unique
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 16 Sep 2011 03:31:46 +0000 (05:31 +0200)]
bintext: set buffer hints
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 16 Sep 2011 03:31:15 +0000 (05:31 +0200)]
bintext: fix possible x variable overflow.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 16 Sep 2011 03:30:36 +0000 (05:30 +0200)]
bintext: remove unneeded get_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Peter Ross [Fri, 16 Sep 2011 02:50:26 +0000 (04:50 +0200)]
Binary text decoder
Decoder and demuxer for various binary text formats.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Stefano Sabatini [Thu, 18 Aug 2011 13:26:21 +0000 (15:26 +0200)]
lavfi: add avfilter_all_channel_layouts public symbol
This list is mainly useful to be directly used as a parameter by the
audio sink buffer, when there is no need to force a specific channel
layout.
The list of formats is generated programmatically, and avoids channel
layouts not supported by libavfilter (with more than 8 channels).
We preferred to avoid compile-time generation in order to avoid some
unnecessary complexity (build hacks, generating code maintainance
etc.).
A more compact way to express this list through the use of macros
should be possible when libavfilter will support more than 8 channels,
as there will be no need to filter out channel layouts with more than
8 channels.
See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: add ff_all_channel_layouts internal symbol
Date: Sat, 20 Aug 2011 15:33:16 +0200
Stefano Sabatini [Mon, 12 Sep 2011 23:46:29 +0000 (01:46 +0200)]
lavfi: rename avfilter_all_* function names to avfilter_make_all_*
A function name should tell what the function does rather than what
the function returns. This also avoids possible conflicts
(e.g. between a function and a public list of all supported formats),
and clarifies the code.
Breaks audio API/ABI, add a backward compatibility layer for video
API/ABI.
Stefano Sabatini [Thu, 15 Sep 2011 22:14:51 +0000 (00:14 +0200)]
APIchanges: remove prores decoder addition entry
It is not an API change.
Michael Niedermayer [Thu, 15 Sep 2011 21:10:16 +0000 (23:10 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
swscale: fix byte overreads in SSE-optimized hscale().
matroskadec: fix typo.
matroskadec: bail on parsing of incorrect seek index segments
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 15 Sep 2011 21:01:04 +0000 (23:01 +0200)]
mpegts: make sure the "standard" code doesnt override the probing with NONE/DATA.
Fixes video stream detection in vid_0x80.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ingo Brückl [Thu, 15 Sep 2011 14:19:05 +0000 (16:19 +0200)]
Correct determination of file size and frames in VBRI headers
The fields "Number of Bytes" and "Number of Frames" are mixed up. "Bytes"
come first, "Frames" behind.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Elvis Presley [Thu, 15 Sep 2011 15:07:00 +0000 (17:07 +0200)]
configure: require gplv2 for prores
Signed-off-by: Elvis Presley <elvis@e.p>
Elvis Presley [Thu, 15 Sep 2011 15:06:21 +0000 (17:06 +0200)]
configure: add GPLv2 support (needed for ProRes)
Signed-off-by: Elvis Presley <elvis@e.p>
Ronald S. Bultje [Thu, 15 Sep 2011 14:30:34 +0000 (07:30 -0700)]
swscale: fix byte overreads in SSE-optimized hscale().
SSE-optimized hScale() scales up to 4 pixels at once, so we need to
allocate up to 3 padding pixels to prevent overreads. This fixes
valgrind errors in various swscale-tests on fate.
Elvis Presley [Thu, 15 Sep 2011 04:01:15 +0000 (06:01 +0200)]
Revert "get_bits: remove x86 inline asm in A32 bitstream reader"
This reverts commit
23ce6e72123a40895baaeefeb27c7c18748bd67e.
Elvis Presley [Thu, 15 Sep 2011 03:50:44 +0000 (05:50 +0200)]
ProRes Decoder
Signed-off-by: Elvis Presley <elvis@e.p>
Dustin Brody [Thu, 15 Sep 2011 07:34:38 +0000 (09:34 +0200)]
matroskadec: fix typo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Dustin Brody [Thu, 8 Sep 2011 22:43:32 +0000 (18:43 -0400)]
matroskadec: bail on parsing of incorrect seek index segments
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Michael Niedermayer [Thu, 15 Sep 2011 02:12:32 +0000 (04:12 +0200)]
mjpeg: interlaced buggy avid fix
Fix Ticket362
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 15 Sep 2011 01:04:28 +0000 (03:04 +0200)]
mjpegdec: fix len for AVI1 reader
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 15 Sep 2011 01:03:33 +0000 (03:03 +0200)]
Revert "MJPEG: emulate EOI also on two consecutive SOI."
This causes Ticket463, fix will be in the next commits
This reverts commit
5e2ea138b7c4c7f3910837611338bb3b8b761045.
Michael Niedermayer [Wed, 14 Sep 2011 19:57:24 +0000 (21:57 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
lavf utils: Remove write-only variable
lavf utils: Rename shadowing variable
smacker: fix a few off by 1 errors
Check for invalid VLC value in smacker decoder.
Check and propagate errors when VLC trees cannot be built in smacker decoder.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 14 Sep 2011 18:48:00 +0000 (20:48 +0200)]
h264: allow disabling bitstream overread protection by using the fast flag.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Joakim Plate [Mon, 12 Sep 2011 23:02:48 +0000 (01:02 +0200)]
Don't override duration from file header with bitrate duration
This is most noticable on matroska files which has duration
as part of it's header.
Joakim Plate [Wed, 14 Sep 2011 17:43:38 +0000 (19:43 +0200)]
[yop] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:42:33 +0000 (19:42 +0200)]
[wtv] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:33:20 +0000 (19:33 +0200)]
[tta] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:33:05 +0000 (19:33 +0200)]
[tmv] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:32:29 +0000 (19:32 +0200)]
[r3d] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:26:57 +0000 (19:26 +0200)]
[nsv] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:26:48 +0000 (19:26 +0200)]
[mxfdec] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:26:32 +0000 (19:26 +0200)]
[mpc8] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:25:43 +0000 (19:25 +0200)]
[jvd] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:25:18 +0000 (19:25 +0200)]
[filmstrip] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:24:55 +0000 (19:24 +0200)]
[ffmdec] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:24:25 +0000 (19:24 +0200)]
[dv] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:24:07 +0000 (19:24 +0200)]
[cafdec] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate [Wed, 14 Sep 2011 17:23:39 +0000 (19:23 +0200)]
[bink] Check return value of avio_seek and avoid modifying state if it fails
Alex Converse [Tue, 13 Sep 2011 22:27:01 +0000 (15:27 -0700)]
lavf utils: Remove write-only variable
Alex Converse [Tue, 13 Sep 2011 22:26:25 +0000 (15:26 -0700)]
lavf utils: Rename shadowing variable
Michael Niedermayer [Wed, 14 Sep 2011 15:46:49 +0000 (17:46 +0200)]
Merge remote-tracking branch 'hexene/scratchpad'
* hexene/scratchpad:
libstagefright: Explicitly free smart pointer objects
Changelog: Explain why C++ support is added, and that its optional
tools/build_libstagefright: rename build/libav to something neutral
Conflicts:
Changelog
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Mohamed Naufal [Wed, 14 Sep 2011 15:31:07 +0000 (21:01 +0530)]
libstagefright: Explicitly free smart pointer objects
Michael Niedermayer [Wed, 14 Sep 2011 00:35:28 +0000 (02:35 +0200)]
Changelog: Explain why C++ support is added, and that its optional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
elupus [Wed, 27 Aug 2008 18:44:16 +0000 (20:44 +0200)]
make mpegts_get_pcr resync if it's not on a valid mpegts packet
elupus [Wed, 27 Aug 2008 18:08:20 +0000 (20:08 +0200)]
cosmetic reindent of mpegts_get_pcr
elupus [Wed, 27 Aug 2008 18:07:51 +0000 (20:07 +0200)]
check return value of url_fseek in mpegts_get_pcr
elupus [Wed, 27 Aug 2008 18:07:11 +0000 (20:07 +0200)]
respect the maximum position mpegts_get_pcr is allowed to seek to
elupus [Wed, 27 Aug 2008 17:57:45 +0000 (19:57 +0200)]
remove unused code in mpegts_get_pcr
Michael Niedermayer [Wed, 14 Sep 2011 00:33:50 +0000 (02:33 +0200)]
tools/build_libstagefright: rename build/libav to something neutral
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 14 Sep 2011 12:56:59 +0000 (14:56 +0200)]
ffplay: dont drop all frames if realtime decoding is impossible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 21:24:56 +0000 (23:24 +0200)]
smacker: fix a few off by 1 errors
stereo & 16bit is untested due to lack of samples
Signed-off-by: Martin Storsjö <martin@martin.st>
Laurent Aimar [Mon, 12 Sep 2011 21:49:36 +0000 (23:49 +0200)]
Check for invalid VLC value in smacker decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
Laurent Aimar [Mon, 12 Sep 2011 21:46:49 +0000 (23:46 +0200)]
Check and propagate errors when VLC trees cannot be built in smacker decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kelly Anderson [Wed, 14 Sep 2011 05:14:37 +0000 (07:14 +0200)]
dvdsubdec: fix bad free in dvdsub_init
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 23:23:16 +0000 (01:23 +0200)]
Merge remote-tracking branch 'hexene/scratchpad'
* hexene/scratchpad:
Move & Rename buildscript, remove tabs
Fix regular build
Support (H/W accelerated) H.264 decoding on Android via Stagefright
Add build-script for Android
C++ Support ;)
Conflicts:
Changelog
Makefile
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Carl Eugen Hoyos [Tue, 13 Sep 2011 23:21:15 +0000 (01:21 +0200)]
Muxing WTV is supported.
Michael Niedermayer [Tue, 13 Sep 2011 23:08:01 +0000 (01:08 +0200)]
wtvenc: add some asserts because iam paranoid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
zhentan feng [Tue, 13 Sep 2011 09:54:44 +0000 (17:54 +0800)]
WTV muxer (2_wtvenc.patch, 3_add_wtv_muxer.patch)
Michael Niedermayer [Tue, 13 Sep 2011 22:32:18 +0000 (00:32 +0200)]
swscale: drop redundant code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 22:18:16 +0000 (00:18 +0200)]
swscale: add 14bit support to the "MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 22:05:19 +0000 (00:05 +0200)]
swscale: remove unused and forgotten file.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 21:56:13 +0000 (23:56 +0200)]
Revert "Check if dxva2api.h is recent enough to compile vc1_dxva2_hwaccel."
This reverts commit
9104cd5161ec7cb31361f3dabd73a8a813d4f7d0.
Revert requested by ramiro
Conflicts:
configure
Michael Niedermayer [Tue, 13 Sep 2011 21:52:43 +0000 (23:52 +0200)]
doc/ffmpeg: s/avserver/ffserver/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 21:31:17 +0000 (23:31 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling.
include stdint.h in adpcm_data.h
mpeg12: reorder functions to avoid ugly forward declarations
Fixed off by one packet size allocation in the smacker demuxer.
Check for invalid packet size in the smacker demuxer.
ape demuxer: fix segfault on memory allocation failure.
xan: Add some buffer checks
xan: Remove extra trailing newline
Fixed size given to init_get_bits() in xan decoder.
Conflicts:
libavcodec/mpeg12.c
libswscale/x86/swscale_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Clément Bœsch [Tue, 13 Sep 2011 20:47:30 +0000 (22:47 +0200)]
ffprobe: rename print_{int,str}_f callbacks to print_{integer,string}.
Renamed for consistency. Also, since print_int() and print_str() are
already defined as macros, the long name version is preferred.
Clément Bœsch [Tue, 13 Sep 2011 20:37:54 +0000 (22:37 +0200)]
ffprobe: add JSON output printing format.
Clément Bœsch [Mon, 12 Sep 2011 17:22:53 +0000 (19:22 +0200)]
ffprobe: replace fmt callback with str callback.
Having a string callback is much more simpler than a variable args
one for writers to deal with, especially when dealing with escaping.
This patch also introduces a local fast_asprintf() function which is
similar to av_asprintf() but avoids reallocating at each print (leading
to a performance issue).
Michael Niedermayer [Tue, 13 Sep 2011 18:34:19 +0000 (20:34 +0200)]
Merge avconv.texi in ffmpeg.texi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ronald S. Bultje [Tue, 13 Sep 2011 16:53:42 +0000 (09:53 -0700)]
sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling.
Speed: from 3.9x to 9.6x speed improvement over C, and some small
(up to 15%) speed improvements over existing MMX code (particularly
for bigger filters).
Michael Niedermayer [Tue, 13 Sep 2011 15:29:49 +0000 (17:29 +0200)]
configure: slightly more robust looking check for math functions.
I dont know on which system the prior check failed but an advanced
linker on some platform might have optimized func() out as unreachable.
Patch taken from http://floss.freebox.fr
Author: unknown
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 03:13:34 +0000 (05:13 +0200)]
ffmpeg: fix video synchronization code to be exact on constant fps videos. Fixes Ticket137
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Justin Ruggles [Tue, 13 Sep 2011 14:59:47 +0000 (10:59 -0400)]
include stdint.h in adpcm_data.h
fixes make checkheaders
Diego Biurrun [Thu, 8 Sep 2011 17:19:18 +0000 (19:19 +0200)]
mpeg12: reorder functions to avoid ugly forward declarations
Michael Niedermayer [Tue, 13 Sep 2011 13:03:59 +0000 (15:03 +0200)]
ffplay: remove thread command line option code, it is unneeded for -threads X to work.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 12:40:13 +0000 (14:40 +0200)]
avcodec: move "thread emulation" warning to common code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Carl Eugen Hoyos [Tue, 13 Sep 2011 08:11:16 +0000 (10:11 +0200)]
Fix false positive when detecting dxva2.
Michael Niedermayer [Tue, 13 Sep 2011 02:27:41 +0000 (04:27 +0200)]
libavformat/utils: print ts in the "invalid dts/pts combination" case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 13 Sep 2011 01:52:30 +0000 (03:52 +0200)]
vf_remove_logo: domt access vf->next->query_format() directly but use the API.
This fixes a crash
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 12 Sep 2011 23:14:44 +0000 (01:14 +0200)]
smacker: fix a few off by 1 errors
stereo & 16bit is untested due to lack of samples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Joakim Plate [Mon, 12 Sep 2011 19:11:15 +0000 (21:11 +0200)]
dvdsubdec: Move colormap and alpha to context
This makes it rememember old values should the stream not
contain new values for these for each subtitle.
Michael Niedermayer [Mon, 12 Sep 2011 21:45:21 +0000 (23:45 +0200)]
smacker: add forgotten *
found by fenrir
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Laurent Aimar [Mon, 12 Sep 2011 18:50:34 +0000 (20:50 +0200)]
Fixed off by one packet size allocation in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Laurent Aimar [Mon, 12 Sep 2011 18:50:13 +0000 (20:50 +0200)]
Check for invalid packet size in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrew Wason [Mon, 12 Sep 2011 19:55:34 +0000 (15:55 -0400)]
libx264: fix overwriting presets with flags2
This fixes overwriting x264 preset settings for flags2 based options.
See https://ffmpeg.org/trac/ffmpeg/ticket/448
Joakim Plate [Mon, 12 Sep 2011 19:35:32 +0000 (21:35 +0200)]
asf: only try to read asf index once
This avoid retrying to read ASF index in files for every
attempt to seek. This makes a big difference to protocols
with slow seeking (for example http)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Stefano Sabatini [Mon, 12 Sep 2011 19:59:00 +0000 (21:59 +0200)]
lavfi: bump minor and update APIchanges after recent updates
These changes were forgotten in commits:
lavfi: simplify signature for avfilter_get_audio_buffer() and friends
(commit
2c0317419bc8c7f28496d5181d951bbe8837071f)
and
lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
(commit
4381bddc9f93da34a44e683bdc4c05c6f061244e)
Laurent Aimar [Mon, 12 Sep 2011 19:09:57 +0000 (21:09 +0200)]
segafilm: Fix potential division by 0 on corrupted segafilm streams in the demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Laurent Aimar [Mon, 12 Sep 2011 18:58:35 +0000 (20:58 +0200)]
segafilm: Check for memory allocation failures in segafilm demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Andrew Wason [Mon, 12 Sep 2011 19:08:45 +0000 (15:08 -0400)]
libx264: fix overwriting preset rc_lookahead
This fixes https://ffmpeg.org/trac/ffmpeg/ticket/448 - at least for
rc_lookahead. A similar problem still exists for the flags2 based
options.
Joakim Plate [Sun, 11 Sep 2011 17:02:09 +0000 (19:02 +0200)]
dvdsubdec: Support palette information for vobsub's stored as text in extradata
This is how mkv's store palette information for vobsubs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Laurent Aimar [Sun, 11 Sep 2011 17:17:40 +0000 (19:17 +0200)]
ape demuxer: fix segfault on memory allocation failure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>