summaryrefslogtreecommitdiff
path: root/libavdevice
Commit message (Collapse)AuthorAge
* lavd/v4l2: simplify codeGiorgio Vazzana2013-03-09
| | | | | | | struct buff_data contains a pointer to struct video_data, so passing the file descriptor again is redundant. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavd/v4l2: correctly handle error conditions in mmap_read_frame()Giorgio Vazzana2013-03-09
| | | | | | | | | In particular: 1) save errno before it (possibly) gets overwritten by other calls 2) do not forget to enqueue the buffer again in case of error Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'Michael Niedermayer2013-03-08
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1afddbe59e96af75f1c07605afc95615569f388f': avpacket: use AVBuffer to allow refcounting the packets. Conflicts: libavcodec/avpacket.c libavcodec/utils.c libavdevice/v4l2.c libavformat/avidec.c libavformat/flacdec.c libavformat/id3v2.c libavformat/matroskaenc.c libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avpacket: use AVBuffer to allow refcounting the packets.Anton Khirnov2013-03-08
| | | | | | | | | | | | This will allow us to avoid copying the packets in many cases. This breaks ABI.
* | v4l2: fix regression that caused ffmpeg to occasionally get stuckMichael Niedermayer2013-03-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: copy frames into normally allocated packets whenever there is ↵Giorgio Vazzana2013-03-02
| | | | | | | | | | | | | | | | | | | | | | just one buffer left available This will avoid the possibility that we dequeue more buffers than we have obtained from the v4l2 driver. Fixes ticket #1570 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/lavfi: force probesize to cover at least 30 framesMichael Niedermayer2013-02-28
| | | | | | | | | | | | | | | | | | | | | | | | This ensures that fps and other values are estimated correctly, the probesize also is intended to limit disk/protocol reads which does not apply to lavfi inputs at all. Fixes Ticket1051 Something similar could be usefull to other input devices Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | v4l2: try to fix build on BSDMichael Niedermayer2013-02-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add yvu410 as a supported v4l2 input format.Carl Eugen Hoyos2013-02-17
| |
* | Add gray16 as a supported v4l2 input format.Carl Eugen Hoyos2013-02-17
| |
* | dshow: Fix MSVC support, remove av_export, which was apparently unneeded anyway.rogerdpack2013-02-15
| | | | | | | | | | | | Also cleanup exported symbols Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: fix error logic when enumerating standardsStefano Sabatini2013-02-10
| | | | | | | | | | | | | | Set ret to 0 before enumerating standards in v4l2_set_parameters(), avoid use of uninitialized variable. Regression introduced in 60950adc18fe145a235211e75da68ab07123fcaa.
* | lavd/v4l2: implement consistent error handlingStefano Sabatini2013-02-10
| | | | | | | | | | In particular, avoid use of non-thread-safe strerror(), and store errno before calling av_log().
* | dshow: allow for more codec ID'srogerdpack2013-01-16
| | | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
* | dshow: better error reportingrogerdpack2013-01-16
| | | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
* | dshow: fix log messagerogerdpack2013-01-16
| | | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
* | Merge remote-tracking branch 'origin/master' into combinedrogerdpack2013-01-15
|\ \
| * | lavd/alsa: simplify reordering functions definition.Nicolas George2013-02-02
| | |
| * | lavd/v4l2: read the correct time per frame from devices that support a standardGiorgio Vazzana2013-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally speaking, there are two types of v4l2 devices [1]: 1) devices that support a standard, like PAL or NTFS (tv cards, for example). For this class of devices the framerate is fixed by the standard (for example PAL uses 25 fps) and the v4l2 driver cannot usually negotiate a different framerate (unless it can skip frames on the driver side, to save I/O bandwidth). 2) devices for which the notion of standard does not make sense (webcams, for example). For these devices it is usually possibile to request a desidered framerate. In either case, the desidered frame rate can be requested when the VIDIOC_G_PARM ioctl returns the V4L2_CAP_TIMEPERFRAME flag in the capability field. Currently the code does not check for V4L2_CAP_TIMEPERFRAME and supports only the second category of devices, returning a time per frame of 0/0 for devices in the first group that do not permit to negotiate the framerate. This patch adds support to read the correct framerate in all cases. [1] http://linuxtv.org/downloads/v4l-dvb-apis/standard.html Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
| * | lavd/v4l2: add list_standards optionGiorgio Vazzana2013-01-31
| | | | | | | | | | | | | | | | | | | | | Since the user is expected to choose the standard by name (with -standard option), add the possibility to list all the supported standards. Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* | | hdyc colrogerdpack2013-01-15
| | | | | | | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
* | | dshow: use standardized raw pixel format lookuprogerdpack2013-01-15
|/ / | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
* | lavd/v4l2: use avcodec_find_decoder in list_formatsStephan Hilb2013-01-28
| | | | | | | | | | | | | | | | Because libavdevice/v4l2 is a demuxer, it makes sense to look for decoders instead of encoders when listing the formats supported by the device. Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* | lavd/v4l2: select input immediately after opening the deviceGiorgio Vazzana2013-01-27
| | | | | | | | | | | | | | | | | | | | | | | | After opening the device, the first thing we should do is selecting the input. This is because the image formats (VIDIOC_ENUM_FMT ioctl) and the standards (VIDIOC_ENUMSTD ioctl) supported may depend on the selected input ([1] and [2]). [1] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enum-fmt.html [2] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enumstd.html Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* | lavd/v4l2: sanitize logic of device_try_init(), so that it properly signal ↵Stefano Sabatini2013-01-27
| | | | | | | | | | | | | | | | | | errors Make device_try_init() return an error value, and allow to properly report errors which are not due to a wrong pixel/codec configuration. In particular, report intelligible feedback in case of busy device.
* | Merge commit '80ac87c13dc8c6c063e26a464c5c542357c0583f'Michael Niedermayer2013-01-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '80ac87c13dc8c6c063e26a464c5c542357c0583f': lavc: support ZenoXVID custom tag libcdio: support recent cdio-paranoia float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window theora: Skip zero-sized headers Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libcdio: support recent cdio-paranoiaLuca Barbato2013-01-17
| | | | | | | | | | Upstream decided to split the paranoia interface and move the headers accordingly.
* | lavd/v4l2: init return value.Nicolas George2013-01-16
| | | | | | | | Fix a warning and random failures.
* | lavd/v4l2: update broken link to v4l2 video capture exampleStephan Hilb2013-01-16
| | | | | | | | Reviewed-by: Stefano Sabatini
* | lavd/v4l2: improve debug messageStephan Hilb2013-01-16
| | | | | | | | Reviewed-by: Stefano Sabatini
* | lavd/v4l2: apply grammar/consistency fixes to options help fieldsStefano Sabatini2013-01-15
| |
* | lavd/v4l2: return meaningful error code from device_init()Stefano Sabatini2013-01-15
| | | | | | | | In particular, propagate errno value in case of device init failure.
* | lavd/v4l2: fix misc messagesStefano Sabatini2013-01-15
| |
* | lavd/v4l2: extend error/debug feedback in case of invalid codec/pix_fmtStefano Sabatini2013-01-15
| |
* | Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1'Michael Niedermayer2013-01-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1': avpacket: free side data in av_free_packet(). v4l2: do not assert on a value received from outside of Libav v4l2: set the average framerate instead of codec timebase. Conflicts: libavcodec/avpacket.c libavdevice/v4l2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * v4l2: do not assert on a value received from outside of LibavAnton Khirnov2013-01-13
| |
| * v4l2: set the average framerate instead of codec timebase.Anton Khirnov2013-01-13
| | | | | | | | Codec timebase is supposed to be set by decoders only.
* | Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'Michael Niedermayer2013-01-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '246da0b13551b1f80f067e4f258e5bd691f5ab33': v4l2: avoid pointless indirection. vdpau: Add VC-1 decoding via hwaccel infrastructure vdpau: Add H.264 decoding via hwaccel infrastructure Conflicts: configure libavcodec/Makefile libavcodec/version.h libavdevice/v4l2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * v4l2: avoid pointless indirection.Anton Khirnov2013-01-13
| | | | | | | | | | v4l2_read_header() does no cleanup, so it can return directly, without any need for goto.
* | Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'Michael Niedermayer2013-01-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8': aviobuf: Partial support for reading in read/write contexts build: Avoid detecting bogus components named 'x' Conflicts: libavcodec/allcodecs.c libavdevice/alldevices.c libavformat/allformats.c libavformat/aviobuf.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * build: Avoid detecting bogus components named 'x'Clément Bœsch2013-01-03
| | | | | | | | | | | | | | | | | | | | The function find_things() in configure is confused by component registration calls as part of multiline macros defining combined component registration. Coalesce those macros into one line to work around the issue. Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge back some registering macros in all*.c.Clément Bœsch2012-12-30
| | | | | | | | | | | | | | This breaks the sed in configure:find_things(). Fixes regression from c73c87b. Fixes Ticket2079. Found-by: jamal
* | bktr: fix warning: missing braces around initializerMichael Niedermayer2012-12-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-12-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: cosmetics: Prettyprint codec/format/filter registration files Conflicts: libavcodec/allcodecs.c libavdevice/alldevices.c libavfilter/allfilters.c libavformat/allformats.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Prettyprint codec/format/filter registration filesDiego Biurrun2012-12-28
| |
| * miscellaneous typo fixesDiego Biurrun2012-12-21
| |
* | Support H264 over video4linux2.Carl Eugen Hoyos2012-12-21
| | | | | | | | Tested-by: Val Malykh
* | dshow: call CoUninitialize() on dshow_read_close()Ramiro Polla2012-12-17
| | | | | | | | | | | | Every call to CoInitialize should have a matching CoUnititalize. Based on patch by Don Moir <donmoir@comcast.net>.
* | dshow: handle events in graphRamiro Polla2012-12-17
| | | | | | | | | | | | | | | | Handling DirectShow events prevents infinite loops when there is an error in the graph, such as a device being disconnected. This makes it possible for dshow to return an error to the caller and run the cleanup code. Based on patch by Don Moir <donmoir@comcast.net>.
* | lavd/dshow: rename dshow class namerogerdpack2012-12-15
| | | | | | | | | | Signed-off-by: rogerdpack <rogerpack2005@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>