gst-plugins-good 1.8.2


2016-06-09  Sebastian Dröge <slomo coaxion net>

          releasing 1.8.2

2016-06-09 10:05:34 +0300  Sebastian Dröge <sebastian centricular com>

        * po/hr.po:
        * po/pt_BR.po:
        * po/sk.po:
          po: Update translations

2016-06-09 09:30:48 +0900  Seungha Yang <sh yang lge com>

        * gst/flv/gstflvdemux.c:
          flvdemux: Fix unref assertion failure
          Fix unref assertion failure

2016-06-07 20:53:34 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * ext/libpng/gstpngdec.c:
          pngdec: Wait for segment event before checking it
          The heuristic to choose between packetise or not was changed to use the
          segment format. The problem is that this change is reading the segment
          during the caps event handling. The segment event will only be sent
          after. That prevented the decoder to go in packetize mode, and avoid
          useless parsing.

2016-06-06 17:00:22 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * ext/jpeg/gstjpegdec.c:
          jpegdec: Wait for segment event before checking it
          The heuristic to choose between packetise or not was change to use the
          segment format. The problem is that this change is reading the segment
          during the caps event handling. The segment event will only be sent
          after. That prevented the decoder to go in packetize mode, and avoid
          useless parsing.

2016-06-07 16:42:09 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: Keep part of the input buffer
          Instead of completely getting rid of the input buffer, copy
          the metadata, the flags and the timestamp into an empty buffer.
          This way the decoder base class can copy that information again
          to the output buffer.

2016-06-07 16:04:52 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/gstv4l2object.c:
        * sys/v4l2/gstv4l2object.h:
        * sys/v4l2/gstv4l2sink.c:
        * sys/v4l2/gstv4l2src.c:
        * sys/v4l2/gstv4l2transform.c:
        * sys/v4l2/gstv4l2videodec.c:
          v4l2: Add an error return to _try/_set_format
          This way one can easily ignore errors. Previously, error were always
          posted ont he bus.

2016-06-07 16:01:55 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/v4l2-utils.c:
        * sys/v4l2/v4l2-utils.h:
          v4l2-util: Introduce GstV4l2Error
          This is to allow returning an error that can easily be sent as
          message to the application if the element needs it. Using this
          also allow ignoring errors.

2016-06-07 12:41:19 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/gstv4l2src.c:
          v4l2src: Avoid decide allocation on active pool
          v4l2src will renegotiate only if the format have changed. As of now,
          it's not possible to change the allocationw without resetting the
          camera. To avoid unwanted side effect, simply keep the old allocation
          if no renegotiation is taking place. This fixes assertion and possible
          failures in USERPTR or DMABUF import mode (when using downstream pools).

2015-09-02 11:48:29 +0200  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: use decoder stop command instead of queueing empty buffers
          Only if the decoder stop command fails, keep queueing empty buffers to
          signal end of stream as before.

2014-12-12 14:31:36 +0100  Peter Seiderer <ps report gmx net>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: add gst_v4l2_decoder_cmd helper

2015-01-28 12:07:58 +0100  Enrico Jorns <ejo pengutronix de>

        * sys/v4l2/gstv4l2transform.c:
          gstv4l2transform: format fixation for preferring passthrough
          * If outgoing format is unfixated, try to set it to input format.
          * Call gst_caps_fixate () at end of fixation routine

2016-05-20 12:49:53 +0200  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2transform.c:
          v4l2transform: allow to change pixel aspect ratio
          Scalers may change width and height independently,
          allow to change pixel aspect ratio.

2016-05-20 12:32:25 +0200  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2transform.c:
          v4l2transform: fix scaling in case of fixed pixel aspect ratio
          To change pixel aspect ratio from DAR to PAR, the necessary scaling factor
          is DAR/PAR, not DAR*PAR.
          For good measure, add debug output similar to the fixed-width and
          fixed-height cases.

2016-05-13 14:58:41 +0200  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: use visible size, not coded size, for downstream negotiation filter
          gst_v4l2_probe_caps() returns the coded size, not the visible size. Subtract
          the known padding from probed caps with the coded size before using them as
          filter for caps negotiation with downstream elements.

