Commit 2b798823 authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

Release 1.10.3

parent 1dd927a0
=== release 1.10.3 ===
2017-01-30 Sebastian Dröge <>
releasing 1.10.3
2017-01-30 13:33:23 +0200 Sebastian Dröge <>
* po/el.po:
po: Update translations
2017-01-27 16:14:16 +0200 Vivia Nikolaidou <>
* gst/isomp4/atoms.c:
qtmux: Timecode track fixes for STSD entry
The n_frames field (frames per second) should follow the nominal frame
rate for drop-frame timecodes.
Also, the trak's timescale (and duration, accordingly) should follow the
STSD entry's timescale and frame duration (fps_n and fps_d accordingly),
not the other way around.
2017-01-19 11:08:11 +0100 Arnaud Vrac <>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: retry request on early termination from the server
Fix a regression introduced by commit 183695c61a54f1 (refactor to use
Soup's sync API). The code previously attempted to reconnect when the
server closed the connection early, for example when the stream was put
in pause for some time.
Reintroduce this feature by checking if EOS is received before the
expected content size is downloaded. In this case, do the request
starting at the previous read position.
2017-01-10 09:40:56 -0700 Matt Staples <>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: find_stream_by_channel should ignore unconfigured streams
2017-01-25 18:43:00 +0000 Brendan Shanks <>
* gst/isomp4/gstqtmux.c:
qtmux: Fix debug typo and remove misleading warning
2017-01-26 13:54:14 +0200 Sebastian Dröge <>
* gst/autodetect/gstautodetect.c:
Revert "autodetect: bring the element state down after success"
This reverts commit 67f6d3358e4620319335065db25edaaba1f5ae0a.
It causes problems in certain scenarios and needs further investigation
2017-01-09 11:32:35 +0530 Rahul Bedarkar <>
* gst/wavparse/gstwavparse.c:
wavparse: check for not NULL before clearing adapter
In case wavparse receives a manually injected FLUSH_STOP event
while operating in pull mode we get criticals because we'd try
to clear a NULL adapter.
2017-01-20 17:16:10 +0200 Sebastian Dröge <>
* gst/avi/gstavidemux.c:
avidemux: Stop reading a ncdt sub-tag if it goes behind the surrounding tag
2017-01-20 07:58:26 +0200 Sebastian Dröge <>
* gst/avi/gstavidemux.c:
avidemux: Fix various out of bounds reads when parsing ncdt tags
2017-01-19 13:46:58 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Increment current stts index whenever we finished one stts entry
Otherwise we could read more chunks than there are available, doing an
out of bounds read and potentially crash.
2017-01-19 13:25:53 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
Revert "qtdemux: Increment current stts index in all code paths after reading one chunk"
This reverts commit 99d5d7570d0b53dad3bc8eb653b1320ee422aace. It broke
playback of various valid files.
2017-01-19 07:52:33 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Increment current stts index in all code paths after reading one chunk
Otherwise we could read more chunks than there are available, doing an
out of bounds read and potentially crash.
2017-01-13 16:40:43 +0100 Arnaud Vrac <>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: properly track redirections
The current code configures libsoup to handle redirections
transparently, without informing the caller, thus preventing the element
to record the redirect code and location uri.
Fix this by always setting the SOUP_MESSAGE_NO_REDIRECT, preventing
libsoup from handling the redirection. When we receive a redirection
request and libsoup can safely handle it, return a custom error which
triggers a retry with the new URI.
2017-01-13 00:01:06 +1100 Jan Schmidt <>
* gst/isomp4/gstqtmux.c:
qtmux: Don't reset request pad numbering across uses
When reset, don't restart request pad numberings, as
request pads can survive across state changes. Only
restart at 0 if all request pads are handed back first.
2017-01-11 17:53:32 -0800 Andre McCurdy <>
* gst/isomp4/qtdemux.c:
qtdemux: free seqh after calling qtdemux_parse_svq3_stsd_data()
The seqh buffer allocated in qtdemux_parse_svq3_stsd_data() needs to
be freed by the caller after use.
Signed-off-by: Andre McCurdy <>
2017-01-16 15:17:15 +0100 Jean-Christophe Trotin <>
* sys/v4l2/gstv4l2allocator.c:
v4l2allocator: fix memory type in allocator probe
The buffer memory type provided to the VIDIOC_CREATE_BUFS ioctl shall
be set with the value ("memory") given as input parameter of the
gst_v4l2_allocator_probe() function.
2016-11-11 14:31:03 +1100 Matthew Waters <>
* gst/autodetect/gstautodetect.c:
autodetect: bring the element state down after success
Otherwise some messages that are emitted by the element on NULL->READY
will not reach the application.
2016-04-24 21:38:51 +0900 Seungha Yang <>
* gst/isomp4/qtdemux.c:
qtdemux: Fix key_time in gst_qtdemux_adjust_seek()
time in segment should be PTS based (not DTS).
2017-01-07 23:55:42 +1100 Jan Schmidt <>
* gst/isomp4/qtdemux.c:
qtdemux: Don't reset output timestamps when no tfdt
If a fragmented stream doesn't have a tfdt, don't
reset the output timestamps at each fragment boundary
by erroneously using the default value of 0. Introduced
by commit 69fc48
2016-12-14 21:45:15 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Check if we have enough data available when parsing edit lists
Also consume the data entry by entry to get complicated indexing out of
the code.
2016-12-14 10:15:10 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Check that the XiTh size is big enough
2016-12-09 20:27:53 +0900 Heekyoung Seo <>
* gst/isomp4/qtdemux.c:
qtdemux: Check node length of video sample description
Add check for node length of video sample description and its fields and
for the XiTh atom.
Also unify the code a bit.
2016-12-11 13:27:27 +0200 Sebastian Dröge <>
* gst/audiofx/gstscaletempo.c:
scaletempo: Ensure to reinit buffers whenever they were not allocated yet
That is, whenever we go through start/stop we have to ensure that on the
next opportunity the buffers are reallocated again. Otherwise the
buffers might be NULL because the element was reused with the same
configuration as before (i.e. set_caps() wouldn't have reinited the
2016-12-09 17:55:39 +0200 Sebastian Dröge <>
* gst/flx/gstflxdec.c:
* gst/flx/gstflxdec.h:
flxdec: Only send SEGMENT events after CAPS
I.e., don't just forward the event but delay it if we don't have caps on
the srcpad yet.
2016-12-09 17:49:40 +0200 Sebastian Dröge <>
* gst/flx/gstflxdec.c:
flxdec: Unref and unmap buffers in all code paths as needed
2016-12-06 07:48:47 +0200 Sebastian Dröge <>
* gst/flx/gstflxdec.c:
flxdec: Allocate 0-initialized memory for the decoded frame
Otherwise we might leak arbitrary information from the uninitialized
memory if not every pixel is written.
2016-12-05 07:57:19 -0700 Matt Staples <>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: Fix session cleanup when handling redirect on PLAY
Redirect on PLAY wasn't doing the necessary session cleanup. Fixed by
removing code from gst_rtspsrc_send that changed the state varable upon
encountering a redirect. Better to let the redirect handlers in
gst_rtspsrc_retrieve_sdp and gst_rtspsrc_play do their own
state-dependent cleanup.
2016-12-01 17:08:09 +0100 Edward Hervey <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/rtpjitterbuffer.c:
jitterbuffer: Don't leak duplicate items
When providing items with a seqnum, there is a (very small) probability
that an element with the same seqnum already exists. Don't forget
to free that item if it wasn't inserted.
And avoid returning undefined values when dealing with duplicate items
2016-11-03 15:03:59 +0100 Havard Graff <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: fix timer-reuse bug
When doing rtx, the jitterbuffer will always add an rtx-timer for the next
sequence number.
In the case of the packet corresponding to that sequence number arriving,
that same timer will be reused, and simply moved on to wait for the
following sequence number etc.
Once an rtx-timer expires (after all retries), it will be rescheduled as
a lost-timer instead for the same sequence number.
Now, if this particular sequence-number now arrives (after the timer has
become a lost-timer), the reuse mechanism *should* now set a new
rtx-timer for the next sequence number, but the bug is that it does
not change the timer-type, and hence schedules a lost-timer for that
following sequence number, with the result that you will have a very
early lost-event for a packet that might still arrive, and you will
never be able to send any rtx for this packet.
Found by Erlend Graff -
2016-10-09 15:59:05 +0200 Havard Graff <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/rtpjitterbuffer.c:
* gst/rtpmanager/rtpjitterbuffer.h:
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: fix lost-event using dts instead of pts
The lost-event was using a different time-domain (dts) than the outgoing
buffers (pts). Given certain network-conditions these two would become
sufficiently different and the lost-event contained timestamp/duration
that was really wrong. As an example GstAudioDecoder could produce
a stream that jumps back and forth in time after receiving a lost-event.
The previous behavior calculated the pts (based on the rtptime) inside the
rtp_jitter_buffer_insert function, but now this functionality has been
refactored into a new function rtp_jitter_buffer_calculate_pts that is
called much earlier in the _chain function to make pts available to
various calculations that wrongly used dts previously
(like the lost-event).
There are however two calculations where using dts is the right thing to
do: calculating the receive-jitter and the rtx-round-trip-time, where the
arrival time of the buffer from the network is the right metric
(and is what dts in fact is today).
The patch also adds two tests regarding B-frames or the
“rtptime-going-backwards”-scenario, as there were some concerns that this
patch might break this behavior (which the tests shows it does not).
2016-11-03 16:33:53 +0100 Havard Graff <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: fix bug in reschedule_timer
The new timeout is always going to be (timeout + delay), however, the
old behavior compared the current timeout to just (timeout), basically
being (delay) off.
This would happen if rtx-delay == rtx-retry-timeout, with the result that
a second rtx attempt for any buffers would be scheduled immediately instead
of after rtx-delay ms.
Simply calculate (new_timeout = timeout + delay) and then use that instead.
2016-12-01 15:06:06 +0530 Garima Gaur <>
* gst/rtp/gstrtph264depay.c:
* gst/rtp/gstrtpsbcdepay.c:
rtp: Fix some memory leaks in usage of gst_pad_get_current_caps()
2016-12-01 11:23:02 +0100 Edward Hervey <>
* gst/isomp4/qtdemux.c:
qtdemux: Sanitize unknown codec caps
We might have non-printable characters in the unknown fourcc, replace
them with '_', in the same way we do it for unknown tags.
2016-12-01 20:04:28 +0200 Sebastian Dröge <>
* gst/avi/gstavidemux.c:
avidemux: Free vprp chunk also if it existed but we made no use of it
2016-12-01 17:38:33 +0200 Sebastian Dröge <>
* gst/matroska/matroska-read-common.c:
matroskademux: Fix memory leak when parsing attachments
gst_tag_image_data_to_image_sample() does not take ownership of the
passed memory, so don't set it to NULL to allow us to free it later.
2016-12-01 14:56:18 +0200 Sebastian Dröge <>
* gst/matroska/matroska-read-common.c:
matroskademux: Unify zlib/bzip2 decompress loops with the ones from qtdemux
Especially, simplify the code a bit.
2016-12-01 14:41:48 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Increase inflate buffer in bigger steps
1024 bytes is quite small, let's do 4096 bytes (or one page).
Also remove redundant if, we're always in that case when getting here.
2016-12-01 14:30:49 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Ensure that size of the pasp atom is as much as we need
2016-12-01 14:27:55 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Fix zlib inflate loop
Handle errors cleanly, deallocate all memory and return the actual size
of the inflated data.
2016-12-01 14:30:10 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Free compressed moov node and it's corresponding decompressed data
2016-12-01 14:29:21 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Check size of compressed MOOV header against available data
And actually read the size of the cmvd atom from the right position.
2016-12-01 13:38:16 +0200 Sebastian Dröge <>
* gst/audioparsers/gstaacparse.c:
aacparse: Make sure we have enough data in the codec_data to be able to parse it
Also error out cleanly if mapping the buffer failed.
2016-12-01 13:32:22 +0200 Sebastian Dröge <>
* gst/isomp4/qtdemux.c:
qtdemux: Fix out of bounds read in tag parsing code
We can't simply assume that the length of the tag value as given
inside the stream is correct but should also check against the amount of
data we have actually available.
2016-10-26 13:21:29 +0200 Alejandro G. Castro <>
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/rtpsession.c:
* gst/rtpmanager/rtpsession.h:
rtpbin: pipeline gets an EOS when any rtpsources byes
Instead of sending EOS when a source byes we have to wait for
all the sources to be gone, which means they already sent BYE and
were removed from the session. We now handle the EOS in the rtcp
loop checking the amount of sources in the session.
2016-10-24 16:56:31 +0000 Enrique Ocaña González <>
* gst/isomp4/qtdemux.c:
qtdemux: Use the tfdt decode time on byte streams when it's significantly different than the time in the last sample
We consider there's a sifnificant difference when it's larger than on second
or than half the duration of the last processed fragment in case the latter is
=== release 1.10.2 ===
2016-11-29 Sebastian Dröge <>
2016-11-29 16:21:19 +0200 Sebastian Dröge <>
* ChangeLog:
releasing 1.10.2
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/inspect/plugin-1394.xml:
* docs/plugins/inspect/plugin-aasink.xml:
* docs/plugins/inspect/plugin-alaw.xml:
* docs/plugins/inspect/plugin-alpha.xml:
* docs/plugins/inspect/plugin-alphacolor.xml:
* docs/plugins/inspect/plugin-apetag.xml:
* docs/plugins/inspect/plugin-audiofx.xml:
* docs/plugins/inspect/plugin-audioparsers.xml:
* docs/plugins/inspect/plugin-auparse.xml:
* docs/plugins/inspect/plugin-autodetect.xml:
* docs/plugins/inspect/plugin-avi.xml:
* docs/plugins/inspect/plugin-cacasink.xml:
* docs/plugins/inspect/plugin-cairo.xml:
* docs/plugins/inspect/plugin-cutter.xml:
* docs/plugins/inspect/plugin-debug.xml:
* docs/plugins/inspect/plugin-deinterlace.xml:
* docs/plugins/inspect/plugin-dtmf.xml:
* docs/plugins/inspect/plugin-dv.xml:
* docs/plugins/inspect/plugin-effectv.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-flac.xml:
* docs/plugins/inspect/plugin-flv.xml:
* docs/plugins/inspect/plugin-flxdec.xml:
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
* docs/plugins/inspect/plugin-goom.xml:
* docs/plugins/inspect/plugin-goom2k1.xml:
* docs/plugins/inspect/plugin-icydemux.xml:
* docs/plugins/inspect/plugin-id3demux.xml:
* docs/plugins/inspect/plugin-imagefreeze.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-isomp4.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-jpeg.xml:
* docs/plugins/inspect/plugin-level.xml:
* docs/plugins/inspect/plugin-matroska.xml:
* docs/plugins/inspect/plugin-mulaw.xml:
* docs/plugins/inspect/plugin-multifile.xml:
* docs/plugins/inspect/plugin-multipart.xml:
* docs/plugins/inspect/plugin-navigationtest.xml:
* docs/plugins/inspect/plugin-oss4.xml:
* docs/plugins/inspect/plugin-ossaudio.xml:
* docs/plugins/inspect/plugin-png.xml:
* docs/plugins/inspect/plugin-pulseaudio.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rtp.xml:
* docs/plugins/inspect/plugin-rtpmanager.xml:
* docs/plugins/inspect/plugin-rtsp.xml:
* docs/plugins/inspect/plugin-shapewipe.xml:
* docs/plugins/inspect/plugin-shout2send.xml:
* docs/plugins/inspect/plugin-smpte.xml:
* docs/plugins/inspect/plugin-soup.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speex.xml:
* docs/plugins/inspect/plugin-taglib.xml:
* docs/plugins/inspect/plugin-udp.xml:
* docs/plugins/inspect/plugin-video4linux2.xml:
* docs/plugins/inspect/plugin-videobox.xml:
* docs/plugins/inspect/plugin-videocrop.xml:
* docs/plugins/inspect/plugin-videofilter.xml:
* docs/plugins/inspect/plugin-videomixer.xml:
* docs/plugins/inspect/plugin-vpx.xml:
* docs/plugins/inspect/plugin-wavenc.xml:
* docs/plugins/inspect/plugin-wavpack.xml:
* docs/plugins/inspect/plugin-wavparse.xml:
* docs/plugins/inspect/plugin-ximagesrc.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* gst-plugins-good.doap:
* win32/common/config.h:
Release 1.10.2
2016-11-29 15:34:11 +0200 Sebastian Dröge <>
* po/af.po:
* po/az.po:
* po/bg.po:
* po/ca.po:
* po/cs.po:
* po/da.po:
* po/de.po:
* po/el.po:
* po/en_GB.po:
* po/eo.po:
* po/es.po:
* po/eu.po:
* po/fi.po:
* po/fr.po:
* po/gl.po:
* po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
* po/ja.po:
* po/lt.po:
* po/lv.po:
* po/mt.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/pl.po:
* po/pt_BR.po:
* po/ro.po:
* po/ru.po:
* po/sk.po:
* po/sl.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/tr.po:
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
* po/zh_HK.po:
* po/zh_TW.po:
Update .po files
2016-11-29 14:09:44 +0200 Sebastian Dröge <>
# GStreamer 1.10 Release Notes
GStreamer 1.10.0 was originally released on 1st November 2016.
The latest bug-fix release in the 1.10 series is [1.10.2](#1.10.2) and was
released on 29 November 2016.
The latest bug-fix release in the 1.10 series is [1.10.3](#1.10.3) and was
released on 30 January 2017.
The GStreamer team is proud to announce a new major feature release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
......@@ -13,7 +13,7 @@ improvements.
See [][latest] for the latest
version of this document.
*Last updated: Tuesday 29 Nov 2016, 12:30 UTC [(log)][gitlog]*
*Last updated: Monday 30 Jan 2017, 12:00 UTC [(log)][gitlog]*
......@@ -1103,7 +1103,7 @@ GIT logs or ChangeLogs of the particular modules.
### 1.10.2
The first 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
The second 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.2
......@@ -1111,7 +1111,9 @@ This release only contains bugfixes and it should be safe to update from 1.10.x.
- Security-relevant bugfix in the FLI/FLX/FLC decoder (CVE-2016-9634,
CVE-2016-9635, CVE-2016-9636)
- Various fixes for crashes, assertions and other failures on fuzzed input
files (among others, thanks to Hanno Böck for testing and reporting)
files. Among others, thanks to Hanno Böck for testing and reporting
(CVE-2016-9807, CVE-2016-9808, CVE-2016-9809, CVE-2016-9810, CVE-2016-9811,
CVE-2016-9812, CVE-2016-9813).
- SAVP/SAVPF profile in gst-rtsp-server works for live streams again, and the
correct MIKEY policy message is generated
- Further OpenGL related bugfixes
......@@ -1124,6 +1126,32 @@ GIT logs or ChangeLogs of the particular modules.
<a name="1.10.3"></a>
### 1.10.3
The third 1.10 bug-fix release (1.10.3) was released on 30 January 2017.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.3
- Various fixes for crashes, assertions, deadlocks and memory leaks on fuzzed
input files and in other situations
- Regression fixes for souphttpsrc with redirection tracking and retrying
- Regression fix for gst-rtsp-server not handling TCP-only medias anymore
- Various other bugfixes the RTP/RTSP codebase
- vp8enc works again on 32 bit Windows
- Fixes to Opus PLC handling in the decoder
- Fix for stream corruption in multihandlesink when removing clients
- gst-libav was updated to ffmpeg 3.2.2
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.3]. Note that this is
not the full list of changes. For the full list of changes please refer to the
GIT logs or ChangeLogs of the particular modules.
## Known Issues
- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
......@@ -1134,8 +1162,6 @@ GIT logs or ChangeLogs of the particular modules.
- Building applications with Android NDK r13 on Windows does not work. Other
platforms and earlier/later versions of the NDK are not affected.
[Bug #772842](
- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected.
[Bug #763663](
## Schedule for 1.12
......@@ -1144,9 +1170,9 @@ development version leading up to the stable 1.12 release. The development
of 1.11/1.12 will happen in the git master branch.
The plan for the 1.12 development cycle is yet to be confirmed, but it is
expected that feature freeze will be around early/mid-January,
expected that feature freeze will be around early/mid-February,
followed by several 1.11 pre-releases and the new 1.12 stable release
in March.
in April.
1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and
1.0 release series.
Release notes for GStreamer Good Plugins 1.10.2
Release notes for GStreamer Good Plugins 1.10.3
The GStreamer team is proud to announce the second bugfix release in the stable
The GStreamer team is proud to announce the third bugfix release in the stable
1.10 release series of your favourite cross-platform multimedia framework!
......@@ -55,12 +55,35 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
* 757292 : gdkpixbufoverlay: relative-x/y properties
* 774428 : qtdemux: Outputting unaligned raw audio/video buffers
* 774834 : flic decoder: Buffer overflow in flx_decode_delta_fli
* 774859 : flic decoder: Invalid memory read in flx_decode_chunks
* 774897 : flxdec: Unreferences itself one time too many on invalid files
* 775219 : avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist
* 775898 : scaletempo: crash in Totem when doing Slow - > Fast - > Slow playback
* 754230 : qtdemux: support sparse time ranges in qtdemux without needing a seek for MSE
* 765498 : qtdemux: Fix key_time in gst_qtdemux_adjust_seek()
* 772646 : rtpjitterbuffer: fix lost-event using dts instead of pts
* 773218 : rtpbin: pipeline gets an EOS when any rtpsources byes
* 773891 : rtpjitterbuffer: fix timer-reuse bug
* 773905 : rtpjitterbuffer: fix bug in reschedule_timer
* 775071 : memory leak in usage of gst_pad_get_current_caps() API
* 775450 : aacparse: invalid memory read in gst_aac_parse_sink_setcaps
* 775451 : qtdemux: out of bounds read in qtdemux_tag_add_str_full
* 775455 : qtdemux: memory leaks in qtdemux_inflate
* 775472 : matroskademux: memory leak in matroska parser / gst_ebml_read_binary
* 775479 : avidemux: memory leak in gst_avi_demux_riff_parse_vprp
* 775543 : rtspsrc: redirect-on-play skips stream cleanup and TEARDOWN
* 775794 : qtdemux: can not play xvid/mp2 quicktime format
* 775888 : flxdec: memory leaks in gst_flxdec_chain
* 776107 : qtdemux: Crashes when parsing edit lists due to missing size checks
* 776720 : souphttpsrc: no request retry on early server termination
* 777101 : rtspsrc: tcp interleaved data dropped if first sub-streams are skipped during SETUP
* 777123 : wavparse: CRITICAL warning with injected flush stop event in pull mode
* 777157 : qtdemux: seqh buffer not freed after calling qtdemux_parse_svq3_stsd_data()
* 777174 : qtmux resets request pad counters on PAUSED- > READY
* 777222 : souphttpsrc: redirect uri is never set
* 777327 : v4l2allocator: memory type not correctly set in allocator probe
* 777362 : qtmux: Error always printed after writing moov recovery file, regardless of success/failure
* 777469 : qtdemux: out of bounds heap read in qtdemux_parse_samples
* 777500 : avidemux: gst_avi_demux_parse_ncdt heap out of bounds read
* 777532 : avidemux: invalid memory read in gst_avi_demux_parse_ncdt
* 777832 : qtmux: Timecode track fixes for STSD entry
==== Download ====
......@@ -97,9 +120,21 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Jagadish
* Alejandro G. Castro
* Andre McCurdy
* Arnaud Vrac
* Brendan Shanks
* Edward Hervey
* Enrique Ocaña González
* Garima Gaur
* Havard Graff
* Heekyoung Seo
* Jan Schmidt
* Jean-Christophe Trotin
* Matt Staples
* Matthew Waters
* Philipp Zabel