platform/upstream/gst-plugins-good.git
10 years agoflvdemux: Skip unknown tags in push-mode
Edward Hervey [Mon, 12 May 2014 11:45:06 +0000 (13:45 +0200)]
flvdemux: Skip unknown tags in push-mode

We add a new mode (SKIP) in push-mode to skip tags that we don't known about

Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=670712

10 years agoflacdec: Add support for variable block size files and remove dead code
Sebastian Dröge [Sat, 10 May 2014 07:14:33 +0000 (09:14 +0200)]
flacdec: Add support for variable block size files and remove dead code

This dead code wasn't used since the 1.0 port and would need to
be modified heavily for variable block size support.

https://bugzilla.gnome.org/show_bug.cgi?id=729894

10 years agov4l2transform: Fix NULL check copy paste error
Nicolas Dufresne [Fri, 9 May 2014 16:14:23 +0000 (12:14 -0400)]
v4l2transform: Fix NULL check copy paste error

CID 1212129

10 years agov4l2transform: Fix potential deadlock due to missing break
Nicolas Dufresne [Fri, 9 May 2014 16:11:54 +0000 (12:11 -0400)]
v4l2transform: Fix potential deadlock due to missing break

CID 1212131

10 years agortpjitterbuffer: increment accepted packets after loss
Wim Taymans [Fri, 9 May 2014 16:01:28 +0000 (18:01 +0200)]
rtpjitterbuffer: increment accepted packets after loss

When we detect a lost packet, expect packets with higher
seqnum on the input.

Also update the unit test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729524

10 years agoAdd new test case.
Jason Litzinger [Sun, 4 May 2014 17:12:54 +0000 (11:12 -0600)]
Add new test case.

10 years agoshapewipe: no need to activate pads
Wim Taymans [Fri, 9 May 2014 14:14:21 +0000 (16:14 +0200)]
shapewipe: no need to activate pads

Activation will happen in the state change

10 years agov4l2object: Don't leak config structure
Nicolas Dufresne [Fri, 9 May 2014 16:10:04 +0000 (12:10 -0400)]
v4l2object: Don't leak config structure

this fixes a leak of the config structure and take care of making sure
caps can't reach ref 0 before we are done doing our check.

CID 1212144

10 years agov4l2object: Remove uneeded cast for code clarity
Nicolas Dufresne [Fri, 9 May 2014 16:08:11 +0000 (12:08 -0400)]
v4l2object: Remove uneeded cast for code clarity

10 years agov4l2pool: Fix leak of config structure in error case
Nicolas Dufresne [Fri, 9 May 2014 15:56:52 +0000 (11:56 -0400)]
v4l2pool: Fix leak of config structure in error case

CIDs 1212167 and  1212167

10 years agov4l2object: Fix use of unitilized pool pointer
Nicolas Dufresne [Fri, 9 May 2014 15:51:26 +0000 (11:51 -0400)]
v4l2object: Fix use of unitilized pool pointer

CID #1212173

10 years agoqtdemux: don't respond to a position query in BYTE format with a TIME position
Eric Trousset [Fri, 9 May 2014 14:48:58 +0000 (16:48 +0200)]
qtdemux: don't respond to a position query in BYTE format with a TIME position

https://bugzilla.gnome.org/show_bug.cgi?id=729553

10 years agomatroskademux: don't leak doctype string in error code path
Tim-Philipp Müller [Fri, 9 May 2014 13:22:42 +0000 (14:22 +0100)]
matroskademux: don't leak doctype string in error code path

CID 1212145.

10 years agov4l2object: Readback pool config if used within the baseclass
Nicolas Dufresne [Tue, 6 May 2014 17:37:47 +0000 (13:37 -0400)]
v4l2object: Readback pool config if used within the baseclass

10 years agov4l2: Replace miss-use of crop meta in favour of proper offset
Nicolas Dufresne [Tue, 6 May 2014 16:58:59 +0000 (12:58 -0400)]
v4l2: Replace miss-use of crop meta in favour of proper offset

This moves away from copying information and store everything inside
the GstVideoInfo structure. The alignement exposed by v4l2 api
is now handled using proper offset.