2016-01-27 09:57:38 +0100  Andreas Naumann <anaumann ultratronik de>

        * sys/v4l2/gstv4l2sink.c:
          v4l2sink: Use V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY if driver advertises it.
          On modern kernels, the G/S_FMT ioctls will always fail using
          V4L2_BUF_TYPE_VIDEO_OVERLAY with VFL_DIR_TX (e.g. real overlay out drivers)
          since this is not the intented use (rather rx, according to v4l2 API doc).
          Probably this is why the Video Output Overlay interface was created, so if
          the driver advertises it we might as well use.
          For old kernels (pre 2012) the old way might still work so keeping this for

2016-06-06 18:52:01 +0100  Kieran Bingham <kieran bingham xyz>

        * sys/v4l2/gstv4l2object.c:
          v4l2object: Use non-deprecated V4L2 type for RGB15
          Support for the updated V4L2_PIX_FMT_XRGB555 was added in commit
          2538fee2fd8fdb74b05f0a511281bc4707e7cc44 however, when setting the format
          for use in v4l2 ioctls, the old deprecated format is still used. Convert
          this to the new accepted format type, as the preferred format.

2016-05-31 21:34:04 +0200  Josep Torra <adn770 gmail com>

        * sys/v4l2/gstv4l2bufferpool.c:
          v4l2src: check for valid size on raw video buffers
          Discard buffers that doesn't contain enough data when dealing
          with raw video inputs.

2016-02-10 19:56:59 +0530  Nirbheek Chauhan <nirbheek centricular com>

        * sys/v4l2/gstv4l2deviceprovider.c:
          v4l2: Don't leak v4l2 objects and props on probe errors

2016-05-31 17:04:32 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Only activate segments and send SEGMENT events if we have streams
          But in that case also remove the pending newsegment event, otherwise we would
          later send a possibly outdated event.

2016-05-31 17:10:36 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Use the demuxer segment instead of a new one for MSS streams
          Upstream might have told us something about the to be expected segment, so
          let's use that information instead of coming up with a [0,-1] segment.

2016-05-31 16:38:34 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Don't override TIME segments from upstream that we just saw
          The point of d8fb7a9c96b108814beeaa0e63f818d4648c7fe9 was to not have any
          spurious segments stored for later if we do BYTES->TIME conversion, but
          overriding any TIME segments from upstream does not make any sense.

2016-03-15 03:25:26 +0530  Nirbheek Chauhan <nirbheek centricular com>

        * gst/rtp/gstrtpjpegdepay.c:
          rtpjpegdepay: Don't send invalid frames downstream after packet loss or a DISCONT
          After clearing the adapter due to a DISCONT, as might happen when some packet(s)
          have been lost, the depayloader was pushing data into the adapter (which had no
          header due to the clear), creating a headerless frame out of it, and sending it
          downstream. The downstream decoder would then usually ignore it; unless there
          were lots of DISCONTs from the jitterbuffer in which case the decoder would reach
          its max_errors limit and throw an element error. Now we just discard that data.
          It is probaby not worth trying to salvage this data because non-progressive
          jpeg does not degrade gracefully and makes the video unwatchable even with
          low packet loss such as 3-5%.

2016-05-25 17:11:13 +0200  Pierre Lamot <pierre lamot openwide fr>

        * gst/rtp/gstrtpj2kpay.c:
          rtpj2kpay: Fix buffer memory leak
          Input buffer memory was not unmapped

2016-05-18 12:12:15 +0300  Guillaume Desmottes <guillaume desmottes collabora co uk>

        * sys/v4l2/gstv4l2object.c:
          v4l2object: fix caps leak
          gst_v4l2_object_probe_caps() was taking an extra ref on the returned
          caps for no reason.

2016-05-20 11:12:44 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/avi/gstavidemux.c:
        * gst/avi/gstavidemux.h:
          avidemux: Pass through seek event seqnums in all SEGMENT/EOS events and SEGMENT_DONE messages/events

2016-05-20 11:15:44 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Set seek event seqnum on all SEGMENT events
          Some were forgotten.

2016-05-20 10:56:52 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/matroska/matroska-demux.c:
          matroskademux: Set seek event seqnum in EOS and SEGMENT_DONE messages/events
          Also actually store the seqnum in pull mode seeks.

