=== release 1.4.5 ===

2014-12-18  Sebastian Dröge <[email protected]>

       * configure.ac:
         releasing 1.4.5

2014-12-18 12:06:04 +0100  Sebastian Dröge <[email protected]>

       * po/af.po:
       * po/az.po:
       * po/bg.po:
       * po/ca.po:
       * po/cs.po:
       * po/da.po:
       * po/de.po:
       * po/el.po:
       * po/en_GB.po:
       * po/eo.po:
       * po/es.po:
       * po/eu.po:
       * po/fi.po:
       * po/fr.po:
       * po/gl.po:
       * po/hr.po:
       * po/hu.po:
       * po/id.po:
       * po/it.po:
       * po/ja.po:
       * po/lt.po:
       * po/lv.po:
       * po/mt.po:
       * po/nb.po:
       * po/nl.po:
       * po/or.po:
       * po/pl.po:
       * po/pt_BR.po:
       * po/ro.po:
       * po/ru.po:
       * po/sk.po:
       * po/sl.po:
       * po/sq.po:
       * po/sr.po:
       * po/sv.po:
       * po/tr.po:
       * po/uk.po:
       * po/vi.po:
       * po/zh_CN.po:
       * po/zh_HK.po:
       * po/zh_TW.po:
         po: Update translations

2014-12-08 21:26:18 +0100  Patrick Radizi <[email protected]>

       * gst/rtp/gstrtph264pay.c:
         rtph264pay: Fixes buffer leak when using SPS/PPS
         Fixes a buffer leak that would occurr if the pipeline was shutdown
         while a SPS/PPS header was being created.
         https://bugzilla.gnome.org/show_bug.cgi?id=741271

2014-11-21 11:54:18 +0100  Thibault Saunier <[email protected]>

       * gst/deinterlace/gstdeinterlace.c:
         Deinterlace: in query_caps return only supported formats if filter is interlaced
         In some cases the currently set GstVideoInfo is not interlaced, but
         upstream caps are interlaced and the info is passed in the filter,
         we should take that info into account and make sure that we do not
         consider that case as a "pass through" case.
         https://bugzilla.gnome.org/show_bug.cgi?id=741407

2014-12-03 11:12:55 +0100  Thibault Saunier <[email protected]>

       * gst/rtpmanager/gstrtpjitterbuffer.c:
         rtpjitterbuffer: Use an empty iterator in iterate_internal_link when no links
         We used to setup an iterator with 1 GValue set with a NULL object
         pointer which is not the normal way to do that. Instead we should make
         sure that the first call to gst_iterator_next returns GST_ITERATOR_DONE.

2014-12-03 17:26:56 +0100  Thibault Saunier <[email protected]>

       * gst/rtpmanager/gstrtpsession.c:
         rtpsession: Use an empty iterator in iterate_internal_link when no links
         And not a NULL Iterator, so it is consistent with the way it usually
         works and avoid user to need a different code paths to handle that.

2014-12-09 16:38:38 +0100  Thibault Saunier <[email protected]>

       * ext/vpx/gstvp8enc.c:
       * ext/vpx/gstvp9enc.c:
         vpXenc: CLOCK_TIME_NONE is not a valid min_latency value
         We should just use 0 if we do not have the information

2014-12-10 11:35:29 +0100  Sebastian Dröge <[email protected]>

       * gst/audioparsers/gstaacparse.c:
         aacparse: Also only unref caps if they're not NULL

2014-12-10 11:34:42 +0100  Sebastian Dröge <[email protected]>

       * gst/audioparsers/gstaacparse.c:
         aacparse: gst_pad_get_allowed_caps() will return NULL if there is no peer

2014-12-16 13:25:01 +0100  Wim Taymans <[email protected]>

       * sys/osxvideo/osxvideosink.m:
         osxvideosink: clear rectangle structures before use

2014-12-09 15:09:56 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/gstv4l2object.c:
         v4l2object: Always set format
         Right now we try to be clever by detecting if device format have
         changed or not, and skip setting format in this case. This is valid
         behaviour with V4L2, but it's also very error prone. The rational
         for not setting these all the time is for speed, though I can't
         measure any noticeable gain on any HW I own. Also, until recently,
         we where doing get/set on the format for each format we where
         probing, making it near to impossible that the format would match.
         This also fixes bug where we where skipping frame-rate setting if
         format didn't change.
         https://bugzilla.gnome.org/show_bug.cgi?id=740636

2014-11-02 23:33:23 +0000  Tim-Philipp Müller <[email protected]>

       * sys/v4l2/gstv4l2object.c:
         v4l2src: fix a couple of minor leaks

2014-09-29 11:49:45 +0200  Aurélien Zanelli <[email protected]>

       * sys/v4l2/gstv4l2object.c:
         v4l2object: set colorspace for output devices
         When the v4l2 device is an output device, the application shall set the
         colorspace. So map GStreamer colorimetry info to V4L2 colorspace and set
         on set_format. In case we have no colorimetry information, we try to
         guess it according to pixel format and video size.
         https://bugzilla.gnome.org/show_bug.cgi?id=737579

