gst-plugins-good 1.11.91



ChangeLog
=========

2017-04-27  Sebastian Dröge <slomo coaxion net>

        * configure.ac:
          releasing 1.11.91

2017-04-27 15:28:02 +0300  Sebastian Dröge <sebastian centricular com>

        * po/LINGUAS:
        * po/el.po:
        * po/fur.po:
          po: Update translations

2017-04-27 12:56:27 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Don't crash in debug output if stream==NULL
          That case is correctly handled below but not in the debug output.
          https://bugzilla.gnome.org/show_bug.cgi?id=781270

2017-04-25 17:11:27 +0300  Sebastian Dröge <sebastian centricular com>

        * 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-24 20:27:49 +0100  Tim-Philipp Müller <tim centricular com>

        * common:
          Automatic update of common submodule
          From 60aeef6 to 48a5d85

2017-04-24 17:31:04 +0100  Tim-Philipp Müller <tim centricular com>

        * tests/check/Makefile.am:
        * tests/check/elements/rtp-payloading.c:
          tests: rtp-payloading: add test for rtph264depay avc/byte-stream output
          Make sure avc output doesn't contain SPS/PPS inline, but
          byte-stream output does.

2017-04-24 17:29:37 +0100  Tim-Philipp Müller <tim centricular com>

        * gst/rtp/gstrtph264depay.c:
          rtph264depay: don't insert SPS/PPS inline for AVC output
          SPS/PPS are in the caps in this case and shouldn't be in
          the stream data.

2017-04-21 19:09:14 +0100  Sebastian Dröge <sebastian centricular com>

        * 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 11:22:15 +0200  Jürgen Sachs <juergen sachs metz-ce de>

        * gst/isomp4/qtdemux.c:
          qtdemux: reset sample_description_id to default
          Fixes stream where sample_description_id is specified in the tfhd
          https://bugzilla.gnome.org/show_bug.cgi?id=778337

2017-04-20 13:16:24 +0100  Sebastian Dröge <sebastian centricular com>

        * 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-02-23 09:31:36 +0900  ChangBok Chae <changbok chea gmail com>

        * gst/flv/gstflvdemux.c:
          flvdemux: remove duplicated segment initialization
          It's also done in gst_flv_demux_cleanup().
          https://bugzilla.gnome.org/show_bug.cgi?id=779106

2017-04-20 20:17:35 +1000  Xavier Claessens <xavier claessens collabora com>

        * gst/multifile/gstsplitmuxsink.c:
          splitmuxsink: Correctly catch FLUSH events in probes
          https://bugzilla.gnome.org/show_bug.cgi?id=767498

2017-04-19 12:28:12 +0100  Tim-Philipp Müller <tim centricular com>

        * 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-04-14 17:01:49 +0200  Edward Hervey <edward centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Reset adapter in more discontinuity cases
          In push mode we process as much as possible in the adapter. When we receive
          a DISCONT buffer which we can't match to an actual sample (based on the existing
          sample table) and there is still data remaining in the incoming adapter,there is
          one of two cases happening:
          1) We are doing reverse playback, in which case we should flush out all pending
          data
          2) We have leftover data from the previous incoming buffer... which we can't do
          anything about.
          For the second case, make sure we flush out the remaining data so that we can start
          parsing again from scratch.
          https://bugzilla.gnome.org/show_bug.cgi?id=781319

2017-04-14 10:56:41 +0200  Edward Hervey <edward centricular com>

        * gst/rtsp/gstrtspsrc.c:
          rtspsrc: Use GST_ELEMENT_ERROR_WITH_DETAILS
          Allows the application to know the exact status code that was returned
          by the server in a programmatic fashion.
          https://bugzilla.gnome.org/show_bug.cgi?id=781304

2017-04-16 18:47:56 +0900  Seungha Yang <sh yang lge com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Fix leak on QtDemuxStreamStsdEntry
          Fix unit test failure
          https://bugzilla.gnome.org/show_bug.cgi?id=781362

2017-04-14 13:38:53 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/atoms.c:
        * gst/isomp4/atoms.h:
        * gst/isomp4/gstqtmux.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.