2016-05-17 13:40:38 +0300  Guillaume Desmottes <guillaume desmottes collabora co uk>

        * gst/deinterlace/gstdeinterlace.c:
          deinterlace: fix caps leak
          The caps returned by gst_pad_get_current_caps() was never unreffed when
          not early returning.
          Fix a leak with the elements/deinterlace test.

2016-01-25 16:25:51 +0100  Mikhail Fludkov <misha pexip com>

        * gst/rtpmanager/rtpsession.c:
        * tests/check/
        * tests/check/elements/rtpsession.c:
          rtpsession: don't act on suspicious BYE RTCP
          Some endpoints (like Tandberg E20) can send BYE packet containing our
          internal SSRC. I this case we would detect SSRC collision and get rid
          of the source at some point. But because we are still sending packets
          with that SSRC the source will be recreated immediately.
          This brand new internal source will not have some variables incorrectly
          set in its state. For example 'seqnum-base` and `clock-rate` values will be
          The fix is not to act on BYE RTCP if it contains internal or unknown

2016-05-12 11:52:09 +0900  Seungha Yang <sh yang lge com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Parsing elst box based on version
          segment_duration and media_time should be parsed based on version
          of elst box. Specification defines that an elst box with version 1
          has uint64 and int64 values for segment_duration and media_time,

2016-05-15 12:30:50 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/rtpmanager/rtpsession.c:
          rtpsession: Take the lock already when reading the other stats, not just for the hash table

2016-05-12 14:43:43 +0200  Patricia Muscalu <patricia axis com>

        * gst/auparse/gstauparse.c:
        * gst/auparse/gstauparse.h:
          auparse: Fix sticky event misordering warning
          Make sure that src pad has caps before sending segment event.

2016-05-19 15:36:57 +0900  Seungha Yang <sh yang lge com>

        * gst/matroska/matroska-demux.c:
          matroskademux: don't hold object lock whilst pushing out headers
          matroskademux would take the GST_OBJECT_LOCK in
          - gst_matroska_demux_push_codec_data_all()
          - gst_matroska_demux_query()
          Some parse element such as FLAC checks upstream seekability, and
          there is some use cases that matroska-demux is linked to a parse element
          (e.g.,FLAC format) without intermediate elements (e.g., queue).
          In this case, matroska-demux never returns from _push_codec_data_all()
          because the parser can return only after it receives the response to
          the upstream query, but that's not going to happen because it's
          Elements must not hold the object lock whilst pushing out events
          or data.

2016-05-19 12:43:01 +0300  Sebastian Dröge <sebastian centricular com>

        * ext/soup/gstsouphttpclientsink.c:
          souphttpclientsink: Set sent_buffers and streamheader_buffers to NULL after freeing
          Otherwise we might use an already freed list later and crash or worse.

2016-05-15 22:07:14 +1000  Jan Schmidt <jan centricular com>

        * gst/multifile/gstsplitmuxpartreader.c:
          splitmuxsrc: Connect to demux signals before activating
          Fix a race in splitmuxsrc by properly connecting to the
          demuxer signals we're interested in *before* setting it running.

2016-05-14 23:39:22 +1000  Jan Schmidt <jan centricular com>

        * gst/multifile/gstsplitmuxsink.c:
        * gst/multifile/gstsplitmuxsink.h:
          splitmuxsink: Use GstBin async-handling instead of our own.
          Set the async-handling property on GstBin to let it manage
          async-handling instead of the local handling from the previous
          commit. Works because of #174a5e in core

2016-05-14 18:32:52 +1000  Jan Schmidt <jan centricular com>

        * gst/multifile/gstsplitmuxsink.c:
        * gst/multifile/gstsplitmuxsink.h:
          splitmuxsink: Hide internal async state changes.
          When switching fragments, hide the async-start/async-done
          messages from the parent bin, as otherwise we sometimes (very rarely)
          hang in PAUSED instead of returning / continuing to PLAYING

2016-05-13 21:20:28 +1000  Jan Schmidt <jan centricular com>

        * gst/multifile/gstsplitmuxsink.c:
          splitmuxsink: Remove stray carriage-return from debug

2015-04-30 14:43:04 +0200  Jesper Larsen <knorr jesper gmail com>

        * gst/avi/gstavimux.c:
          avimux: Do not write index and header if idx is NULL
          Fixes criticals with e.g.
          videotestsrc num-buffers=1 ! identity drop-probability=1.0 ! avimux ! fakesink

