Sebastian Dröge [Wed, 28 Sep 2016 20:03:58 +0000 (23:03 +0300)]
qtmux: Don't calculate PTS offset and DTS with GST_CLOCK_TIME_NONE
Just error out if there is no valid PTS.
https://bugzilla.gnome.org/show_bug.cgi?id=772143
Sebastian Dröge [Thu, 29 Sep 2016 14:37:28 +0000 (17:37 +0300)]
qtdemux: Add JPEG2000 ihdr atom to the list of known ones
Otherwise qtdemux is always going to complain about it being unknown.
Sebastian Dröge [Thu, 29 Sep 2016 07:19:56 +0000 (10:19 +0300)]
matroskamux: Always write the default frame duration for VP8/9 too
The WebM spec allows this now, and it allows us to guess a framerate.
See https://bugzilla.gnome.org/show_bug.cgi?id=772141 and
also https://bugzilla.gnome.org/show_bug.cgi?id=654379
Olivier Crête [Tue, 27 Sep 2016 19:26:19 +0000 (15:26 -0400)]
rtph26[45]depay: Don't handle NALs inside STAP units twice
They've already been handled before pushing them into the adapter.
Tim-Philipp Müller [Tue, 27 Sep 2016 11:39:12 +0000 (12:39 +0100)]
meson: tests: fix vp8 availability checks
Those variables are not defined if vp8 was not found.
Tim-Philipp Müller [Tue, 27 Sep 2016 09:23:38 +0000 (10:23 +0100)]
Revert "multifilesink: streamline the file-switch code a bit"
This reverts commit
f1ceaab02f3f557e23b77b14771a575788f92bb4.
This broke atomic file writes in "buffer" mode. It did make
sure that any streamheaders are prepended to each file in
buffer mode as well, but that's not really needed in practice,
whereas atomic file writes are, so let's restore the status
quo ante for now since this was primarily a code cleanup anyway,
and if anyone needs to streamheaders in buffer mode too they
can make a patch to implement that differently. Re-implementing
the atomic writes in the element also seems way too much work.
https://bugzilla.gnome.org/show_bug.cgi?id=766990
Tim-Philipp Müller [Tue, 27 Sep 2016 09:22:57 +0000 (10:22 +0100)]
Revert "multifilesink: close file on write error with next-file mode is set to buffer"
This reverts commit
84e441d2685cf223d348a95be0c5ba693bbf6624.
This will no longer be needed once we revert
f1ceaab02.
Thibault Saunier [Mon, 26 Sep 2016 16:22:29 +0000 (13:22 -0300)]
meson: Add gst-plugins-base plugins directories to be used by tests
Tim-Philipp Müller [Mon, 26 Sep 2016 13:30:00 +0000 (14:30 +0100)]
meson: add unit tests
Only works properly in an installed setup currently, most
likely won't work with a subprojects setup yet.
Tim-Philipp Müller [Sat, 24 Sep 2016 08:36:24 +0000 (09:36 +0100)]
meson: hook up translations
Arun Raghavan [Thu, 8 Sep 2016 12:00:41 +0000 (17:30 +0530)]
pulsesrc: Don't negotiate to less than two segments
GstAudioRingBuffer doesn't needs us to have at least 2 segments. We make
sure that if our buffer parameters are such that the maxlength is not at
least 2x fragsize, we still request the ringbuffer to keep that much
space so it continues to work.
https://bugzilla.gnome.org/show_bug.cgi?id=770446
Arun Raghavan [Sat, 24 Sep 2016 17:52:01 +0000 (23:22 +0530)]
rtpsbcpay: Fix timestamping
We were just picking the timestamp of the last buffer pushed into our
adapter before we had enough data to push out.
This fixes things to figure out how large each frame is and what
duration it covers, so we can set both the timestamp and duration
correctly.
Also adds some DISCONT handling.
Georg Lippitsch [Tue, 12 Jul 2016 16:14:52 +0000 (18:14 +0200)]
qtmux: Fix fourcc for ProRes Proxy
This is apco, according to
https://wiki.multimedia.cx/index.php?title=Apple_ProRes
https://bugzilla.gnome.org/show_bug.cgi?id=769048
Tim-Philipp Müller [Sun, 18 Sep 2016 19:55:31 +0000 (20:55 +0100)]
meson: fix build with vpx 1.3.x
vpx >= 1.4.0 is optional
Sebastian Dröge [Thu, 15 Sep 2016 16:19:35 +0000 (18:19 +0200)]
rtspsrc: Use new bin suppressed flags API for managing the element flags
Tim-Philipp Müller [Thu, 15 Sep 2016 08:52:31 +0000 (09:52 +0100)]
ext, gst: fix indentation
Tim-Philipp Müller [Thu, 15 Sep 2016 08:52:17 +0000 (09:52 +0100)]
tests: fix indentation
Thomas Bluemel [Thu, 11 Aug 2016 17:04:22 +0000 (11:04 -0600)]
rtpjitterbuffer: Fix calculating next_seqnum when dropping old buffers from a full queue.
Fixes calculating the next sequence number when a ITEM_TYPE_LOST with more than one
definitely lost packets is encountered.
https://bugzilla.gnome.org/show_bug.cgi?id=769757
Havard Graff [Thu, 11 Aug 2016 21:07:44 +0000 (23:07 +0200)]
rtpjitterbuffer: improved rtx-rtt averaging
The basic idea is this:
1. For *larger* rtx-rtt, weigh a new measurement as before
2. For *smaller* rtx-rtt, be a bit more conservative and weigh a bit less
3. For very large measurements, consider them "outliers"
and count them a lot less
The idea being that reducing the rtx-rtt is much more harmful then
increasing it, since we don't want to be underestimating the rtt of the
network, and when using this number to estimate the latency you need for
you jitterbuffer, you would rather want it to be a bit larger then a bit
smaller, potentially losing rtx-packets. The "outlier-detector" is there
to prevent a single skewed measurement to affect the outcome too much.
On wireless networks, these are surprisingly common.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Stian Selnes [Fri, 5 Aug 2016 10:51:59 +0000 (12:51 +0200)]
rtpjitterbuffer: Detect whether to assume equidistant spacing when loss
Assuming equidistant packet spacing when that's not true leads to more
loss than necessary in the case of reordering and jitter. Typically this
is true for video where one frame often consists of multiple packets
with the same rtp timestamp. In this case it's better to assume that the
missing packets have the same timestamp as the last received packet, so
that the scheduled lost timer does not time out too early causing the
packets to be considered lost even though they may arrive in time.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Stian Selnes [Wed, 27 Jul 2016 08:39:50 +0000 (10:39 +0200)]
rtpjitterbuffer: Don't request rtx if 'now' is past retry period
There is no need to schedule another EXPECTED timer if we're already
past the retry period. Under normal operation this won't happen, but if
there are more timers than the jitterbuffer is able to process in
real-time, scheduling more timers will just make the situation worse.
Instead, consider this packet as lost and move on. This scenario can
occur with high loss rate, low rtt and high configured latency.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Stian Selnes [Tue, 26 Jul 2016 16:01:48 +0000 (18:01 +0200)]
rtpjitterbuffer: Fix lost duration when gap after lost timer
This patch fixes an issue with the estimated gap duration when there is
a gap immediately after a lost timer has been processed. Previously
there was a discrepancy beteen the gap in seqnum and gap in dts which
would cause wrong calculated duration. The issue would only be seen with
retranmission enabled since when it's disabled lost timers are only
created when a packet is received and the actual gap length and last dts
is known.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Havard Graff [Mon, 18 Jul 2016 23:11:58 +0000 (01:11 +0200)]
rtpjitterbuffer: Expose rtx-deadline as a property
The default -1 gives the old behavior.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Havard Graff [Thu, 11 Aug 2016 10:02:19 +0000 (12:02 +0200)]
rtpjitterbuffer: Improved expected-timer handling when gap > 0
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Stian Selnes [Thu, 11 Aug 2016 09:51:50 +0000 (11:51 +0200)]
rtpjitterbuffer: Major improvements for RTX stats
Stats should also be collected for unsuccessful packets.
rtx-rtt is very important for determining the necessary configured
latency on the jitterbuffer. It's especially important to be able to
increase the latency when retransmitted packets arrive too late and are
considered lost. This patch includes these late packets in the
calculation of the various rtx stats, making them more correct and
useful.
Also in the case where the original packet arrives after a NACK is sent,
the received RTX packet should update the stats since it provides useful
information about RTT.
The RTT is only updated if and only if all requested retranmissions are
received. That way the RTT is guaranteed to make sense. If not we don't
know which request the packet is a response to and the RTT may be bogus.
A consequence of this patch is that RTT is not updated for a request
when one of the RTX packets for that seqnum is lost, but that since
measured RTT will be more accurate.
The implementation store the RTX information from the timed out timers
and use this when the retransmitted packet arrives. For performance
these timers are stored separately from the "normal" timers in order to
not impact performance (see attached performance test).
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Havard Graff [Thu, 11 Aug 2016 09:02:44 +0000 (11:02 +0200)]
rtpjitterbuffer: Add and expose more stats and increase testing of it
Add num-pushed and num-lost.
Expose num-late, num-duplicates and avg-jitter.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Stian Selnes [Thu, 7 Jul 2016 08:20:02 +0000 (10:20 +0200)]
rtxreceive: Set buffer flag for retransmitted packets
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Havard Graff [Sat, 9 Jul 2016 21:47:41 +0000 (23:47 +0200)]
rtpjitterbuffer: Option to disable rtx-delay-reorder
When disabled we can save some iterations over timers.
There is probably an argument for rtx-delay-reorder to exist, but
for normal operations, handling jitter (reordering) is something a
jitterbuffer should do, and this variable feels like functionality that
is not "in-sync" with what the jitterbuffer is trying to achieve.
Example: You have 50ms jitter on your network, and are receiving
audio packets with 10ms durations. An audio packet should not be
considered late until its rtx-timeout has expired (and hence a rtx-event
is sent), but with rtx-delay-reorder, events will be sent pretty much
all the time due to the jitter on the network.
Point being: The jitterbuffer should adapt its size to the measured network
jitter, and then rtx-delay-reorder needs to adapt as well, or simply
get out of the way and let the other (better) rtx-mechanisms do their job.
Also change find_timer to only use seqnum as an argument, since there
will only ever be one timer per seqnum at any given time. In the
one case where the type matters, the caller simply checks the type.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
Olivier Crête [Wed, 14 Sep 2016 13:58:41 +0000 (09:58 -0400)]
rtph263pay: Fix double free from coverity
CID #1372887
Olivier Crête [Wed, 14 Sep 2016 13:58:37 +0000 (09:58 -0400)]
rtph263pay: Indent as per gst-indent
Sebastian Dröge [Wed, 14 Sep 2016 09:30:41 +0000 (11:30 +0200)]
configure: Depend on gstreamer 1.9.2.1
Wonchul Lee [Wed, 14 Sep 2016 01:17:02 +0000 (10:17 +0900)]
autodetect: Use gst_bin_set_suppressed_flags() API
https://bugzilla.gnome.org/show_bug.cgi?id=771395
Thomas Scheuermann [Fri, 9 Sep 2016 13:36:12 +0000 (15:36 +0200)]
jack: Fix pipeline hang when jack changes sample rate or buffer size
If jackd changes the buffer size or sample rate, jackaudiosink hangs
and can't be stopped. This also happens if jack is configured as slave
and a gstreamer pipeline is started on the slave machine while the jack
master isn't running yet. If the the jack master is started it changes
the buffer size / sample rate and jackaudiosink can't be stopped.
This fix calls jack_shutdown_cb when jack_sample_rate_cb or
jack_buffer_size_cb is called.
https://bugzilla.gnome.org/show_bug.cgi?id=771272
Sebastian Dröge [Mon, 12 Sep 2016 18:08:36 +0000 (20:08 +0200)]
deinterlace: Fix field ordering for reverse playback
And actually calculate the field duration instead of a frame duration so
that we can properly timestamp output frames in fields=all mode.
This is probably still broken for reverse playback in telecine mode.
Thomas Klausner [Mon, 12 Sep 2016 09:02:00 +0000 (09:02 +0000)]
udpsrc: Fix compilation on NetBSD
https://bugzilla.gnome.org/show_bug.cgi?id=771278
Jan Schmidt [Sat, 10 Sep 2016 10:51:10 +0000 (20:51 +1000)]
Automatic update of common submodule
From b18d820 to f980fd9
Xabier Rodriguez Calvar [Fri, 9 Sep 2016 12:02:25 +0000 (14:02 +0200)]
qtdemux: offset is irrelevant when no crypto info
Cause later it will try to use the crypto info array to get an index and
attach on of the positions as buffer's crypto info.
https://bugzilla.gnome.org/show_bug.cgi?id=770951
Jan Schmidt [Fri, 9 Sep 2016 23:53:57 +0000 (09:53 +1000)]
Automatic update of common submodule
From f49c55e to b18d820
Nicolas Dufresne [Wed, 7 Sep 2016 19:33:30 +0000 (15:33 -0400)]
osxaudio: Distribute device provider files
Those where missing the the dev release tarballs for 1.9.2 which
prevented building from tarball on OSX platform
Xabier Rodriguez Calvar [Tue, 6 Sep 2016 07:49:39 +0000 (09:49 +0200)]
qtdemux: Fix crash with no cenc aux offset
https://bugzilla.gnome.org/show_bug.cgi?id=770951
Vincent Penquerc'h [Mon, 5 Sep 2016 08:39:33 +0000 (09:39 +0100)]
aacparse: parse a bit more of the humongous LOAS data
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Vincent Penquerc'h [Mon, 5 Sep 2016 08:39:08 +0000 (09:39 +0100)]
aacparse: make it clear when a potential LOAS frame is not one
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Vincent Penquerc'h [Mon, 5 Sep 2016 08:38:26 +0000 (09:38 +0100)]
aacparse: add a few comments to anchor parsing to the spec
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Vincent Penquerc'h [Mon, 5 Sep 2016 08:37:02 +0000 (09:37 +0100)]
aacparse: improve channel/rate handling
Keep track of the last parsed channels/rate fields so they can be
used even if the element was not yet configured.
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Vincent Penquerc'h [Mon, 5 Sep 2016 08:35:53 +0000 (09:35 +0100)]
aacparse: fix varlength number reading as per spec
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Vincent Penquerc'h [Mon, 5 Sep 2016 08:35:02 +0000 (09:35 +0100)]
aacparse: strip uneeded static arrays slack
https://bugzilla.gnome.org/show_bug.cgi?id=769278
Olivier Crête [Mon, 18 Jul 2016 23:18:58 +0000 (19:18 -0400)]
rtpmp4adepay: Only declare a stream to be framed once a marker bit has been seen
This may cause a few packets to be processed by the parser, but it's
better than never pushing out buffers from a slightly broken stream
where no marker bits are set.
Sebastian Dröge [Tue, 6 Sep 2016 11:25:42 +0000 (14:25 +0300)]
dvdemux: Fix timestamping in reverse playback mode
This is only supported right now if after a demuxer that supports reverse
playback, e.g. with DV container inside AVI container.
Thibault Saunier [Mon, 5 Sep 2016 15:23:54 +0000 (12:23 -0300)]
meson: Bump version to 1.9.2
Mathieu Duponchelle [Fri, 26 Jun 2015 18:13:17 +0000 (20:13 +0200)]
qtmux: Implement the preset interface.
+ And provide a "youtube" preset, which based on
https://support.google.com/youtube/answer/1722171 sets
faststart to True.
https://bugzilla.gnome.org/show_bug.cgi?id=751559
Sebastian Dröge [Thu, 1 Sep 2016 09:27:35 +0000 (12:27 +0300)]
Back to development
Sebastian Dröge [Thu, 1 Sep 2016 09:27:15 +0000 (12:27 +0300)]
Release 1.9.2
Sebastian Dröge [Thu, 1 Sep 2016 08:23:33 +0000 (11:23 +0300)]
po: Update translations
Sebastian Dröge [Thu, 1 Sep 2016 07:59:51 +0000 (10:59 +0300)]
tests/examples: #define GDK_DISABLE_DEPRECATION_WARNINGS
We use gdk_cairo_create() which is deprecated since 3.22.
Jan Schmidt [Tue, 30 Aug 2016 19:50:44 +0000 (05:50 +1000)]
osxvideo: Remove QuickTime references.
QuickTime.h is no longer available on OS X 10.12 (Sierra),
and both the header and the framework seem unnecessary
for compilation - at least as of 10.11 (El Capitan).
https://bugzilla.gnome.org/show_bug.cgi?id=770526
Thibault Saunier [Fri, 19 Aug 2016 18:11:03 +0000 (11:11 -0700)]
Use the new API to post flow ERROR messages on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=770158
Josep Torra [Fri, 26 Aug 2016 19:32:07 +0000 (21:32 +0200)]
gitignore: ignore qtdemux, rtph261 and rtpvp9 tests
Josep Torra [Fri, 26 Aug 2016 19:22:16 +0000 (21:22 +0200)]
tests: use GST_NET_LIBS instead of hardcoded -lgstnet
Fixes build in OSX when running 'make check' in gst-uninstalled.
Josep Torra [Fri, 26 Aug 2016 19:14:47 +0000 (21:14 +0200)]
tests: remove a wrong 'const' specifier
Fixes "error: duplicate 'const' declaration specifier"
Josep Torra [Fri, 26 Aug 2016 19:11:59 +0000 (21:11 +0200)]
build: silence error about pthread for 'make check' in osx
Fixes "clang: error: argument unused during compilation: '-pthread'"
Sebastian Dröge [Fri, 26 Aug 2016 17:31:10 +0000 (20:31 +0300)]
vp9enc: Fix build of unit test by letting it link to libgstvideo
Olivier Crête [Fri, 26 Aug 2016 16:06:35 +0000 (12:06 -0400)]
Revert "rtpmux: fix PROP_TIMESTAMP_OFFSET range problems"
This broke API, so we need a better solution!
This reverts commit
c7579d31a6e9d788e94b83258309063d0aae481e.
Stian Selnes [Wed, 8 Jun 2016 13:06:28 +0000 (15:06 +0200)]
rtpvp9depay: Support flexible mode
Stian Selnes [Mon, 6 Jun 2016 15:03:36 +0000 (17:03 +0200)]
vp9enc: Fix leak of vpx_image_t
Stian Selnes [Fri, 6 May 2016 11:33:22 +0000 (13:33 +0200)]
rtph263pdepay: Don't try to push empty frame
If the result of depayloading is an empty frame, just drop it. This is
likely the result of a buggy payloader.
Havard Graff [Fri, 6 May 2016 14:06:53 +0000 (16:06 +0200)]
rtpmux: fix PROP_TIMESTAMP_OFFSET range problems
It could not set the offset for the full guint32 range.
Havard Graff [Fri, 6 May 2016 07:44:42 +0000 (09:44 +0200)]
rtpbin: introduce max-streams property
To be able to cap the number of allowed streams for one session.
This is useful for preventing DoS attacks, where a sender can change
SSRC for every buffer, effectively bringing rtpbin to a halt.
https://bugzilla.gnome.org/show_bug.cgi?id=770292
Havard Graff [Wed, 30 Mar 2016 22:10:49 +0000 (00:10 +0200)]
rtpsource: reordered packets are very normal, and should not be a warning
Havard Graff [Fri, 5 Feb 2016 13:19:25 +0000 (14:19 +0100)]
rtpsession: degrade g_warning to GST_ERROR
So we don't blow up while investigating
Stian Selnes [Thu, 4 Feb 2016 13:16:40 +0000 (14:16 +0100)]
rtph263pdepay: Fix picture header for non-writable payload
Under certain conditions gst_rtp_buffer_get_payload() returns a copy of
the payload. In this case the payload modifications will not affect the
rtp buffer. So instead of modifying the payload buffer directly we
should modify the buffer that actually gets pushed on the adapter.
Stian Selnes [Thu, 19 Nov 2015 10:50:47 +0000 (11:50 +0100)]
rtph261depay: Fix check of valid payload length
Packets with no H.261 payload should be dropped to avoid invalid
write/reads.
Stian Selnes [Mon, 9 Nov 2015 09:06:21 +0000 (10:06 +0100)]
rtph263pay: Fix double free, invalid reads and leak
Stian Selnes [Mon, 30 Jun 2014 13:43:58 +0000 (15:43 +0200)]
rtpsession: sanity check RTT before ignoring PLI/FIR
Stian Selnes [Mon, 30 Jun 2014 13:07:45 +0000 (15:07 +0200)]
rtpsession: handle sdes messages with non-utf8 more gracefully
Stian Selnes [Tue, 17 Jun 2014 06:52:50 +0000 (08:52 +0200)]
rtph263pay: change log level on bitstream parsing messages
Mikhail Fludkov [Thu, 7 Jul 2016 09:13:18 +0000 (11:13 +0200)]
tests/rtprtx: refactor the tests to use gstharness
The functionality of all the tests was kept exactly the same. Some tests
were renamed:
test_push_forward_seq -> test_rtxsend_rtxreceive
test_drop_one_sender -> test_rtxsend_rtxreceive_with_packet_loss
test_drop_multiple_sender -> test_multi_rtxsend_rtxreceive_with_packet_loss
test_rtxreceive_data_reconstruction was testing that retransmitted
buffer produced by rtxsend was correctly transformed to the original
buffer by rtxreceive. Now we are checking for this in all the tests
where both rtxsend & rtxreceive are involved. That's why the test was
removed.
Jonas Holmberg [Thu, 25 Aug 2016 13:52:36 +0000 (15:52 +0200)]
rtph265pay: Set RTP marker bit
Set the RTP marker bit on the last RTP packet of an H.265 access unit.
https://bugzilla.gnome.org/show_bug.cgi?id=770394
Xabier Rodriguez Calvar [Tue, 26 Jul 2016 17:39:58 +0000 (19:39 +0200)]
videoflip: added GstVideoDirection interface
It implements now this interface with its video-direction
property. Values are changed to GstVideoOrientationMethod but they have
the same value than the originals.
https://bugzilla.gnome.org/show_bug.cgi?id=768687
Havard Graff [Fri, 6 Nov 2015 09:39:16 +0000 (10:39 +0100)]
gstrtpsession: refactor duplicate code into a function
Less code, easier to read, more consistent.
https://bugzilla.gnome.org/show_bug.cgi?id=770293
Vincent Penquerc'h [Tue, 23 Aug 2016 16:06:44 +0000 (17:06 +0100)]
rtpbin: fix typo in max-misorder-time property name
Tim-Philipp Müller [Sun, 21 Aug 2016 23:05:52 +0000 (00:05 +0100)]
splitmuxsink: fix printf format compiler warning in debug message
On 32-bit x86: gstsplitmuxsink.c:966:31: warning: format ‘%u’ expects
argument of type ‘unsigned int’, but argument 9 has type
‘guint64 {aka long long unsigned int}’
Nirbheek Chauhan [Fri, 12 Aug 2016 15:42:30 +0000 (21:12 +0530)]
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
Jie Jiang [Sat, 20 Aug 2016 08:59:30 +0000 (16:59 +0800)]
Fixed splitmuxsink 32-bit overflow bug
Extend the byte tracking counters to 64-bit on
all platforms, instead of using gsize, which overflows
after 4GB.
https://bugzilla.gnome.org/show_bug.cgi?id=770019
Vivia Nikolaidou [Fri, 19 Aug 2016 14:18:16 +0000 (17:18 +0300)]
isomp4: Fix coverity warning
If atom_copy_data fails to write anything, return 0
CID #1371458
Nirbheek Chauhan [Sat, 9 Apr 2016 02:21:03 +0000 (07:51 +0530)]
v4l2: consistently check #ifdef HAVE_GUDEV instead of #if
Both work with autotools but they definitely don't mean the same thing, cause
problems with other build systems, and are bad form. Existence should always be
checked with #ifdef or #if defined.
Nirbheek Chauhan [Tue, 19 Apr 2016 05:23:05 +0000 (10:53 +0530)]
directsound: port away from old DirectX API
D3DX has been deprecated for the last 4 years and latest versions of
Windows no longer ship headers for it. This is fine as long as you're
building with Cerbero's Wine-based DirectX headers, but sucks if you
want to build against the actual Windows SDK.
We were just using it to get error strings anyway, so just use the
generic error string API.
Tim-Philipp Müller [Thu, 18 Aug 2016 11:02:01 +0000 (12:02 +0100)]
Revert "flacparse: Add maximum bitrate tag"
This reverts commit
c703ab69f526092bb26cce41ca691a896c8383d8.
https://bugzilla.gnome.org/show_bug.cgi?id=769392
Sebastian Dröge [Thu, 18 Aug 2016 06:57:51 +0000 (09:57 +0300)]
rtpjitterbuffer: Fix unit test by disabling adaptive misorder/dropout calculations
Need to set max-misorder-time and max-dropout-time to 0 so the
jitterbuffer does not base them on packet rate calculations.
If it does, out gap is big enough to be considered a new stream and
we wait for a few consecutive packets just to be sure
https://bugzilla.gnome.org/show_bug.cgi?id=751311
Vivia Nikolaidou [Tue, 9 Aug 2016 09:55:59 +0000 (12:55 +0300)]
splitmuxsink: Add option to split at exactly max-size-time
Will try to request a keyframe from the encoder to be sent at the target
running time.
https://bugzilla.gnome.org/show_bug.cgi?id=769664
Vivia Nikolaidou [Tue, 9 Aug 2016 17:16:16 +0000 (20:16 +0300)]
splitmuxsink: Allow time and bytes to reach their respective thresholds
https://bugzilla.gnome.org/show_bug.cgi?id=769664
Sebastian Dröge [Wed, 17 Aug 2016 06:49:04 +0000 (09:49 +0300)]
rtspsrc: Allow mimetypes with properties as long as they're application/sdp
Some servers add properties like charset, e.g.
application/sdp; charset=utf8
Ideally we should also parse the charset and do conversion of all messages,
but that's for a later time.
Vivia Nikolaidou [Fri, 24 Jun 2016 13:32:37 +0000 (16:32 +0300)]
qtmux: Added support for writing timecode track
https://bugzilla.gnome.org/show_bug.cgi?id=767950
Thomas Bluemel [Thu, 11 Aug 2016 22:32:21 +0000 (16:32 -0600)]
multiudpsink: Initialize bytes_sent field.
This fixes endpoints not receiving any data intermittently.
https://bugzilla.gnome.org/show_bug.cgi?id=769773
Thomas Bluemel [Wed, 10 Aug 2016 17:45:13 +0000 (11:45 -0600)]
rtpjitterbuffer: Actually calculate the packet rate for max-dropout and max-misorder calculations.
https://bugzilla.gnome.org/show_bug.cgi?id=751311
Thomas Bluemel [Wed, 10 Aug 2016 17:26:17 +0000 (11:26 -0600)]
rtpjitterbuffer: Don't warn for duplicate packets
This is a normal scenario and should not be a warning. This can
happen frequently when re-transmits of lost packets are enabled.
https://bugzilla.gnome.org/show_bug.cgi?id=762208
Jan Schmidt [Mon, 8 Aug 2016 03:49:19 +0000 (13:49 +1000)]
splitmux: Fix typo converting to running time.
Use the correct collected timestamp.
Jan Schmidt [Sun, 7 Aug 2016 16:53:48 +0000 (02:53 +1000)]
Revert "splitmuxsink: Use GstBin async-handling instead of our own."
This reverts commit
fa008f271a52f82dededc28bd81b020ca7939b47.
async-handling in GstBin causes the pipeline to spin at 100%
CPU as the top-level pipeline tries to change that state
to PLAYING constantly. This is a workaround for a core
problem, essentially, but an improvement in this case for now.
Jan Schmidt [Sun, 7 Aug 2016 14:56:38 +0000 (00:56 +1000)]
splitmux: Recheck state after unlocking mutex.
After dropping the splitmux lock, re-check the state,
don't just fall through and sleep unconditionally,
as we may have already missed the wakeup.
https://bugzilla.gnome.org/show_bug.cgi?id=769514
Jan Schmidt [Tue, 2 Aug 2016 17:32:07 +0000 (03:32 +1000)]
splitmuxsrc: Don't stop and error on EOS flow return
Don't immediately halt on EOS flow return from downstream
due to out of segment. Let the demuxer handle it and send
EOS.
Thiago Santos [Thu, 4 Aug 2016 03:36:28 +0000 (00:36 -0300)]
rtpjitterbuffer: avoid unref of null buffer
The current 'l' pointer will be NULL when the loop
is interrupted with a 'break' statement. Need to have
it advance to the next list item before interrupting.