diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2017-01-12 15:31:02 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-01-12 15:31:02 +0200 |
commit | 3a6900df4575866d9e6aa1b41de0817696f0f6e7 (patch) | |
tree | 451238c4a62730252bdf1cd657e62a7935684182 /ChangeLog | |
parent | 1c60b00afd75824638b8063f403fd7973ebda9dc (diff) |
Release 1.11.1
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 1642 |
1 files changed, 1640 insertions, 2 deletions
@@ -1,9 +1,1647 @@ +=== release 1.11.1 === + +2017-01-12 Sebastian Dröge <slomo@coaxion.net> + + * configure.ac: + releasing 1.11.1 + +2017-01-12 14:36:22 +0200 Sebastian Dröge <sebastian@centricular.com> + + * po/el.po: + * po/hr.po: + * po/id.po: + * po/zh_CN.po: + po: Update translations + +2017-01-11 17:53:32 -0800 Andre McCurdy <armccurdy@gmail.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=777157 + Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + +2017-01-10 16:01:35 +0100 Edward Hervey <edward@centricular.com> + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + isomp4: Don't spam debug log with knonw/padding atoms + Only output WARNING messages for atoms we don't know how to handle + instead of for padding/known atoms we don't need to do any processing + on + https://bugzilla.gnome.org/show_bug.cgi?id=777095 + +2017-01-09 19:05:10 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst/rtp/gstrtph263depay.c: + * gst/rtp/gstrtpsbcdepay.c: + * gst/rtpmanager/rtpjitterbuffer.c: + * gst/rtsp/gstrtspsrc.c: + * sys/v4l2/gstv4l2bufferpool.c: + Fix indentation + +2017-01-09 19:04:04 +0000 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/elements/rtpjitterbuffer.c: + tests: rtpjitterbuffer: fix compiler warning due to c99-ism + rtpjitterbuffer.c:592:3: error: ‘for’ loop initial declarations are only allowed in C99 mode + +2016-11-11 14:31:03 +1100 Matthew Waters <matthew@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=764947 + +2017-01-08 01:13:32 +1100 Jan Schmidt <jan@centricular.com> + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + qtmux: Write tfdt atom into fragmented files. + The DASH spec requires that tfdt atoms be present, so + write one out. ISO/IEC 23009-1:2014 6.3.4.2 + https://bugzilla.gnome.org/show_bug.cgi?id=708221 + +2017-01-07 23:55:42 +1100 Jan Schmidt <jan@centricular.com> + + * 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 + https://bugzilla.gnome.org/show_bug.cgi?id=754230 + +2016-12-16 16:51:48 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com> + + * ext/vpx/meson.build: + * gst/equalizer/meson.build: + * gst/isomp4/meson.build: + * meson.build: + meson: Install presets files + +2017-01-03 10:12:30 +0530 Garima Gaur <garima.g@samsung.com> + + * gst/avi/gstavidemux.c: + avidemux: fix some caps leaks + https://bugzilla.gnome.org//show_bug.cgi?id=776789 + +2016-12-22 17:34:08 +0200 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: Return a bin with a "location" property as a sink + Splitmuxsink might be called with a custom bin as a sink. If it has a + "location" property, it can be used. + +2016-11-18 22:42:18 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + splitmux: Rewrite buffer collection and scheduling + Majorly change the way that splitmuxsink collects + incoming data and sends it to the output, so that it + makes all decisions about when / where to split files + on the input side. + Use separate queues for each stream, so they can be + grown individually and kept as small as possible. + This removes raciness I observed where sometimes + some data would end up put in a different output file + over multiple runs with the same input. + Also fixes hangs with input queues getting full + and causing muxing to stall out. + +2016-11-17 23:40:27 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + * tests/check/elements/splitmux.c: + splitmuxsink: Add format-location-full signal + Add a new signal for formatting the filename, which receives + a GstSample containing the first buffer from the reference + stream that will be muxed into that file. + Useful for creating filenames that are based on the + running time or other attributes of the buffer. + To make it work, opening of files and setting filenames is + now deferred until there is some data to write to it, + which also requires some changes to how async state changes + and gap events are handled. + +2016-12-31 01:54:01 +1100 Jan Schmidt <jan@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Always snap to the start of the keyframe + When performing a key-unit seek, always snap to the start ts + of the keyframe buffer we landed on so that the keyframe is + entirely within the resulting outgoing segment. That seems + the most sensible result, since the user requested snapping + to the keyframe position. + +2016-12-31 01:48:04 +1100 Jan Schmidt <jan@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Omit cslg_shift when snapping seeks + Segments times and seek requests are stored and handled + in raw 'PTS' time, without the cslg_shift - which only applies + to outgoing samples. Omit the cslg_shift portion when + extracting PTS to compare for internal seek snaps. + If the cslg_shift is included, then keyframe+snap-before seeks + generate a segment start/stop time that already includes the + cslg_shift, and it's then added a 2nd time, causing the + first buffer(s) to have timestamps that are out of segment. + +2016-12-30 22:31:38 +1100 Jan Schmidt <jan@centricular.com> + + * gst/isomp4/atoms.c: + qtmux: Remove bogus check in atom_stsc_add_new_entry() + Remove an old check from atom_stsc_add_new_entry() that + extends the last entry in the STSC if the samples per chunk + matches, as the new interleave merging logic requires that + the final entry by updateable. There's already code + below which simply merges the final entry into the previous + one when needed, so rely on that instead. + Fixes asserts like: + ERROR:atoms.c:2940:atom_stsc_update_entry: assertion failed: + (atom_array_index (&stsc->entries, len - 1).first_chunk == first_chunk) + +2016-04-24 21:38:51 +0900 Seungha Yang <sh.yang@lge.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Fix key_time in gst_qtdemux_adjust_seek() + time in segment should be PTS based (not DTS). + https://bugzilla.gnome.org/show_bug.cgi?id=765498 + +2016-12-28 22:49:27 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxpartreader.c: + * gst/multifile/gstsplitmuxpartreader.h: + * gst/multifile/gstsplitmuxsrc.c: + splitmuxsrc: Pass seek flags when activating. + Pass all seek flags when activating a part + based on a seek, so that SNAP flags are preserved. + +2016-11-26 01:13:19 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxpartreader.c: + splitmux: Fix a small race in the splitmuxsrc + Make sure the state of the parser is set to + collecting streams before chaining up to the + parent change_state() method, to close a + small window that can cause playback to + never commence. + +2017-01-02 15:06:33 +0100 Edward Hervey <edward@centricular.com> + + * tests/check/elements/amrparse.c: + check: Remove dead code + +2016-12-31 09:52:25 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst/multifile/gstmultifilesink.c: + * gst/multifile/gstmultifilesink.h: + multifilesink: refactor max_files handling a bit + Use GQueue instead of a GSList so we don't have to traverse + the whole list to append something every time. And it also + keeps track of the number of items in it for us. + Add a function to add filenames to the list of old files and + use it in more places, so that memory doesn't build up in + other modes either if no max_files limit is specified. + https://bugzilla.gnome.org/show_bug.cgi?id=766991 + +2016-05-29 17:21:47 +0100 Ursula Maplehurst <ursula@kangatronix.co.uk> + + * gst/multifile/gstmultifilesink.c: + multifilesink: don't leak memory when no max-files limit is set + Technically we weren't leaking the memory, just storing it internally + and never using it until the element is freed. But we'd still use more + and more memory over time, so this is not good over longer periods + of time. Only keep track of files if there's actually a limit set, + so that we will prune the list from time to time. + https://bugzilla.gnome.org/show_bug.cgi?id=766991 + +2016-12-29 12:39:20 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net> + + * gst/matroska/matroska-demux.c: + matroskademux: adjust segment stop for KEY_UNIT negative rate seeking + +2016-12-29 12:25:35 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net> + + * gst/isomp4/qtdemux.c: + qtdemux: implement pull mode SNAP flag seeking + +2016-12-29 11:26:33 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net> + + * gst/avi/gstavidemux.c: + avidemux: tweak KEY_UNIT SNAP seek handling + Previously, seeking to position y where y is (strictly) within a keyframe + would seek to that keyframe both with SNAP_BEFORE and SNAP_AFTER, + where the latter is now adjusted to really snap to the next keyframe. + +2016-12-28 13:23:11 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net> + + * gst/avi/gstavidemux.c: + avidemux: correctly perform pull mode KEY_UNIT seeking + Rather amazingly (and equally unnoticed), keyunit seeking resulted in segments + where start != time (which is bogus for simple avi timeline). So, properly + adjust the segment (start) rather than fiddling with segment time (only). + +2016-12-28 13:04:54 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net> + + * gst/avi/gstavidemux.c: + avidemux: restore considering of pull mode KEY_UNIT seeking + ... by using the original seek event's flags rather than the corresponding + segment flags, which do not have such counterpart flags (and + do no longer have them covertly sneaking in nowadays). + +2015-05-08 12:44:01 +0200 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-mux.c: + matroskamux: only drop actual streamheader buffers with xiph codecs + With Xiph codecs the stream header buffers are both in the caps and are + usually also at the beginning of each input stream, but it's perfectly + possible that the input stream does not have the stream header buffers + inline in the data. Matroskamux would drop the first N buffers assuming + they're stream headers, but this meant it would drop actual payload data + when the stream didn't contain the stream headers inline. Fix this by + only dropping leading buffers if they're flagged as stream headers. This + fixes issues with streams that are being tapped into after streaming + has started. + https://bugzilla.gnome.org/show_bug.cgi?id=749098 + +2016-12-21 17:43:58 +0100 Nicola Murino <nicola.murino@gmail.com> + + * tests/check/elements/matroskamux.c: + matroskamux: adjust unit test to modified behaviour + Now matroskamux mark all packets of audio-only streams as keyframes so + in test_block_group after pushing the test audio data 4 buffers are produced + and not more 2. The last buffer is the original data and must match with what + pushed. The remaining ones are matroskamux headers + https://bugzilla.gnome.org/show_bug.cgi?id=754696 + +2016-05-30 01:15:31 +0200 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-mux.c: + matroskamux: mark all packets of audio-only streams as keyframes + This helps with streaming audio-only streams via multifdsink, + tcpserversink and such. + https://bugzilla.gnome.org/show_bug.cgi?id=754696 + +2015-03-28 18:15:36 +0100 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-mux.c: + matroskamux: add G722 audio support + https://bugzilla.gnome.org/show_bug.cgi?id=746574 + +2016-12-13 11:11:07 +0900 Wonchul Lee <wonchul.lee@collabora.com> + + * gst/udp/gstudpsrc.c: + updsrc: Add to join multiple multicast interfaces + https://bugzilla.gnome.org/show_bug.cgi?id=776030 + +2015-03-25 13:51:30 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst/rtp/gstrtpklvdepay.c: + rtpklvdepay: add the SPARSE flag to the outgoing stream-start event + +2016-12-14 14:37:45 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> + + * gst/rtpmanager/gstrtpbin.c: + * gst/rtpmanager/gstrtpsession.c: + rtpmanager: place content before Since-version API marker + Avoids confusing the parser + +2016-12-14 14:16:53 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> + + * ext/shout2/gstshout2.c: + shout2: fix 404 in package origin + +2016-12-14 21:45:15 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=776107 + +2016-12-14 19:15:03 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * sys/v4l2/gstv4l2object.c: + v4l2object: Don't check size in a non-list value + After commit 1ea9735a I see these error while using the webcam + integrated in my laptop: + GStreamer-CRITICAL **: gst_value_list_get_size: assertion 'GST_VALUE_HOLDS_LIST (value)' failed + The issue is gst_v4l2src_value_simplify() was doing its job of + generating a single value, rather than the original list. That why, + when getting the list size, a critical warning was raised. + This patch takes advantage of the compiler optimizations to verify + first if the list was simplified, thus use it directly, otherwise, + if it is a list, verify its size. + https://bugzilla.gnome.org/show_bug.cgi?id=776106 + +2016-12-14 10:39:12 +0100 Havard Graff <havard.graff@gmail.com> + + * tests/check/elements/rtpjitterbuffer.c: + tests/jitterbuffer: Major refactoring and cleanups + * Changed PCMU->TEST for common macros + * Changed verify-functions (lost & rtx) into macros. + * Remove option to add marker-bit for test-buffers (not used anywhere) + * Add new push_test_buffer function that makes sure there are correlation + between dts and the time on the clock. (classic test-mistake) + * Established a generic starting-point for tests with the + construct_deterministic_initial_state function and use it where + applicable, which removes lots of "boilerplate" everywhere. + * Add basic lost-event test + * Remove as much "magic constants" as possible. + * Remove 3 tests that no longer are testing anything that others don't, + and was completely unmaintainable. + * Remove unnecessary use of the testclock + * Verify each test is testing what it actually says it does (and modify + where it doesn't) + In general, make the tests much smaller, better, more maintainable and + readable. + https://bugzilla.gnome.org/show_bug.cgi?id=774409 + +2016-12-14 09:54:11 +0000 Tim-Philipp Müller <tim@centricular.com> + + * .gitignore: + * Makefile.am: + * configure.ac: + * gst-plugins-good.spec.in: + Remove generated .spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-12-14 10:15:10 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Check that the XiTh size is big enough + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-09 20:27:53 +0900 Heekyoung Seo <heekyoung.seo@lge.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-08 18:50:52 +0900 Heekyoung Seo <heekyoung.seo@lge.com> + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + qtdemux: Enable xvid/mp2 codec support + Add support for xvid video and mp2 audio, add m2v1 fourcc. + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-13 22:32:46 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtp/gstrtpvp9depay.c: + * tests/check/elements/rtpjitterbuffer.c: + * tests/check/elements/rtprtx.c: + * tests/check/elements/vp9enc.c: + gst: Don't declare variables inside the for loop header + This is a C99 feature. + +2016-12-11 13:27:27 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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 + buffers). + https://bugzilla.gnome.org/show_bug.cgi?id=775898 + +2016-12-10 12:52:18 +0000 Tim-Philipp Müller <tim@centricular.com> + + * docs/design/Makefile.am: + * docs/design/design-rtpauxiliary.txt: + * docs/design/design-rtpcollision.txt: + * docs/design/design-rtpretransmission.txt: + docs: design: remove, moved to gst-docs + +2016-12-09 17:17:35 -0300 Thibault Saunier <tsaunier@gnome.org> + + * meson.build: + meson: Support building without Gst debug + +2016-12-09 17:55:39 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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 <sebastian@centricular.com> + + * gst/flx/gstflxdec.c: + flxdec: Unref and unmap buffers in all code paths as needed + https://bugzilla.gnome.org/show_bug.cgi?id=775888 + +2016-12-06 17:42:31 +0530 Arun Raghavan <arun@osg.samsung.com> + + * sys/v4l2/gstv4l2object.c: + v4l2object: Don't set empty interlace-mode list + If for some reason we fail to probe formats (all try_fmt calls fail, for + example), this is not a critical error, but we end up with an empty list + of interlace modes. This causes all subsequent negotiation to fail. + This patch fixes interlace-mode setting to be skipped if we failed to + detect any. + https://bugzilla.gnome.org/show_bug.cgi?id=775702 + +2016-12-07 17:22:22 +0530 Garima Gaur <garima.g@samsung.com> + + * gst/monoscope/gstmonoscope.c: + monoscope: Unref allocation query after finished with it + https://bugzilla.gnome.org/show_bug.cgi?id=775752 + +2016-12-06 07:48:47 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://scarybeastsecurity.blogspot.gr/2016/12/1days-0days-pocs-more-gstreamer-flic.html + +2016-12-05 07:57:19 -0700 Matt Staples <staples255@gmail.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775543 + +2016-09-07 16:10:27 +0300 Aleix Conchillo Flaque <aleix@oblong.com> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: always send teardown request + Allow CMD_CLOSE to cancel all commands not only CMD_PAUSE + and ignore CMD_WAIT while closing. + https://bugzilla.gnome.org/show_bug.cgi?id=748360 + +2016-12-03 08:19:27 +0100 Edward Hervey <bilboed@bilboed.com> + + * README: + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-01 17:08:09 +0100 Edward Hervey <bilboed@bilboed.com> + + * 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-12-01 11:23:02 +0100 Edward Hervey <edward@centricular.com> + + * 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 <sebastian@centricular.com> + + * gst/avi/gstavidemux.c: + avidemux: Free vprp chunk also if it existed but we made no use of it + https://bugzilla.gnome.org/show_bug.cgi?id=775479 + +2016-12-01 17:38:33 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775472 + +2016-12-01 14:56:18 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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 <sebastian@centricular.com> + + * 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 <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Ensure that size of the pasp atom is as much as we need + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:30:10 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Free compressed moov node and it's corresponding decompressed data + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:29:21 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:27:55 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Fix zlib inflate loop + Handle errors cleanly, deallocate all memory and return the actual size + of the inflated data. + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 13:38:16 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775450 + +2016-12-01 13:32:22 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=775451 + +2016-12-01 15:06:06 +0530 Garima Gaur <garima.g@samsung.com> + + * gst/rtp/gstrtph264depay.c: + * gst/rtp/gstrtpsbcdepay.c: + rtp: Fix some memory leaks in usage of gst_pad_get_current_caps() + https://bugzilla.gnome.org/show_bug.cgi?id=775071 + +2016-11-30 17:56:02 +0200 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/isomp4/qtdemux.c: + qtdemux: Read interlacing information from 'fiel' atom + Read interlacing and TFF/BFF information from the 'fiel' atom and pass it + into the caps + https://bugzilla.gnome.org/show_bug.cgi?id=775414 + +2016-11-29 13:55:40 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Fix compiler warning + qtdemux.c: In function ‘qtdemux_parse_trak’: + qtdemux.c:10184:38: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘gint {aka const int}’ [-Werror=format=] + GST_DEBUG_OBJECT (qtdemux, "Found jpeg: len %u, need %lu", len, + ^ + +2016-11-28 13:45:24 -0800 Scott D Phillips <scott.d.phillips@intel.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Change off_t type to gint + off_t is a signed integer type provided by sys/types.h on posix systems. + Replace with gint for building on non-posix systems (like windows). + https://bugzilla.gnome.org/show_bug.cgi?id=775287 + +2016-11-22 21:00:25 -0800 Scott D Phillips <scott.d.phillips@intel.com> + + * meson.build: + meson: add libm to has_function checks + The functions from math.h may be implemented in libm. + https://bugzilla.gnome.org/show_bug.cgi?id=774876 + +2016-10-27 23:02:37 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * ext/meson.build: + Revert "meson: dv plugin now works on MSVC" + This reverts commit 05a89613feff70cff416367f5aa807a1d5c68b63. + Let's not put in stuff that needs unreleased Meson. This can go in + for the next cycle. + +2016-11-28 13:51:41 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/avi/gstavidemux.c: + avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist + https://bugzilla.gnome.org/show_bug.cgi?id=775219 + +2016-11-28 12:22:49 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/multipart/multipartdemux.c: + multipartdemux: Post an error message on the bus if we got EOS without having added any pads + +2016-11-28 12:00:09 +0200 Sebastian Dröge <sebastian@centricular.com> + + * ext/soup/gstsouphttpsrc.c: + souphttpsrc: Handle non-UTF8 headers and error reasons more gracefully + Especially don't put them into GstStructures in one way or another, just + ignore them or error out cleanly depending on the importance of their + content. + +2016-11-28 09:30:25 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtp/gstrtpvrawpay.c: + vrawpay: Error out cleanly if mapping the video frame fails + Instead of later dereferencing NULL and crashing. + +2016-11-27 11:14:13 +0100 Edward Hervey <edward@centricular.com> + + * gst/rtpmanager/gstrtprtxsend.c: + rtprtxsend: Update statistics before pushing + If an element queries the number of retransmission buffers pushed + *while* the push is still taking place (and before the object lock + is taken just after) it would end up with the wrong statistic + being reported. + Increment it just before the push, avoids races when getting statistics + https://bugzilla.gnome.org/show_bug.cgi?id=768723 + +2016-11-26 11:20:51 +0000 Tim-Philipp Müller <tim@centricular.com> + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-07-28 18:51:24 +0200 Philipp Zabel <p.zabel@pengutronix.de> + + * sys/v4l2/gstv4l2bufferpool.c: + gstv4l2bufferpool: lock flush_stop against regular qbuf + These can be called from different threads and both manipulate the + pool->buffers array. Lock them properly and let flush_stop move the + array contents into a temporary array on the stack to avoid having + to call release_buffer under the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=775015 + +2016-11-24 14:25:22 +0100 Philipp Zabel <p.zabel@pengutronix.de> + + * sys/v4l2/gstv4l2bufferpool.c: + gstv4l2bufferpool: remove critical error message when process is called on an inactive pool + If the pool is inactive, it is guaranteed to also be flushing, so the + following check will return GST_FLOW_FLUSHING anyway. + This can happen if a v4l2src is blocking on DQBUF in create and is sent + an EOS event on another thread. In that case the pool is set to + flushing/inactive without locking, the v4l2src is unblocked, and may + call pool_process with a valid buffer on the already inactive pool. + https://bugzilla.gnome.org/show_bug.cgi?id=775014 + +2016-11-24 14:41:52 +0100 Philipp Zabel <p.zabel@pengutronix.de> + + * sys/v4l2/gstv4l2src.c: + v4l2src: release buffer if create fails + gst_base_src_get_range does not expect a buffer to be returned in + the error case, so we are leaking a reference here if create fails. + https://bugzilla.gnome.org/show_bug.cgi?id=775014 + +2016-11-23 18:34:04 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtpmanager/gstrtpbin.c: + rtpbin: Handle create_session() returning NULL in bundle code + CID 1394492. + +2016-11-22 16:42:55 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Make sure to only change DTS of writable buffers + And trivial cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 16:42:26 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Error out much earlier if we don't have a valid PTS + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 16:18:41 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Only use buffer durations if they are actually valid + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 15:59:19 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Revert commits that set DTS and duration on buffers unconditionally + 39f7e52266fde3b3c035e22cbcbb2bb1fa207b17 was setting the buffer duration + to 0 if is not valid, under the assumption that this is "the last" + buffer and no others are coming next. This is wrong, last_buf is the + previous buffer and not the very last one. + 4e3c13c87c258c9c95e2217d32ab314d12b5fffc was setting DTS to 0 if there + was none. This will set DTS to 0 for all e.g. audio streams, completely + messing up calculations if streams don't start at 0. + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 15:58:37 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Only write "gap" edit list if there is a non-zero gap + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-23 07:09:06 +1100 Matthew Waters <matthew@centricular.com> + + * gst/flx/flx_color.c: + * gst/flx/flx_fmt.h: + * gst/flx/gstflxdec.c: + * gst/flx/gstflxdec.h: + flxdec: rewrite logic based on GstByteReader/Writer + Solves overreading/writing the given arrays and will error out if the + streams asks to do that. + Also does more error checking that the stream is valid and won't + overrun any allocated arrays. Also mitigate integer overflow errors + calculating allocation sizes. + https://bugzilla.gnome.org/show_bug.cgi?id=774859 + +2016-11-23 11:20:49 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/flx/gstflxdec.c: + flxdec: Don't unref() parent in the chain function + We don't own the reference here, it is owned by the caller and given to + us for the scope of this function. Leftover mistake from 0.10 porting. + https://bugzilla.gnome.org/show_bug.cgi?id=774897 + +2016-11-22 20:33:29 +0200 Sebastian Dröge <sebastian@centricular.com> + + * ext/vpx/gstvpxdec.c: + vpxdec: libvpx's release buffer is sometimes called with fb->priv==NULL + Don't assert on this but just ignore these cases. + +2016-11-22 20:24:59 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/matroska/matroska-demux.c: + matroskademux: Fix cluster searching if we search multiple times in one chunk + After finding a cluster id in the byte reader, we skip ahead the reader + position by one further byte to be able to continue searching from there + inside the same chunk if the cluster candidate was a false positive. + We have to accomodate for that additional byte when resuming the search, + otherwise all following pulls are off-by-one for every resume and we run + into an assertion. + +2016-11-22 20:01:20 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/matroska/matroska-ids.c: + matroska: Add size checks to the parsing of FLAC headers + +2016-11-22 23:46:00 +1100 Matthew Waters <matthew@centricular.com> + + * gst/flx/gstflxdec.c: + flxdec: fix some warnings comparing unsigned < 0 + bf43f44fcfada5ec4a3ce60cb374340486fe9fac was comparing an unsigned + expression to be < 0 which was always false. + gstflxdec.c: In function ‘flx_decode_brun’: + gstflxdec.c:322:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] + if ((glong) row - count < 0) { + ^ + gstflxdec.c:332:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] + if ((glong) row - count < 0) { + ^ + https://bugzilla.gnome.org/show_bug.cgi?id=774834 + +2016-11-21 16:17:31 +0200 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/isomp4/gstqtmuxmap.c: + qtmux: Enable up to 16 unpositioned raw audio channels + https://bugzilla.gnome.org/show_bug.cgi?id=774789 + +2016-11-22 19:05:00 +1100 Matthew Waters <matthew@centricular.com> + + * gst/flx/gstflxdec.c: + flxdec: add some write bounds checking + Without checking the bounds of the frame we are writing into, we can + write off the end of the destination buffer. + https://scarybeastsecurity.blogspot.dk/2016/11/0day-exploit-advancing-exploitation.html + https://bugzilla.gnome.org/show_bug.cgi?id=774834 + +2016-11-21 15:25:23 +0000 David Evans <bbcrddave@gmail.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Be sure not to read off end of FLAC dfLa box + https://bugzilla.gnome.org/show_bug.cgi?id=773712 + +2016-11-21 11:48:58 +0100 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-demux.c: + matroskademux: add support for skipping invalid data in push mode + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-21 11:48:29 +0100 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-parse.c: + * gst/matroska/matroska-read-common.c: + * gst/matroska/matroska-read-common.h: + matroskaparse: add support for skipping invalid data + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-18 17:00:59 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Move to new helper function to parse authentication responses + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-20 14:12:16 +0100 christophecvr <stefansat@telenet.be> + + * gst/isomp4/qtdemux.c: + qtdemux: Fix wrong compiler warning with gcc 6.2 + | ../../../git/gst/isomp4/qtdemux.c: In function 'qtdemux_parse_tree': + | ../../../git/gst/isomp4/qtdemux.c:10224:24: error: 'size' may be used uninitialized in this function [-Werror=maybe-uninitialized] + | offset += size; + | ^~ + | ../../../git/gst/isomp4/qtdemux.c:10197:25: note: 'size' was declared here + | guint32 size, tag; + | ^~~~ + https://bugzilla.gnome.org/show_bug.cgi?id=774747 + +2016-11-20 16:15:07 +0000 Tim-Philipp Müller <tim@centricular.com> + + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/common/config.h: + win32: remove copies of generated headers + +2016-11-20 13:14:08 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/avi/gstavidemux.c: + * gst/avi/gstavidemux.h: + avidemux: Ensure that raw video have properly aligned buffers + That is, aligned to to 32 bytes for video. Fixes crashes if the raw + buffers are passed to SIMD processing functions. + https://bugzilla.gnome.org/show_bug.cgi?id=774428 + +2016-11-20 13:08:27 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Ensure that raw audio and video have properly aligned buffers + That is, aligned to the basic type for audio and to 32 bytes for video. + Fixes crashes if the raw buffers are passed to SIMD processing functions. + https://bugzilla.gnome.org/show_bug.cgi?id=774428 + +2016-11-14 14:44:11 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Always write edit lists for the tracks to give a more accurate duration + Always write an edit list for the whole track. In general this is not + necessary except for the case of having a gap or DTS adjustment but + it allows to give the whole track's duration in the usually more + accurate media timescale. + https://bugzilla.gnome.org/show_bug.cgi?id=774403 + +2016-11-18 22:45:45 +0900 Seungha Yang <sh.yang@lge.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Remove useless return variable + qtdemux_expose_streams() returns flow error immediately, if there is an error. + So, the variable for the flow return is not needed. + https://bugzilla.gnome.org/show_bug.cgi?id=774674 + +2016-11-17 13:59:48 +0000 David Evans <bbcrddave@gmail.com> + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + * gst/isomp4/qtdemux_dump.c: + * gst/isomp4/qtdemux_dump.h: + * gst/isomp4/qtdemux_types.c: + qtdemux: Add support for FLAC encapsulated in ISOBMFF + As defined by + https://git.xiph.org/?p=flac.git;a=blob_plain;f=doc/isoflac.txt + https://bugzilla.gnome.org/show_bug.cgi?id=773712 + +2016-11-17 19:59:53 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtpmanager/gstrtpmux.c: + rtpmux: Mark pad as needing reconfiguration again if it failed + And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 19:59:26 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/monoscope/gstmonoscope.c: + monoscope: Mark pad as needing reconfiguration again if it failed + And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 19:58:52 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Mark pad as needing reconfiguration again if reconfiguration failed + And consider negotiation failures on flushing pads as FLUSHING, not as + NOT_NEGOTIATED. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 19:56:23 +0200 Sebastian Dröge <sebastian@centricular.com> + + * ext/dv/gstdvdec.c: + dvdec: Fix handling of negotiation failures + Return NOT_NEGOTIATED if sending the caps event fails, or FLUSHING if + the pad was flushing at that point. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 17:16:26 -0800 Scott D Phillips <scott.d.phillips@intel.com> + + * meson.build: + meson: add_global_arguments -> add_project_arguments + https://bugzilla.gnome.org/show_bug.cgi?id=774656 + +2016-11-16 10:53:51 +0530 Vinod Kesti <vinodkesti@yahoo.com> + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: pad request fails for flvmux + splitmuxsink requests pad from element using pad template like "video_%u", "audio_%u" and "sink_%d". This is true for most of the muxers. + But splitmuxsink not able to request pad to flvmux as flvmux has "audio" and "video" as pad templates. + fix: splitmuxsink should fallback to "audio" and "video" when template not found. + https://bugzilla.gnome.org/show_bug.cgi?id=774507 + +2016-11-17 10:24:28 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/matroska/matroska-parse.c: + matroskaparse: Add remaining relevant parts from a3a55305 to the parser + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-16 22:39:01 +0100 Nicola Murino <nicola.murino@gmail.com> + + * gst/matroska/matroska-parse.c: + matroskaparse: ignore parsing errors at the end of the file + This is the same change as a3a55305 for the parser. + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-16 08:56:34 +0100 Philippe Normand <philn@igalia.com> + + * docs/plugins/gst-plugins-good-plugins.signals: + * gst/rtpmanager/gstrtpbin.c: + * gst/rtpmanager/gstrtpbin.h: + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/rtpbundle.c: + * tests/check/meson.build: + * tests/examples/rtp/.gitignore: + * tests/examples/rtp/Makefile.am: + * tests/examples/rtp/client-rtpbundle.c: + * tests/examples/rtp/server-rtpbundle.c: + rtpbin: receive bundle support + A new signal named on-bundled-ssrc is provided and can be + used by the application to redirect a stream to a different + GstRtpSession or to keep the RTX stream grouped within the + GstRtpSession of the same media type. + https://bugzilla.gnome.org/show_bug.cgi?id=772740 + +2016-11-15 16:52:39 +0530 Vinod Kesti <vinodkesti@yahoo.com> + + * gst/audioparsers/gstaacparse.c: + aacparse: assertion while converting ADTS stream to RAW + aacparse resizes input buffer while converting ADTS stream to RAW, + During buffer resize buffer write permission is not checked. + This throws gst_buffer_is_writable assertion and leads to AV sync issue some times. + It is corrected by making buffer writeable using gst_buffer_make_writable + https://bugzilla.gnome.org/show_bug.cgi?id=774129 + +2016-11-15 21:17:51 +0900 Seungha Yang <sh.yang@lge.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Don't modify upstream TIME segment + TIME segment implies that stream/running time is being handled by upstream. + So, we shouldn't override it without any clue. + This patch is for fixing seek in DASH streaming. + https://bugzilla.gnome.org/show_bug.cgi?id=774196 + +2016-11-14 22:33:27 +0530 Arun Raghavan <arun@osg.samsung.com> + + * config.h.meson: + meson: Add define for v4l2-probe config option + +2016-11-14 17:37:51 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/interleave/deinterleave.c: + deinterleave: Reset caps accumulator to ANY when resyncing the adapter, not EMPTY + The accumulator is filled by intersecting with all the pad caps, as such + it must be initialized with ANY (like it is before the iteration is + started) and not to EMPTY. + Fixes the CAPS query always returning EMPTY caps when resyncing happened + during the query, e.g. because pads were added/removed. + +2016-11-14 12:13:14 +0100 Petr Kulhavy <brain@jikos.cz> + + * gst/udp/gstudpsrc.c: + udpsrc: remove redundant saddr unref + The g_object_unref (saddr) before receiving message seems to be redundant as it + is done just before jumping to retry + Though not directly related, part of + https://bugzilla.gnome.org/show_bug.cgi?id=772841 + +2016-11-12 23:34:23 +0100 Petr Kulhavy <brain@jikos.cz> + + * gst/udp/gstudpsrc.c: + udpsrc: receive control messages only in multicast + Control messages are used only in multicast mode - to detect if the destination + address is not ours and possibly drop the packet. However in non-multicast + modes the messages are still allocated and freed even if not used. Therefore + request control messages from g_socket_receive_message() only in multicast + mode. + https://bugzilla.gnome.org/show_bug.cgi?id=772841 + +2016-11-11 10:45:01 -0800 Scott D Phillips <scott.d.phillips@intel.com> + + * gst/matroska/matroska-mux.c: + Use intermediate guint when handling GstVideoMultiviewFlags + The underlying integer type of the enum GstVideoMultiviewFlags is + implementation defined and may not have the same size as guint. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-11 10:44:18 -0800 Scott D Phillips <scott.d.phillips@intel.com> + + * gst/multifile/gstsplitfilesrc.c: + splitfilesrc: update uri_get_type to match the prototype in GstURIHandlerInterface + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-10-26 22:37:34 -0700 Scott D Phillips <scott.d.phillips@intel.com> + + * meson.build: + meson: don't add_global_arguments when being built as a subproject + https://bugzilla.gnome.org/show_bug.cgi?id=773568 + +2016-10-21 15:49:36 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * gst/audioparsers/gstflacparse.c: + * gst/audioparsers/gstflacparse.h: + flacparse: fix header rewriting being ignored + https://bugzilla.gnome.org/show_bug.cgi?id=727802 + +2016-11-09 06:25:27 +0000 Sean DuBois <sean@siobud.com> + + * gst/flv/gstflvmux.c: + * gst/flv/gstflvmux.h: + flvmux: Add metadatacreator property + Allow users to set metadatacreator value in the meta packet + https://bugzilla.gnome.org/show_bug.cgi?id=774131 + +2016-11-01 19:56:36 +0200 Vivia Nikolaidou <vivia@toolsonair.com> + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + splitmuxsink: Use first buffer TS as mux start time + Do not use last buffer TS + buffer duration because buffer duration + might be inaccurate, especially for frame rates like 30fps where a + rounding error is observed. + https://bugzilla.gnome.org/show_bug.cgi?id=773785 + +2016-11-03 15:03:59 +0100 Havard Graff <havard.graff@gmail.com> + + * 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 - erlend@pexip.com + https://bugzilla.gnome.org/show_bug.cgi?id=773891 + +2016-10-09 15:59:05 +0200 Havard Graff <havard.graff@gmail.com> + + * 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 <havard.graff@gmail.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=773905 + +2016-11-03 13:27:51 +0000 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/elements/wavparse.c: + * tests/files/Makefile.am: + * tests/files/audiotestsrc.wav: + tests: wavparse: add test for processing an actual .wav file + https://bugzilla.gnome.org/show_bug.cgi?id=773861 + +2016-11-03 12:34:51 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/wavparse/gstwavparse.c: + wavparse: Don't set caps to NULL after setting them on the srcpad + We would like to check later on EOS if we found a known stream type or + not, to possibly post an error message. + https://bugzilla.gnome.org/show_bug.cgi?id=773861 + +2016-11-02 14:33:28 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Don't deref NULL pads in debug output + That tends to crash. + +2016-11-02 11:46:07 +1100 Jan Schmidt <jan@centricular.com> + + * gst/isomp4/qtdemux.c: + isomp4: Don't use gst_video_colorimetry_to_string_full() + The API was reverted. Just use the plain + gst_video_colorimetry_to_string() function. + +2016-11-02 11:00:13 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: Fix GObject warnings on shutdown. + Commit 83e718 added a pad template to splitmux request + pads, which means that GstElement now releases the pads on + dispose, but after having removed all elements in the bin + and unlinked them. Make sure we can handle cleanup in that case + without throwing assertions. + https://bugzilla.gnome.org/show_bug.cgi?id=773784 + +2016-11-02 02:25:51 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxsrc.c: + * gst/multifile/gstsplitmuxsrc.h: + splitmuxsrc: Store seek seqnum and send it on EOS / segment events. + GES relies on the EOS event having the seqnum of the seek that + caused it. + +2016-11-02 02:25:00 +1100 Jan Schmidt <jan@centricular.com> + + * gst/multifile/gstsplitmuxsrc.c: + splitmuxsrc: Forward a not-linked error on the bus + Handle not-linked as for other fatal errors and post it + onto the bus so the app knows + +2016-11-01 21:00:15 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Fix compiler warning + qtdemux.c: In function ‘qtdemux_parse_tree’: + qtdemux.c:10139:16: error: ‘color_table_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + if (color_table_id != 0) { + ^ + qtdemux.c:10121:19: note: ‘color_table_id’ was declared here + guint16 color_table_id; + ^~~~~~~~~~~~~~ + +2016-10-20 17:40:59 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Use a default interleave of 250ms for all codecs + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-10-19 14:33:33 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Use a default interleave when ProRes is used + The ProRes guidelines suggest an interleave of 0.5s is common, but + specifies that for ProRes at most 2MB (for SD) and 4MB (for HD) should + be used per chunk. + It might also make sense to use similar numbers in general. + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-10-19 14:25:28 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/gstqtmux.h: + qtmux: Allow configuring the interleave size in bytes/time + Previously we were switching from one chunk to another on every single + buffer. This wastes some space in the headers and, depending on the + software, might depend in more reads (e.g. if the software is reading + multiple samples in one go if they're in the same chunk). + The ProRes guidelines suggest an interleave of 0.5s is common, but + specifies that for ProRes at most 2MB (for SD) and 4MB (for HD) should + be used per chunk. This will be handled in a follow-up commit. + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-09-30 18:22:27 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Set compressor name, horizontal/vertical resolution and depth for ProRes + This is also required by some software to handle ProRes files. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 18:05:38 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/qtdemux.c: + qt: Add support for ProRes 4444 XQ + And also 4444 in the muxer. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 17:58:37 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/qtdemux_types.c: + qtmux: Write 'clap' atom for ProRes + It's required for ProRes to work with other software. + It is also in the MP4 standard, but inventing values here seems a bit + tricky for the general case and it does not really give any extra + information. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 09:55:58 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Read colorimetry information from colr atom if available + https://bugzilla.gnome.org/show_bug.cgi?id=772181 + +2016-09-29 21:56:18 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + qtmux: Always write colr atom with the colorimetry information + https://bugzilla.gnome.org/show_bug.cgi?id=772181 + +2016-09-29 18:16:18 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + qtmux: Fix writing of the 'fiel' extension atom + This was also wrong for JPEG2000. Also write it for all MOV files and + JPEG2000, not only for ProRes. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-29 17:40:23 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + qtmux: Write 4 bytes of zeroes at the end of the sample description extensions + This is working around some broken software. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-28 20:55:24 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/atoms.c: + atoms: 'pasp' atom is also part of MP4, write it always + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-07-11 19:30:12 +0300 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + qtmux: Write additional atoms for prores video + These required atoms are: colorimetry, field information, spatial/temporal + quality, and vendor. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2014-06-16 17:20:32 +0200 Stian Selnes <stian.selnes@gmail.com> + + * gst/rtp/gstrtph263depay.c: + rtph263depay: Don't drop mode b packets with picture start code + Some buggy payloaders, e.g. rtph263pay, may use mode B for packets + that starts with a picture (or GOB) start code although it's not + allowed. Let's be nice and not drop these packets/frames. + https://bugzilla.gnome.org/show_bug.cgi?id=773516 + +2016-06-22 13:59:35 +0200 Havard Graff <havard.graff@gmail.com> + + * gst/rtp/gstrtph263ppay.c: + * tests/check/elements/rtph263.c: + rtph263ppay: Fix caps leak + Fix leaking caps when downstream has not-fixed caps. + https://bugzilla.gnome.org/show_bug.cgi?id=773515 + +2016-10-26 16:42:19 +0200 Stian Selnes <stian@pexip.com> + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Fix indentation + https://bugzilla.gnome.org/show_bug.cgi?id=773514 + +2016-10-18 11:35:58 +0200 Stian Selnes <stian@pexip.com> + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Use GST_TRACE_OBJECT for logging bitstream parsing + Bump the bitstream parsing to TRACE log level so it doesn't flood the + output when trying to read the more useful DEBUG and LOG messages. + Also use GST_DEBUG_OBJECT instead of GST_DEBUG in various places + https://bugzilla.gnome.org/show_bug.cgi?id=773514 + +2016-10-18 11:09:10 +0200 Stian Selnes <stian@pexip.com> + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Fix leak for B-fragments + Altough commits 6a16be7, 64f9d08 and 0c7e3a8 fixed some issues they + introduced others. This patch fixes the leak of one macroblock for every + B fragment. + Macroblock structures must not be freed immediately after finding the + boundaries as they are stored and used later. However the inital dummy + structure (used for finding the first boundary) must be freed. + CID #1212156 + https://bugzilla.gnome.org/show_bug.cgi?id=773512 + +2016-10-20 13:14:13 +0200 Alejandro G. Castro <alex@igalia.com> + + * gst/rtpmanager/rtpsession.c: + rtpbin: avoid generating errors when rtcp messages are empty and check the queue is not empty + Add a check to verify all the output buffers were empty for the + session in a timout and log an error. + https://bugzilla.gnome.org/show_bug.cgi?id=773269 + +2016-10-26 13:21:29 +0200 Alejandro G. Castro <alex@igalia.com> + + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=773218 + +2016-10-21 17:31:00 +0000 Matt Staples <staples255@gmail.com> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Also handle redirect on PLAY + https://bugzilla.gnome.org/show_bug.cgi?id=772610 + +2016-08-30 10:24:43 +0200 Petr Kulhavy <brain@jikos.cz> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: allow missing control attribute in case of a single stream + Improve RFC2326 - chapter C.3 compatibility: + In case just a single stream is specified in SDP and the control attribute + is missing do not drop the stream but rather assume "a=control:*" + https://bugzilla.gnome.org/show_bug.cgi?id=770568 + +2016-10-08 18:11:17 +0200 William Manley <will@williammanley.net> + + * sys/v4l2/gstv4l2allocator.c: + v4l2: Warn, don't assert if v4l gives us a buffer with a too large size + I've seen problems where the `bytesused` field of `v4l2_buffer` would be + a silly number causing the later call to: + gst_memory_resize (group->mem[i], 0, group->planes[i].bytesused); + to result in this error to be printed: + (pulsevideo:11): GStreamer-CRITICAL **: gst_memory_resize: assertion 'size + mem->offset + offset <= mem->maxsize' failed + besides causing who-knows what other problems. + We make the assumption that this buffer has still been dequeued correctly + so just clamp to a valid size so downstream elements won't end up in + undefined behaviour. + The invalid `v4l2_buffer` I saw from my capture device was: + buffer = { + index = 0, + type = 1, + bytesused = 534748928, // <- Invalid + flags = 8260, // V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC | V4L2_BUF_FLAG_ERROR | V4L2_BUF_FLAG_DONE + field = 01330, // <- Invalid + timestamp = { + tv_sec = 0, + tv_usec = 0 + }, + timecode = { + type = 0, + flags = 0, + frames = 0 '\000', + seconds = 0 '\000', + minutes = 0 '\000', + hours = 0 '\000', + userbits = "\000\000\000" + }, + sequence = 0, + memory = 2, + m = { + offset = 3537219584, + userptr = 140706665836544, // Could be nonsense, not sure + planes = 0x7ff8d2d5b000, + fd = -757747712 + }, + length = 2764800, + reserved2 = 0, + reserved = 0 + } + This is from gdb with my own annotations added. + This was with gst-plugins-good 1.8.1, a Magewell XI100DUSB-HDMI video + capture device and kernel 3.13 using a dodgy HDMI cable which is great at + breaking HDMI capture devices. I'm using io-mode=userptr and have built + gst-plugins-good without libv4l. + https://bugzilla.gnome.org/show_bug.cgi?id=769765 + +2016-10-20 20:41:07 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Use a better default value for the movie header timescale + Take the maximum video timescale, or if no video track is present the + previous value of 1800. + https://bugzilla.gnome.org/show_bug.cgi?id=769041 + +2016-10-20 20:07:19 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Be more clever with the default video track timescale + Use the number of milliframes per second for integral and drop-frame + framerates, as suggested by the QT file format specification and other + places. We already did that for integral framerates before, but not for + drop-frame framerates. This now keeps precision better. + For all other framerates, check if it's close to a well-known framerate + and use that instead. + https://bugzilla.gnome.org/show_bug.cgi?id=769041 + +2016-10-10 13:00:01 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * gst/isomp4/qtdemux.c: + qtdemux: extract interlaced information from jpeg video + This information is hidden in a small chunk of data. + Format found at https://developer.apple.com/standards/qtff-2001.pdf, + page 92, "Video Sample Description", under table 3.1. + https://bugzilla.gnome.org/show_bug.cgi?id=767771 + +2016-10-26 12:46:28 +0530 Jagadish <jagadishkamathk@gmail.com> + + * ext/gdk_pixbuf/gstgdkpixbufoverlay.c: + gdkpixbufoverlay: Fixing x and y offset computation + While computing the x and y offsets, it's the video resolution and + resized overlay resolution to be used instead of actual overlay image + resoltuion. Due to this, the overlay image used to get wrongly overlayed + in undesired location + https://bugzilla.gnome.org/show_bug.cgi?id=757292 + +2016-11-01 18:09:00 +0000 Tim-Philipp Müller <tim@centricular.com> + + * meson.build: + meson: update version + +2016-10-24 16:56:31 +0000 Enrique Ocaña González <eocanha@igalia.com> + + * 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 + larger. + https://bugzilla.gnome.org/show_bug.cgi?id=754230 + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge <sebastian@centricular.com> + + * configure.ac: + Back to development + === release 1.10.0 === -2016-11-01 Sebastian Dröge <slomo@coaxion.net> +2016-11-01 17:57:44 +0200 Sebastian Dröge <sebastian@centricular.com> + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.10.0 + * 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.0 + +2016-11-01 17:47:31 +0200 Sebastian Dröge <sebastian@centricular.com> + + * 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-01 17:41:51 +0200 Sebastian Dröge <sebastian@centricular.com> |