10 years agov4l2object: Style fix
Nicolas Dufresne [Tue, 6 May 2014 16:55:30 +0000 (12:55 -0400)]
v4l2object: Style fix

10 years agov4l2allocator: Reset imported buffer size with expected size
Nicolas Dufresne [Mon, 5 May 2014 16:38:33 +0000 (12:38 -0400)]
v4l2allocator: Reset imported buffer size with expected size

This ensure that the buffer pool won't always discard buffer with these
memory when they are released.

10 years agov4l2allocator: Reset flushed group
Nicolas Dufresne [Mon, 5 May 2014 16:37:43 +0000 (12:37 -0400)]
v4l2allocator: Reset flushed group

This ensure that a flushed group memory are the same size as when they
where originally allocated / imported.

10 years agov4l2bufferpool: Get number of allocated buffers from allocator
Nicolas Dufresne [Mon, 5 May 2014 16:07:31 +0000 (12:07 -0400)]
v4l2bufferpool: Get number of allocated buffers from allocator

The value of num_allocated buffer would get confused when
buffer are being discarded.

10 years agov4l2allocator: Add a method to read number of allocated group
Nicolas Dufresne [Mon, 5 May 2014 16:06:44 +0000 (12:06 -0400)]
v4l2allocator: Add a method to read number of allocated group

10 years agov4l2bufferpool: Improve debugging
Nicolas Dufresne [Mon, 5 May 2014 00:23:42 +0000 (20:23 -0400)]
v4l2bufferpool: Improve debugging

10 years agov4l2bufferpool: Ensure we don't re-enqueue buffer during flush
Nicolas Dufresne [Sun, 4 May 2014 23:51:48 +0000 (19:51 -0400)]
v4l2bufferpool: Ensure we don't re-enqueue buffer during flush

10 years agov4l2transform: Initilialize debug category
Nicolas Dufresne [Sun, 4 May 2014 23:13:37 +0000 (19:13 -0400)]
v4l2transform: Initilialize debug category

10 years agov4l2allocator: Fix libv4l2 support
Nicolas Dufresne [Sun, 4 May 2014 20:11:09 +0000 (16:11 -0400)]
v4l2allocator: Fix libv4l2 support

Need to include config.h, otherwise we endup directly using the
ioct/mmap/munmap calls and need to vall v4l2_munmap.

10 years agov4l2allocator: Set the flags on the object
Nicolas Dufresne [Thu, 1 May 2014 17:04:08 +0000 (13:04 -0400)]
v4l2allocator: Set the flags on the object

We where not setting the probed flags on the allocator, which mean even if
CREATE_BUFS was supported on some driver, it would endup being ignored.

10 years agov4l2bufferpool: Re-enqueue buffer at stream start
Nicolas Dufresne [Tue, 29 Apr 2014 20:49:52 +0000 (16:49 -0400)]
v4l2bufferpool: Re-enqueue buffer at stream start

10 years agov4l2allocator: There is not group on error
Nicolas Dufresne [Tue, 29 Apr 2014 20:06:00 +0000 (16:06 -0400)]
v4l2allocator: There is not group on error

10 years agov4l2transform: Handle FLUSH_STOP event
Nicolas Dufresne [Tue, 29 Apr 2014 18:56:31 +0000 (14:56 -0400)]
v4l2transform: Handle FLUSH_STOP event

10 years agov4l2bufferpool: Acquire cannot return a buffer from another pool
Nicolas Dufresne [Tue, 29 Apr 2014 17:05:41 +0000 (13:05 -0400)]
v4l2bufferpool: Acquire cannot return a buffer from another pool

Return a buffer from an otherpool has unwanted side effects that lead to leaks and
prevents deactivating the pool. Instead, we change the _process() API so it can
replace the internal buffer with the buffer from the downstream pool. This implied
moving from _fill() to _create() method in the src.

10 years agov4l2bufferpool: Remove unreached acquire code
Nicolas Dufresne [Tue, 29 Apr 2014 17:00:32 +0000 (13:00 -0400)]
v4l2bufferpool: Remove unreached acquire code

