Nicolas Dufresne
3393083497
v4l2object: Remove unused MAX_BUFFERS define
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
8f6bd0dbc0
v4l2object: Don't hardcode min/max use default instead
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
f6d425bf0f
v4l2transform: Install PROP_CAPTURE_IO_MODE with right ID
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
1635697f7e
v4l2transform: decide_allocation returns a boolean
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
cf788c9ec7
v4l2videodec: Install PROP_CAPTURE_IO_MODE with right ID
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
527df8b888
v4l2transform: Add propose_allocation
...
This should remove 1 copy between the decoder and the transform.
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
0488984f82
v4l2: Move propose allocation to v4l2object
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
f810196b3e
v4l2transform: Fixup caps query
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
d4c24cc52f
v4l2transform: Setup cropping if needed
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
2676ac9075
v4l2transform: Expose BGRA and ARGB formats
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
10b67e9913
v4l2transform: Ensure output pool is activated
...
That pool may be different then the internal pool.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
91efa79ed9
v4l2transform: Ensure internal buffer pools actication
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
7a4b076099
v4l2transform: Move subinstance subclass init near other init
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
6d5ffe8da2
v4l2transform: Stop stream before closing the devices.
2014-05-08 15:56:35 -04:00
Víctor Manuel Jáquez Leal
4f7ee5c130
v4l2transform: copy metdata
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
b781156625
Implement GstV4l2Transform
...
Implement a v4l2 element that wraps HW video converters.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
0028de808b
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
8d6e72a299
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
49065b1693
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
a6a8c2b5eb
v4l2videodec: Cleanly fail if set_format is never called
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
a8e81bd81e
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
403909d873
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
f70bb08411
v4l2object: Fix tiled stride request
...
Fix stride request for tiled format and improve logging.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
36dfdff84c
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
e9eba56cd3
v4l2videodec: Ensure internal pool are activated
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
a8024fef04
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).
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
6196026c76
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
efe68f086f
v4l2object: don't use own pool if downstream don't support video meta
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
2f00119e3b
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
f3ce6fd25b
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
a7286563ee
v4l2: Add initial support for alignment and cropping
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
70e7868f18
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
8cf1c330d5
v4l2object: Move type declaration to the top
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
b4d89b9809
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
b5dde037b4
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
7e379e8fff
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
7101c4341a
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.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
fb852669de
v4l2videodec: Default to template in caps query
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
27a617d75f
v4l2videodec: Ensure processing thread has stopped when draining
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
6f48c74f2a
v4l2videodec: Don't drain if processing thread is inactive
2014-05-08 15:56:35 -04:00
Sebastian Dröge
2a7abc98db
souphttpsrc: Clean up all pending operations from libsoup before unreffing our context
...
When we cancel connection attempts and similar things, there are still
some operations pending on our main context from the GCancellables. We
should let them all run before unreffing our context, otherwise we leak
file descriptors.
Unfortunately this requires libsoup 2.47.0 or newer as earlier versions
steal our main context from us and we can't use it for cleanup later
without assertions and funny crashes.
Based on a patch by Dmitry Shatrov <shatrov@gmail.com>.
https://bugzilla.gnome.org/show_bug.cgi?id=663944
2014-05-08 10:18:38 +02:00
Tim-Philipp Müller
c3bd2bdcf4
tests: fix compilation of souphttpsrc test for libsoup 2.40 for real
...
https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 15:49:39 +01:00
Tim-Philipp Müller
cf94d498e6
tests: fix compilation of souphttpsrc test for libsoup 2.40
...
SOUP_CHECK_VERSION was only added in 2.41, but we only
depend on 2.40.
https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 13:27:10 +01:00
Tim-Philipp Müller
615f6e55c1
flacparse: skip PICTURE headers without any image data
...
Fixes warning if the image length is 0.
2014-05-07 00:58:15 +01:00
Руслан Ижбулатов
1d17ed116d
configure: use X11 detection macro from common
...
https://bugzilla.gnome.org/show_bug.cgi?id=729621
2014-05-06 11:47:41 -04:00
Guillaume Desmottes
d089f99a39
rtp/README: update pipelines to work with 1.0
...
- Use gst-libav encoders/decoders instead of gst-ffmpeg
- gstrtpjitterbuffer -> rtpjitterbuffer
- gst-launch-0.10 -> gst-launch-1.0
- Add 'videoconvert' element
- xvimagesink -> autovideosink
https://bugzilla.gnome.org/show_bug.cgi?id=729247
2014-05-05 20:23:56 -04:00
Vincent Penquerc'h
ec38c62563
matroska: rejig test to avoid undefined shift behavior
...
Coverity 1195121, 1195120
2014-05-05 14:44:57 +01:00
Vincent Penquerc'h
1da2fd457d
vp9enc: do not dereference NULL pointer
...
Coverity 1197703
2014-05-05 14:33:38 +01:00
Vincent Penquerc'h
9589c43516
matroskamux: ensure we don't dereference a NULL pointer
...
while working out the codec ID.
Coverity 1195148
2014-05-05 14:32:06 +01:00
Tim-Philipp Müller
17c107d4e4
v4l2: minor fix for closing the fd
...
The fd returned by open() could theoretically be 0 as well.
Coverity CID 1211823.
2014-05-05 12:07:25 +01:00