=== release 1.12.4 === 2017-12-07 Sebastian Dröge * configure.ac: releasing 1.12.4 2017-12-07 19:03:58 +0200 Sebastian Dröge * po/el.po: * po/nl.po: po: Update translations 2017-12-07 11:15:19 +0000 Tim-Philipp Müller * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: Revert "flacparse: fix header rewriting being ignored" This caused broken metadata and also looks a bit dodgy. Revert until we can figure out a solution that works for all cases and doesn't break anything. This reverts commit adeee44b07a173b9ab4253216caba8f66dd43abb. https://bugzilla.gnome.org/show_bug.cgi?id=727802 https://bugzilla.gnome.org/show_bug.cgi?id=785558 2017-08-25 11:57:26 +0200 Haakon Sporsheim * gst/rtpmanager/rtpsession.c: rtpsession: Handle zero length feedback packets https://bugzilla.gnome.org/show_bug.cgi?id=791074 2017-07-10 15:19:34 +0200 Florian Zwoch * gst/isomp4/qtdemux.c: qtdemux: fix debug log for 'hvcC' codec_data https://bugzilla.gnome.org/show_bug.cgi?id=784749 2017-11-23 07:59:07 +0100 Edward Hervey * gst/replaygain/rganalysis.c: rganalysis: Fix left shift of signed values left shifting signed values is undefined. Instead of doing "x << offs" which is undefined, do the equivalent "x * (1 << offs)" which is well defined 2017-11-24 10:36:01 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Request at least the full header size when parsing headers Otherwise baseparse will incrementally send us bigger buffers until the full header size is reached, which is not only pointless but also means that baseparse will reallocate and copy into a bigger buffer for every input buffers. In pull mode that's done in 64kb increments, in push mode usually in much smaller increments, causing a lot of overhead for example when parsing high-quality coverart. 2017-10-22 18:26:12 +0800 Jun Xie * gst/isomp4/qtdemux.c: qtdemux: reset reused QtDemuxStream while parsing a new 'trak' if QtDemuxStream is reused, then we need to reset it. https://bugzilla.gnome.org/show_bug.cgi?id=788759 2017-11-18 02:01:58 +1100 Jan Schmidt * gst/multifile/gstsplitmuxpartreader.c: splitmuxsrc: Don't return FALSE from event handling. Returning FALSE because we drop an event means that internal sources like qtdemux might throw an error and break the whole pipeline. The only time it can happen is either flushing or shutdown, and those will be handled anyway. 2017-03-13 18:14:12 +0900 paul.kim * ext/soup/gstsouphttpsrc.c: souphttpsrc: Remove range header when seek to 0 This fixes the previous range header is remained if seek to 0 is attempted. https://bugzilla.gnome.org/show_bug.cgi?id=779957 2017-06-20 16:28:35 +0200 Jan Alexander Steffens (heftig) * tests/files/test-cert.pem: tests: souphttpsrc: Update test-cert.pem Recent GnuTLS disregards the Common Name and only looks at the Subject Alternative Name extension. Since our test-cert has no SAN extension, validation fails. Generate a new certificate with SAN. In addition to 127.0.0.1, for good measure make it valid for localhost and ::1, too. https://bugzilla.gnome.org/show_bug.cgi?id=784005 2017-06-20 16:39:36 +0200 Jan Alexander Steffens (heftig) * tests/check/elements/souphttpsrc.c: tests: souphttpsrc: Avoid deprecated ssl-ca-file property SoupSession's ssl-ca-file property is deprecated. Use the recommended tls-database property. This is a bit more complex as it requires creating a GTlsFileDatabase object for an absolute (!) path to the CA certificates file. https://bugzilla.gnome.org/show_bug.cgi?id=784005 2017-06-20 16:37:55 +0200 Jan Alexander Steffens (heftig) * tests/check/elements/souphttpsrc.c: tests: souphttpsrc: Avoid deprecated server ssl properties The ssl-cert-file and ssl-key-file properties are deprecated. Use the soup_server_set_ssl_cert_file function to load the files. https://bugzilla.gnome.org/show_bug.cgi?id=784005 2017-06-20 16:34:41 +0200 Jan Alexander Steffens (heftig) * tests/check/elements/souphttpsrc.c: tests: souphttpsrc: Make ssl_cert/key_file static Just a bit of cleanup. https://bugzilla.gnome.org/show_bug.cgi?id=784005 2017-11-08 16:34:01 +0100 Edward Hervey * ext/soup/gstsouphttpsrc.c: souphttpsrc: Fix seeking back to 0 This is a regression introduced by "03db374 - souphttpsrc: retry request on early termination from the server" The problem was that when seeking back to 0, we would not end up calling add_range_header() which in addition to adding range headers *ALSO* sets the read_position to the requested one. This would result in a wide variety of later failures, like reading again and again instead of stopping properly. 2017-11-06 21:13:34 +0100 Jan Alexander Steffens (heftig) * sys/v4l2/gstv4l2deviceprovider.c: v4l2deviceprovider: Add missing V4L2_CAP_TOUCH This define was only added in Linux 4.8. This commit is for the stable branch only, since we want to avoid bumping the v4l headers in fear of regressions. https://bugzilla.gnome.org/show_bug.cgi?id=789197 2017-10-19 14:02:37 +0200 Jan Alexander Steffens (heftig) * sys/v4l2/gstv4l2deviceprovider.c: v4l2deviceprovider: Ignore touch sensing devices With GST_V4L2_USE_LIBV4L2=1, my laptop's touchpad shows up as a video source device in gst-device-monitor, but attempting to stream from it fails because the device doesn't actually support any video formats. name : Synaptics RMI4 Touch Sensor class : Video/Source caps : video/x-raw, format=(string)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1; video/x-raw, format=(string)YV12, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1; video/x-raw, format=(string)BGR, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1; video/x-raw, format=(string)RGB, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1; properties: udev-probed = true device.bus_path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0 sysfs.path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0 device.subsystem = video4linux device.product.name = "Synaptics\ RMI4\ Touch\ Sensor" device.capabilities = :capture: device.api = v4l2 device.path = /dev/v4l-touch0 v4l2.device.driver = rmi4_f54 v4l2.device.card = "Synaptics\ RMI4\ Touch\ Sensor" v4l2.device.bus_info = rmi4:rmi4-00.fn54 v4l2.device.version = 265480 (0x00040d08) v4l2.device.capabilities = 2501902337 (0x95200001) v4l2.device.device_caps = 354418689 (0x15200001) gst-launch-1.0 v4l2src device=/dev/v4l-touch0 ! ... v4l2-ctl -d /dev/v4l-touch0 --list-formats reports: ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'TD16' Name : 16-bit signed deltas Index : 1 Type : Video Capture Pixel Format: 'TD08' Name : 8-bit signed deltas Index : 2 Type : Video Capture Pixel Format: 'TU16' Name : 16-bit unsigned touch data https://bugzilla.gnome.org/show_bug.cgi?id=789197 2017-09-23 15:41:30 -0400 Nicolas Dufresne * gst/flv/gstflvdemux.c: flvdemux: Ignore invalid H.264 codec data This code basically skip over codec_data with empty payload. In this case, the codec_data variable is the size of the header for the CODEC part of Video Tag. The remaining is supposed to be the H.264 codec data, hence should not be empty. https://bugzilla.gnome.org/show_bug.cgi?id=787795 2017-09-24 14:35:01 -0400 Nicolas Dufresne * gst/flv/gstflvdemux.c: flvdemux: Only set pixel-aspect-ratio if specified If it's not specified, we should let the decoder figure it out. Apparently the code was already in place, all was to make the code conditional. https://bugzilla.gnome.org/show_bug.cgi?id=787795 2017-09-23 15:44:09 -0400 Nicolas Dufresne * gst/flv/gstflvdemux.c: flvdemux: Don't pull passed the EOS When a truncated FLV is provided and processed in pull mode, we may endup trying to pull passed EOS, causing a rather confusing warning as the pull offset is an integer overflow. https://bugzilla.gnome.org/show_bug.cgi?id=787795 2017-09-23 15:38:07 -0400 Nicolas Dufresne * gst/flv/gstflvdemux.c: flvdemux: Avoid integer overflow on invalid CTS If the CTS is negative an would lead to a negtive PTS, clip the CTS so the PTS will be 0. https://bugzilla.gnome.org/show_bug.cgi?id=787795 2017-10-01 16:09:13 +0200 Sebastian Dröge * gst/rtsp/gstrtspsrc.c: rtspsrc: Ignore medias marked as sendonly We're never going to receive anything from them, so don't create pads for them. These medias are destinations where *we* could send something.