2017-04-13 13:25:06 +0200  Edward Hervey <edward centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Properly reset demuxer when all streams are EOS
          Make sure offset and neededbytes are properly resetted when all
          streams are EOS in push-mode.
          Avoids cases when some data might still be pushed by upstream (because
          it didn't yet see the resulting GST_FLOW_EOS yet) and qtdemux gets
          completely lost.
          https://bugzilla.gnome.org/show_bug.cgi?id=781266

2017-04-13 08:00:30 +0200  Edward Hervey <edward centricular com>

        * ext/soup/gstsouphttpsrc.c:
          souphttpsrc: Make more usage of error macro
          And make sure we actually use the provided soup_msg argument in the macro

2017-04-12 18:46:53 +0530  Nirbheek Chauhan <nirbheek centricular com>

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

2017-04-12 13:26:59 +0200  Edward Hervey <edward centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Don't forget to update pad->last_buf
          buf is the current pad->last_buf value. If ever it gets copied/unreffed,
          we need to make sure to write back the new  pointer to the last_buf
          variable.
          Fixes using wrong pointer values in the case of decrasing DTS value

2017-04-12 11:33:05 +0200  Edward Hervey <edward centricular com>

        * tests/check/elements/.gitignore:
          tests: Add vp9enc to gitignore

2017-04-11 13:41:48 +0200  Jürgen Sachs <juergen sachs metz-ce de>

        * gst/isomp4/qtdemux.c:
          qtdemux: fix: sample description index override in tfhd not evaluated
          https://bugzilla.gnome.org/show_bug.cgi?id=778337

2017-04-12 11:03:24 +0200  Edward Hervey <edward centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Add out-of-bound check
          Make sure we don't read invalid memory

2016-04-27 12:17:37 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: move parsing of tkhd out of stsd entry loop
          It needs only to be read once.

2016-04-07 12:23:35 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: check for a different stsd entry before pushing a sample
          Before pushing a sample, check if there was a change in the current
          stsd entry. This patch also assumes that the first stsd entry is
          used as default for the first sample. It might cause an uneeded
          caps renegotiation when this isn't the case.

2016-04-06 12:55:18 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: parse all stsd entries
          stsd can have multiple format entries, parse them all.
          This is required to play DVB DASH profile that uses multiple entries
          to identify the different available bitrates/options on dash streams
          The stream format-specific data is not stored into QtDemuxStreamStsdEntry

2016-04-05 14:34:00 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: rework stsd sample entries access
          Instead of using the stsd as a base pointer, use the actual stsd
          entry as the stsd can have multiple entries. This is rarely used
          for file playback but is a possible profile with in DVB DASH specs.
          This still doesn't support stsd with multiple entries but makes it
          easier to do so.

2016-04-05 18:00:10 -0300  Thiago Santos <thiagoss osg samsung com>

        * gst/isomp4/qtdemux.c:
          qtdemux: get stsd child by index instead of type
          There might be multiple children with the same type

2017-04-07 16:33:18 +0300  George Kiagiadakis <george kiagiadakis collabora com>

        * tests/check/elements/rtprtx.c:
          tests/check/rtprtx: add checks for rtprtxqueue's max-size-{time,packets} properties
          https://bugzilla.gnome.org/show_bug.cgi?id=780867

2017-04-04 17:33:31 +0300  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtprtxqueue.c:
        * gst/rtpmanager/gstrtprtxqueue.h:
          rtprtxqueue: implement handling of the max-size-time property
          https://bugzilla.gnome.org/show_bug.cgi?id=780867

2017-04-10 23:49:06 +0100  Tim-Philipp Müller <tim centricular com>

        * autogen.sh:
        * common:
          Automatic update of common submodule
          From 39ac2f5 to 60aeef6

2017-04-10 08:56:00 +0000  Todor Tomov <todor tomov linaro org>

        * sys/v4l2/gstv4l2bufferpool.c:
          v4l2object: Copy timestamp when importing buffers
          This is needed for V4L2_OUTPUT interface, and is harmless of
          V4L2_CAPTURE interfaces. This will fix timestamp in cases like:
          v4l2src io-mode=dmabuf ! v4l2videoNenc output-io-mode=dmabuf-import !  ...
          Same apply for userptr.
          https://bugzilla.gnome.org/show_bug.cgi?id=781119

2017-04-10 15:55:30 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Fix last_dts tracking for raw audio and similar formats
          Accumulate the durations directly and don't scale yet another time by
          the number of samples.

2017-04-07 10:48:50 +0100  Vincent Penquerc'h <vincent penquerch collabora co uk>

        * tests/check/elements/splitmux.c:
          tests: fix leak in splitmux test
          https://bugzilla.gnome.org/show_bug.cgi?id=781025

2017-04-07 15:29:43 +0800  Lyon Wang <lyon wang nxp com>

        * gst/audiofx/gstscaletempo.c:
          scaletempo: Scale GAP event timestamp and duration like for buffers
          https://bugzilla.gnome.org/show_bug.cgi?id=781008

2017-02-17 10:01:08 -0300  Thibault Saunier <thibault saunier osg samsung com>

        * sys/v4l2/gstv4l2videodec.c:
        * sys/v4l2/gstv4l2videodec.h:
          v4l2dec: Fix race when going from PAUSED to READY
          Running `gst-validate-launcher -t validate.file.playback.change_state_intensive.vorbis_vp8_1_webm`
          on odroid XU4 (s5p-mfc v4l2 driver) often leads to:
          ERROR:../subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c:215:gst_v4l2_video_dec_stop: 
assertion failed: (g_atomic_int_get (&self->processing) == FALSE)
          This happens when the following race happens:
          - T0: Main thread
          - T1: Upstream streaming thread
          - T2. v4l2dec processing thread)
          [The decoder is in PAUSED state]
          T0. The validate scenario runs `Executing (36/40) set-state: state=null repeat=40`
          T1- The decoder handles a frame
          T2- A decoded frame is push downstream
          T2- Downstream returns FLUSHING as it is already flushing changing state
          T2- The decoder stops its processing thread and sets `->processing = FALSE`
          T1- The decoder handles another frame
          T1- `->process` is FALSE so the decoder restarts its streaming thread
          T0- In v4l2dec-> stop the processing thread is stopped
          NOTE: At this point the processing thread loop never started.
          T0- assertion failed: (g_atomic_int_get (&self->processing) == FALSE)
          Here I am removing the whole ->processing logic to base it all on the
          GstTask state to avoid duplicating the knowledge.
          https://bugzilla.gnome.org/show_bug.cgi?id=778830

