=== release 1.6.4 === 2016-04-14 Tim-Philipp Müller * configure.ac: releasing 1.6.4 2016-04-12 09:41:00 +0000 Paolo Pettinato * gst/rtpmanager/gstrtpmux.c: rtpmux: Forward sticky events on buffer lists too, not only on buffers https://bugzilla.gnome.org/show_bug.cgi?id=764933 2016-03-08 13:03:55 +0100 Alban Bedel * sys/v4l2/gstv4l2object.c: v4l2object: fix capture with bayer formats other than bggr gst_v4l2_object_get_caps_info() always return V4L2_PIX_FMT_SBGGR8 for all bayer formats. This is obviously broken if the device use another ordering. Fix this by properly reading the format parameter. https://bugzilla.gnome.org/show_bug.cgi?id=763318 2016-03-04 15:09:45 +0100 Josep Torra * sys/v4l2/gstv4l2object.c: v4l2: fix colorimetry for NV12 Replicate V4L2_MAP_QUANTIZATION_DEFAULT macro behavior. At #v4l it was described that documentation might be wrong and that we should trust this macro instead. https://bugzilla.gnome.org/show_bug.cgi?id=762529 2016-01-21 17:41:55 -0500 Nicolas Dufresne * sys/v4l2/gstv4l2object.c: v4l2: Re-add colorimetry field for RGB formats This time, check if it's an RGB format and sets the transformation matrix to identity. The rest of the colorimetry information is meaningfull and shall be kept. https://bugzilla.gnome.org/show_bug.cgi?id=759624 2016-01-22 10:03:50 +0100 Wim Taymans * sys/v4l2/gstv4l2object.c: v4l2: fix sRGB colorspace definition V4l2 can also use the sRGB colorspace for YUV formats and thus needs a default matrix. 2015-11-17 12:39:05 +0200 Sebastian Dröge * gst/udp/gstudpsrc.c: * gst/udp/gstudpsrc.h: udpsrc: Add "loop" property for enabling/disabling multicast loopback On POSIX, IP_MULTICAST_LOOP is a setting for the sender socket. On Windows it is a setting for the receiver socket. As such we will need it on udpsrc too to allow filtering out our own multicast packets. 2016-02-10 19:56:59 +0530 Nirbheek Chauhan * sys/v4l2/gstv4l2deviceprovider.c: v4l2: Don't leak v4l2 objects and props on probe errors 2016-03-15 03:25:26 +0530 Nirbheek Chauhan * gst/rtp/gstrtpjpegdepay.c: rtpjpegdepay: Don't send invalid frames downstream after packet loss or a DISCONT After clearing the adapter due to a DISCONT, as might happen when some packet(s) have been lost, the depayloader was pushing data into the adapter (which had no header due to the clear), creating a headerless frame out of it, and sending it downstream. The downstream decoder would then usually ignore it; unless there were lots of DISCONTs from the jitterbuffer in which case the decoder would reach its max_errors limit and throw an element error. Now we just discard that data. It is probaby not worth trying to salvage this data because non-progressive jpeg does not degrade gracefully and makes the video unwatchable even with low packet loss such as 3-5%. 2016-01-31 11:08:38 +1100 Sebastian Dröge * gst/rtp/gstrtpjpegpay.c: rtpjpegpay: Allow different quantization tables for components 2 and 3 RFC 2435 mentions in section 4.1 that U/V use table number 1, but this seems just like an example. Some encoders are not following that and there seems to be no reason to reject their streams. https://bugzilla.gnome.org/show_bug.cgi?id=761345 2016-02-29 23:40:03 -0300 Thiago Santos * gst/multifile/gstsplitmuxsink.c: * tests/check/elements/splitmux.c: splitmuxsink: only try to create internal sink if it doesn't exist This allows splitmuxsink to be reused after being put to NULL. Test included https://bugzilla.gnome.org/show_bug.cgi?id=762893 2016-03-04 14:07:19 +0200 Sebastian Dröge * gst/udp/gstudpsrc.c: udpsrc: Fix multicast group joining with provided sockets on Windows On Windows the socket will be bound to ANY instead of the multicast group, as binding to a multicast group does not work. Which would mean that we override src->addr to become ANY and won't automatically join a multicast group anymore on Windows. On Linux we would automatically join a multicast group, keep it consistent. https://bugzilla.gnome.org/show_bug.cgi?id=763093 2015-11-04 14:51:19 +0900 Jihae Yi * gst/rtsp/gstrtspsrc.c: rtspsrc: avoid potentially overflowing expression https://bugzilla.gnome.org/show_bug.cgi?id=757569 2016-03-08 17:37:17 +0100 Thomas Roos * sys/directsound/gstdirectsoundsink.c: dirctsoundsink: Setting volume should not unmute https://bugzilla.gnome.org/show_bug.cgi?id=755106 2016-03-08 13:57:24 +0100 Thomas Roos * sys/directsound/gstdirectsoundsink.c: dirctsoundsink: Fix volume reset on unmute https://bugzilla.gnome.org/show_bug.cgi?id=755106 2016-02-28 13:42:28 +0000 Tim-Philipp Müller * gst/replaygain/gstrgvolume.c: * tests/check/elements/rgvolume.c: rgvolume: make tag list writable before modifying it Making the event itself writable is not enough, it won't make the actual taglist in the event writable as well. Instead, just make a copy of the taglist and then create a new tag event from that if required, replacing the old one. Before we would inadvertently modify taglists upstream elements might still be holding on to. Add unit test for this as well. https://bugzilla.gnome.org/show_bug.cgi?id=762793 2016-02-28 13:01:34 +0200 Sebastian Dröge * gst/rtsp/gstrtspsrc.c: rtspsrc: Properly error out if binding the UDP sockets fails udpsrc is not returning us a socket in that case. 2016-02-24 09:12:03 +0100 Philippe Normand * gst/isomp4/qtdemux.c: qtdemux: don't push encrypted buffer without cenc metadata When the cenc metadata is stored outside of the moof box and the stream is exposed it is possible that the cenc metadata hasn't been processed yet while the first buffer is being pushed. When this happens the buffer can't possibly be decrypted downstream so don't push it. https://bugzilla.gnome.org/show_bug.cgi?id=762516 2015-10-21 16:21:45 +0200 Philippe Normand * gst/isomp4/qtdemux.c: qtdemux: read saio aux_info_type as a FOURCC https://bugzilla.gnome.org/show_bug.cgi?id=756897 2016-02-23 18:27:47 +0200 Sebastian Dröge * ext/dv/gstdvdec.c: * ext/gdk_pixbuf/gstgdkpixbufdec.c: * gst/deinterlace/gstdeinterlace.c: * gst/smpte/gstsmpte.c: gst: Handle gst_pad_get_current_caps() returning NULL gracefully 2015-12-16 12:40:39 +0000 Dave Craig * ext/flac/gstflacenc.c: * gst/flv/gstflvmux.c: * gst/imagefreeze/gstimagefreeze.c: * gst/rtp/gstrtph264depay.c: * gst/shapewipe/gstshapewipe.c: * gst/videocrop/gstaspectratiocrop.c: gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539 2015-12-16 10:54:17 +0000 Dave Craig * gst/audioparsers/gstaacparse.c: aacparse: Handle gst_pad_get_current_caps() returning NULL gracefully This can happen when the pipeline is currently shutting down. https://bugzilla.gnome.org/show_bug.cgi?id=759539 2016-02-23 15:57:18 +0100 Linus Svensson * gst/matroska/matroska-demux.c: matroska-demux: Don't handle seek until ready https://bugzilla.gnome.org/show_bug.cgi?id=762542 2016-02-23 15:55:13 +0100 Linus Svensson * gst/matroska/matroska-demux.c: matroska-demux: Unref seek event https://bugzilla.gnome.org/show_bug.cgi?id=762542 2016-02-22 11:01:40 +0100 Aurélien Zanelli * gst/multifile/gstmultifilesink.c: multifilesink: close file on write error with next-file mode is set to buffer If we have an error during fwrite call, file stays open and thus next incoming buffer will trigger an assert when trying to opening a new file. This happens if we do not restart element, file is closed at stop, and if application handles the returned GST_FLOW_ERROR to keep bin alive. https://bugzilla.gnome.org/show_bug.cgi?id=762434 2016-02-22 09:09:01 +0900 Vineeth TM * gst/avi/gstavidemux.c: avidemux: Fix buffer memory leak buffer being mapped is not being unmapped in some cases https://bugzilla.gnome.org/show_bug.cgi?id=762420 2015-11-04 10:19:03 +0100 Stian Selnes * gst/rtpmanager/gstrtpjitterbuffer.c: rtpmanager: Don't warn for duplicate/reordered packets This is a normal scenario and should not be a warning. https://bugzilla.gnome.org/show_bug.cgi?id=762208 2016-02-06 14:39:05 +0100 Matej Knopp * gst/isomp4/qtdemux.c: qtdemux: workaround for files with wrong color_table_id value Instead of erroring out, just use the default color table. https://bugzilla.gnome.org/show_bug.cgi?id=761637 2015-12-04 00:46:34 +1100 Havard Graff * gst/flv/gstflvmux.c: flvmux: plug leak(s) in error-scenario https://bugzilla.gnome.org/show_bug.cgi?id=762210 2015-12-04 00:46:12 +1100 Havard Graff * gst/flv/gstflvdemux.c: flvdemux: fix eos event leak https://bugzilla.gnome.org/show_bug.cgi?id=762209 2016-02-18 18:33:13 +0100 Philippe Normand * gst/isomp4/qtdemux.c: qtdemux: plug leaks in cenc aux info parsing 2016-02-18 13:43:07 +0000 Tim-Philipp Müller * tests/check/Makefile.am: tests: fix spurious souphttpsrc test timouts Set GSETTINGS_BACKEND=memory, apparently there's something about fork() and the dconf backend (or whatever else that drags in or activates) that messes up locking and causes timeouts due to deadlocks in g_mutex_lock(), since everything works fine with CK_FORK=no as well. 2016-02-18 11:10:14 +0200 Sebastian Dröge * gst/matroska/matroska-demux.c: matroskademux: Unmap wavpack header buffer after creating it Otherwise it will be mapped writable all the time and we can't read from it anywhere. https://bugzilla.gnome.org/show_bug.cgi?id=762239 2016-02-16 09:02:30 +0900 Vineeth TM * gst/avi/gstavidemux.c: avidemux: Fix string memory leak codec_name is not being freed in all conditions leading to memory leak https://bugzilla.gnome.org/show_bug.cgi?id=762117 2016-02-07 15:02:35 -0500 Nicolas Dufresne * ext/jpeg/gstjpegdec.c: jpegdec: Don't pass the same data over and over We already pass the entire frame to the decoder. If the decoder ask for more data, don't pass the same data again as this leads to infinit loop. Instead, simply fail the fill function to signal the problem with that frame. It will then be skipped properly. https://bugzilla.gnome.org/show_bug.cgi?id=761670 2016-01-30 18:43:30 +0100 Sebastian Dröge * gst/rtp/gstrtpjpegpay.c: rtpjpegpay: Skip APP and JPG markers and print warnings for unknown markers For APP/JPG markers the size is following and we have to skip that. This is not really a problem unless the marker contains e.g. a preview JPEG or something else that we might interprete as another marker. 2016-03-13 10:33:13 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: Revert "flacparse: push tags in pre_push_frame" This reverts commit 4065fcb80a49924b70f0c8fc159dec0ff47943a1. flacparse should not push tags by itself, the base class is going to do that while properly merging in upstream tags. It just didn't because of a bug in the base class, which was hidden by this commit. https://bugzilla.gnome.org/show_bug.cgi?id=763553 2016-03-01 15:01:22 +0000 Luis de Bethencourt * gst/audioparsers/gstflacparse.c: flacparse: push tags in pre_push_frame Push a tag event before pre-roll if we have tags. This issue breaks tag reading via GstDiscoverer: https://bugzilla.gnome.org/show_bug.cgi?id=762660 2016-02-27 20:33:32 +0200 Sebastian Dröge * gst/goom/gstgoom.c: goom: Use goom_set_resolution() instead of recreating the goom instance when the resolution changes https://bugzilla.gnome.org/show_bug.cgi?id=762765