2014-12-11 10:16:06 +0100  Patrick Radizi <[email protected]>

       * gst/rtp/gstrtph264pay.c:
         rtph264pay: fix potential crash when shutting down
         A race condition in the state change function may cause buffers
         to be unreffed while they are still used by the streaming thread
         in gst_rtp_h264_pay_send_sps_pps() resulting in a crash. Chain
         up to the parent class first in the state change function to
         make sure streaming has stopped and only then free those buffers.
         https://bugzilla.gnome.org/show_bug.cgi?id=741381

2014-11-29 18:35:42 -0500  Olivier Crête <[email protected]>

       * gst/rtpmanager/gstrtprtxreceive.c:
         rtprtxreceive: Use offset when copying header
         The header is not always at the start of the packet, so we need to compute
         the offset first.

2014-11-28 13:12:46 +0000  Tim-Philipp Müller <[email protected]>

       * ext/taglib/gstapev2mux.cc:
         apev2mux: write APE tags at end for wavpack files
         http://www.wavpack.com/file_format.txt:
         "Both the APEv2 tags and/or ID3v1 tags must come at the end of the
         WavPack file, with the ID3v1 coming last if both are present."
         WavPack files that contain APEv2 tags at the beginning of the files
         are unplayable on players that use FFmpeg (like VLC) and most other
         software (except Banshee). Players that use libwavpack directly can
         play the files because it skips the tags, but does not recognize the
         tag data at that location.
         https://bugzilla.gnome.org/show_bug.cgi?id=711437

2014-12-09 14:01:50 +0100  Aurélien Zanelli <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
         If v4l2_buffer.field is V4L2_FIELD_INTERLACED, we set corresponding
         GstVideoBuffer flags depending on the video standard.
         According to V4L2 specification, M/NTSC transmits the bottom field
         first, all other standards the top field first.
         https://bugzilla.gnome.org/show_bug.cgi?id=737603

2014-10-30 17:41:19 +0000  Simon Farnsworth <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
       * sys/v4l2/gstv4l2object.c:
       * sys/v4l2/gstv4l2src.c:
         v4l2: Clean up interlace support
         Rather than try and guess interlace support as part of checking supported
         sizes, look for interlace support specifically in its own function.
         As a cleanup, use V4L2_FIELD_ANY when probing sizes, which should result in
         the driver doing the right thing.
         With my capture setup, this gets me the following sample caps:
         For 1080i resolution:
         video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction){ 25/1, 30/1 }
         For 720p resolution:
         video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction){ 50/1, 60/1 }
         For 576i/p resolution (both possible at the point of query):
         video/x-raw, format=(string)YUY2, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string){ progressive, interleaved }, framerate=(fraction){ 25/1, 50/1 }
         This, in turn, makes 576i work correctly; with the old code,
         the caps would be interlace-mode=progressive for interlaced video.
         https://bugzilla.gnome.org/show_bug.cgi?id=726194

2014-12-07 17:33:51 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2: Workaround libv4l2 RW emulation bug
         When libv4l2 emulates RW mode on top of MMAP devices, the queues are
         only initialized on first read. The problem is that poll() will fail
         if called before the queues are initialized and streaming. Workaround
         this by doing a zero size read when pool is started in that IO mode.
         https://bugzilla.gnome.org/show_bug.cgi?id=740633

2014-12-07 17:27:37 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2: Fix RW io mode
         In RW, allocator can be null, max_buffers can be zero, and we need not
         to wait while the queue is empty since there is no queue.
         https://bugzilla.gnome.org/show_bug.cgi?id=740633

2014-11-07 16:41:52 +0100  Aurélien Zanelli <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2bufferpool: unref pool when v4l2_allocator_new() fails
         https://bugzilla.gnome.org/show_bug.cgi?id=739791

2014-11-07 17:06:49 +0100  Aurélien Zanelli <[email protected]>

       * sys/v4l2/gstv4l2allocator.h:
         v4l2allocator: fix gst_v4l2_allocator_stop prototype
         gst_v4l2_allocator_stop returns a GstV4l2Return, not a gboolean.
         https://bugzilla.gnome.org/show_bug.cgi?id=739792

2014-11-26 10:33:09 +0300  Andrei Sarakeev <[email protected]>

       * gst/videocrop/gstaspectratiocrop.c:
       * gst/videocrop/gstaspectratiocrop.h:
         aspectratiocrop: Handle resolution changes properly
         When an caps-event is received, we must immediately change the crop
         to videocrop correctly changed caps-event dimension, otherwise the
         videocrop will first use the previous value of the crop that when
         resizing video to a smaller resolution may cause an error.
         https://bugzilla.gnome.org/show_bug.cgi?id=740671

2014-11-30 17:52:47 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/v4l2_calls.h:
         v4l2: Remove last include to linux/videodev2.h
         We now use and update our internal copy so we no longer have to ifdef
         the entire code for features and defines that where added over the
         years.
         https://bugzilla.gnome.org/show_bug.cgi?id=740905