=== release 1.11.90 ===

2017-04-07 16:31:56 +0300  Sebastian Dröge <sebastian centricular com>

        * ChangeLog:
        * NEWS:
        * RELEASE:
        * configure.ac:
        * docs/plugins/gst-plugins-good-plugins.args:
        * docs/plugins/inspect/plugin-1394.xml:
        * docs/plugins/inspect/plugin-aasink.xml:
        * docs/plugins/inspect/plugin-alaw.xml:
        * docs/plugins/inspect/plugin-alpha.xml:
        * docs/plugins/inspect/plugin-alphacolor.xml:
        * docs/plugins/inspect/plugin-apetag.xml:
        * docs/plugins/inspect/plugin-audiofx.xml:
        * docs/plugins/inspect/plugin-audioparsers.xml:
        * docs/plugins/inspect/plugin-auparse.xml:
        * docs/plugins/inspect/plugin-autodetect.xml:
        * docs/plugins/inspect/plugin-avi.xml:
        * docs/plugins/inspect/plugin-cacasink.xml:
        * docs/plugins/inspect/plugin-cairo.xml:
        * docs/plugins/inspect/plugin-cutter.xml:
        * docs/plugins/inspect/plugin-debug.xml:
        * docs/plugins/inspect/plugin-deinterlace.xml:
        * docs/plugins/inspect/plugin-dtmf.xml:
        * docs/plugins/inspect/plugin-dv.xml:
        * docs/plugins/inspect/plugin-effectv.xml:
        * docs/plugins/inspect/plugin-equalizer.xml:
        * docs/plugins/inspect/plugin-flac.xml:
        * docs/plugins/inspect/plugin-flv.xml:
        * docs/plugins/inspect/plugin-flxdec.xml:
        * docs/plugins/inspect/plugin-gdkpixbuf.xml:
        * docs/plugins/inspect/plugin-goom.xml:
        * docs/plugins/inspect/plugin-goom2k1.xml:
        * docs/plugins/inspect/plugin-icydemux.xml:
        * docs/plugins/inspect/plugin-id3demux.xml:
        * docs/plugins/inspect/plugin-imagefreeze.xml:
        * docs/plugins/inspect/plugin-interleave.xml:
        * docs/plugins/inspect/plugin-isomp4.xml:
        * docs/plugins/inspect/plugin-jack.xml:
        * docs/plugins/inspect/plugin-jpeg.xml:
        * docs/plugins/inspect/plugin-level.xml:
        * docs/plugins/inspect/plugin-matroska.xml:
        * docs/plugins/inspect/plugin-mulaw.xml:
        * docs/plugins/inspect/plugin-multifile.xml:
        * docs/plugins/inspect/plugin-multipart.xml:
        * docs/plugins/inspect/plugin-navigationtest.xml:
        * docs/plugins/inspect/plugin-oss4.xml:
        * docs/plugins/inspect/plugin-ossaudio.xml:
        * docs/plugins/inspect/plugin-png.xml:
        * docs/plugins/inspect/plugin-pulseaudio.xml:
        * docs/plugins/inspect/plugin-replaygain.xml:
        * docs/plugins/inspect/plugin-rtp.xml:
        * docs/plugins/inspect/plugin-rtpmanager.xml:
        * docs/plugins/inspect/plugin-rtsp.xml:
        * docs/plugins/inspect/plugin-shapewipe.xml:
        * docs/plugins/inspect/plugin-shout2.xml:
        * docs/plugins/inspect/plugin-smpte.xml:
        * docs/plugins/inspect/plugin-soup.xml:
        * docs/plugins/inspect/plugin-spectrum.xml:
        * docs/plugins/inspect/plugin-speex.xml:
        * docs/plugins/inspect/plugin-taglib.xml:
        * docs/plugins/inspect/plugin-udp.xml:
        * docs/plugins/inspect/plugin-video4linux2.xml:
        * docs/plugins/inspect/plugin-videobox.xml:
        * docs/plugins/inspect/plugin-videocrop.xml:
        * docs/plugins/inspect/plugin-videofilter.xml:
        * docs/plugins/inspect/plugin-videomixer.xml:
        * docs/plugins/inspect/plugin-vpx.xml:
        * docs/plugins/inspect/plugin-wavenc.xml:
        * docs/plugins/inspect/plugin-wavpack.xml:
        * docs/plugins/inspect/plugin-wavparse.xml:
        * docs/plugins/inspect/plugin-ximagesrc.xml:
        * docs/plugins/inspect/plugin-y4menc.xml:
        * gst-plugins-good.doap:
        * meson.build:
          Release 1.11.90

2017-04-07 15:18:11 +0300  Sebastian Dröge <sebastian centricular com>

        * 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:
          Update .po files