The acquire is done in _prepare now.

10 years agov4l2bufferpool: Sanetize buffer refount handling
Nicolas Dufresne [Tue, 29 Apr 2014 16:57:08 +0000 (12:57 -0400)]
v4l2bufferpool: Sanetize buffer refount handling

Buffer refcounting is a bit hard, because of the duality between CAPTURE and
OUTPUT mode. In the long term, we should consider having two seperate pool
instead of this mess. At least state should be better kept this way.

10 years agov4l2transform: Add more traces
Nicolas Dufresne [Tue, 29 Apr 2014 16:48:04 +0000 (12:48 -0400)]
v4l2transform: Add more traces

10 years agov4l2-allocator: Add S to REQBUFS/CREATE_BUFS enum
Nicolas Dufresne [Mon, 28 Apr 2014 12:48:26 +0000 (08:48 -0400)]
v4l2-allocator: Add S to REQBUFS/CREATE_BUFS enum

All enum that has REQBUFS and CREATE_BUFS where missing S, which was
confusing since they are supposed to match with associcated ioctl name. This
also fixes the yet unused CAN_REQUEST flag check.

10 years agov4l2transform: Enabled QoS
Nicolas Dufresne [Fri, 18 Apr 2014 21:51:07 +0000 (17:51 -0400)]
v4l2transform: Enabled QoS

10 years agov4l2: Fixup USERPTR/DMABUF capture support
Nicolas Dufresne [Fri, 18 Apr 2014 21:02:50 +0000 (17:02 -0400)]
v4l2: Fixup USERPTR/DMABUF capture support

10 years agov4l2object: Improve selecton of min/max in decide allocation
Nicolas Dufresne [Fri, 18 Apr 2014 18:45:00 +0000 (14:45 -0400)]
v4l2object: Improve selecton of min/max in decide allocation

10 years agov4l2bufferpool: Update config if meta is missing
Nicolas Dufresne [Fri, 18 Apr 2014 17:09:00 +0000 (13:09 -0400)]
v4l2bufferpool: Update config if meta is missing

Rather then hard failure, we should update the config with the meta option we
need and return false.

10 years agov4l2: Add DMABUF and USERPTR importation
Nicolas Dufresne [Fri, 11 Apr 2014 21:10:11 +0000 (17:10 -0400)]
v4l2: Add DMABUF and USERPTR importation

10 years agov4l2allocator: Valid FD are bigger or equal to zero
Nicolas Dufresne [Fri, 18 Apr 2014 01:45:58 +0000 (21:45 -0400)]
v4l2allocator: Valid FD are bigger or equal to zero

10 years agov4l2object: Don't leak downstream pool in propose_allocation
Nicolas Dufresne [Wed, 16 Apr 2014 21:04:42 +0000 (17:04 -0400)]
v4l2object: Don't leak downstream pool in propose_allocation

parse_nth_allocation_pool() give a ref on the pool, we need to unref it
when done.

10 years agov4l2: Introduce DMABUF_IMPORT IO mode
Nicolas Dufresne [Mon, 14 Apr 2014 16:19:39 +0000 (12:19 -0400)]
v4l2: Introduce DMABUF_IMPORT IO mode

10 years agov4l2: Add dmabuf export support
Nicolas Dufresne [Thu, 10 Apr 2014 20:26:34 +0000 (16:26 -0400)]
v4l2: Add dmabuf export support

This can be enabled sing io-mode=dmabuf. This will enabled mmap base
drivers to export the buffers as dmabuf.

10 years agov4l2allocator: Guaranty queued state integrety
Nicolas Dufresne [Wed, 16 Apr 2014 19:51:03 +0000 (15:51 -0400)]
v4l2allocator: Guaranty queued state integrety

Because of the buf in videobuf2, dqbuf may leave the DONE flag being,
which would implied that the buffer is queued. As this has been broken
for 4 years, simply guaranty the state flags integrity when doing
qbuf/dqbuf.

See https://patchwork.linuxtv.org/patch/23641/

