When using "-f x11grab -i :0.0" valgrind reports a definitely lost
memory block with this message:
==31544== 5 bytes in 1 blocks are definitely lost in loss record 1 of 2
==31544== at 0x4026E68: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31544== by 0x4026F17: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31544== by 0x60D399A: av_malloc (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
==31544== by 0x60D3A70: av_strdup (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
==31544== by 0x4A2BE58: ??? (in /usr/lib/x86_64-linux-gnu/libavdevice.so.53.2.0)
==31544== by 0x506D29E: avformat_open_input (in /usr/lib/x86_64-linux-gnu/libavformat.so.53.21.0)
==31544== by 0x400A80: main (in /home/ao2/WIP/am7xxx-play/tests/a.out)
The 5 bytes lost are the ones from param = av_strdup(":0.0"), so let's
free param in the exit path.
Also check the av_strdup() return value.
Note: calling av_free(param) even when av_strdup() fails and param is
NULL is OK and keeps the code simpler without adding another label to
skip av_free().
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.
Fixes a few invalid shifts.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The frame duration was calculated without taking in account the
bytes per sample.
Thanks to Lorenzo Pistone <blaffablaffa@gmail.com> for pointing
the issue and providing an initial fix.
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.
Instead use our own implementations that always treat the data
as ASCII.
Signed-off-by: Martin Storsjö <martin@martin.st>
It currently use the simple api and is using the latency information
provided only to offset the stream start.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
AVFormatParameters are converted into corresponding private options in
av_open_input_file/stream() compat wrappers, so accessing them from
demuxers is redundant.
-follow_mouse centered|PIXELS
move grabbing region to where mouse pointer at the center; or
only move when pointer reaches within PIXELS to the edge.
Signed-off-by: Yu-Jie Lin <livibetter@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
In testing, the file output plugin gave a max buffer size of about 20 million
frames, which is way more than what is really needed and causes a memory
allocation error on my system.
Show the invalid string in the error message.
While at it also prefer "Could not" over "Couldn't", plain forms are
preferred over contractions (simplify readability, especially for non
English-savvy people).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The variable is used for containing the parsed value of framerate,
using a lexically consistent name eases readability/understanding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The variable is used for containing the parsed value of framerate,
using a lexically consistent name eases readability/understanding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The variable is used for containing the parsed value of framerate,
using a lexically consistent name eases readability/understanding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The variable is used for containing the parsed value of s1->framerate,
using a lexically consistent name ease readability/understanding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Currently quad, 5.0, 5.1 and 7.1 are implemented.
Implementing support for other formats/layouts and capture should be
straightforward.
5.0 and 7.1 support by Carl Eugen Hoyos.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.
This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually. It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.
Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
Since the code already supports both little- and big-endian
audio for recording, do not fail just because the endianness is not
what we expect.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
timebase value already set in the driver, and set it back in the codec
stream, rather than leaving the invalid value of 0/0.
In particular, fix ffmpeg grabbing timestamps when the timebase value
is not set through the CLI.
Originally committed as revision 26224 to svn://svn.ffmpeg.org/ffmpeg/trunk
This new version:
1. Works on 24-bit and 32-bit input, not just 32-bit.
2. Doesn't try to run on 16-bit or 8-bit, instead of outright crashing.
3. Does proper alpha-blending, so cursor shadows look correct.
4. Doesn't swap R and B.
Mostly fixes issue 1997.
Fixes issue 2056.
Originally committed as revision 25690 to svn://svn.ffmpeg.org/ffmpeg/trunk
video4linux2 devices. This is used by Sensoray Model 2253 cards.
Patch by Pete Eberlein (pete AT sensoray DOT com)
Originally committed as revision 24759 to svn://svn.ffmpeg.org/ffmpeg/trunk
of failure return the stored value rather than the current errno,
which may be overwritten by a following call to close().
Originally committed as revision 23001 to svn://svn.ffmpeg.org/ffmpeg/trunk
function. Avoids the following warning:
libavdevice/v4l2.c: In function ‘v4l2_read_header’:
libavdevice/v4l2.c:586: warning: ‘codec_id’ may be used uninitialized in this function
Originally committed as revision 22986 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move check on frame size after the device is opened and after
device_try_init() is attempted. If the provided size value is 0x0,
perform a VIDIOC_G_FMT ioctl() on the device, which sets size to the
current settings.
Originally committed as revision 22971 to svn://svn.ffmpeg.org/ffmpeg/trunk
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
AVERROR(ENOMEM).
AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.
Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk