=== release 1.2.1 ===

2013-11-09  Sebastian Dröge <[email protected]>

       * configure.ac:
         releasing 1.2.1

2013-11-09 12:01:55 +0100  Sebastian Dröge <[email protected]>

       * po/de.po:
       * po/id.po:
       * po/sr.po:
         po: Update translations

2013-11-08 17:59:24 +0100  Philippe Normand <[email protected]>

       * gst/wavenc/gstwavenc.c:
         wavenc: generate a non-empty data header
         Restore the behavior of the element to the state before commit
         db29522a430e44450415ca3676abd1b77ee923d9. A non-empty header is
         generated and when the EOS event is received the header is generated
         again, this time with the correct size.
         https://bugzilla.gnome.org/show_bug.cgi?id=711699

2013-10-07 14:27:21 -0300  Thiago Santos <[email protected]>

       * ext/soup/gstsouphttpsrc.c:
       * ext/soup/gstsouphttpsrc.h:
         souphttpsrc: do not emit EOS when connection drops
         If the pipeline is stalled for too long, souphttpsrc will block and
         stop fetching data from the network. This can cause the connection to
         drop and souphttpsrc would handle it as an EOS. This patch makes it
         persist and try to fetch more data until the end of the content length
         or until receiving an error that it is beyong limits in case the content
         is unknown.
         https://bugzilla.gnome.org/show_bug.cgi?id=683536

2013-10-25 11:30:36 -0300  Thiago Santos <[email protected]>

       * gst/isomp4/qtdemux.c:
         qtdemux: check if the end_time is defined before using it
         Avoids sending EOS too soon because of overflow. Can happen on
         fragmented mp4 playback.

2013-10-25 18:22:00 -0300  Thiago Santos <[email protected]>

       * gst/isomp4/qtdemux.c:
         qtdemux: handle fragmented files with mdat before moofs
         Assume a file with atoms in the following order: moov, mdat, moof,
         mdat, moof ...
         The first moov usually doesn't contain any sample entries atoms (or
         they are all set to 0 length), because the real samples are signaled
         at the moofs. In push mode, qtdemux parses the moov and then finds the mdat,
         but then it has 0 entries and assumes it is EOS.
         This patch makes it continue parsing in case it is a fragmented file so that
         it might find the moofs and play the media.
         https://bugzilla.gnome.org/show_bug.cgi?id=710623