2017-04-07 15:06:30 +0300  Sebastian Dröge <sebastian centricular com>

        * po/el.po:
          po: Update translations

2017-04-06 12:01:00 +0200  Edward Hervey <edward centricular com>

        * gst/audioparsers/gstaacparse.c:
          aacparse: streamline and improve AudioSpecificConfig parsing
          AudioSpecifigConfig is used in a variety of AAC streams but was
          being parsed differently. Instead, make everyone use the same parsing.
          * Remove unused 'bits' field (it was always set to 0 if present)
          * Add proper GAConfig parsing (to know the  number of samples per frame
          if present).
          Fixes wrong rate/channels configuration in streams coming from qtdemux
          https://bugzilla.gnome.org/show_bug.cgi?id=780966

2017-04-05 09:46:31 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: Fix 32bit only printf format
          The previous patch was using %llu for 64bits printf, which is 32bit
          specific. We also trace the latency in time human readable form now.

2016-03-16 16:22:48 +0100  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2object.c:
          v4l2object: set streamparm for outputs that support it
          Without a specified framerate from the sink, the decoder frame interval
          should be set using the framerate of the encoded video stream.
          Therefore, the v4l2object should be able to change the framerate on the
          output if the V4L2 device accepts it.
          This is also necessary for mem2mem encoders so that their bitrate
          calculation code may work correctly and they may report the correct
          frame duration on the capture queue.
          https://bugzilla.gnome.org/show_bug.cgi?id=779466

2016-03-16 16:24:55 +0100  Philipp Zabel <p zabel pengutronix de>

        * sys/v4l2/gstv4l2videodec.c:
          v4l2videodec: only set latency if the frame duration is valid
          If the duration of the v4l2object is GST_CLOCK_TIME_NONE, because the
          sink did not specify a framerate in the caps and the driver accepts the
          framerate, the decoder element uses GST_CLOCK_TIME_NONE to calculate and
          set the element latency.
          While this is a bug of the capture driver, the decoder element should
          not use the invalid duration to calculate a latency, but print a warning
          instead.
          https://bugzilla.gnome.org/show_bug.cgi?id=779466

2016-11-23 12:17:55 -0500  Olivier Crête <olivier crete collabora com>

        * sys/v4l2/gstv4l2sink.c:
          v4l2sink: Block in preroll_wait on unlock
          The correct behaviour of anything stuck in the ->render() function
          between ->unlock() and ->unlock_stop() is to call
          gst_base_sink_wait_preroll() and only return an error if this returns an
          error, otherwise, it must continue where it left off!
          https://bugzilla.gnome.org/show_bug.cgi?id=774945

2017-04-05 15:55:20 +1000  Jan Schmidt <jan centricular com>

        * ext/vpx/gstvp9dec.c:
          vp9dec: Add warnings for unsupported frame formats
          At least output an element warning on the bus when we
          encounter a frame format GStreamer doesn't currently support.

2017-04-04 17:55:13 +0200  Edward Hervey <edward centricular com>

        * gst/audioparsers/gstaacparse.c:
          aacparse: Handle Parametric Stereo with HE-AAC(v2)
          According to ISO/IEC:14496-2:2009 , in the case of HE-AACv2 (audioObjecType
          29) parametric stereo is used (a single mono track is used and then
          transformations are applied to it to provide a stereo output).
          We therefore report two channels in the case where there is one reported
          in the audioChannelConfiguration.
          Fixes the various issues where a demuxer would report two channels, but
          then the parser would say there's only one channel, and then the decoder
          would output two channels.

2017-04-04 15:22:25 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Simplify buffer refcounting in add_buffer() and remove unneeded NULL checks

2017-04-04 15:08:33 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Select the best pad based on the cached last_buf if any
          last_buf is the one we're going to write next, not buf. As such we
          should check timestamps against that one if there is one to select the
          earliest pad.
          Also remember the currently selected pad in the very beginning when
          storing the first last_buf.
          This both solves some edge cases where not the correct next pad was
          selected corresponding to the target interleave.

2017-04-04 15:07:40 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Error out immediately if a timecode is to be written but downstream return not-OK

2017-04-03 11:34:49 +0200  Edward Hervey <edward centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Update variables before early exit
          This is an update of d78d5896272d78df41e696fac929e7dfb3bb3dfa
          We still exit as early as possible in case of non-ok/non-unlinked combined
          flow, but we first make sure that we update the internal position variables.
          This ensures that if upstreams "ignores" the flow return (and carries on pushing),
          we don't end up processing data with completely bogus variables/positions.

2017-03-24 00:11:13 +1300  Douglas Bagnall <douglas halo gen nz>

        * gst/interleave/interleave.c:
        * gst/interleave/interleave.h:
          interleave: avoid using uninitialised ordering_map
          If self->channel_positions == NULL (which seems unlikely),
          self->default_channels_ordering_map will be used unintialised.
          We avoid that by keeping track of the channel_mask, which is set when
          the ordering map is initialised.
          https://bugzilla.gnome.org/show_bug.cgi?id=780331

