- Dec 18, 2014
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
- Dec 16, 2014
-
-
Fixes a buffer leak that would occurr if the pipeline was shutdown while a SPS/PPS header was being created. https://bugzilla.gnome.org/show_bug.cgi?id=741271
-
In some cases the currently set GstVideoInfo is not interlaced, but upstream caps are interlaced and the info is passed in the filter, we should take that info into account and make sure that we do not consider that case as a "pass through" case. https://bugzilla.gnome.org/show_bug.cgi?id=741407
-
We used to setup an iterator with 1 GValue set with a NULL object pointer which is not the normal way to do that. Instead we should make sure that the first call to gst_iterator_next returns GST_ITERATOR_DONE.
-
And not a NULL Iterator, so it is consistent with the way it usually works and avoid user to need a different code paths to handle that.
-
We should just use 0 if we do not have the information
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
-
- Dec 15, 2014
-
-
Nicolas Dufresne authored
Right now we try to be clever by detecting if device format have changed or not, and skip setting format in this case. This is valid behaviour with V4L2, but it's also very error prone. The rational for not setting these all the time is for speed, though I can't measure any noticeable gain on any HW I own. Also, until recently, we where doing get/set on the format for each format we where probing, making it near to impossible that the format would match. This also fixes bug where we where skipping frame-rate setting if format didn't change. https://bugzilla.gnome.org/show_bug.cgi?id=740636
-
-
When the v4l2 device is an output device, the application shall set the colorspace. So map GStreamer colorimetry info to V4L2 colorspace and set on set_format. In case we have no colorimetry information, we try to guess it according to pixel format and video size. https://bugzilla.gnome.org/show_bug.cgi?id=737579
-
- Dec 12, 2014
-
-
A race condition in the state change function may cause buffers to be unreffed while they are still used by the streaming thread in gst_rtp_h264_pay_send_sps_pps() resulting in a crash. Chain up to the parent class first in the state change function to make sure streaming has stopped and only then free those buffers. https://bugzilla.gnome.org/show_bug.cgi?id=741381
-
The header is not always at the start of the packet, so we need to compute the offset first.
-
Tim-Philipp Müller authored
http://www.wavpack.com/file_format.txt: "Both the APEv2 tags and/or ID3v1 tags must come at the end of the WavPack file, with the ID3v1 coming last if both are present." WavPack files that contain APEv2 tags at the beginning of the files are unplayable on players that use FFmpeg (like VLC) and most other software (except Banshee). Players that use libwavpack directly can play the files because it skips the tags, but does not recognize the tag data at that location. https://bugzilla.gnome.org/show_bug.cgi?id=711437
-
- Dec 09, 2014
-
-
If v4l2_buffer.field is V4L2_FIELD_INTERLACED, we set corresponding GstVideoBuffer flags depending on the video standard. According to V4L2 specification, M/NTSC transmits the bottom field first, all other standards the top field first. https://bugzilla.gnome.org/show_bug.cgi?id=737603
-
Rather than try and guess interlace support as part of checking supported sizes, look for interlace support specifically in its own function. As a cleanup, use V4L2_FIELD_ANY when probing sizes, which should result in the driver doing the right thing. With my capture setup, this gets me the following sample caps: For 1080i resolution: video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction){ 25/1, 30/1 } For 720p resolution: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction){ 50/1, 60/1 } For 576i/p resolution (both possible at the point of query): video/x-raw, format=(string)YUY2, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string){ progressive, interleaved }, framerate=(fraction){ 25/1, 50/1 } This, in turn, makes 576i work correctly; with the old code, the caps would be interlace-mode=progressive for interlaced video. https://bugzilla.gnome.org/show_bug.cgi?id=726194
-
- Dec 07, 2014
-
-
Nicolas Dufresne authored
When libv4l2 emulates RW mode on top of MMAP devices, the queues are only initialized on first read. The problem is that poll() will fail if called before the queues are initialized and streaming. Workaround this by doing a zero size read when pool is started in that IO mode. https://bugzilla.gnome.org/show_bug.cgi?id=740633
-
Nicolas Dufresne authored
In RW, allocator can be null, max_buffers can be zero, and we need not to wait while the queue is empty since there is no queue. https://bugzilla.gnome.org/show_bug.cgi?id=740633
-
- Dec 01, 2014
-
-
gst_v4l2_allocator_stop returns a GstV4l2Return, not a gboolean. https://bugzilla.gnome.org/show_bug.cgi?id=739792
-
When an caps-event is received, we must immediately change the crop to videocrop correctly changed caps-event dimension, otherwise the videocrop will first use the previous value of the crop that when resizing video to a smaller resolution may cause an error. https://bugzilla.gnome.org/show_bug.cgi?id=740671
- Nov 30, 2014
-
-
Nicolas Dufresne authored
We now use and update our internal copy so we no longer have to ifdef the entire code for features and defines that where added over the years. https://bugzilla.gnome.org/show_bug.cgi?id=740905
-
- Nov 25, 2014
-
-
The behavior of resyncing video and audio indepen- dently can cause A/V desyncs. Lets restrict resyncs to jumps backward for now. https://bugzilla.gnome.org/show_bug.cgi?id=736397 Conflicts: gst/flv/gstflvdemux.c
-
- Nov 24, 2014
-
-
Put a 0-byte at the end of the event string. Does not break ABI because old depayloaders will skip the 0 byte (which is included in the length). Expect a 0-byte at the end of the event string or a ; for old payloaders. See https://bugzilla.gnome.org/show_bug.cgi?id=737591
-
Check that a caps event string is 0 terminated and the event string is terminated with a ; to avoid buffer overreads. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737591
-
- Nov 21, 2014
-
-
Nicolas Dufresne authored
This allow skipping buffer flagged with ERROR that has no payload. This is typical behaviour when a recovererable error occured during capture in the driver, but that no valid data was ever written into that buffer. This patch also translate V4L2_BUF_FLAG_ERROR into GST_BUFFER_FLAG_CORRUPTED. Hence decoding error produce by decoder due to missing frames will now be correctly marked. Finally, this fixes a buffer leak when EOS is reached. https://bugzilla.gnome.org/show_bug.cgi?id=740040
-
- Nov 20, 2014
-
-
Tim-Philipp Müller authored
MAX isn't entirely correct as upper limit either, it should really be MAXUINT32, but it's unlikely to be a problem in the near future. https://bugzilla.gnome.org/show_bug.cgi?id=740407
-
Only attempt adaptive drop when we are not live https://bugzilla.gnome.org/show_bug.cgi?id=739996
-
- Nov 15, 2014
- Nov 12, 2014
-
-
ARNR type control in libvpx has been deprecated so this commit mark the vp8enc and vp9enc associated properties as deprecated and change their behavior to just display a warning message. https://bugzilla.gnome.org/show_bug.cgi?id=739476
-
- Nov 07, 2014
-
-
Nicolas Dufresne authored
Improve buffer validation by making sure each memory are the right one and that each memory is writable. This fixes tearing issues in case downstream uses gst_buffer_make_writable() or other type of GstBuffer copy where memory are only reffed. https://bugzilla.gnome.org/show_bug.cgi?id=739754
-
- Nov 06, 2014
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
We are guaranteed to have VPX_IMG_FMT_I420, VPX_PLANE_Y, VPX_PLANE_U and VPX_PLANE_V as we require libvpx > 1.1.0. https://bugzilla.gnome.org/show_bug.cgi?id=739476
-
Tim-Philipp Müller authored
Add fixed payload type for mp2t to template caps as well, so our output caps match the advertised default pt. Fixes a regression from 1.2. There's still something wrong with caps negotiation though, rtpmp2tpay payload=96 ! fakesink will not output caps with payload=96.
-