ChangeLog
=========
2016-09-30 Sebastian Dröge <[email protected]>
* configure.ac:
releasing 1.9.90
2016-09-30 11:43:54 +0300 Sebastian Dröge <[email protected]>
* po/el.po:
po: Update translations
2016-09-30 13:22:32 +0530 Arun Raghavan <[email protected]>
* tests/check/pipelines/tagschecking.c:
tests: Fix tagschecking failure due to missing PTS
qtmux now needs the PTS (commit a993883b7), so let's make sure we
produce one with our buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=772228
2016-09-28 23:03:58 +0300 Sebastian Dröge <[email protected]>
* gst/isomp4/gstqtmux.c:
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
2016-09-29 17:37:28 +0300 Sebastian Dröge <[email protected]>
* gst/isomp4/qtdemux_types.c:
qtdemux: Add JPEG2000 ihdr atom to the list of known ones
Otherwise qtdemux is always going to complain about it being unknown.
2016-09-29 10:19:56 +0300 Sebastian Dröge <[email protected]>
* gst/matroska/matroska-mux.c:
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
2016-09-27 15:26:19 -0400 Olivier Crête <[email protected]>
* gst/rtp/gstrtph264depay.c:
* gst/rtp/gstrtph265depay.c:
rtph26[45]depay: Don't handle NALs inside STAP units twice
They've already been handled before pushing them into the adapter.
2016-09-27 12:39:12 +0100 Tim-Philipp Müller <[email protected]>
* tests/check/meson.build:
meson: tests: fix vp8 availability checks
Those variables are not defined if vp8 was not found.
2016-09-27 10:23:38 +0100 Tim-Philipp Müller <[email protected]>
* gst/multifile/gstmultifilesink.c:
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
2016-09-27 10:22:57 +0100 Tim-Philipp Müller <[email protected]>
* gst/multifile/gstmultifilesink.c:
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.
2016-09-26 13:22:29 -0300 Thibault Saunier <[email protected]>
* tests/check/meson.build:
meson: Add gst-plugins-base plugins directories to be used by tests
2016-09-26 14:30:00 +0100 Tim-Philipp Müller <[email protected]>
* ext/vpx/meson.build:
* meson.build:
* tests/check/getpluginsdir:
* tests/check/meson.build:
meson: add unit tests
Only works properly in an installed setup currently, most
likely won't work with a subprojects setup yet.
2016-09-24 09:36:24 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
* po/meson.build:
meson: hook up translations
2016-09-08 17:30:41 +0530 Arun Raghavan <[email protected]>
* ext/pulse/pulsesrc.c:
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
2016-09-24 23:22:01 +0530 Arun Raghavan <[email protected]>
* gst/rtp/gstrtpsbcpay.c:
* gst/rtp/gstrtpsbcpay.h:
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.
2016-07-12 18:14:52 +0200 Georg Lippitsch <[email protected]>
* gst/isomp4/gstqtmux.c:
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
2016-09-18 20:55:31 +0100 Tim-Philipp Müller <[email protected]>
* ext/vpx/meson.build:
meson: fix build with vpx 1.3.x
vpx >= 1.4.0 is optional
2016-09-15 18:19:35 +0200 Sebastian Dröge <[email protected]>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: Use new bin suppressed flags API for managing the element
flags
2016-09-15 09:52:31 +0100 Tim-Philipp Müller <[email protected]>
* ext/jack/gstjackaudioclient.c:
* gst/rtp/dboolhuff.c:
* gst/rtpmanager/rtpsession.c:
* gst/videofilter/gstvideoflip.c:
ext, gst: fix indentation
2016-09-15 09:52:17 +0100 Tim-Philipp Müller <[email protected]>
* tests/check/elements/flvmux.c:
* tests/check/elements/rtph263.c:
* tests/check/elements/rtpjitterbuffer.c:
* tests/check/elements/rtpsession.c:
* tests/check/elements/rtpvp9.c:
tests: fix indentation
2016-08-11 11:04:22 -0600 Thomas Bluemel <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
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
2016-08-11 23:07:44 +0200 Havard Graff <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-08-05 12:51:59 +0200 Stian Selnes <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-07-27 10:39:50 +0200 Stian Selnes <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-07-26 18:01:48 +0200 Stian Selnes <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-07-19 01:11:58 +0200 Havard Graff <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Expose rtx-deadline as a property
The default -1 gives the old behavior.
https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-08-11 12:02:19 +0200 Havard Graff <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: Improved expected-timer handling when gap > 0
https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-08-11 11:51:50 +0200 Stian Selnes <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-08-11 11:02:44 +0200 Havard Graff <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
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
2016-07-07 10:20:02 +0200 Stian Selnes <[email protected]>
* gst/rtpmanager/gstrtprtxreceive.c:
rtxreceive: Set buffer flag for retransmitted packets
https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-07-09 23:47:41 +0200 Havard Graff <[email protected]>
* gst/rtpmanager/gstrtpjitterbuffer.c:
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
2016-09-14 09:58:41 -0400 Olivier Crête <[email protected]>
* gst/rtp/gstrtph263pay.c:
rtph263pay: Fix double free from coverity
CID #1372887
2016-09-14 09:58:37 -0400 Olivier Crête <[email protected]>
* gst/rtp/gstrtph263pay.c:
rtph263pay: Indent as per gst-indent
2016-09-14 11:30:41 +0200 Sebastian Dröge <[email protected]>
* configure.ac:
configure: Depend on gstreamer 1.9.2.1
2016-09-14 10:17:02 +0900 Wonchul Lee <[email protected]>
* gst/autodetect/gstautodetect.c:
autodetect: Use gst_bin_set_suppressed_flags() API
https://bugzilla.gnome.org/show_bug.cgi?id=771395
2016-09-09 15:36:12 +0200 Thomas Scheuermann <[email protected]>
* ext/jack/gstjackaudioclient.c:
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
2016-09-12 20:08:36 +0200 Sebastian Dröge <[email protected]>
* gst/deinterlace/gstdeinterlace.c:
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.
2016-09-12 09:02:00 +0000 Thomas Klausner <[email protected]>
* gst/udp/gstudpsrc.c:
udpsrc: Fix compilation on NetBSD
https://bugzilla.gnome.org/show_bug.cgi?id=771278
2016-09-10 20:51:10 +1000 Jan Schmidt <[email protected]>
* autogen.sh:
* common:
Automatic update of common submodule
From b18d820 to f980fd9
2016-09-09 14:02:25 +0200 Xabier Rodriguez Calvar <[email protected]>
* gst/isomp4/qtdemux.c:
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
2016-09-10 09:53:57 +1000 Jan Schmidt <[email protected]>
* autogen.sh:
* common:
Automatic update of common submodule
From f49c55e to b18d820
2016-09-07 15:33:30 -0400 Nicolas Dufresne <[email protected]>
* sys/osxaudio/Makefile.am:
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
2016-09-06 09:49:39 +0200 Xabier Rodriguez Calvar <[email protected]>
* gst/isomp4/qtdemux.c:
qtdemux: Fix crash with no cenc aux offset
https://bugzilla.gnome.org/show_bug.cgi?id=770951
2016-09-05 09:39:33 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
aacparse: parse a bit more of the humongous LOAS data
https://bugzilla.gnome.org/show_bug.cgi?id=769278
2016-09-05 09:39:08 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
aacparse: make it clear when a potential LOAS frame is not one
https://bugzilla.gnome.org/show_bug.cgi?id=769278
2016-09-05 09:38:26 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
aacparse: add a few comments to anchor parsing to the spec
https://bugzilla.gnome.org/show_bug.cgi?id=769278
2016-09-05 09:37:02 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
* gst/audioparsers/gstaacparse.h:
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
2016-09-05 09:35:53 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
aacparse: fix varlength number reading as per spec
https://bugzilla.gnome.org/show_bug.cgi?id=769278
2016-09-05 09:35:02 +0100 Vincent Penquerc'h
<[email protected]>
* gst/audioparsers/gstaacparse.c:
aacparse: strip uneeded static arrays slack
https://bugzilla.gnome.org/show_bug.cgi?id=769278
2016-07-18 19:18:58 -0400 Olivier Crête <[email protected]>
* gst/rtp/gstrtpmp4adepay.c:
* gst/rtp/gstrtpmp4adepay.h:
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.
2016-09-06 14:25:42 +0300 Sebastian Dröge <[email protected]>
* ext/dv/gstdvdemux.c:
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.
2016-09-05 12:23:54 -0300 Thibault Saunier <[email protected]>
* meson.build:
meson: Bump version to 1.9.2
2015-06-26 20:13:17 +0200 Mathieu Duponchelle
<[email protected]>
* gst/isomp4/GstQTMux.prs:
* gst/isomp4/Makefile.am:
* gst/isomp4/gstqtmux.c:
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
2016-09-01 12:27:35 +0300 Sebastian Dröge <[email protected]>
* configure.ac:
Back to development
Download
========
https://download.gnome.org/sources/gst-plugins-good/1.9/gst-plugins-good-1.9.90.tar.xz
(3.23M)
sha256sum: 75a1ac367785964a5767e31e447967d1aa51ca5af5f4822a977d4c1b3a7a2306
_______________________________________________
[email protected]
https://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.