2016-05-03 11:45:01 +0200  Havard Graff <havard graff gmail com>

        * gst/rtpmanager/gstrtpjitterbuffer.c:
        * tests/check/elements/rtpjitterbuffer.c:
          rtpjitterbuffer: Fix stall when receiving already lost packet
          When a packet arrives that has already been considered lost as part of a
          large gap the "lost timer" for this will be cancelled. If the remaining
          packets of this large gap never arrives, there will be missing entries
          in the queue and the loop function will keep waiting for these packets
          to arrive and never push another packet, effectively stalling the
          The proposed fix conciders parts of a large gap definitely lost (since
          they are calculated from latency) and ignores the late arrivals.
          In practice the issue is rare since large gaps are scheduled immediately,
          and for the stall to happen the late arrival needs to be processed
          before this times out.

2016-05-11 09:28:13 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/rtpmanager/rtpsession.c:
          rtpsession: Don't notify about stats property changes while taking the session lock
          The signal handlers might want to actually get the value of the stats
          property, which would take the session lock again and deadlock.
          This was introduced by 2e960e70750a0cb7e1117d0c09d08597866a29ee.

2016-05-05 14:18:21 +0200  Miguel París Díaz <mparisdiaz gmail com>

        * gst/rtpmanager/rtpsession.c:
          rtpsession: Take session lock when creating stats
          The access to the session hash table must happen while the session lock is
          taken, otherwise another thread might modify the hash table while we're
          creating the stats.

2016-05-04 09:30:27 +0300  Sebastian Dröge <sebastian centricular com>

        * ext/dv/gstdvdec.c:
        * ext/dv/gstdvdemux.c:
          dv: Use correct pixel-aspect-ratio values
          The previous ones resulted in odd display aspect ratios and were different
          from the ones used by e.g. ffmpeg. The new ones now result in display aspect
          ratios of 4:3 and 16:9.

2016-05-03 21:17:01 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: update segment when new duration is found
          Otherwise the old segment will have a shorter stop time and would
          cause the stream to end too early.

2016-05-04 11:37:29 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: dismember activate_segment into 2 parts
          One that updates and push a new segment, the other will move the
          stream to the new segment starting position

2016-05-04 11:15:20 -0400  Xavier Claessens <xavier claessens collabora com>

        * gst/multifile/gstsplitmuxsink.c:
          splitmuxsink: Fix deadlock case when source reaches EOS

2016-04-11 10:54:38 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/udp/gstudpsrc.c:
          udpsrc: Always bind to ANY when address is a multicast address and not only on Windows
          For IPv6 addresses, binding to a multicast group does not work on Linux
          either. Always bind to ANY and then later join the multicast group.

2016-04-28 16:24:52 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
        * gst/isomp4/gstqtmuxmap.c:
          qtmux: Allow MPEG-1 Layer 1 and 2 in addition to 3 in MP4
          Via the MPEG-4 Part 3 spec we can support the other layers too.
          Also correct the samples per frame calculation for MP3 if it's MPEG-2 or

2016-04-29 15:04:11 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
        * gst/isomp4/qtdemux.h:
          qtdemux: Store the segment sequence number in the EOS events and SEGMENT_DONE events/message
          Also instead of storing it per stream, store it globally in the demuxer. It's
          the same for each stream anyway.

2016-04-27 20:46:34 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/rtsp/gstrtspsrc.c:
        * gst/rtsp/gstrtspsrc.h:
          rtspsrc: Update caps for TCP whenever they change
          We only changed them for UDP so far, which caused the wrong seqnum-base and
          other information to be passed to rtpjitterbuffer/etc when seeking. This
          usually wasn't that much of a problem as the code there is robust enough, but
          every now and then it causes us to drop up to 32756 packets before we
          continue doing anything meaningful.

2016-04-27 20:33:38 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/rtpmanager/gstrtpjitterbuffer.c:
          rtpjitterbuffer: Ensure to not take caps with the wrong pt for getting the clock-rate
          Especially the caps on the pad might be out of date, and the new caps would be
          provided for the current pt via the request-pt-map signal.