2013-10-25 11:42:37 -0300  Thiago Santos <[email protected]>

       * gst/isomp4/qtdemux.c:
       * gst/isomp4/qtdemux.h:
         qtdemux: When using a buffered mdat, store all received data for later use
         In push mode, when qtdemux can't use a seek to skip the mdat buffer it has
         to buffer it for later use.
         The issue is that after parsing the next moov/moof, there might be some
         trailing bytes from the next atom in the file. This data was being discarded
         along with the already parsed moov/moof and playback would fail to continue
         after the contents of this moov/moof are played.
         This is particularly bad on fragmented files that have the mdat before the
         corresponding moof. So you'd get:
         mdat|moof|mdat|moof ...
         When a moof was received, it usually came with some extra bytes that would
         belong to the next mdat (because upstream doesn't care about atoms alignment).
         So those bytes were being discarded and playback would fail.
         This patch makes qtdemux store those extra bytes to reuse them later after the
         mdat is emptied.
         https://bugzilla.gnome.org/show_bug.cgi?id=710623

2013-11-07 09:49:55 +0100  Sebastian Dröge <[email protected]>

       * gst/udp/gstmultiudpsink.c:
         multiudpsink: Also use the bind-port property if no bind-address was given

2013-11-07 00:51:12 +0100  Andoni Morales Alastruey <[email protected]>

       * sys/osxaudio/gstosxcoreaudiohal.c:
         osxaudiosink: fix segfault when we can't get the channels layout

2013-11-05 17:26:49 +0100  Sebastian Dröge <[email protected]>

       * gst/rtp/gstrtpvp8pay.c:
         rtpvp8pay: Make Picture ID mode configurable and default to no picture ID
         Some implementations (linphone) only support no picture at all in the
         stream and will fail if one is provided.
         https://bugzilla.gnome.org/show_bug.cgi?id=711497

2013-11-02 22:50:47 +0100  Rico Tzschichholz <[email protected]>

       * gst/rtsp/Makefile.am:
       * gst/rtsp/gstrtspsrc.h:
         rtsp: Add missing gio-2.0 deps and includes

2013-11-01 18:10:51 +0000  Olivier Crête <[email protected]>

       * configure.ac:
         Revert "configure: Require gst-plugins-base >= 1.2.1 for the TLS validation check flags in GstRTSPConnection"
         Version 1.2.1 doesn't exist yet, re-apply when it does
         This reverts commit c98380985db3483ea78a8e738d544d1201d8ed1e.

2013-11-01 18:31:36 +0100  Sebastian Dröge <[email protected]>

       * gst/audiofx/audioiirfilter.c:
         audioiirfilter: Fix initialization coefficient handling
         Broke unit test.

2013-11-01 16:59:11 +0100  Sebastian Dröge <[email protected]>

       * configure.ac:
         configure: Require gst-plugins-base >= 1.2.1 for the TLS validation check flags in GstRTSPConnection

2013-10-31 14:05:43 -0700  Aleix Conchillo Flaque <[email protected]>

       * gst/rtsp/gstrtspsrc.c:
       * gst/rtsp/gstrtspsrc.h:
         rtspsrc: allow setting tls certificate validation flags
         Added a new property "tls-validation-flags". If the url transport is
         TLS, the validation flags will be set to the rtsp connection.
         https://bugzilla.gnome.org/show_bug.cgi?id=711230

2013-10-31 22:43:49 +0100  Sebastian Dröge <[email protected]>

       * gst/audiofx/audiofxbaseiirfilter.c:
       * gst/audiofx/audioiirfilter.c:
         audioiirfilter: Don't crash if no filter coefficients are provided
         ...and by default use a identity filter.
         https://bugzilla.gnome.org/show_bug.cgi?id=710215

2013-10-31 19:15:12 +0100  Sebastian Dröge <[email protected]>

       * ext/wavpack/gstwavpackenc.c:
         wavpackenc: Fix writing of MD5 sums and other metadata blocks
         These don't have the FINAL_BLOCK flag set.

2013-10-14 16:23:25 +0200  Ognyan Tonchev <[email protected]>

       * gst/udp/gstmultiudpsink.c:
         multiudpsink: Fix memory leak
         Unmap all GstMemory of the current buffer when flushing.
         https://bugzilla.gnome.org/show_bug.cgi?id=710110

2013-10-12 20:37:41 +0100  Tim-Philipp Müller <[email protected]>

       * gst/flv/gstflvmux.c:
         flvmux: require stream-format=raw for mpeg-2 too, but don't require framed field
         raw implies that it's framed already. Fixes .. ! faac ! flvmux

2013-10-10 13:52:35 +0200  Sebastian Dröge <[email protected]>

       * ext/dv/gstdvdec.c:
       * ext/dv/gstdvdec.h:
         dvdec: Don't send segment event before caps
         https://bugzilla.gnome.org/show_bug.cgi?id=709728

2013-10-09 17:46:33 +0200  Sebastian Dröge <[email protected]>

       * ext/dv/gstdvdemux.c:
         dvdemux: Send stream-start, caps and segment events in the right order
         https://bugzilla.gnome.org/show_bug.cgi?id=709728

2013-10-08 11:28:04 +0200  Sebastian Dröge <[email protected]>

       * gst/wavenc/gstwavenc.c:
         wavenc: A-Law and Mu-Law don't have width/depth/signed caps fields
         https://bugzilla.gnome.org/show_bug.cgi?id=709614

2013-10-07 12:54:11 +0200  Sebastian Dröge <[email protected]>

       * gst/deinterlace/tvtime/greedyh.c:
         deinterlace: Fix handling of planar video formats in greedyh method
         https://bugzilla.gnome.org/show_bug.cgi?id=709507

2013-10-04 13:34:09 +0200  Peter Korsgaard <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2bufferpool: O_CLOEXEC needs _GNU_SOURCE
         On some systems (E.G. uClibc and older Glibc versions), O_CLOEXEC is only
         defined when _GNU_SOURCE is specified, so do so.
         _GNU_SOURCE needs to be defined before any system headers are included,
         so move the fcntl.h section up.
         https://bugzilla.gnome.org/show_bug.cgi?id=709423

2013-10-04 14:42:59 -0700  Reynaldo H. Verdejo Pinochet <[email protected]>

       * gst/matroska/matroska-mux.c:
         matroska: Do not write SegmentUID for WebM mux
         WebM spec states SegmentUID is Unsupported. Files produced
         with gstreamer without this change will spit an error like
         this when passed to mkvalidator:
         ERR201: Invalid 'SegmentUID' for profile 'webm' in Info at 192

2013-10-03 22:38:43 +0200  Mathieu Duponchelle <[email protected]>

       * gst/videomixer/videoconvert.c:
         videomixer: Update videoconvert copy
         https://bugzilla.gnome.org/show_bug.cgi?id=709390

2013-10-03 21:36:34 +0200  Mathieu Duponchelle <[email protected]>

       * gst/videomixer/videomixer2.c:
         videomixer: Check if the pad needs reconfiguration in collected
         https://bugzilla.gnome.org/show_bug.cgi?id=709384

2013-10-03 11:59:25 +0200  Sebastian Dröge <[email protected]>

       * gst/isomp4/qtdemux.c:
         qtdemux: Add support for the mp2v fourcc for MPEG-2 video
         https://bugzilla.gnome.org/show_bug.cgi?id=709270

2013-10-04 12:11:56 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         jitterbuffer: fix race in flush-start/flush-stop
         When flush-stop arrives before we process the result of the _push() in the
         loop function, we might pause even though we are not flushing anymore. Fix this
         race by waiting for the srcpad loop function to completely pause after doing the
         flush-start.

2013-10-03 14:39:35 +0100  Matthieu Bouron <[email protected]>

       * ext/jpeg/gstjpegdec.c:
         jpegdec: Relax sink caps
         Since jpegdec already parse the jpeg stream, the sink caps could be
         relaxed. This will allow jpegdec to be selected in more case and in
         particular when the jpeg typefinder does not find the width and height.
         https://bugzilla.gnome.org/show_bug.cgi?id=709352

2013-10-02 15:56:53 +0200  Ognyan Tonchev <[email protected]>

       * gst/matroska/matroska-demux.c:
         matroskademux: Fix memory leak
         https://bugzilla.gnome.org/show_bug.cgi?id=709266

2013-09-30 12:24:32 +0200  Ognyan Tonchev <[email protected]>

       * gst/rtp/gstrtpgstpay.c:
         rtpgstpay: Fix memory leak
         We were leaking the GList nodes of the pending buffers.
         https://bugzilla.gnome.org/show_bug.cgi?id=709079

2013-09-30 12:31:00 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
       * gst/rtpmanager/rtpjitterbuffer.h:
         rtpjitterbuffer: fix race when updating the next_seqnum
         If we were not waiting for the missing seqnum when we insert the lost packet
         event in the jitterbuffer, we end up not updating the next_seqnum and wait
         forever for the lost packets to arrive. Instead, keep track of the amount of
         packets contained by the jitterbuffer item and update the next expected
         seqnum only after pushing the buffer/event. This makes sure we correctly handle
         GAPS in the sequence numbers.

2013-09-30 12:30:23 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: small debug improvement

2013-09-30 11:53:08 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/rtpjitterbuffer.c:
         rtpjitterbuffer: reset skew does not reset clock-rate
         Don't reset the clock-rate when we reset the skew correction algorithm.
         Reset the skew correction algorithm when we change the clock-rate.

2013-09-30 11:16:32 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: pause timer when PAUSED
         Also pause the timer when we go to the PAUSED state. It is possible that we
         don't have a clock or base-time in PAUSED to perform the timeouts.

2013-09-30 11:15:25 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: improve debug

2013-09-27 15:05:04 +0200  Wim Taymans <[email protected]>

       * gst/rtsp/gstrtspsrc.c:
         rtspsrc: also go into the loop function after connect
         When we have opened the stream, go into the loop function so that we can
         receive messages from the server.

2013-09-26 16:20:04 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/rtpjitterbuffer.c:
         rtpjitterbuffer: don't calculate skew without rtptime
         Skip trying to calculate the skew when we don't have an rtptime.
         It causes problems when lost packet events are placed in the jitterbuffer.

2013-09-25 17:42:02 +0200  Wim Taymans <[email protected]>

       * gst/rtsp/gstrtspsrc.c:
         rtspsrc: disable checks when linking pads
         We know the pad links will work (and we don't check the return value
         anyway).

2013-09-25 17:36:15 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpbin.c:
         rtpbin: avoid some pad link checks
         Link pads without checks, we know it will work.

2013-09-24 04:02:09 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: calculate some stats

2013-09-23 17:05:44 +0200  Wim Taymans <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: move send_lost_event function
         Move the send_lost_event function to the do_lost_event handling, there is no
         need to have a separate function.

2013-10-03 18:33:01 +0100  Tim-Philipp Müller <[email protected]>

       * sys/v4l2/gstv4l2object.c:
         v4l2src: print probed caps as caps again in debug log
         This got lost during refactoring.

2013-09-26 20:41:26 +0200  Hans Månsson <[email protected]>

       * gst/isomp4/gstqtmuxmap.c:
         mp4mux: Do not require framerate in peer video caps
         Remove the framerate restriction on the caps.
         Reference: https://bugzilla.gnome.org/show_bug.cgi?id=708864

2013-09-16 11:20:51 -0300  Thiago Santos <[email protected]>

       * gst/isomp4/qtdemux.c:
         qtdemux: add code to parse creation time earlier than 1970
         Use g_date_time seconds manipulation to allow to cover the quicktime
         spec for creation_time. It uses seconds since 1904.
         Both paths could be done using the generic approach of seconds since
         1904 with GDateTime handling, but the first path using seconds from
         1970 should be more commonly found and avoids a few objects creation and
         ref/unref, so keep it there for performance.
         Additionally, the code for handling seconds since 1970 changed from >
         to >= because having 0 seconds since 1970 is also a valid case for that
         path to handle.
         https://bugzilla.gnome.org/show_bug.cgi?id=707975

2013-09-21 00:55:26 +0200  Matej Knopp <[email protected]>

       * gst/matroska/matroska-demux.c:
         matroskademux: update stream->pos when sending buffers so that gap events are not sent unnecessarily
         https://bugzilla.gnome.org/show_bug.cgi?id=708505

2013-09-27 12:53:06 +0200  Matej Knopp <[email protected]>

       * gst/matroska/matroska-demux.c:
         matroskademux: move the check for subtitle buffer being null terminated before validating UTF-8
         https://bugzilla.gnome.org/show_bug.cgi?id=707933

2013-09-25 12:55:21 +0200  Sebastian Dröge <[email protected]>

       * gst/isomp4/gstqtmux.c:
         qtmux: Don't error out if downstream is not seekable for non-fragmented variants
         Doing so would be a regression over 1.0 and breaks the unit test.
         However the result will be most likely unusable, so let's post
         a warning message on the bus.

2013-09-24 17:24:26 +0100  Tim-Philipp Müller <[email protected]>

       * README:
       * common:
         Automatic update of common submodule
         From 6b03ba7 to 7412249