2017-03-23 23:56:31 +1300  Douglas Bagnall <douglas halo gen nz>

        * gst/interleave/interleave.c:
          interleave: don't overflow channel map with >64 channels
          When there are more than 64 channels, we don't want to exceed the
          bounds of the ordering_map buffer, and in these cases we don't want to
          rempa at all. Here we avoid doing that.
          https://bugzilla.gnome.org/show_bug.cgi?id=780331

2017-03-28 14:23:16 -0300  Thibault Saunier <thibault saunier osg samsung com>

        * tests/check/meson.build:
          meson: Use get_pkgconfig_variable instead of calling pkg-config ourself
          It is avalaible in meson 0.36 which is now are requirement

2017-03-28 14:22:41 -0300  Thibault Saunier <thibault saunier osg samsung com>

        * pkgconfig/gstreamer-plugins-good.pc.in:
        * pkgconfig/meson.build:
          pkgconfig: Do not ever build an installed .pc file

2017-03-28 11:15:53 -0300  Thibault Saunier <thibault saunier osg samsung com>

        * tests/check/meson.build:
          meson: test: Fix environment object usage

2017-03-28 11:14:47 -0300  Thibault Saunier <thibault saunier osg samsung com>

        * meson.build:
        * pkgconfig/gstreamer-plugins-good.pc.in:
        * pkgconfig/meson.build:
          pkgconfig: Generate the pkg-config with meson too

2017-03-27 21:52:00 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: In gap mode, consider the mdat offset when calculating the remaining mdat size
          The mdat generally does not start at offset 0, we have to include the
          size of the moof and whatever else was in front of the mdat.

2017-03-27 11:43:31 +0300  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/atomsrecovery.c:
          atomsrecovery: Error out when fseek() fails instead of silently ignoring
          CID 1403262

2017-03-23 22:13:05 +0100  Carlos Rafael Giani <dv pseudoterminal org>

        * 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-21 12:54:27 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtpmux.c:
          rtpmux: fix output segment and buffer DTS to correspond to the flattened PTS
          https://bugzilla.gnome.org/show_bug.cgi?id=780347

2017-03-23 17:53:19 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
        * gst/isomp4/gstqtmux.h:
          qtmux: Remove some unused variables

2017-03-23 15:01:16 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Remove a couple of unneeded levels of indentation

2017-03-22 18:18:40 +0000  Enrique Ocaña González <eocanha igalia com>

        * 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-22 19:15:09 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Reset current chunk after writing out timecode
          If we have multiple tracks with timecodes, or it's not the first track
          that has timecodes, or not the first buffer, we already started a chunk
          for media data. We now need to "close" that chunk because we wrote data
          for the timecode track and a new chunk has to be started for the
          original track the next time it has data.

2017-03-22 18:52:51 +0200  Sebastian Dröge <sebastian centricular com>

        * 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-03-22 00:38:51 +1100  Jan Schmidt <jan centricular com>

        * gst/isomp4/qtdemux.c:
        * gst/matroska/matroska-demux.c:
          qtdemux: matroskademux: Ignore repeated seek events
          Similar to what was done in adaptivedemux, ignore seek
          events we've already handled - such as when they are received
          on every srcpad of files with lots of streams.

2017-03-21 14:55:32 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
        * gst/isomp4/qtdemux.h:
          dashdemux: Update mdatleft from overall mdatsize and offset when observing a gap
          Otherwise mdatleft will have a value calculated from the initial
          mdatsize minus the parts of the stream that we saw, which is not
          including all the parts of the stream that might've been skipped.

2017-03-20 17:03:32 +0000  Tim-Philipp Müller <tim centricular com>

        * ext/soup/gstsouphttpsrc.c:
        * gst/audioparsers/gstmpegaudioparse.c:
          docs: update two references to the removed 'mad' plugin
          https://bugzilla.gnome.org/show_bug.cgi?id=776140

2017-03-20 12:03:29 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtprtxqueue.c:
          rtprtxqueue: add basic documentation and example pipelines
          Mostly explaining the difference between rtprtxqueue and rtprtxsend.

2017-03-17 20:58:28 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * sys/v4l2/meson.build:
          v4l2: Fix meson plugin shared object name
          It didn't match between AutoMake and Meson, and the Meson name
          didn't math the plugin name (video4linux2).

2017-03-16 18:20:54 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtprtxreceive.c:
          rtprtxreceive: fix example pipelines and improve the documentation
          https://bugzilla.gnome.org/show_bug.cgi?id=771383

2017-03-17 14:10:40 +0000  Vincent Penquerc'h <vincent penquerch collabora co uk>

        * gst/audioparsers/gstflacparse.c:
        * gst/audioparsers/gstflacparse.h:
          flacparse: fix playback if sample number does not start at 0
          This reverts commit 29b807685d3c962bbe8afe351c5dca97d59eb5e0, while
          fixing the original breaking tests/check/pipelines/flacdec.

2017-03-17 11:30:04 +0000  Vincent Penquerc'h <vincent penquerch collabora co uk>

        * gst/audioparsers/gstflacparse.c:
        * gst/audioparsers/gstflacparse.h:
          Revert "flacparse: fix playback if sample number does not start at 0"
          This breaks gst-validate on the build server (though not locally),
          and a unit test, and I can't run unit tests right now for some
          unrelated reason.
          This reverts commit 0747b56f8e7f4731d67f8d13a4bdc453dde0fdf7.