2014-11-19 16:12:38 +0100  Jan Alexander Steffens (heftig) <[email protected]>

       * gst/flv/gstflvdemux.c:
         flvdemux: Restrict resyncing to TS regressions
         The behavior of resyncing video and audio indepen-
         dently can cause A/V desyncs. Lets restrict resyncs
         to jumps backward for now.
         https://bugzilla.gnome.org/show_bug.cgi?id=736397
         Conflicts:
         gst/flv/gstflvdemux.c

2014-11-20 13:14:14 +0100  Wim Taymans <[email protected]>

       * gst/rtp/gstrtpgstdepay.c:
       * gst/rtp/gstrtpgstpay.c:
         rtpgstpay: put 0-byte at the end of events
         Put a 0-byte at the end of the event string. Does not break ABI because
         old depayloaders will skip the 0 byte (which is included in the length).
         Expect a 0-byte at the end of the event string or a ; for old
         payloaders.
         See https://bugzilla.gnome.org/show_bug.cgi?id=737591

2014-11-20 12:40:28 +0100  Wim Taymans <[email protected]>

       * gst/rtp/gstrtpgstdepay.c:
         rtpgstdepay: avoid buffer overread.
         Check that a caps event string is 0 terminated and the event string is
         terminated with a ; to avoid buffer overreads.
         Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737591

2014-11-16 12:34:17 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
       * sys/v4l2/gstv4l2bufferpool.h:
       * sys/v4l2/gstv4l2src.c:
       * sys/v4l2/gstv4l2transform.c:
       * sys/v4l2/gstv4l2videodec.c:
         v4l2: Handle corrupted buffer with empty payload
         This allow skipping buffer flagged with ERROR that has no payload.
         This is typical behaviour when a recovererable error occured during
         capture in the driver, but that no valid data was ever written into that
         buffer. This patch also translate V4L2_BUF_FLAG_ERROR into
         GST_BUFFER_FLAG_CORRUPTED. Hence decoding error produce
         by decoder due to missing frames will now be correctly marked. Finally,
         this fixes a buffer leak when EOS is reached.
         https://bugzilla.gnome.org/show_bug.cgi?id=740040

2014-11-20 10:45:07 +0000  Tim-Philipp Müller <[email protected]>

       * gst/isomp4/gstqtmuxmap.c:
         qtmux: don't limit max video resolution to 4096x4096
         MAX isn't entirely correct as upper limit either,
         it should really be MAXUINT32, but it's unlikely
         to be a problem in the near future.
         https://bugzilla.gnome.org/show_bug.cgi?id=740407

2014-11-19 15:06:00 -0800  Aleix Conchillo Flaqué <[email protected]>

       * gst/rtsp/gstrtspsrc.c:
         rtspsrc: fix leak for mikey base64 decoded key-mgmt
         https://bugzilla.gnome.org/show_bug.cgi?id=740392

2014-11-17 23:16:03 +1100  Matthew Waters <[email protected]>

       * gst/videomixer/videomixer2.c:
       * gst/videomixer/videomixer2.h:
         videomixer: fix up QoS handling for live sources
         Only attempt adaptive drop when we are not live
         https://bugzilla.gnome.org/show_bug.cgi?id=739996

2014-11-09 11:04:33 +0100  Sebastian Dröge <[email protected]>

       * gst/matroska/matroska-mux.c:
         matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it

2014-11-06 15:37:28 +0100  Göran Jönsson <[email protected]>

       * gst/matroska/matroska-mux.c:
         matroskamux: make GstMatroskamuxPad get_type() function thread-safe
         https://bugzilla.gnome.org/show_bug.cgi?id=739722

2014-11-01 22:39:41 +0100  Aurélien Zanelli <[email protected]>

       * ext/vpx/gstvp8enc.c:
       * ext/vpx/gstvp9enc.c:
         vpx: mark arnr-type properties as deprecated and set them to no-op
         ARNR type control in libvpx has been deprecated so this commit mark the
         vp8enc and vp9enc associated properties as deprecated and change their
         behavior to just display a warning message.
         https://bugzilla.gnome.org/show_bug.cgi?id=739476

2014-11-06 21:21:40 -0500  Nicolas Dufresne <[email protected]>

       * sys/v4l2/gstv4l2bufferpool.c:
         v4l2bufferpool: Improve buffer validation
         Improve buffer validation by making sure each memory are the right
         one and that each memory is writable. This fixes tearing issues in
         case downstream uses gst_buffer_make_writable() or other type
         of GstBuffer copy where memory are only reffed.
         https://bugzilla.gnome.org/show_bug.cgi?id=739754

2014-11-07 16:11:24 +0100  Aurélien Zanelli <[email protected]>

       * sys/v4l2/gstv4l2allocator.c:
         v4l2allocator: fix error message if allocator is already active
         https://bugzilla.gnome.org/show_bug.cgi?id=739789