10 years agov4l2transform: Implement open/close
Nicolas Dufresne [Tue, 15 Apr 2014 21:31:42 +0000 (17:31 -0400)]
v4l2transform: Implement open/close

10 years agov4l2transform: Ensure output pool is configured
Nicolas Dufresne [Tue, 15 Apr 2014 20:43:41 +0000 (16:43 -0400)]
v4l2transform: Ensure output pool is configured

10 years agov4l2transform: Check if caps have changes before asserting
Nicolas Dufresne [Tue, 15 Apr 2014 20:43:15 +0000 (16:43 -0400)]
v4l2transform: Check if caps have changes before asserting

In set_caps, now checks if caps actually changed and succeed if they didn't
change.

10 years agov4l2videodec: Ensure pool is configured
Nicolas Dufresne [Tue, 15 Apr 2014 20:41:46 +0000 (16:41 -0400)]
v4l2videodec: Ensure pool is configured

10 years agov4l2object: Always set a size when deciding allocation
Nicolas Dufresne [Tue, 8 Apr 2014 22:54:09 +0000 (18:54 -0400)]
v4l2object: Always set a size when deciding allocation

10 years agov4l2object: Improved decide allocation
Nicolas Dufresne [Tue, 8 Apr 2014 22:20:25 +0000 (18:20 -0400)]
v4l2object: Improved decide allocation

Improve decide allocation so it properly configure both local and downstream
buffer pools. Also read back the pool config if it was changed to to driver
limitations.

10 years agov4l2bufferpool: Do not pre-configure the pool
Nicolas Dufresne [Tue, 15 Apr 2014 17:30:02 +0000 (13:30 -0400)]
v4l2bufferpool: Do not pre-configure the pool

Pre-configuring the pool is error prone, since it may hide a configuration failure and
endup with a pool that is not configured the way it should (e.g. no video meta, wrong
queue size, etc.)

10 years agov4l2bufferpool: Preserve downstream minimum even in RW
Nicolas Dufresne [Tue, 15 Apr 2014 17:23:33 +0000 (13:23 -0400)]
v4l2bufferpool: Preserve downstream minimum even in RW

10 years agov4l2bufferpool: Turn cropmeta into a custom option
Nicolas Dufresne [Tue, 15 Apr 2014 17:20:12 +0000 (13:20 -0400)]
v4l2bufferpool: Turn cropmeta into a custom option

Turn crop meta into a custom option and make sure it's there is needed.

10 years agov4l2bufferpool: Early catch short allocation
Nicolas Dufresne [Wed, 9 Apr 2014 16:53:19 +0000 (12:53 -0400)]
v4l2bufferpool: Early catch short allocation

Catch short allocation after saving the format. This is not a catch all, but should catch
most of the miss-behaving drivers when doing S_FMT/G_FMT and avoid potential crash.

10 years agov4l2bufferpool: Port to use GstV4l2Allocator
Nicolas Dufresne [Sat, 5 Apr 2014 02:46:40 +0000 (22:46 -0400)]
v4l2bufferpool: Port to use GstV4l2Allocator

10 years agoImplement V4l2 Allocator
Nicolas Dufresne [Sat, 5 Apr 2014 02:35:48 +0000 (22:35 -0400)]
Implement V4l2 Allocator

This goal of this allocator is mainly to allow tracking the memory.
Currently, when a buffer memory has been modified, the buffer and it's
memory is disposed and lost until the stream is restarted.

10 years agov4l2object: Don't advertise crop meta
Nicolas Dufresne [Wed, 16 Apr 2014 20:35:49 +0000 (16:35 -0400)]
v4l2object: Don't advertise crop meta

Currently we advertise crop meta, but not element handle support this meta.

10 years agov4l2object: Setup pool already send element error
Nicolas Dufresne [Tue, 8 Apr 2014 22:18:57 +0000 (18:18 -0400)]
v4l2object: Setup pool already send element error

10 years agov4l2object: Workaround decoder that set num_planes to 0 in the format
Nicolas Dufresne [Tue, 8 Apr 2014 22:17:31 +0000 (18:17 -0400)]
v4l2object: Workaround decoder that set num_planes to 0 in the format