2017-03-16 17:44:41 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/rtpsession.c:
          rtpsession: print the correct variable in debug statement
          This debug statement is meant to print the time since the last (early)
          RTCP transmission, not the last regular RTCP transmission (which also
          happens to be set a few lines above to current_time, so the debug output
          is just confusing)

2017-03-16 17:42:27 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtprtxsend.c:
          rtprtxsend: convert LOG message to TRACE
          This is printed too often (for every chained buffer!) and just clutters the logs.

2017-03-16 14:58:45 +0100  Miguel París Díaz <mparisdiaz gmail com>

        * gst/rtpmanager/rtpsource.c:
          rtpsource: fix warning message
          https://bugzilla.gnome.org/show_bug.cgi?id=780105

2017-03-16 13:54:54 +0000  Vincent Penquerc'h <vincent penquerch collabora co uk>

        * gst/audioparsers/gstflacparse.c:
        * gst/audioparsers/gstflacparse.h:
          flacparse: fix playback if sample number does not start at 0
          https://bugzilla.gnome.org/show_bug.cgi?id=777738

2017-03-15 18:58:55 +0100  Miguel París Díaz <mparisdiaz gmail com>

        * gst/rtpmanager/rtpsource.c:
        * gst/rtpmanager/rtpsource.h:
          rtpsource: get clock-rate from pt if needed to generate SR
          https://bugzilla.gnome.org/show_bug.cgi?id=780105

2017-03-16 13:52:48 +0200  Sebastian Dröge <sebastian centricular com>

        * ext/soup/gstsouphttpsrc.c:
          souphttpsrc: Include GStreamer souphttpsrc version in default User-Agent string

2017-03-16 00:41:44 +0000  Tim-Philipp Müller <tim centricular com>

        * gst/rtp/gstrtph264depay.c:
          rtph264depay: fix crash with empty sprops-parameters
          https://bugzilla.gnome.org/show_bug.cgi?id=780040

2017-03-11 21:20:40 -0800  Thiago Santos <thiagossantos gmail com>

        * 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 <thiagossantos gmail com>

        * 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 <thiagossantos gmail com>

        * 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

2017-03-14 16:42:25 -0400  Olivier Crête <olivier crete collabora com>

        * Makefile.am:
        * configure.ac:
        * tests/examples/Makefile.am:
        * tests/examples/pulse/.gitignore:
        * tests/examples/pulse/Makefile.am:
        * tests/examples/pulse/pulse.c:
          pulse example: Remove
          That example only tested the property probe interface, which has been removed.
          The same kind of thing can now be done with the generic gst-device-monitor tool.

2017-03-14 16:38:02 -0400  Olivier Crête <olivier crete collabora com>

        * sys/v4l2/gstv4l2object.h:
          v4l2: Remove unused macro

2017-03-14 16:35:25 -0400  Olivier Crête <olivier crete collabora com>

        * sys/v4l2/gstv4l2object.c:
        * sys/v4l2/gstv4l2object.h:
          v4l2: Remove unused definitions

2017-03-14 10:10:19 +0100  Emeric Grange <egrange gopro com>

        * gst/isomp4/fourcc.h:
        * gst/isomp4/gstqtmux.c:
        * gst/isomp4/gstqtmuxmap.c:
        * gst/isomp4/qtdemux.c:
        * gst/isomp4/qtdemux_types.c:
          qtmux: add CineForm support
          https://bugzilla.gnome.org/show_bug.cgi?id=780024

2017-03-14 15:09:44 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/gstqtmux.c:
          qtmux: Only create new chunks if we have more than a single stream
          There's no point in creating multiple chunks otherwise, it only wastes
          some bytes for storing the chunk offsets.

2017-03-14 10:09:46 +0100  Emeric Grange <egrange gopro com>

        * gst/isomp4/qtdemux.c:
          qtdemux: add S16L support
          https://bugzilla.gnome.org/show_bug.cgi?id=780022

2017-03-14 15:48:08 +1100  Jan Schmidt <jan centricular com>

        * tests/check/elements/splitmux.c:
          splitmux test: Use passed first/last timestamps
          Don't hard-code the expected timestamp range, use the
          values the caller is passing in.

2017-03-12 11:42:25 -0400  Nicolas Dufresne <nicolas dufresne collabora com>

        * Makefile.am:
        * docs/plugins/inspect/plugin-soup.xml:
          Add old plugin names to cruft list
          This will help fixing uninstalled setup. Also fix missing path
          correction in one of the plugin xml.
          https://bugzilla.gnome.org/show_bug.cgi?id=779344

2016-12-15 12:38:40 +0100  Michael Dutka <mail michael-dutka de>

        * gst/rtp/gstrtph264depay.c:
        * gst/rtp/gstrtph265depay.c:
          rtph264depay, rtph265depay: remove stray g_debug()
          https://bugzilla.gnome.org/show_bug.cgi?id=779858

