=== release 1.10.5 === 2017-06-15 Sebastian Dröge * configure.ac: releasing 1.10.5 2017-06-15 11:50:44 +0300 Sebastian Dröge * gst/isomp4/atoms.c: qtmux: Un-merge the last two stsc entries after serializing The last entry will most likely get new samples added to it in "robust" muxing mode, changing the samples_per_chunk and thus making it wrong to keep the last two entries merged. It will run into an assertion later when adding a new sample to the chunk. Thanks to gdiener@cardinalpeak.com for the analysis of the bug and proposal for a solution. 2017-06-14 00:09:25 +0300 Sebastian Dröge * gst/wavparse/gstwavparse.c: wavparse: Actually clip to upstream size instead of size of the data chunk There might be other chunks after the data chunk, so clipping the chunk size with the data size can lead to a negative number and all following calculations go wrong and cause crashes or worse. This was introduced in 3ac119bbe2c360e28c087cf3852ea769d611b120. https://bugzilla.gnome.org/show_bug.cgi?id=783760 2017-03-22 18:52:51 +0200 Sebastian Dröge * gst/isomp4/gstqtmux.c: * gst/isomp4/gstqtmux.h: qtmux: Do timecode handling per track, not per muxer instance There could be multiple video tracks with timecodes. 2017-04-04 15:07:40 +0300 Sebastian Dröge * gst/isomp4/gstqtmux.c: qtmux: Error out immediately if a timecode is to be written but downstream return not-OK 2017-05-16 12:56:15 +0300 Vivia Nikolaidou * gst/isomp4/gstqtmux.c: qtmux: Do not check timecode data for mp4 container Timecode trak is only supported for mov right now, not for mp4. That code would otherwise create an invalid trak if the muxed video contained timecode metadata. https://bugzilla.gnome.org/show_bug.cgi?id=782684 2017-05-08 18:22:48 +0200 Sebastian Dröge * gst/isomp4/qtdemux.c: Revert "qtdemux: Fix leak on QtDemuxStreamStsdEntry" This reverts commit 6578c44a92a92b922ef45871097eb60831807173. This commit is not relevant for 1.10. 2017-05-08 18:22:12 +0200 Sebastian Dröge * gst/isomp4/qtdemux.c: Revert "qtdemux: Fix crash on mss stream caused by invalid stsd entry access" This reverts commit 84cb0852e1184176ab953bda459b811a050dfcd1. It actually requires further changes to qtdemux. 2017-04-14 13:38:53 +0300 Sebastian Dröge * gst/isomp4/atoms.c: qtmux: Fix timescale of timecode tracks They should have ideally the same timescale of the video track, which we can't guarantee here as in theory timecode configuration and video framerate could be different. However we should set a correct timescale based on the framerate given in the timecode configuration, and not just use the framerate numerator. Different than the 1.12 version of the patch, this uses the previous, suboptimal calculation of the timescale for video tracks to be consistent with the video track. 2017-05-02 10:32:30 +0900 Seungha Yang * gst/isomp4/qtdemux.c: qtdemux: Fix crash on mss stream caused by invalid stsd entry access Since mss has no moov, default stsd entry should be created with media-caps. https://bugzilla.gnome.org/show_bug.cgi?id=782042 2017-04-25 17:11:27 +0300 Sebastian Dröge * gst/isomp4/qtdemux.c: qtdemux: Don't perform seeks with inconsistent seek values If gst_segment_do_seek() fails, we shouldn't try seeking on that resulting segment but just error out. Crashes further down the line otherwise. 2017-04-21 19:09:14 +0100 Sebastian Dröge * gst/rtsp/gstrtspsrc.c: rtspsrc: Chain up to the parent class' provide_clock() implementation If no clock was provided directly by rtspsrc. This behaviour was removed by f8013487c91a6ffc552a4b25aa1a70f0bd5377f8 and results in rtspsrc not providing the system clock via the rtpjitterbuffer. As a result, if another element like an audio sink, provides a clock, the pipeline would select that (when going to PAUSED/PLAYING again later). Audio clocks usually don't progress in PAUSED, and thus our live source won't be able to use the clock to produce data, making the sink never preroll and everything is stuck. 2017-04-20 13:16:24 +0100 Sebastian Dröge * gst/multifile/gstsplitmuxsink.c: splitmuxsink: Don't use an explicit name for requesting audio pads ... unless the muxer uses the same audio pad template name as splitmuxsink. We can't request a pad called "audio_0" on a muxer that wants pads to be "sink_%d". 2017-04-16 18:47:56 +0900 Seungha Yang * gst/isomp4/qtdemux.c: qtdemux: Fix leak on QtDemuxStreamStsdEntry Fix unit test failure https://bugzilla.gnome.org/show_bug.cgi?id=781362 2017-04-12 18:46:53 +0530 Nirbheek Chauhan * ext/meson.build: meson: Print message when disabling taglib on MSVC 2017-03-23 22:13:05 +0100 Carlos Rafael Giani * sys/v4l2/gstv4l2object.c: v4l2object: Also add videometa if there is padding to the right and bottom https://bugzilla.gnome.org/show_bug.cgi?id=780478 2017-03-22 18:18:40 +0000 Enrique Ocaña González * gst/isomp4/qtdemux.c: qtdemux: distinguish TFDT with value 0 from no TFDT at all TFDTs with time 0 are being ignored since commit 1fc3d42f. They're mistaken with the case of not having TFDT, but those two cases must be distinguished in some way. This patch passes an extra boolean flag when the TFDT is present. This is now the condition being evaluated, instead of checking for 0 time. https://bugzilla.gnome.org/show_bug.cgi?id=780410 2017-03-08 15:27:32 +0200 Sebastian Dröge * gst/isomp4/atoms.c: * gst/isomp4/gstqtmux.c: qtmux: Fix some memory leaks related to timecode tracks 2017-03-17 12:19:53 +0200 Sebastian Dröge * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/rtpsession.c: * gst/rtpmanager/rtpsession.h: Revert "rtpbin: pipeline gets an EOS when any rtpsources byes" This reverts commit eeea2a7fe88a17b15318d5b6ae6e190b2f777030. It breaks EOS in some sender pipelines, see https://bugzilla.gnome.org/show_bug.cgi?id=773218#c20 2017-03-16 00:41:44 +0000 Tim-Philipp Müller * gst/rtp/gstrtph264depay.c: rtph264depay: fix crash with empty sprops-parameters https://bugzilla.gnome.org/show_bug.cgi?id=780040 2017-03-15 22:13:12 -0700 Sebastian Dröge * gst/isomp4/atoms.c: qtmux: Join chunks together if they have the same size 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). https://bugzilla.gnome.org/show_bug.cgi?id=771478 2017-03-11 21:20:40 -0800 Thiago Santos * gst/isomp4/atomsrecovery.c: * gst/isomp4/atomsrecovery.h: atomsrecovery: also handle extra atoms after 'mdia' in a 'trak' Take into account the atoms at the end of the 'trak' atom when recovering it. So that its size (already computed and added in the trak size) isn't making offsets wrong. https://bugzilla.gnome.org/show_bug.cgi?id=771478 2017-03-11 12:56:33 -0800 Thiago Santos * gst/isomp4/gstqtmux.c: qtmux: avoid fallthrough to moovrecovery failure section Return before that to preserve our successfull results, otherwise no moov recovery information would be written https://bugzilla.gnome.org/show_bug.cgi?id=771478 2017-03-11 12:27:28 -0800 Thiago Santos * gst/isomp4/atomsrecovery.c: atomsrecovery: expect more atom types at the headers Skip more atoms at the header until it finds the 'mdat' to continue the moov recovery https://bugzilla.gnome.org/show_bug.cgi?id=771478 2016-12-15 12:38:40 +0100 Michael Dutka * gst/rtp/gstrtph264depay.c: * gst/rtp/gstrtph265depay.c: rtph264depay, rtph265depay: remove stray g_debug() https://bugzilla.gnome.org/show_bug.cgi?id=779858 2017-02-08 13:36:00 +0000 Andrew * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/rtpjitterbuffer.c: * gst/rtpmanager/rtpjitterbuffer.h: rtpjitterbuffer: Don't always reset PTS to 0 after a gap In function rtp_jitter_buffer_calculate_pts: If gap in incoming RTP timestamps is more than (3 * jbuf->clock_rate) we call rtp_jitter_buffer_reset_skew which resets pts to 0. So components down the pipeline (playes, mixers) just skip frames/samples until pts becomes equal to pts before gap. In version 1.10.2 and before this checking was bypassed for packets with "estimated dts", and gaps were handled correctly. https://bugzilla.gnome.org/show_bug.cgi?id=778341 2016-11-22 21:00:25 -0800 Scott D Phillips * 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 2017-02-23 17:22:59 +0000 Tim-Philipp Müller * meson.build: meson: update version