Some well known decoder wrongly set num_planes to 0 in their format instead of
one. In this case we would endup with no size when deciding buffer allocation.

10 years agov4l2object: Ensure size before configuring the pool
Nicolas Dufresne [Tue, 8 Apr 2014 21:34:19 +0000 (17:34 -0400)]
v4l2object: Ensure size before configuring the pool

10 years agov4l2object: Set minimum buffers to 2
Nicolas Dufresne [Sat, 5 Apr 2014 02:38:05 +0000 (22:38 -0400)]
v4l2object: Set minimum buffers to 2

All the element requires at least two buffers. This is not used for RW mode.

10 years agov4l2object: Remove unused MAX_BUFFERS define
Nicolas Dufresne [Sat, 5 Apr 2014 02:37:14 +0000 (22:37 -0400)]
v4l2object: Remove unused MAX_BUFFERS define

10 years agov4l2object: Don't hardcode min/max use default instead
Nicolas Dufresne [Sat, 5 Apr 2014 02:36:37 +0000 (22:36 -0400)]
v4l2object: Don't hardcode min/max use default instead

10 years agov4l2transform: Install PROP_CAPTURE_IO_MODE with right ID
Nicolas Dufresne [Thu, 10 Apr 2014 21:49:41 +0000 (17:49 -0400)]
v4l2transform: Install PROP_CAPTURE_IO_MODE with right ID

10 years agov4l2transform: decide_allocation returns a boolean
Nicolas Dufresne [Tue, 8 Apr 2014 22:54:50 +0000 (18:54 -0400)]
v4l2transform: decide_allocation returns a boolean

10 years agov4l2videodec: Install PROP_CAPTURE_IO_MODE with right ID
Nicolas Dufresne [Thu, 10 Apr 2014 21:49:29 +0000 (17:49 -0400)]
v4l2videodec: Install PROP_CAPTURE_IO_MODE with right ID

10 years agov4l2transform: Add propose_allocation
Nicolas Dufresne [Thu, 27 Mar 2014 17:21:25 +0000 (13:21 -0400)]
v4l2transform: Add propose_allocation

This should remove 1 copy between the decoder and the transform.

10 years agov4l2: Move propose allocation to v4l2object
Nicolas Dufresne [Thu, 27 Mar 2014 17:20:53 +0000 (13:20 -0400)]
v4l2: Move propose allocation to v4l2object

10 years agov4l2transform: Fixup caps query
Nicolas Dufresne [Thu, 20 Mar 2014 21:26:05 +0000 (17:26 -0400)]
v4l2transform: Fixup caps query

10 years agov4l2transform: Setup cropping if needed
Nicolas Dufresne [Thu, 20 Mar 2014 19:31:22 +0000 (15:31 -0400)]
v4l2transform: Setup cropping if needed

10 years agov4l2transform: Expose BGRA and ARGB formats
Nicolas Dufresne [Wed, 19 Mar 2014 21:25:16 +0000 (17:25 -0400)]
v4l2transform: Expose BGRA and ARGB formats

10 years agov4l2transform: Ensure output pool is activated
Nicolas Dufresne [Tue, 18 Mar 2014 21:33:38 +0000 (17:33 -0400)]
v4l2transform: Ensure output pool is activated

That pool may be different then the internal pool.

10 years agov4l2transform: Ensure internal buffer pools actication
Nicolas Dufresne [Sun, 16 Mar 2014 18:11:16 +0000 (19:11 +0100)]
v4l2transform: Ensure internal buffer pools actication

10 years agov4l2transform: Move subinstance subclass init near other init
Nicolas Dufresne [Sun, 16 Mar 2014 10:36:19 +0000 (11:36 +0100)]
v4l2transform: Move subinstance subclass init near other init

10 years agov4l2transform: Stop stream before closing the devices.
Nicolas Dufresne [Sat, 15 Mar 2014 17:56:51 +0000 (18:56 +0100)]
v4l2transform: Stop stream before closing the devices.