2017-03-10 11:24:14 +0100  Wim Taymans <wtaymans redhat com>

        * gst/isomp4/gstqtmux.c:
          qtmux: init fourcc
          Initialize the fourcc to 0 so that we can detect failure later.

2017-03-08 22:50:52 -0500  Nicolas Dufresne <nicolas dufresne collabora com>

        * tests/check/Makefile.am:
        * tests/check/elements/level.c:
        * tests/check/elements/rglimiter.c:
          tests: Add missing LDADD for libm in tests using math.h
          Also, remove the math.h include for the one that just prentend to need
          it.

2017-03-08 22:15:46 -0500  Nicolas Dufresne <nicolas dufresne collabora com>

        * Makefile.am:
        * docs/plugins/gst-plugins-good-plugins-docs.sgml:
          Fix shout2 plugin doc generation
          In the previous patch, we also renamed shout2send to shout2, so it does
          not clash with it's feature. Though we forgot to rename it in the doc
          reference. This patch also add a cruft detection on the xml that made me
          miss this error.
          https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-03-04 10:52:47 -0500  Nicolas Dufresne <nicolas dufresne collabora com>

        * docs/plugins/inspect/plugin-oss4.xml:
        * docs/plugins/inspect/plugin-pulseaudio.xml:
        * docs/plugins/inspect/plugin-shout2.xml:
        * ext/pulse/Makefile.am:
        * ext/pulse/meson.build:
        * ext/shout2/gstshout2.c:
        * ext/soup/Makefile.am:
        * ext/soup/meson.build:
        * sys/oss4/Makefile.am:
          Fix plugin filenames to match plugin names
          - libgstpulse.so becomes libgstpulseaudio.so
          - libgstsouphttpsrc.so becomes libgstsoup.so
          - libgstoss4audio.so becomes libgstoss4.so
          https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-03-08 16:01:02 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/atoms.c:
          qtmux: Free EDTS instead of just clearing it and setting it to NULL

2017-03-08 15:27:32 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/atoms.c:
        * gst/isomp4/gstqtmux.c:
          qtmux: Fix some memory leaks related to timecode tracks

2017-03-04 00:34:44 +1100  Jan Schmidt <jan centricular com>

        * tests/check/elements/splitmux.c:
          splitmux: Add unit test for reverse playback
          Ensure that reverse playback works and generates the range
          of timestamps (0-3s) we expect, in monotonically descending order.

2017-02-28 11:50:45 +1100  Jan Schmidt <jan centricular com>

        * gst/multifile/gstsplitmuxsrc.c:
          splitmuxsrc: Fix reverse playback
          Fix the check for whether the start time of the segment has
          been reached when playing in reverse. Otherwise, playback
          stops after reaching the start of any file part, instead of
          continuing until all parts within the segment have played

2017-02-22 03:01:31 +1100  Jan Schmidt <jan centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Don't lose crypto info on a new moof
          We parse the next moof in advance of having pushed
          all samples from the previous one in some cases, and
          we'll still need the crypto info from the previous
          fragment so keep around any unused crypto info entries
          when adding new ones

2017-02-27 13:55:58 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/atoms.c:
        * gst/isomp4/atoms.h:
        * gst/isomp4/gstqtmux.c:
          qtmux: Update modification times when sending the moov
          https://bugzilla.gnome.org/show_bug.cgi?id=779422

2017-03-01 16:11:47 -0800  Michael Smith <mlrsmith gmail com>

        * gst/audioparsers/gstsbcparse.h:
          sbcparse: Fix up values for allocation enumeration.
          https://bugzilla.gnome.org/show_bug.cgi?id=779389

2017-02-28 13:10:50 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/rtpmanager/gstrtprtxreceive.c:
          rtprtxreceive: fix potential leak of old, unassociated, association requests
          https://bugzilla.gnome.org/show_bug.cgi?id=722560

2017-02-28 15:47:23 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/avi/gstavidemux.c:
          avidemux: Don't increment -1 / unset indices
          CID 1398545

2017-02-28 15:20:31 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Protect against NULL pointer dereference for streams without caps
          CID 1363332

2017-02-28 12:57:02 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/rtp/gstrtph263pay.c:
          rtph263pay: Free mac on errors
          CID 1212149

2017-02-28 12:45:24 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/rtp/gstrtpvorbispay.c:
          rtpvorbispay: Add missing break to for loop

2017-02-28 11:02:54 +0100  Edward Hervey <edward centricular com>

        * tests/check/Makefile.am:
          check: Fix splitmux test CFLAGS
          Needs to know where the gstapp headers are

