- Jun 05, 2013
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
From 098c0d7 to 01a7a46
-
In v2.6.18 control classes where added to the v4l2 API. Iterating over CIDs starting with V4L2_CID_BASE will only find controls for the first control class. By iterating with V4L2_CTRL_FLAG_NEXT_CTRL all controls are found. This is necessary to make controls from other control classes available in the extra-controls property. If V4L2_CTRL_FLAG_NEXT_CTRL is not defined at compile time or not supported at runtime then the old mechanism for iterating is used. https://bugzilla.gnome.org/show_bug.cgi?id=701540
-
Wim Taymans authored
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701586
-
- Jun 04, 2013
-
-
Instead of just assuming a aspect ratio of 1/1 use VIDIOC_CROPCAP to ask the device. This also add a pixel-aspect-ratio property to overwrite the value from the driver and a force-aspect-ratio property to ignore it. https://bugzilla.gnome.org/show_bug.cgi?id=700285
-
Michael Olbrich authored
Without this the following sequence fails: - set_caps() - object_stop() (does nothing) - set_format() -> VIDIOC_S_FMT - set_config() -> VIDIOC_REQBUFS with count = N - set_caps() - object_stop() - pool_finalize() - set_format() -> VIDIOC_S_FMT => EBUSY Usually the pool is started after set_config(), in which case object_stop() will result in a pool_stop and therefore VIDIOC_REQBUFS with count = 0 but that is not guaranteed. Also calling VIDIOC_REQBUFS with count = 0 in pool_finalize() if necessary fixes this problem. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701543
-
- Jun 03, 2013
-
-
Michael Olbrich authored
This is a followup patch for #700781, which is not quite correct. The buffer handling is quite complicated here. The original code intended to the the following: - gst_v4l2_buffer_pool_process() calls QBUF and adds the buffer to the local list. - The sink calls gst_buffer_unref() which returns the buffer to the pool but not the 'free list'. - Some time later DQBUF returns the buffer and gst_v4l2_buffer_pool_release_buffer() puts in on the 'free list'. If the buffer must be copied then (parent_class)->acquire_buffer() is called directly to keep the buffer in the pool. This has two problems: 1. If gst_v4l2_buffer_pool_release_buffer() is called before the buffer is returned to the pool, then the buffer is put on the 'free list' twice. This can happen if a reference to the buffer is kept outside the sink, of if DQBUF returns the buffer, that was just queued with QBUF. 2. If buffers are copied, then all buffers are in the pool at all times. As a result gst_v4l2_buffer_pool_stop() and gst_v4l2_buffer_pool_dqbuf() can access pool->buffers at the same time, which can lead to memory corruption. The patch for #700781 fixes those problems, but with the side effect that there are always buffers outside the pool (because they are queued) and the pool is never stopped. This patch fixes this by releasing the reference to the buffer after handling it (to avoid problem 2.) so it can be returned to the pool. gst_v4l2_buffer_pool_release_buffer() is only called if the buffer is already in the pool (to avoid problem 1.). Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701375
-
- Jun 02, 2013
-
-
Thiago Santos authored
Avoids assertions
-
Thiago Santos authored
Without this, stream is NULL and the code will try to access it, leading to segfaults.
-
Thiago Santos authored
!got_moov is already checked the line above
-
Stefan Sauer authored
Split out a few more tests to avoid checking the same stuff over and over again.
-
- Jun 01, 2013
-
-
Stefan Sauer authored
-
Stefan Sauer authored
A test that checks that msg[n].ts + msg[n].dur == msg[n+1].ts.
-
Anton Belka authored
Write tags as LIST INFO chunk. Format the toc as cue + LIST adtl chunk. Remove old #ifdef'ed code.
-
- May 31, 2013
-
-
Wim Taymans authored
This reverts commit 61666898. This commit changes what the set_sps_pps() function does, not it doesn't set caps anymore (and should have been renamed). The main problem is that not all call sites are updated and thus leak the string.
-
Wim Taymans authored
This reverts commit 3dca756a. The H264 RTP spec has no attributes for width and height.
-
Wim Taymans authored
This reverts commit d8825e2a. There is no framerate attribute in the h264 RTP spec.
-
Wim Taymans authored
This reverts commit 0075d111. Extra application/x-rtp are SDP fields, which are strings.
-
Wim Taymans authored
This reverts commit 9fd25a81. We deal with sdp attributes in application/sdp, which are always strings.
-
Wim Taymans authored
We also support TLS protocols now.
-
- May 30, 2013
-
-
Sebastian Dröge authored
Currently the code just takes with maximum upstream duration, which is wrong. It should be the maximum upstream duration in running time.
-
-
Stefan Sauer authored
Fix some oudated comments. Sort out some confusion of interval_frames and num_frames.
-
- May 29, 2013
-
-
Sebastian Dröge authored
-
Michael Olbrich authored
This makes it possible to set any controls that can be set with VIDIOC_S_CTRL. The controls are set when the property is set (if the device is open) and when the device is opened. https://bugzilla.gnome.org/show_bug.cgi?id=698837
-
- May 28, 2013
-
-
Stefan Sauer authored
-
Sebastian Dröge authored
-
Wim Taymans authored
-
Wim Taymans authored
It is not needed to do a state change from the _play() function on ourselves. The state change function already did that and we don't want to interfere with that (or use hacks to avoid interference).
-
Wim Taymans authored
-
Wim Taymans authored
Also send stream-start and segment event on the RTCP pad. We don't need to send anything on the sync_src pad because we already forwarded all incomming events.
-
Wim Taymans authored
Add a signal to be notified of a server request. The signal handler can then construct the response message for the server. See https://bugzilla.gnome.org/show_bug.cgi?id=632207
-
-
- May 26, 2013
- May 25, 2013
-
-
Thibault Saunier authored
It is not protected with the COLLECT_PADS_STREAM_LOCK anymore
-
Thibault Saunier authored
This is mostly copy pasted from -base/tests/check/elements/adder.c
-
Thibault Saunier authored
Collectpad takes the lock itself when receiving serialized events and we should not take it for not serialized ones
-