2016-04-27 18:27:17 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/rtsp/gstrtspsrc.c:
          rtspsrc: Don't propagate spurious state change returns from internal elements further
          We handle them inside rtspsrc and override them in all other cases anyway, so
          do the same for "internal" state changes like PAUSED->PAUSED and
          This keeps unexpected NO_PREROLL to confuse state changes in GstBin.
          See also

2016-05-01 15:09:27 +0200  Mark Nauwelaerts <mnauw users sourceforge net>

        * gst/avi/gstavimux.c:
          avimux: set audio header rate according to calculated bps in stop_file
          ... now that set_fields is no longer called there by

2015-11-26 13:15:06 +0100  Dimitrios Katsaros <patcherwork gmail com>

        * sys/v4l2/v4l2_calls.c:
          v4l2: Change warning handling to break infinite message loop
          v4l2src can cause an "infinite message loop" when a base control exposed as a
          property is not provided by the device. In these cases, if in the warning message
          handling for the bus, the GST_DEBUG_BIN_TO_DOT_FILE* category of functions are used,
          the src lookup causes a new warning to be posted on the bus, causing a loop.
          This patch changes the warning for these controls so they are not posted on the bus.

2016-04-25 15:03:14 +0200  Mats Lindestam <matslm axis com>

        * gst/udp/gstmultiudpsink.c:
          multiudpsink: Allow setting "socket-v6" without setting "socket" too

2016-04-27 13:53:00 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/avi/gstavimux.c:
          avimux: Actually store the largest audio chunk size for the VBR case of MP2/MP3
          3ea338ce271e1f6a96d2ed49d4472b091f6f8b7e changed avimux to do that, but it
          never actually kept track of the max audio chunk for MP3 and MP2. These are
          knowing the hdr.scale only after parsing the frames instead of at setcaps

2016-04-27 14:09:03 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/avi/gstavimux.c:
          avimux: Don't override maximum audio chunk size with the scale again just before writing it
          set_fields() should only be called in the beginning, otherwise we will never
          remember the maximum audio chunk size and write a wrong block align... which
          then causes wrong timestamps and other problems.

2016-04-22 15:02:16 +0100  Mario Sanchez Prada <mario endlessm com>

        * ext/vpx/gstvpxenc.c:
          vpxenc: Properly handle frames with too low duration
          When a frame's duration is too low, calling gst_util_uint64_scale()
          to scale its value can result into it being truncated to zero, which
          will cause the vpx encoder to return an VPX_CODEC_INVALID_PARAM error
          when trying to encode.
          To prevent this from happening, we simply ignore the duration when
          encoding if it becomes zero after scaling, logging a warning message.

2016-04-22 15:48:08 +0100  Tim-Philipp Müller <tim centricular com>

        * gst/deinterlace/gstdeinterlace.c:
          deinterlace: fix description of linear interlacing method

2016-04-21 14:08:19 -0300  Thibault Saunier <tsaunier gnome org>

        * gst/flv/gstflvmux.c:
          flv: Handle the case where we do not get any CollectData in handle_buffer

2016-02-09 17:17:09 +0000  Alex Ashley <bugzilla ashley-family net>

        * gst/isomp4/qtdemux.c:
          qtdemux: support seeking of CENC encrypted streams
          When playing a stream that has been protected by DASH CENC, playback
          will fail if a seek is performed. Qtdemux produces the error "stream
          is protected using cenc, but no cenc protection system information
          has been found" and playback stops.
          The problem is that gst_qtdemux_reset() gets called as part of the
          FLUSH during a seek. This function frees the protection_system_ids
          array. When gst_qtdemux_configure_protected_caps() is called after the
          seek has completed, the protection_system_ids array is empty and
          qtdemux is unable to create the correct output caps for the protected
          This commit changes it to only free the protection_system_ids on
          hard resets.

2016-04-11 22:41:20 +0900  Seungha Yang <sh yang lge com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Do not use unreliable framerate
          timescale/1 is unreliable value for framerate. Due to downstream
          element usually use framerate generated by qtdemux, let it be omitted
          until the framerate can be reliably calculated.

2016-04-21 12:53:33 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
        * gst/isomp4/qtdemux.h:
          Revert "qtdemux: expose streams with first moof for fragmented format"
          This reverts commit d8bb6687ea251570c331038279a43d448167d6ad.

======== (3.07M)
  sha256sum: 8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]