10 years agov4l2transform: copy metdata
Víctor Manuel Jáquez Leal [Sat, 15 Mar 2014 16:53:54 +0000 (16:53 +0000)]
v4l2transform: copy metdata

10 years agoImplement GstV4l2Transform
Nicolas Dufresne [Tue, 4 Mar 2014 23:31:27 +0000 (18:31 -0500)]
Implement GstV4l2Transform

Implement a v4l2 element that wraps HW video converters.

10 years agov4l2: Probe for CREATE_BUFS in order to correctly set pool min/max
Nicolas Dufresne [Thu, 27 Mar 2014 22:41:07 +0000 (18:41 -0400)]
v4l2: Probe for CREATE_BUFS in order to correctly set pool min/max

In order to correctly set the pool min/max, we need to probe for CREATE_BUFS
ioctl. This can be done as soon as the format has been negotiated using a
count of 0.

10 years agov4l2: Move capture eos handling in _process()
Nicolas Dufresne [Tue, 25 Mar 2014 19:21:03 +0000 (15:21 -0400)]
v4l2: Move capture eos handling in _process()

Now that we might be copying out buffer (e.g. downstream don't support video
meta bug we need it) we need to move the EOS handling inside the process
method.

10 years agov4l2object: Fix support for planar format in 1 v4l2 mplane
Nicolas Dufresne [Tue, 25 Mar 2014 14:49:39 +0000 (10:49 -0400)]
v4l2object: Fix support for planar format in 1 v4l2 mplane

So far we where only setting saving the first plane stride in the meta. This was
leading to wrong values in GstVideoMeta.

10 years agov4l2videodec: Cleanly fail if set_format is never called
Nicolas Dufresne [Wed, 19 Mar 2014 21:52:08 +0000 (17:52 -0400)]
v4l2videodec: Cleanly fail if set_format is never called

10 years agov4l2: Expose RGB32 formats with and without alpha
Nicolas Dufresne [Wed, 19 Mar 2014 21:00:56 +0000 (17:00 -0400)]
v4l2: Expose RGB32 formats with and without alpha

As soon a the alpha component can be set, we can expose the RGB32 and BGR32
format as ARGB and BGRA as long we can deterministically set the alpha padding
value.

10 years agov4l2: Correctly check if video meta is needed
Nicolas Dufresne [Tue, 18 Mar 2014 19:49:49 +0000 (15:49 -0400)]
v4l2: Correctly check if video meta is needed

Correctly check if video meta is needed. In buffer pool, trust need_video_meta
flag in order to decide if configuration should succeed.

10 years agov4l2object: Fix tiled stride request
Nicolas Dufresne [Tue, 18 Mar 2014 19:45:18 +0000 (15:45 -0400)]
v4l2object: Fix tiled stride request

Fix stride request for tiled format and improve logging.

10 years agov4l2object: Ensure video and crop meta are enabled if needed
Nicolas Dufresne [Tue, 18 Mar 2014 15:53:57 +0000 (11:53 -0400)]
v4l2object: Ensure video and crop meta are enabled if needed

In certain cases we cannot live without video meta and/or crop meta
being enabled in our internal buffer pool. Ensure this is always the case,
regardless of having support for allocation query.

10 years agov4l2videodec: Ensure internal pool are activated
Nicolas Dufresne [Sun, 16 Mar 2014 17:39:32 +0000 (18:39 +0100)]
v4l2videodec: Ensure internal pool are activated

10 years agov4l2videodec: Check that pool where allocated before flushing them
Nicolas Dufresne [Sun, 16 Mar 2014 16:01:10 +0000 (17:01 +0100)]
v4l2videodec: Check that pool where allocated before flushing them

Upon error, the pools might not have been allocated yet, hence we should not
try and flush them (even though we still want to make sure the processing thread
is fully stopped).

10 years agov4l2bufferpool: Enforce activation outside of process
Nicolas Dufresne [Sun, 16 Mar 2014 15:55:43 +0000 (16:55 +0100)]
v4l2bufferpool: Enforce activation outside of process

Enforce pool being activate from before calling pool process. This should
help catching basic errors in the usage of buffer pool.

