Edward Hervey [Fri, 12 Dec 2014 10:03:15 +0000 (11:03 +0100)]
qtdemux: Add macros for the various timescale conversions
This helps make the code more readable and avoid future bad usage of
scaling function argument order.
Patrick Radizi [Thu, 11 Dec 2014 09:16:06 +0000 (10:16 +0100)]
rtph264pay: fix potential crash when shutting down
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
Jan Schmidt [Thu, 11 Dec 2014 13:42:06 +0000 (00:42 +1100)]
qtdemux: Copy flags of the overall segment to output segments
Preserve the segment flags of the overall demux segment on the output
segments for each pad.
Matej Knopp [Tue, 9 Dec 2014 01:43:00 +0000 (02:43 +0100)]
qtmux: use 64bit chunk_offset
https://bugzilla.gnome.org/show_bug.cgi?id=741279
Edward Hervey [Wed, 10 Dec 2014 16:39:17 +0000 (17:39 +0100)]
qtdemux: Fix rounding errors in duration update
Make sure we store updated segment stop/duration with the same
granularity as the duration timescale.
And add more debug
Edward Hervey [Wed, 10 Dec 2014 15:55:44 +0000 (16:55 +0100)]
qtdemux: Update duration when we get more information
When dealing with fragmented files, we will get more accurate duration
information via the mfra and moof atoms.
In order for playback to not stop at the initial duration (from the
moov atom), we need to check and update the various duration variables
when we find more information.
Fixes playback of fragmented files in pull mode
Edward Hervey [Wed, 10 Dec 2014 14:08:40 +0000 (15:08 +0100)]
qtdemux: Remove variable assignments never read
As detected by clang/scan-build
Edward Hervey [Wed, 10 Dec 2014 13:56:06 +0000 (14:56 +0100)]
qtdemux: Use GstClockTime for nanosecond-based time variables/fields
Avoids confusion with timescaled-based variables and bytes (offset)
variables.
And use GST_CLOCK_TIME_NONE where applicable
Edward Hervey [Wed, 3 Dec 2014 13:47:05 +0000 (14:47 +0100)]
pushfilesrc: Add TIME SEGMENT capability
Adds a new set of properties to make pushfilesrc output a TIME SEGMENT
(instead of the filesrc BYTE SEGMENT).
When time-segment is set to True the following will happen:
* Seeks are refused (data starts from the beginning of the file)
* The BYTE segment will be replaced by a TIME segment with the values
specified in the various properties
* The first outgoing buffer will have a timestamp set on it (by default
it has a value of GST_CLOCK_TIME_NONE)
Sebastian Dröge [Wed, 10 Dec 2014 10:35:29 +0000 (11:35 +0100)]
aacparse: Also only unref caps if they're not NULL
Sebastian Dröge [Wed, 10 Dec 2014 10:34:42 +0000 (11:34 +0100)]
aacparse: gst_pad_get_allowed_caps() will return NULL if there is no peer
Thibault Saunier [Tue, 9 Dec 2014 15:38:38 +0000 (16:38 +0100)]
vpXenc: CLOCK_TIME_NONE is not a valid min_latency value
We should just use 0 if we do not have the information
Thibault Saunier [Wed, 3 Dec 2014 16:26:56 +0000 (17:26 +0100)]
rtpsession: Use an empty iterator in iterate_internal_link when no links
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.
Aurélien Zanelli [Tue, 9 Dec 2014 13:01:50 +0000 (14:01 +0100)]
v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
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
Patrick Radizi [Mon, 8 Dec 2014 20:26:18 +0000 (21:26 +0100)]
rtph264pay: Fixes buffer leak when using SPS/PPS
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
Mathieu Duponchelle [Tue, 9 Dec 2014 03:43:29 +0000 (04:43 +0100)]
agingtv: fix memcpy when no color aging requested.
video_size is the size in pixels, actual size of the memcpy
has to be stride * height.
Nicolas Dufresne [Sun, 7 Dec 2014 22:33:51 +0000 (17:33 -0500)]
v4l2: Workaround libv4l2 RW emulation bug
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 [Sun, 7 Dec 2014 22:27:37 +0000 (17:27 -0500)]
v4l2: Fix RW io mode
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
Nicolas Dufresne [Wed, 3 Dec 2014 21:40:49 +0000 (16:40 -0500)]
v4l2bufferpool: Cleanup uneeded check and cases
There is nothing in between the break and the "done:" anymore, plus
USERPTR and DMABUF_IMPORT case is exactly the same.
Nicolas Dufresne [Wed, 3 Dec 2014 22:07:49 +0000 (17:07 -0500)]
v4l2pool: Fix CREATE_BUFS support for capture
This patch fixes CREATE_BUFS support for capture devices. Initially we
would only try and allocate more buffers when the copy threshold
is reached. When the threshold was not set (needed) it would never
happen. Another problem is that on capture side, acquire returns
filled buffer, hence need to pool. We need to set a special flag to
force allocation to happen.
https://bugzilla.gnome.org/show_bug.cgi?id=741134
Nicolas Dufresne [Wed, 3 Dec 2014 21:27:59 +0000 (16:27 -0500)]
v4l2allocator: Fix CREATE_BUF probing
Current for every memory type we where probing MMAP CREATE_BUFS ioct.
https://bugzilla.gnome.org/show_bug.cgi?id=741134
Nicola Murino [Tue, 18 Nov 2014 15:52:40 +0000 (16:52 +0100)]
matroskademux: set framerate 0/1 when duration is not known
https://bugzilla.gnome.org/show_bug.cgi?id=740130
Jan Schmidt [Thu, 4 Dec 2014 06:25:55 +0000 (17:25 +1100)]
qtdemux: More fixes for reverse playback
When seeking or finding the previous keyframe, do
comparisons against targets and segments using composition time
to correctly decide which sample times match.
Thibault Saunier [Wed, 3 Dec 2014 10:12:55 +0000 (11:12 +0100)]
rtpjitterbuffer: Use an empty iterator in iterate_internal_link when no links
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.
Jan Schmidt [Wed, 3 Dec 2014 02:20:57 +0000 (13:20 +1100)]
qtdemux: Handle seeks past EOS as a seek to the end
Fix reverse playback of every frame by making seeks past/to EOS
find the last segment and start there.
Olivier Crête [Tue, 2 Dec 2014 20:33:25 +0000 (15:33 -0500)]
rtpmpadepay: Relax caps to allow any clock-rate
Some Wowza setups seem to send an invalid non-90000 clock-rate.
Thiago Santos [Tue, 2 Dec 2014 00:04:02 +0000 (21:04 -0300)]
qtdemux: don't use GST_CLOCK_TIME_NONE in non GstClockTime variables
Use -1 instead as those are gint64/guint64 variables and not GstClockTime
Aurélien Zanelli [Fri, 7 Nov 2014 16:06:49 +0000 (17:06 +0100)]
v4l2allocator: fix gst_v4l2_allocator_stop prototype
gst_v4l2_allocator_stop returns a GstV4l2Return, not a gboolean.
https://bugzilla.gnome.org/show_bug.cgi?id=739792
Aurélien Zanelli [Fri, 7 Nov 2014 15:41:52 +0000 (16:41 +0100)]
v4l2bufferpool: unref pool when v4l2_allocator_new() fails
https://bugzilla.gnome.org/show_bug.cgi?id=739791
Nicolas Dufresne [Sun, 30 Nov 2014 22:52:47 +0000 (17:52 -0500)]
v4l2: Remove last include to linux/videodev2.h
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
Tim-Philipp Müller [Sun, 24 Aug 2014 12:38:08 +0000 (13:38 +0100)]
qtdemux: implement seeking in fragmented mp4 files in pull mode based on the mfra table
Tim-Philipp Müller [Sat, 29 Nov 2014 15:25:51 +0000 (15:25 +0000)]
qtdemux: use track fragment decoding time (tfdt) in parse_trun() for interpolation
As fallback if we don't have any existing samples
as reference point yet.
Based on patch by David Corvoysier <david.corvoysier@orange.com>
Tim-Philipp Müller [Sat, 29 Nov 2014 14:37:25 +0000 (14:37 +0000)]
qtdemux: parse mfra random access box for fragmented mp4 files
If it's present, and we operate in pull mode.
Tim-Philipp Müller [Fri, 15 Aug 2014 12:58:26 +0000 (14:58 +0200)]
qtdemux: stop parsing headers for fragmented mp4s at the first moof
Currently during header parsing, we scan through the entire file
and skip every moof+mdat chunk for fragmented mp4s, which makes
start-up incredibly slow. Instead, just stop at the first moof
chunk when have a moov, and start exposing the streams, so we
can go and start handling the moofs for real.
Tim-Philipp Müller [Sat, 29 Nov 2014 13:59:35 +0000 (13:59 +0000)]
tests: add interactive gdkpixbufoverlay test
Just need to fix the coordinate system now so
that negative offsets are actually negative
and not flipped to position things from the
opposite border.
Tim-Philipp Müller [Sat, 29 Nov 2014 13:53:03 +0000 (13:53 +0000)]
gdkpixbufoverlay: add "pixbuf" property
So we can set a GdkPixbuf directly instead of
reading it from an image file on the file system.
Tim-Philipp Müller [Sat, 29 Nov 2014 13:23:50 +0000 (13:23 +0000)]
gdkpixbuf: remove pixbufscale code that was never ported
Don't think we'll need this again.
Olivier Crête [Sat, 29 Nov 2014 23:35:42 +0000 (18:35 -0500)]
rtprtxreceive: Use offset when copying header
The header is not always at the start of the packet, so we need to compute
the offset first.
Tim-Philipp Müller [Fri, 28 Nov 2014 13:12:46 +0000 (13:12 +0000)]
apev2mux: write APE tags at end for wavpack files
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
Tim-Philipp Müller [Fri, 28 Nov 2014 10:41:55 +0000 (10:41 +0000)]
tests: add interactive test for gapless playback using SEGMENT seeks
Not working too well yet, there are glitches even with WAV or FLAC.
https://bugzilla.gnome.org/show_bug.cgi?id=692368
Andrei Sarakeev [Wed, 26 Nov 2014 07:33:09 +0000 (10:33 +0300)]
aspectratiocrop: Handle resolution changes properly
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
Edward Hervey [Thu, 27 Nov 2014 16:10:53 +0000 (17:10 +0100)]
Automatic update of common submodule
From 7bb2bce to ef1ffdc
Tim-Philipp Müller [Thu, 27 Nov 2014 11:20:36 +0000 (11:20 +0000)]
test: use gst_util_uint64_scale_round() for timestamp to sample calculation
Tim-Philipp Müller [Thu, 27 Nov 2014 11:16:35 +0000 (11:16 +0000)]
tests: add interactive test for accurate seeking
For some audio formats.
https://bugzilla.gnome.org/show_bug.cgi?id=655276
Edward Hervey [Wed, 26 Nov 2014 15:04:26 +0000 (16:04 +0100)]
isomp4: Check presence of mfhd in moof
The 'mfhd' atom is mandatory in 'moof'. We can later on check whether
the fragment number properly increases
Edward Hervey [Wed, 26 Nov 2014 14:59:36 +0000 (15:59 +0100)]
isomp4: Fix mfro and tfra atom dumping
mfro was skipping the version/flags
tfra had wrong byte_reader return value checks
Edward Hervey [Wed, 26 Nov 2014 14:58:26 +0000 (15:58 +0100)]
isomp4: Add mfhd atom dumping
Jan Schmidt [Wed, 26 Nov 2014 13:15:02 +0000 (00:15 +1100)]
qtdemux: Handle empty segments when seeking in reverse play.
Empty segments in an edit list have a media_start time of -1,
as they don't actually play any media. Allow for that when
aligning to the reference stream in reverse play.
Nicolas Dufresne [Mon, 24 Nov 2014 15:36:54 +0000 (10:36 -0500)]
Revert "v4l2allocator: Remove unused variable"
This reverts commit
ad4480d53408a4d97ab531174ef37f258f3253c0.
Nicolas Dufresne [Mon, 24 Nov 2014 15:36:30 +0000 (10:36 -0500)]
Revert "v4l2: move vb_queue probing from allocator to v4l2object"
This reverts commit
ec6b8b84af719d828ddd91c724e715c0b4a556bc.
Nicolas Dufresne [Mon, 24 Nov 2014 15:33:29 +0000 (10:33 -0500)]
Revert "v4l2object: allow to automatic selection of dmabuf"
This reverts commit
e6c2ad5571e5dedb212287efe238eb450032cd4f.
Tim-Philipp Müller [Sun, 23 Nov 2014 16:34:15 +0000 (16:34 +0000)]
REQUIREMENTS: update a little
People actually look at that it seems.
Tim-Philipp Müller [Sun, 23 Nov 2014 16:22:12 +0000 (16:22 +0000)]
icydemux: does not need to link against zlib
Tim-Philipp Müller [Sat, 22 Nov 2014 21:28:35 +0000 (21:28 +0000)]
speex: remove support for ancient speex versions
Branislav Katreniak [Fri, 21 Nov 2014 10:21:18 +0000 (11:21 +0100)]
souphttpsrc: log connection events at info level
https://bugzilla.gnome.org/show_bug.cgi?id=739305
Miguel París Díaz [Mon, 20 Oct 2014 11:00:37 +0000 (13:00 +0200)]
rtpjitterbuffer: ensure rtx_retry_period >= 0
https://bugzilla.gnome.org/show_bug.cgi?id=739344
Nicolas Dufresne [Fri, 21 Nov 2014 16:44:24 +0000 (11:44 -0500)]
v4l2allocator: Remove unused variable
this was introduced by commit ec6b8b
https://bugzilla.gnome.org/show_bug.cgi?id=699382
Nicolas Dufresne [Sun, 16 Nov 2014 17:34:17 +0000 (12:34 -0500)]
v4l2: Handle corrupted buffer with empty payload
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
Benjamin Gaignard [Fri, 21 Nov 2014 15:36:15 +0000 (16:36 +0100)]
v4l2object: allow to automatic selection of dmabuf
If the v4l2 queue support dmabuf select this buffer pool mode
and update the query with allocator.
This patch only concern exporting dmabuf and not importing dmabuf
fd from downstream element.
https://bugzilla.gnome.org/show_bug.cgi?id=699382
Benjamin Gaignard [Fri, 21 Nov 2014 15:13:05 +0000 (16:13 +0100)]
v4l2: move vb_queue probing from allocator to v4l2object
The goal is to make those information available in v4l2_object
to be able later to select the best allocation method for the pool
https://bugzilla.gnome.org/show_bug.cgi?id=699382
Arun Raghavan [Thu, 20 Nov 2014 17:12:59 +0000 (22:42 +0530)]
rtpbin: Fix up new_jitterbuffer signal prototype
Arun Raghavan [Thu, 20 Nov 2014 14:49:25 +0000 (20:19 +0530)]
rtpbin: Document how to control per-SSRC retransmission
Arun Raghavan [Thu, 20 Nov 2014 14:48:45 +0000 (20:18 +0530)]
doc: Trivial spelling and consistency update
Wim Taymans [Thu, 20 Nov 2014 12:14:14 +0000 (13:14 +0100)]
rtpgstpay: put 0-byte at the end of events
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
Wim Taymans [Thu, 20 Nov 2014 11:40:28 +0000 (12:40 +0100)]
rtpgstdepay: avoid buffer overread.
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
Tim-Philipp Müller [Thu, 20 Nov 2014 10:45:07 +0000 (10:45 +0000)]
qtmux: don't limit max video resolution to 4096x4096
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
Aleix Conchillo Flaqué [Wed, 19 Nov 2014 23:06:00 +0000 (15:06 -0800)]
rtspsrc: fix leak for mikey base64 decoded key-mgmt
https://bugzilla.gnome.org/show_bug.cgi?id=740392
Wim Taymans [Thu, 20 Nov 2014 08:01:38 +0000 (09:01 +0100)]
videobalance: fix unhandled format in passthrough
In passthrough we can handle all formats.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740387
Jan Alexander Steffens (heftig) [Wed, 19 Nov 2014 15:12:38 +0000 (16:12 +0100)]
flvdemux: Restrict resyncing to TS regressions
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
Matthew Waters [Mon, 17 Nov 2014 12:16:03 +0000 (23:16 +1100)]
videomixer: fix up QoS handling for live sources
Only attempt adaptive drop when we are not live
https://bugzilla.gnome.org/show_bug.cgi?id=739996
Henning Heinold [Mon, 10 Nov 2014 21:34:39 +0000 (22:34 +0100)]
examples: port python rtp PCMA client/server tests to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=739930
Vincent Penquerc'h [Wed, 4 Jun 2014 11:11:10 +0000 (12:11 +0100)]
flacdec: set the channel positions using the appropriate API
This avoids _set_format setting the unpositioned flag when passed
NULL as channel positions, as it would not be cleared when setting
actual channel positions later.
Aurélien Zanelli [Sat, 1 Nov 2014 21:39:41 +0000 (22:39 +0100)]
vpx: mark arnr-type properties as deprecated and set them to no-op
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
Arun Raghavan [Mon, 10 Nov 2014 07:46:01 +0000 (13:16 +0530)]
rtpmanager: Trivial typo fix
Sebastian Dröge [Sun, 9 Nov 2014 10:04:33 +0000 (11:04 +0100)]
matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it
Göran Jönsson [Thu, 6 Nov 2014 14:37:28 +0000 (15:37 +0100)]
matroskamux: make GstMatroskamuxPad get_type() function thread-safe
https://bugzilla.gnome.org/show_bug.cgi?id=739722
Aurélien Zanelli [Fri, 7 Nov 2014 15:11:24 +0000 (16:11 +0100)]
v4l2allocator: fix error message if allocator is already active
https://bugzilla.gnome.org/show_bug.cgi?id=739789
Nicolas Dufresne [Fri, 7 Nov 2014 02:21:40 +0000 (21:21 -0500)]
v4l2bufferpool: Improve buffer validation
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
Josep Torra [Thu, 6 Nov 2014 20:38:43 +0000 (21:38 +0100)]
rtsp: fix build in gst-uninstalled setup
Thibault Saunier [Wed, 29 Oct 2014 17:44:43 +0000 (18:44 +0100)]
imagefreeze: Handle seqnums
https://bugzilla.gnome.org/show_bug.cgi?id=739366
Vineeth T M [Tue, 4 Nov 2014 02:48:41 +0000 (08:18 +0530)]
pngdec: change parse logic
Right now in parse logic the signature is checked every time the parse function
is called, and the whole data is the scanned each and every time, even though the
data is scanned in the previous instance. Changing the logic such that, we skip
the bytes which are already scanned in the previous instances of parse. This
helps in avoiding multiple scan of already scanned data/signature.
https://bugzilla.gnome.org/show_bug.cgi?id=737708
Wim Taymans [Mon, 3 Nov 2014 14:26:06 +0000 (15:26 +0100)]
videomixer2: reverse order of params for converter
Aurélien Zanelli [Mon, 3 Nov 2014 10:44:28 +0000 (11:44 +0100)]
v4l2bufferpool: fix typo in flags
https://bugzilla.gnome.org/show_bug.cgi?id=739549
Tim-Philipp Müller [Sun, 2 Nov 2014 23:33:23 +0000 (23:33 +0000)]
v4l2src: fix a couple of minor leaks
Tim-Philipp Müller [Sun, 2 Nov 2014 19:42:03 +0000 (19:42 +0000)]
goom2k1: post QoS messages when dropping frames due to QoS
Tim-Philipp Müller [Sun, 2 Nov 2014 19:29:52 +0000 (19:29 +0000)]
goom: post QoS messages when dropping frames due to QoS
Tim-Philipp Müller [Sun, 2 Nov 2014 19:02:35 +0000 (19:02 +0000)]
matroskamux: tweak writing app tag string a little
Tim-Philipp Müller [Sun, 2 Nov 2014 16:51:23 +0000 (16:51 +0000)]
Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
Tim-Philipp Müller [Sun, 2 Nov 2014 16:58:07 +0000 (16:58 +0000)]
tests: don't use deprecated property in level unit test
Tim-Philipp Müller [Sun, 2 Nov 2014 13:06:33 +0000 (13:06 +0000)]
rtpjitterbuffer: implement get/set for new rtx-min-retry-timeout property
Properties are so much more useful if you can actually set
and get their values.
Simon Farnsworth [Thu, 30 Oct 2014 17:41:19 +0000 (17:41 +0000)]
v4l2: Clean up interlace support
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
Aurélien Zanelli [Sat, 1 Nov 2014 11:18:02 +0000 (12:18 +0100)]
vpx: remove compatibility defines
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 [Sat, 1 Nov 2014 15:33:23 +0000 (15:33 +0000)]
wavpack: remove support for ancient API version
Nicolas Dufresne [Sat, 1 Nov 2014 14:14:31 +0000 (10:14 -0400)]
rtpvp8: Use VP8 encoding name
Both Firefox and Chrome uses VP8 as the encoding in their SDP.
Adding this now defacto standard name removes the need for special
case in SDP parsing code.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
Tim-Philipp Müller [Sat, 1 Nov 2014 11:59:26 +0000 (11:59 +0000)]
rtpmp2tpay: fix up template caps so we can output the default pt 33
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.
Aleix Conchillo Flaqué [Thu, 30 Oct 2014 22:37:36 +0000 (15:37 -0700)]
rtspsrc: mikey related memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=739430
Vincent Penquerc'h [Tue, 10 Jun 2014 09:04:07 +0000 (10:04 +0100)]
speexenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
Vincent Penquerc'h [Tue, 10 Jun 2014 09:59:13 +0000 (10:59 +0100)]
flacenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
Aurélien Zanelli [Tue, 7 Oct 2014 13:29:33 +0000 (15:29 +0200)]
v4l2bufferpool: cleanly handle streamon failure for output device
On streamon failure, the queued buffer is not released from the
bufferpool class point of view because it is queued to the driver and
the flush logic is not performed since we are not in streaming state.
It causes the v4l2 bufferpool to always return that stop method failed
and to leak v4l2 objects and buffers.
This commit solve this by performing the flush logic in error case, ie
flushing the allocator and restoring queued buffer state to non-queued.
https://bugzilla.gnome.org/show_bug.cgi?id=738102
Aurélien Zanelli [Wed, 8 Oct 2014 08:31:21 +0000 (10:31 +0200)]
v4l2bufferpool: implement dispose method
Unref objects in dispose method rather than in finalize in order to
prevent circular reference.
https://bugzilla.gnome.org/show_bug.cgi?id=738102