2017-02-27 21:02:51 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/isomp4/qtdemux.c:
          qtdemux: Fix compilation with gcc 7
          qtdemux.c: In function ‘qtdemux_parse_samples’:
          qtdemux.c:8450:39: error: ‘*’ in boolean context, suggest ‘&&’ instead [-Werror=int-in-bool-context]
          if (stream->samples_per_frame * stream->bytes_per_frame) {
          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~

2017-02-27 21:01:23 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/audioparsers/gstmpegaudioparse.c:
          mpegaudioparse: Fix compilation with gcc 7
          gstmpegaudioparse.c: In function ‘gst_mpeg_audio_parse_reset’:
          gstmpegaudioparse.c:209:3: error: ‘memset’ used with length equal to number of elements without 
multiplication by element size [-Werror=memset-elt-size]
          memset (mp3parse->xing_seek_table_inverse, 0, 256);
          ^~~~~~
          gstmpegaudioparse.c: In function ‘gst_mpeg_audio_parse_handle_first_frame’:
          gstmpegaudioparse.c:951:7: error: ‘memset’ used with length equal to number of elements without 
multiplication by element size [-Werror=memset-elt-size]
          memset (mp3parse->xing_seek_table_inverse, 0, 256);
          ^~~~~~

2017-02-27 19:31:39 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/rtp/gstrtpvorbispay.c:
          rtpvorbispay: When getting new headers, replace the old version of them
          This prevents storing an infinite amount of e.g. comment headers if they
          come without a new initialization header in front of them. There can
          only be one header of each type.

2017-02-27 19:25:35 +0200  Sebastian Dröge <sebastian centricular com>

        * tests/check/Makefile.am:
        * tests/check/elements/rtp-payloading.c:
          rtp-payloading: Add new test for Vorbis renegotiation
          Check if encoding, payloading, depayloading and decoding works if the
          stream configuration (and thus the headers) change.

2017-02-27 19:24:07 +0200  Sebastian Dröge <sebastian centricular com>

        * gst/rtp/gstrtpvorbispay.c:
          vorbispay: Only replace headers when receiving a new config header
          If we also replace all headers when receiving any possibly following
          comments header, we would throw away the config header before being able
          to make use of it.

2017-02-23 12:11:15 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * tests/check/Makefile.am:
        * tests/check/elements/splitmux.c:
          tests: splitmux: add unit test for content with sparse streams
          https://bugzilla.gnome.org/show_bug.cgi?id=761086

2017-02-22 11:23:19 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/multifile/gstsplitmuxpartreader.c:
          splitmuxpartreader: ignore sparse streams when calculating the end offset of a part
          A sparse stream's ending timestamp can be considerably smaller
          than the ending timestamps of the other streams, which can lead
          to skipping considerable time from the next part.
          https://bugzilla.gnome.org/show_bug.cgi?id=761086

2017-02-22 11:21:06 +0200  George Kiagiadakis <george kiagiadakis collabora com>

        * gst/multifile/gstsplitmuxpartreader.c:
          splitmuxpartreader: identify sparse streams

2017-02-25 21:47:03 -0300  Edgard Lima <edgard lima gmail com>

        * docs/plugins/inspect/plugin-rtp.xml:
        * docs/plugins/inspect/plugin-video4linux2.xml:
        * gst/audioparsers/gstamrparse.c:
        * gst/rtp/gstrtpg726depay.c:
        * gst/rtp/gstrtpg726depay.h:
        * gst/rtp/gstrtpg726pay.c:
        * gst/rtp/gstrtpg726pay.h:
        * gst/rtp/gstrtppcmadepay.c:
        * gst/rtp/gstrtppcmadepay.h:
        * gst/rtp/gstrtppcmapay.c:
        * gst/rtp/gstrtppcmapay.h:
        * gst/rtp/gstrtppcmudepay.c:
        * gst/rtp/gstrtppcmudepay.h:
        * gst/rtp/gstrtppcmupay.c:
        * gst/rtp/gstrtppcmupay.h:
        * gst/rtp/gstrtpspeexdepay.c:
        * gst/rtp/gstrtpspeexdepay.h:
        * gst/rtp/gstrtpspeexpay.c:
        * gst/rtp/gstrtpspeexpay.h:
        * sys/v4l2/gstv4l2.c:
        * sys/v4l2/gstv4l2bufferpool.c:
        * sys/v4l2/gstv4l2bufferpool.h:
        * sys/v4l2/gstv4l2colorbalance.c:
        * sys/v4l2/gstv4l2colorbalance.h:
        * sys/v4l2/gstv4l2object.c:
        * sys/v4l2/gstv4l2object.h:
        * sys/v4l2/gstv4l2src.c:
        * sys/v4l2/gstv4l2src.h:
        * sys/v4l2/gstv4l2tuner.c:
        * sys/v4l2/gstv4l2tuner.h:
        * sys/v4l2/gstv4l2vidorient.c:
        * sys/v4l2/gstv4l2vidorient.h:
        * sys/v4l2/v4l2_calls.c:
        * sys/v4l2/v4l2_calls.h:
          Update Edgard Lima's email
          https://bugzilla.gnome.org/show_bug.cgi?id=779230

2017-02-08 13:36:00 +0000  Andrew <nifigase gmail com>

        * 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

2017-02-24 15:59:41 +0200  Sebastian Dröge <sebastian centricular com>

        * meson.build:
          meson: Update version

2017-02-24 15:37:36 +0200  Sebastian Dröge <sebastian centricular com>

        * configure.ac:
          Back to development



Download
========
https://download.gnome.org/sources/gst-plugins-good/1.11/gst-plugins-good-1.11.91.tar.xz (3.31M)
  sha256sum: 9e78901a22936b4d5fecfe61d8456499c7b4b0f6d83c11767e2854d3932ac6b3



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