10 years agov4l2object: don't use own pool if downstream don't support video meta
Nicolas Dufresne [Sun, 16 Mar 2014 11:44:14 +0000 (12:44 +0100)]
v4l2object: don't use own pool if downstream don't support video meta

10 years agov4l2bufferpool: Use obj->n_v4l2_planes for correct number of planes
Nicolas Dufresne [Thu, 13 Mar 2014 23:31:32 +0000 (00:31 +0100)]
v4l2bufferpool: Use obj->n_v4l2_planes for correct number of planes

Buffer pool was guessing wrongly the number of planes rather
then reading the value from obj->n_v4l2_planes. This was causing
format YU12 (I420) to fail upon check.

10 years agov4l2object: Fix handling of contiuous vs non-contiguous support
Nicolas Dufresne [Fri, 7 Mar 2014 21:39:29 +0000 (16:39 -0500)]
v4l2object: Fix handling of contiuous vs non-contiguous support

The complex mechanic to try and choose the right thing did not work. Instead,
simply probe the non-contiguous format first and then the contiguous one.
This is in fact very low overhead, as there is a relatively small number of
pixel format supported by each devices.

10 years agov4l2: Add initial support for alignment and cropping
Nicolas Dufresne [Tue, 15 Apr 2014 19:07:23 +0000 (15:07 -0400)]
v4l2: Add initial support for alignment and cropping

10 years agov4l2object: Rename setup_format() method into acquire_format()
Nicolas Dufresne [Thu, 13 Mar 2014 18:24:51 +0000 (19:24 +0100)]
v4l2object: Rename setup_format() method into acquire_format()

The setup_format() was confusing since it does not set anything, in fact
it reads the setup from the driver and save it.

10 years agov4l2object: Move type declaration to the top
Nicolas Dufresne [Thu, 13 Mar 2014 17:21:41 +0000 (18:21 +0100)]
v4l2object: Move type declaration to the top

10 years agov4l2videodec: Protect NULL pool while going to READY
Nicolas Dufresne [Wed, 12 Mar 2014 17:07:38 +0000 (18:07 +0100)]
v4l2videodec: Protect NULL pool while going to READY

When the pipeline fails early, the pool might be unset before the processing
thread has run once. Add protection against that.

10 years agov4l2object: Fail cleanly if pixel format is unkown or not raw video
Nicolas Dufresne [Wed, 12 Mar 2014 17:01:09 +0000 (18:01 +0100)]
v4l2object: Fail cleanly if pixel format is unkown or not raw video

Certain decoder has been found to not choose a format automatically. Running
v4l2videodec on these would assert. This patch will make it fail cleanly
instead.

10 years agov4l2videodec: Clear the input state pointer after unref
Nicolas Dufresne [Wed, 12 Mar 2014 16:56:18 +0000 (17:56 +0100)]
v4l2videodec: Clear the input state pointer after unref

If caps are set again, we have a risk od returning from set_format with a
input_state pointing to dead memory. Clearing the pointer after unref fix
this issue.

10 years agov4l2videodec: handle stop being called without flush
Nicolas Dufresne [Wed, 12 Mar 2014 16:11:16 +0000 (17:11 +0100)]
v4l2videodec: handle stop being called without flush

Uppon certain downstream error, stop() is called without a flush(). This mean that
the streaming thread may still be running even though unlock has been called.
Now calling flush to reset the decoder state if we are processing.

10 years agov4l2videodec: Default to template in caps query
Nicolas Dufresne [Thu, 6 Mar 2014 23:13:14 +0000 (18:13 -0500)]
v4l2videodec: Default to template in caps query

10 years agov4l2videodec: Ensure processing thread has stopped when draining
Nicolas Dufresne [Tue, 11 Mar 2014 18:23:32 +0000 (14:23 -0400)]
v4l2videodec: Ensure processing thread has stopped when draining

10 years agov4l2videodec: Don't drain if processing thread is inactive
Nicolas Dufresne [Tue, 11 Mar 2014 18:01:27 +0000 (14:01 -0400)]
v4l2videodec: Don't drain if processing thread is inactive