Edward Hervey [Wed, 2 Mar 2016 13:25:24 +0000 (14:25 +0100)]
jitterbuffer: Speed up lost timeout handling
When downstream blocks, "lost" timers are created to notify the
outgoing thread that packets are lost.
The problem is that for high packet-rate streams, we might end up with
a big list of lost timeouts (had a use-case with ~1000...).
The problem isn't so much the amount of lost timeouts to handle, but
rather the way they were handled. All timers would first be iterated,
then the one selected would be handled ... to re-iterate the list again.
All of this is being done while the jbuf lock is taken, which in some use-cases
would return in holding that lock for 10s... blocking any buffers from
being accepted in input... which would then arrive late ... which would
create plenty of lost timers ... which would cause the same issue.
In order to avoid that situation, handle the lost timers immediately when
iterating the list of pending timers. This modifies the complexity from
a quadratic to a linear complexity.
https://bugzilla.gnome.org/show_bug.cgi?id=762988
Edward Hervey [Wed, 2 Mar 2016 13:23:01 +0000 (14:23 +0100)]
jitterbuffer: Don't create lost events if we don't need them
When "do-lost" is set to FALSE we don't use/send the lost events.
In that case, don't create them to start with :)
https://bugzilla.gnome.org/show_bug.cgi?id=762988
Edward Hervey [Wed, 2 Mar 2016 12:57:07 +0000 (13:57 +0100)]
jitterbuffer: Add tracing of lock usage
Helps with debugging lock usage
https://bugzilla.gnome.org/show_bug.cgi?id=762988
Nirbheek Chauhan [Wed, 10 Feb 2016 14:26:59 +0000 (19:56 +0530)]
v4l2: Don't leak v4l2 objects and props on probe errors
Tim-Philipp Müller [Mon, 4 Apr 2016 16:42:03 +0000 (17:42 +0100)]
tests: add unit test for jpeg depayloader packet loss handling
Make sure it always outputs something that looks like a valid
JPEG frame, ie. starts with an SOI marker and ends with an EOI
marker.
Nirbheek Chauhan [Mon, 14 Mar 2016 21:55:26 +0000 (03:25 +0530)]
rtpjpegdepay: Don't send invalid frames downstream after packet loss or a DISCONT
After clearing the adapter due to a DISCONT, as might happen when some packet(s)
have been lost, the depayloader was pushing data into the adapter (which had no
header due to the clear), creating a headerless frame out of it, and sending it
downstream. The downstream decoder would then usually ignore it; unless there
were lots of DISCONTs from the jitterbuffer in which case the decoder would reach
its max_errors limit and throw an element error. Now we just discard that data.
It is probaby not worth trying to salvage this data because non-progressive
jpeg does not degrade gracefully and makes the video unwatchable even with
low packet loss such as 3-5%.
Sebastian Dröge [Tue, 5 Jan 2016 14:15:16 +0000 (16:15 +0200)]
rtpjitterbuffer: Add RFC7273 media clock handling
https://bugzilla.gnome.org/show_bug.cgi?id=762259
Philippe Normand [Fri, 10 Jul 2015 07:44:15 +0000 (09:44 +0200)]
qtdemux: PIFF box detection and parsing support
The PIFF data is stored in a custom UUID box which is parsed and the
crypto_info of the element is updated accordingly. This allows
downstream decryptors to process and decrypt the protected content.
https://bugzilla.gnome.org/show_bug.cgi?id=753614
Luis de Bethencourt [Fri, 1 Apr 2016 11:15:05 +0000 (12:15 +0100)]
rtpvorbisdepay: remove dead code
payload_buffer hasn't been assigned a value before the jumps to
switch_failed or packet_short. So the value must be NULL. No need
to unmap and unref.
CID #1316476
Luis de Bethencourt [Thu, 31 Mar 2016 13:57:20 +0000 (14:57 +0100)]
rtph263pay: fix leak
Free memory of current macroblock once it isn't needed so it isn't leaked
by the call of the gst_rtp_h263_pay_B_mbfinder function.
if (!(mac = gst_rtp_h263_pay_B_mbfinder (context, gob, mac, mb))) {
CID 1212156
Jan Schmidt [Wed, 30 Mar 2016 15:15:04 +0000 (02:15 +1100)]
splitmux: Handle a hang draining out at EOS
Make sure that all data is drained out when the reference pad
goes EOS. Fixes a problem where data that arrives on other
pads after the reference pad finishes can stall forever and
never pass EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=763711
Xavier Claessens [Fri, 18 Mar 2016 19:45:01 +0000 (15:45 -0400)]
splitmuxsink: Fix occasional deadlock when ending file with subtitle
Deadlock occurs when splitting files if one stream received no buffer during
the first GOP of the next file. That can happen in that scenario for example:
1) The first GOP of video is collected, it has a duration of 10s.
max_in_running_time is set to 10s.
2) Other streams catchup and we receive the first subtitle buffer at ts=0 and
has a duration of 1min.
3) We receive the 2nd subtitle buffer with a ts=1min. in_running_time is set to
1min. That buffer is blocked in handle_mq_input() because
max_in_running_time is still 10s.
4) Since all in_running_time are now > 10s, max_out_running_time is now set to
10s. That first GOP gets recorded into the file. The muxer pop buffers out
of the mq, when it tries to pop a 2nd subtitle buffer it blocks because the
GstDataQueue is empty.
5) A 2nd GOP of video is collected and has a duration of 10s as well.
max_in_running_time is now 20s. Since subtitle's in_running_time is already
1min, that GOP is already complete.
6) But let's say we overran the max file size, we thus set state to
SPLITMUX_STATE_ENDING_FILE now. As soon as a buffer with ts > 10s (end of
previous GOP) arrives in handle_mq_output(), EOS event is sent downstream
instead. But since the subtitle queue is empty, that's never going to
happen. Pipeline is now deadlocked.
To fix this situation we have to:
- Send a dummy event through the queue to wakeup output thread.
- Update out_running_time to at least max_out_running_time so it sends EOS.
- Respect time order, so we set out_running_tim=max_in_running_time because
that's bigger than previous buffer and smaller than next.
https://bugzilla.gnome.org/show_bug.cgi?id=763711
Stian Selnes [Tue, 17 Nov 2015 17:17:35 +0000 (18:17 +0100)]
rtpsession: Add new signal 'on-app-rtcp'
Similar to the 'on-feedback-rtcp' signal, but emitted for RTCP APP
packets.
https://bugzilla.gnome.org/show_bug.cgi?id=762217
Minjae Kim [Thu, 24 Mar 2016 06:57:11 +0000 (15:57 +0900)]
rtpmanager: Set to initial value for 'ntpns' in get_current_times()
Initialize "ntpns" variable to -1 as the OE compiler for some reason doesn't
realize that the variable is set in all code paths.
https://bugzilla.gnome.org/show_bug.cgi?id=764119
Sebastian Dröge [Sun, 31 Jan 2016 00:08:38 +0000 (11:08 +1100)]
rtpjpegpay: Allow different quantization tables for components 2 and 3
RFC 2435 mentions in section 4.1 that U/V use table number 1, but this seems
just like an example. Some encoders are not following that and there seems to
be no reason to reject their streams.
https://bugzilla.gnome.org/show_bug.cgi?id=761345
Nicolas Dufresne [Thu, 24 Mar 2016 23:23:12 +0000 (19:23 -0400)]
vpxdec: Use threads on multi-core systems
This is a redo of commit
b848c1b6ffd1e508228820a013f94fb445e4777f. The
code was lost when the elements where ported to use a baseclass.
https://bugzilla.gnome.org/show_bug.cgi?id=764169
Thiago Santos [Tue, 1 Mar 2016 02:40:03 +0000 (23:40 -0300)]
splitmuxsink: only try to create internal sink if it doesn't exist
This allows splitmuxsink to be reused after being put to NULL.
Test included
https://bugzilla.gnome.org/show_bug.cgi?id=762893
Aurélien Zanelli [Thu, 1 Oct 2015 11:41:23 +0000 (13:41 +0200)]
v4l2object: probe all colorspace supported by device
A device can support more than one colorspace for a given image
dimension and pixel format. So we have to probe all the supported
colorspace and not only rely on the default one. Otherwise we could end
up with negotiation failure if the caps colorimetry field don't match
the v4l2 device default one even if the v4l2 could support such
colorimetry.
This patch enable probing if colorspace for both capture and output
device. It really makes sense for output device since the colorspace
shall be set by the application and a little less for capture device
which, at the moment, shall provide the colorspace; ie: the v4l2
specification seems to not take into account the fact that a capture
device could do colorspace conversion.
As a side effet, probing takes some times and so sligthly delay v4l2
initialization. Note that this patch only probe colorspace and not all
colorspace, matrix, transfer and range combination to avoid taking too
much time, especially with low-speed devices as full probing do 1782
ioctl.
https://bugzilla.gnome.org/show_bug.cgi?id=755937
Edward Hervey [Thu, 24 Mar 2016 15:21:56 +0000 (16:21 +0100)]
check: Fix indentation
Edward Hervey [Thu, 24 Mar 2016 15:20:39 +0000 (16:20 +0100)]
tests: Remove unused variables
Sebastian Dröge [Wed, 16 Mar 2016 18:26:16 +0000 (20:26 +0200)]
deinterleave: Return the current caps on the srcpads on caps queries
It's not like we could accept any other caps here. The caps are decided by the
upstream caps event.
Also keep the filter order intact when filtering the results against the
filter caps.
https://bugzilla.gnome.org/show_bug.cgi?id=763326
Jimmy Ohn [Thu, 24 Mar 2016 06:14:23 +0000 (15:14 +0900)]
qtdemux: Fix qtdemux memory leak in src_convert function
If we don't find the index of the sample correctly in src_convert function,
we have to unref about the qtdemux before returning value.
So, I have modify it about instead pass qtdemux as a parameter into
src_convert function.
https://bugzilla.gnome.org/show_bug.cgi?id=763973
Jimmy Ohn [Tue, 22 Mar 2016 04:15:20 +0000 (13:15 +0900)]
qtdemux: Add check condition for fail case in get_duration function
Currently, get_duration function always return the TRUE even though
it can't be set duration correctly. So, we need to add the else condition
about the fail case. Also, we already set the GST_CLOCK_TIME_NONE
in this function. So I have modify it which is related code in some
function.
https://bugzilla.gnome.org/show_bug.cgi?id=763968
Jimmy Ohn [Mon, 21 Mar 2016 01:11:23 +0000 (10:11 +0900)]
qtdemux: Modify data type of duration in handle_src_query function
Data type of duration need to modify from guint64 to GstClockTime
for consistency in handle_src_query function.
https://bugzilla.gnome.org/show_bug.cgi?id=763965
Vivia Nikolaidou [Fri, 18 Mar 2016 12:40:58 +0000 (14:40 +0200)]
deinterlace: Added unit tests for field=auto
https://bugzilla.gnome.org/show_bug.cgi?id=763869
Vivia Nikolaidou [Thu, 17 Mar 2016 19:21:02 +0000 (21:21 +0200)]
deinterlace: Added "auto" fields mode
The "auto" fields mode will detect the upstream and downstream framerates and
will decide to deinterlace all or only top fields.
https://bugzilla.gnome.org/show_bug.cgi?id=763869
Havard Graff [Wed, 16 Mar 2016 19:17:55 +0000 (20:17 +0100)]
flvdemux: don't emit pad-added until caps are ready
In other words, gst_pad_get_current_caps should never return NULL
in a pad-added callback from the demuxer.
Added tests for the two special cases with AAC and H.264 where this
would happen every time.
https://bugzilla.gnome.org/show_bug.cgi?id=763780
Vineeth TM [Fri, 4 Mar 2016 01:30:12 +0000 (10:30 +0900)]
good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
David Buchmann [Fri, 4 Mar 2016 08:42:44 +0000 (09:42 +0100)]
flvmux: Test to verify flvmux handles DTS with GST_CLOCK_TIME NONE
https://bugzilla.gnome.org/show_bug.cgi?id=762207
Jihae Yi [Wed, 4 Nov 2015 05:51:19 +0000 (14:51 +0900)]
rtspsrc: avoid potentially overflowing expression
https://bugzilla.gnome.org/show_bug.cgi?id=757569
Jimmy Ohn [Tue, 22 Mar 2016 01:43:45 +0000 (10:43 +0900)]
qtdemux: Add the function to get channels and sample rate for AAC
Add aac_get_channels and sample_rate function to get these value for
AAC.
https://bugzilla.gnome.org/show_bug.cgi?id=749110
Sebastian Dröge [Thu, 24 Mar 2016 11:33:02 +0000 (13:33 +0200)]
Back to development
Sebastian Dröge [Thu, 24 Mar 2016 10:27:33 +0000 (12:27 +0200)]
Release 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 10:02:59 +0000 (12:02 +0200)]
Update .po files
Sebastian Dröge [Wed, 16 Mar 2016 18:18:41 +0000 (20:18 +0200)]
deinterleave: Use GstIterator for iterating all pads instead of manually iterating them while holding the object lock all the time
Doing queries while holding the object lock is a bit dangerous, and in this
case causes deadlocks.
https://bugzilla.gnome.org/show_bug.cgi?id=763326
Vivia Nikolaidou [Thu, 17 Mar 2016 18:53:27 +0000 (20:53 +0200)]
deinterlace: Fix typo to not change the input caps but our filtered caps
Changing the input caps and not using them anymore afterwards is useless, and
it breaks negotiation in pipelines like:
gst-launch-1.0 videotestsrc ! "video/x-raw,framerate=25/1,interlace-mode=interleaved" !
deinterlace fields=all ! "video/x-raw,framerate=50/1,interlace-mode=progressive" !
fakesink
Sebastian Dröge [Tue, 15 Mar 2016 10:04:39 +0000 (12:04 +0200)]
Release 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 09:53:37 +0000 (11:53 +0200)]
Update .po files
Sebastian Dröge [Tue, 15 Mar 2016 09:41:22 +0000 (11:41 +0200)]
po: Update translations
Nirbheek Chauhan [Mon, 14 Mar 2016 21:56:14 +0000 (03:26 +0530)]
rtpmanager: Some comment and documentation clarifications/fixes
Sebastian Dröge [Sun, 13 Mar 2016 08:33:13 +0000 (10:33 +0200)]
Revert "flacparse: push tags in pre_push_frame"
This reverts commit
4065fcb80a49924b70f0c8fc159dec0ff47943a1.
flacparse should not push tags by itself, the base class is going to do that
while properly merging in upstream tags. It just didn't because of a bug in
the base class, which was hidden by this commit.
https://bugzilla.gnome.org/show_bug.cgi?id=763553
Nirbheek Chauhan [Wed, 24 Feb 2016 23:47:51 +0000 (05:17 +0530)]
win32: Don't use __attribute__ on MSVC
Use MSVC-equivalents for alignment and packing compiler directives when building
on MSVC
Nirbheek Chauhan [Wed, 24 Feb 2016 23:46:42 +0000 (05:16 +0530)]
win32: Don't try to include xmath.h on newer Visual Studio
Nirbheek Chauhan [Wed, 24 Feb 2016 23:46:09 +0000 (05:16 +0530)]
gst Factor out endian-order RGB formats
MSVC seems to ignore preprocessor conditionals inside static pad
template macros.
Thomas Roos [Tue, 8 Mar 2016 16:37:17 +0000 (17:37 +0100)]
dirctsoundsink: Setting volume should not unmute
https://bugzilla.gnome.org/show_bug.cgi?id=755106
Thomas Roos [Tue, 8 Mar 2016 12:57:24 +0000 (13:57 +0100)]
dirctsoundsink: Fix volume reset on unmute
https://bugzilla.gnome.org/show_bug.cgi?id=755106
Alban Bedel [Tue, 8 Mar 2016 12:03:55 +0000 (13:03 +0100)]
v4l2object: fix capture with bayer formats other than bggr
gst_v4l2_object_get_caps_info() always return V4L2_PIX_FMT_SBGGR8
for all bayer formats. This is obviously broken if the device use
another ordering. Fix this by properly reading the format parameter.
https://bugzilla.gnome.org/show_bug.cgi?id=763318
Thiago Santos [Mon, 7 Mar 2016 13:28:06 +0000 (10:28 -0300)]
qtdemux: reset pending segment if we are already pushing one
When upstream is running in bytes in push-mode, qtdemux will
convert seeks from time to bytes and send it upstream. Upstream
element will perform a byte seek and send a byte segment to qtdemux
that will convert it to time and push it downstream.
There is, however, the pending_segment variable that stores a new
segment event to be pushed before the next data. When handling seeks
as mentioned above this variable was being ignored and, if it contained
some segment event, it would override the one resulting from the seek.
This would restore a previous segment and would cause the seek segment
to be discarded downstream.
This patch fixes this issue by unrefing any pending segment as the
seek from upstream should contain the latest one that should be
used, as requested by the application.
https://bugzilla.gnome.org/show_bug.cgi?id=763165
Thiago Santos [Mon, 7 Mar 2016 13:27:41 +0000 (10:27 -0300)]
qtdemux: run gst-indent
Otherwise commits will fail with our indent check hook
Josep Torra [Fri, 4 Mar 2016 14:09:45 +0000 (15:09 +0100)]
v4l2: fix colorimetry for NV12
Replicate V4L2_MAP_QUANTIZATION_DEFAULT macro behavior.
At #v4l it was described that documentation might be wrong and that
we should trust this macro instead.
https://bugzilla.gnome.org/show_bug.cgi?id=762529
Sebastian Dröge [Fri, 4 Mar 2016 12:07:19 +0000 (14:07 +0200)]
udpsrc: Fix multicast group joining with provided sockets on Windows
On Windows the socket will be bound to ANY instead of the multicast group,
as binding to a multicast group does not work. Which would mean that we
override src->addr to become ANY and won't automatically join a multicast
group anymore on Windows.
On Linux we would automatically join a multicast group, keep it consistent.
https://bugzilla.gnome.org/show_bug.cgi?id=763093
Sebastian Dröge [Wed, 2 Mar 2016 11:13:24 +0000 (13:13 +0200)]
Revert "rtpjitterbuffer: don't forget to unlock mutex in error code path in two cases"
This reverts commit
a7fb7b53592d87f7983544debb74d364fc3257ad.
The mutex is taken by the caller, we should keep it locked when returning so
the caller can unlock it again.
Luis de Bethencourt [Tue, 1 Mar 2016 15:01:22 +0000 (15:01 +0000)]
flacparse: push tags in pre_push_frame
Push a tag event before pre-roll if we have tags.
https://bugzilla.gnome.org/show_bug.cgi?id=762660
Sebastian Dröge [Tue, 1 Mar 2016 16:15:43 +0000 (18:15 +0200)]
Release 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 15:03:59 +0000 (17:03 +0200)]
Update .po files
Sebastian Dröge [Tue, 1 Mar 2016 14:53:27 +0000 (16:53 +0200)]
po: Update translations
Tim-Philipp Müller [Tue, 1 Mar 2016 14:14:02 +0000 (14:14 +0000)]
rtpjitterbuffer: don't forget to unlock mutex in error code path in two cases
Luis de Bethencourt [Mon, 29 Feb 2016 10:10:24 +0000 (10:10 +0000)]
matroska-demux: remove impossible condition
It is impossible for a guint to have a negative value, no need to check for
this. Introduced in commit
6861d11c49ea0f30d2432cf4ebf6108bc89897f1
CID 1354509
Petr Viktorin [Sun, 28 Feb 2016 09:12:36 +0000 (10:12 +0100)]
alpha: Fix sample pipeline
Use the zorder pad property to make sure the semitransparent
video is on top of the background.
https://bugzilla.gnome.org/show_bug.cgi?id=762809
Tim-Philipp Müller [Sun, 28 Feb 2016 13:42:28 +0000 (13:42 +0000)]
rgvolume: make tag list writable before modifying it
Making the event itself writable is not enough, it won't make
the actual taglist in the event writable as well. Instead, just
make a copy of the taglist and then create a new tag event from
that if required, replacing the old one. Before we would
inadvertently modify taglists upstream elements might still
be holding on to. Add unit test for this as well.
https://bugzilla.gnome.org/show_bug.cgi?id=762793
Sebastian Dröge [Sun, 28 Feb 2016 11:01:34 +0000 (13:01 +0200)]
rtspsrc: Properly error out if binding the UDP sockets fails
udpsrc is not returning us a socket in that case.
Sebastian Dröge [Sat, 27 Feb 2016 18:33:32 +0000 (20:33 +0200)]
goom: Use goom_set_resolution() instead of recreating the goom instance when the resolution changes
https://bugzilla.gnome.org/show_bug.cgi?id=762765
Sebastian Dröge [Sat, 27 Feb 2016 18:32:45 +0000 (20:32 +0200)]
Revert "goom: Initialize the goom struct only once we know width/height and recreate it if those change"
This reverts commit
cc6e102643c1bae928316dca9f34db028fb9a67e.
Sebastian Dröge [Sat, 27 Feb 2016 18:31:15 +0000 (20:31 +0200)]
goom: Initialize the goom struct only once we know width/height and recreate it if those change
Fixes crash when the width and/or height is changing.
https://bugzilla.gnome.org/show_bug.cgi?id=762765
Sebastian Dröge [Fri, 26 Feb 2016 10:41:07 +0000 (12:41 +0200)]
Automatic update of common submodule
From b64f03f to 6f2d209
Tim-Philipp Müller [Thu, 25 Feb 2016 22:54:18 +0000 (22:54 +0000)]
docs: add rtpopusdepay and rtpopuspay to documentation
Tim-Philipp Müller [Wed, 17 Feb 2016 15:15:11 +0000 (15:15 +0000)]
rtp: opus: move Opus RTP payloader/depayloader from -bad to -good
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Wed, 17 Feb 2016 15:10:00 +0000 (15:10 +0000)]
Merge branch 'plugin-move-rtp-opus'
Move Opus RTP depayloader/payloader from -bad to -good.
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Philippe Normand [Thu, 25 Feb 2016 10:33:13 +0000 (11:33 +0100)]
qtdemux: cenc aux info parsing from mdat support in PULL mode
This is already supported for PUSH mode but was failing in PULL mode.
The aux info is sometimes stored in the mdat before the first sample,
so the loop task needs to pull data stored at that location and
perform the aux info cenc parsing.
https://bugzilla.gnome.org/show_bug.cgi?id=761700
https://bugzilla.gnome.org/show_bug.cgi?id=762516
Philippe Normand [Wed, 24 Feb 2016 10:28:09 +0000 (11:28 +0100)]
qtdemux: prevent buffer flow if any stream failed to be exposed
In some cases the stream configuration can fail, for instance if the
stream is protected and no decryptor was found. For those situations
the demuxer shouldn't emit any data on the corresponding source pad of
the stream and bail out.
https://bugzilla.gnome.org/show_bug.cgi?id=762516
Philippe Normand [Wed, 24 Feb 2016 08:12:03 +0000 (09:12 +0100)]
qtdemux: don't push encrypted buffer without cenc metadata
When the cenc metadata is stored outside of the moof box and the
stream is exposed it is possible that the cenc metadata hasn't been
processed yet while the first buffer is being pushed. When this
happens the buffer can't possibly be decrypted downstream so don't
push it.
https://bugzilla.gnome.org/show_bug.cgi?id=762516
Philippe Normand [Wed, 21 Oct 2015 14:21:45 +0000 (16:21 +0200)]
qtdemux: read saio aux_info_type as a FOURCC
https://bugzilla.gnome.org/show_bug.cgi?id=756897
Sebastian Dröge [Tue, 23 Feb 2016 16:27:47 +0000 (18:27 +0200)]
gst: Handle gst_pad_get_current_caps() returning NULL gracefully
Dave Craig [Tue, 23 Feb 2016 16:12:54 +0000 (18:12 +0200)]
rtph265depay: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
Dave Craig [Wed, 16 Dec 2015 12:40:39 +0000 (12:40 +0000)]
gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
Dave Craig [Wed, 16 Dec 2015 10:54:17 +0000 (10:54 +0000)]
aacparse: Handle gst_pad_get_current_caps() returning NULL gracefully
This can happen when the pipeline is currently shutting down.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
Linus Svensson [Tue, 23 Feb 2016 14:57:18 +0000 (15:57 +0100)]
matroska-demux: Don't handle seek until ready
https://bugzilla.gnome.org/show_bug.cgi?id=762542
Linus Svensson [Tue, 23 Feb 2016 14:55:13 +0000 (15:55 +0100)]
matroska-demux: Unref seek event
https://bugzilla.gnome.org/show_bug.cgi?id=762542
Aurélien Zanelli [Mon, 22 Feb 2016 10:01:40 +0000 (11:01 +0100)]
multifilesink: close file on write error with next-file mode is set to buffer
If we have an error during fwrite call, file stays open and thus next
incoming buffer will trigger an assert when trying to opening a new
file.
This happens if we do not restart element, file is closed at stop, and
if application handles the returned GST_FLOW_ERROR to keep bin alive.
https://bugzilla.gnome.org/show_bug.cgi?id=762434
Matej Knopp [Fri, 19 Feb 2016 22:44:42 +0000 (23:44 +0100)]
matroskamux: don't output empty tags/tag elements
Such files will not play on Android, because of bug in libwebm matroska parsing, which is still present in 6.0.1
https://bugzilla.gnome.org/show_bug.cgi?id=762349
Vincent Penquerc'h [Thu, 4 Feb 2016 15:59:04 +0000 (15:59 +0000)]
matroska-demux: make up an OpusHead block if possible when missing
https://bugzilla.gnome.org/show_bug.cgi?id=761489
Vincent Penquerc'h [Thu, 4 Feb 2016 10:43:15 +0000 (10:43 +0000)]
matroska-mux: make up an OpusHead block if possible when missing
This block is needed in the Matroska file, but data coming from
RTP may not have one.
https://bugzilla.gnome.org/show_bug.cgi?id=761489
Mark Nauwelaerts [Mon, 22 Feb 2016 12:53:21 +0000 (13:53 +0100)]
matroskademux: make stream-id more readable and order-friendly
... as streams are so ordered by id by e.g. decodebin
(and as typically already honoured by other demuxers).
Mark Nauwelaerts [Mon, 22 Feb 2016 12:25:51 +0000 (13:25 +0100)]
matroska: remove confusing duplicate track uid field
Luis de Bethencourt [Mon, 22 Feb 2016 14:03:02 +0000 (14:03 +0000)]
rtpvp9pay: add missing break
VP9_PAY_PICTURE_ID_7BITS and VP9_PAY_PICTURE_ID_15BITS are mutually
exclusive options of the picture-id-mode. We can break after the
first case.
1 or 2 bytes need to be added to the header length depending on the
PictureID size.
https://tools.ietf.org/html/draft-uberti-payload-vp9-00#section-4.2
CID 1353479
Vineeth TM [Mon, 22 Feb 2016 00:09:01 +0000 (09:09 +0900)]
avidemux: Fix buffer memory leak
buffer being mapped is not being unmapped in some cases
https://bugzilla.gnome.org/show_bug.cgi?id=762420
Stian Selnes [Wed, 4 Nov 2015 09:19:03 +0000 (10:19 +0100)]
rtpmanager: Don't warn for duplicate/reordered packets
This is a normal scenario and should not be a warning.
https://bugzilla.gnome.org/show_bug.cgi?id=762208
Tim-Philipp Müller [Sun, 21 Feb 2016 09:47:43 +0000 (09:47 +0000)]
win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
Tim-Philipp Müller [Sat, 20 Feb 2016 11:51:56 +0000 (11:51 +0000)]
v4l2: don't use undeclared core debug category symbols
Matej Knopp [Sat, 6 Feb 2016 13:39:05 +0000 (14:39 +0100)]
qtdemux: workaround for files with wrong color_table_id value
Instead of erroring out, just use the default color table.
https://bugzilla.gnome.org/show_bug.cgi?id=761637
Tim-Philipp Müller [Fri, 19 Feb 2016 15:02:04 +0000 (15:02 +0000)]
flvmux, rtpvp9depay: fix indentation
Tim-Philipp Müller [Fri, 19 Feb 2016 15:03:04 +0000 (15:03 +0000)]
v4l2src: fix indentation
Havard Graff [Thu, 3 Dec 2015 13:46:34 +0000 (00:46 +1100)]
flvmux: plug leak(s) in error-scenario
https://bugzilla.gnome.org/show_bug.cgi?id=762210
Havard Graff [Thu, 3 Dec 2015 13:46:12 +0000 (00:46 +1100)]
flvdemux: fix eos event leak
https://bugzilla.gnome.org/show_bug.cgi?id=762209
Tim-Philipp Müller [Fri, 19 Feb 2016 14:41:07 +0000 (14:41 +0000)]
tests: fix indentation
Havard Graff [Thu, 18 Feb 2016 15:09:29 +0000 (16:09 +0100)]
tests: rtpjitterbuffer: port testharness to GstHarness and cleanup/improve
Probably found a bug as well, in that there are some timestamps in
there that are looking very wrong. (marked with FIXME)
https://bugzilla.gnome.org/show_bug.cgi?id=762267
Havard Graff [Thu, 18 Feb 2016 09:27:19 +0000 (10:27 +0100)]
tests: rtpjitterbuffer: test cleanups/improvements
Use fail_unless and friends instead of g_assert
Factor seq-num checking out to separate function
Check more return-values from push and crank and others
https://bugzilla.gnome.org/show_bug.cgi?id=762254
Stian Selnes [Thu, 3 Dec 2015 10:07:05 +0000 (11:07 +0100)]
tests: rtpjitterbuffer: fix leaks in unit test
https://bugzilla.gnome.org/show_bug.cgi?id=762214
Sebastian Dröge [Fri, 19 Feb 2016 10:38:28 +0000 (12:38 +0200)]
Back to development
Sebastian Dröge [Fri, 19 Feb 2016 09:49:55 +0000 (11:49 +0200)]
Release 1.7.2