=== release 1.10.5 ===

2017-06-15  Sebastian Dröge <[email protected]>

       * configure.ac:
         releasing 1.10.5

2017-06-15 11:50:44 +0300  Sebastian Dröge <[email protected]>

       * 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 [email protected] for the analysis of the bug and
         proposal for a solution.

2017-06-14 00:09:25 +0300  Sebastian Dröge <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * ext/meson.build:
         meson: Print message when disabling taglib on MSVC

2017-03-23 22:13:05 +0100  Carlos Rafael Giani <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * meson.build:
         meson: update version