diff options
42 files changed, 3248 insertions, 886 deletions
@@ -1,9 +1,2074 @@ +=== release 1.9.1 === + +2016-07-06 Sebastian Dröge <slomo@coaxion.net> + + * configure.ac: + releasing 1.9.1 + +2016-07-06 10:18:00 +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/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: Update translations + +2016-06-30 16:36:27 +0200 Philippe Normand <philn@igalia.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Take stream lock one time only on drain + When the drain is triggered from the chain function the lock is already + taken so there is no need to take it one more time. + https://bugzilla.gnome.org/show_bug.cgi?id=767641 + +2016-07-04 11:16:55 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: fix criticals fixating a non existent field + https://bugzilla.gnome.org/show_bug.cgi?id=766970 + +2016-07-04 11:12:25 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/gstaudiodecoder.c: + audiodecoder: Protect samples_in/bytes_out and audio info with object lock + It might cause invalid calculations during the CONVERT query otherwise. + +2016-07-04 11:07:54 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/gstaudioencoder.c: + audioencoder: Protect samples_in/bytes_out and audio info with object lock + It might cause invalid calculations during the CONVERT query otherwise. + +2016-07-04 11:00:51 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/audio/gstaudioencoder.c: + * gst-libs/gst/audio/gstaudioutilsprivate.c: + * gst-libs/gst/audio/gstaudioutilsprivate.h: + audioencoder/decoder: Move encoded audio conversion function to a common place + No need to duplicate this non-trivial function. + +2016-07-04 09:15:03 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * gst-libs/gst/audio/gstaudiodecoder.c: + audiodecoder: fix criticals fixating a non existent field + https://bugzilla.gnome.org/show_bug.cgi?id=766970 + +2016-07-04 10:55:07 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Use the object lock to protect bytes/time tracking + And especially don't use the stream lock for that, as otherwise non-serialized + queries (CONVERT) will cause the stream lock to be taken and easily causes the + application to deadlock. + https://bugzilla.gnome.org/show_bug.cgi?id=768361 + +2016-07-04 10:52:24 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideoencoder.c: + videoencoder: Use the object lock to protect bytes/time tracking + +2016-07-04 10:47:36 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + * gst-libs/gst/video/gstvideoutilsprivate.c: + * gst-libs/gst/video/gstvideoutilsprivate.h: + videoencoder/decoder: Move conversion utility functions to a common header and use consistently in encoder/decoder + +2016-03-17 00:19:18 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/app/gstappsrc.c: + appsrc: If do-timestamp=TRUE, capture the time when the buffer was pushed to the source + ... instead of the time when it was pushed further downstream. + https://bugzilla.gnome.org/show_bug.cgi?id=763630 + +2016-04-29 00:59:42 -0700 Zaheer Abbas Merali <zaheermerali@gmail.com> + + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + basertpdepayload: create valid segment when given non-time segment + This will become an error in 1.10. + https://bugzilla.gnome.org/show_bug.cgi?id=765796 + +2016-06-30 18:53:07 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/tag/gsttagdemux.c: + tagdemux: fix handling of very short files in push mode + By default we'll wait for a certain amount of data before + attempting typefinding. However, if the stream is fairly + short, we might get EOS before we ever attempted any + typefinding, so at this point we should force typefinding + and output any pending data if we manage to detect the + type. + https://bugzilla.gnome.org//show_bug.cgi?id=768178 + +2016-06-30 17:30:34 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/tag/gsttagdemux.c: + tagdemux: fix erroring out if we reach EOS without detecting type + In 0.10 the source pad was a dynamic pad that was only added once + the type had been detected, but in 1.x it's an always source pad, + so checking whether it's still NULL won't work to detect if the + type has been detected. + Makes tagdemux error out when we get EOS but haven't managed to + identify the format of the data after the tag. + https://bugzilla.gnome.org//show_bug.cgi?id=768178 + +2016-06-30 17:26:56 +0200 Edward Hervey <edward@centricular.com> + + * gst/playback/gstparsebin.c: + parsebin: Fix authors and description + +2016-06-30 17:26:14 +0200 Edward Hervey <edward@centricular.com> + + * gst/playback/Makefile.am: + * gst/playback/gstplayback.c: + * gst/playback/gstplayback.h: + * gst/playback/gsturidecodebin3.c: + playback: Remove uridecodebin3 + This was committed by mistake. The solution forward is to use the + appropriate combination of urisourcebin and decodebin3 + +2016-06-29 18:14:51 +0200 Edward Hervey <edward@centricular.com> + + * configure.ac: + * gst/playback/Makefile.am: + * gst/playback/gstdecodebin3-parse.c: + * gst/playback/gstdecodebin3.c: + * gst/playback/gstparsebin.c: + * gst/playback/gstplayback.c: + * gst/playback/gstplayback.h: + * gst/playback/gstplaybin3.c: + * gst/playback/gsturidecodebin3.c: + * gst/playback/gsturisourcebin.c: + * tests/examples/Makefile.am: + * tests/examples/decodebin_next/.gitignore: + * tests/examples/decodebin_next/Makefile.am: + * tests/examples/decodebin_next/decodebin3.c: + * tests/examples/decodebin_next/playbin-test.c: + playback: New elements + With contributions from Jan Schmidt <jan@centricular.com> + * decodebin3 and playbin3 have the same purpose as the decodebin and + playbin elements, except make usage of more 1.x features and the new + GstStream API. This allows them to be more memory/cpu efficient. + * parsebin is a new element that demuxers/depayloads/parses an incoming + stream and exposes elementary streams. It is used by decodebin3. + It also automatically creates GstStream and GstStreamCollection for + elements that don't natively create them and sends the corresponding + events and messages + * Any application using playbin can use playbin3 by setting the env + variable USE_PLAYBIN3=1 without reconfiguration/recompilation. + +2016-06-29 18:14:51 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/audio-channels.c: + * gst/audioconvert/gstaudioconvert.c: + audioconvert: Handle fallback channel mask for mono correctly + It's 0 and no mask should be set for mono at all. + https://bugzilla.gnome.org/show_bug.cgi?id=757472 + +2016-06-27 20:53:37 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/playback/gstplaysink.c: + playsink: Don't send another step event to the audio-sink if we got step-done from there + Otherwise we would end up with a deadlock as the audio-sink emits step-done + from its streaming thread. + +2016-06-27 20:49:38 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/playback/gstplaysink.c: + playsink: Force STEP events on the video-sink for GST_FORMAT_BUFFERS + It does not make much sense for audio sinks. + +2016-06-24 01:56:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * configure.ac: + configure: Need to add -DGST_STATIC_COMPILATION when building only statically + https://bugzilla.gnome.org/show_bug.cgi?id=767463 + +2016-06-23 10:22:35 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * ext/ogg/gstoggdemux.c: + oggdemux: demote an expected error to debug + Dropping a buffer because we have a seek pending is normal, + and will now happen when we trigger a seek while going through + the packets in a page. So this should not be an error. + +2016-06-22 16:02:37 +0200 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-resampler.c: + * gst-libs/gst/video/video-resampler.h: + * gst-libs/gst/video/video-scaler.c: + video-converter: fix interlaced scaling some more + Fix problem with the line cache where it would forget the first line in + the cache in some cases. + Keep as much backlog as we have taps. This generally works better and we + could do even better by calculating the overlap in all taps. + Allocated enough lines for the line cache. + Use only half the number of taps for the interlaced lines because we + only have half the number of lines. + The pixel shift should be relative to the new output pixel size so scale + it. + Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=767921 + +2016-06-21 14:53:36 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * docs/plugins/gst-plugins-base-plugins-docs.sgml: + plugin-doc: Minor re-order + +2016-06-21 14:40:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * docs/plugins/Makefile.am: + * docs/plugins/gst-plugins-base-plugins-sections.txt: + * docs/plugins/gst-plugins-base-plugins.signals: + * docs/plugins/inspect/plugin-pango.xml: + * docs/plugins/inspect/plugin-videoconvert.xml: + * docs/plugins/inspect/plugin-videoscale.xml: + * docs/plugins/inspect/plugin-videotestsrc.xml: + Automatic update of plugins doc files + +2016-06-21 18:04:23 +0100 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/libs/discoverer.c: + tests: discoverer: handle missing ogg/codec plugins gracefully + https://bugzilla.gnome.org/show_bug.cgi?id=767859 + +2016-06-21 11:45:49 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * common: + Automatic update of common submodule + From ac2f647 to f363b32 + +2016-06-20 12:42:28 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * ext/opus/gstopusdec.c: + * ext/opus/gstopusdec.h: + opusdec: handle missing buffers with no duration + If buffer duration is missing, it is parsed from the packet data. + This is not foolproof, since Opus can change durations on the + fly. + https://bugzilla.gnome.org/show_bug.cgi?id=767826 + +2016-06-17 15:11:20 +0200 Michael Olbrich <m.olbrich@pengutronix.de> + + * gst-libs/gst/tag/gsttagdemux.c: + tagdemux: preserve duration when skipping a tag at the beginning of a buffer + gst_buffer_copy_region() does not copy the duration if it doesn't start + with the first byte. We just skip the tag here, so the duration is still + valid. + https://bugzilla.gnome.org/show_bug.cgi?id=767791 + +2016-06-21 10:24:15 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/gstdiscoverer.c: + * tests/check/libs/discoverer.c: + discoverer: Only allow serializing OK discoverer infos to GVariants + They will be incomplete otherwise and we can't generate the full serialized + information, and instead will crash somewhere on the way. + https://bugzilla.gnome.org/show_bug.cgi?id=767859 + +2016-04-14 14:02:27 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * ext/ogg/gstoggdemux.c: + oggdemux: fix audio glitches with low bitrate vorbis + A low bitrate stream which can pack more than 2 seconds of audio + in a page would cause the stream's position to be updated not + often enough, and would trigger a spurious "jump" via a GAP + event. Instead, we update the stream position after calculating + the new overall segment position. + https://bugzilla.gnome.org/show_bug.cgi?id=764966 + +2016-06-16 10:55:52 +0100 Mikhail Fludkov <misha@pexip.com> + + * tests/check/elements/opus.c: + opusdec: test for PLC timestamp when FEC is enabled. + +2016-04-05 12:41:45 +0200 Mikhail Fludkov <misha@pexip.com> + + * gst-libs/gst/audio/gstaudiodecoder.c: + * tests/check/libs/audiodecoder.c: + audiodecoder: fix invalid timestamps when PLC and delay + Elements inherited from GstAudioDecoder, supporting PLC and introducing + delay produce invalid timestamps. Good example is opusdec with in-band FEC + enabled. After receiving GAP event it delays the audio concealment until + the next buffer arrives. The next buffer will have DISCONT flag set which + will make GstAudioDecoder to reset it's internal state, thus forgetting + the timestamp of GAP event. As a result the concealed audio will have the + timestamp of the next buffer (with DISCONT flag) but not the timestamp + from the event. + +2016-06-11 17:11:30 +0200 Paulo Neves <pneves@airborneprojects.com> + + * gst-libs/gst/tag/gstexiftag.c: + * tests/check/libs/tag.c: + exiftag: Increase serialized geo precision + The serialization of double typed geographical + coordinates to DMS system supported by the exif + standards was previously truncated without need. + The previous code truncated the seconds part of + the coordinate to a fraction with denominator + equal to 1 causing a bug on the deserialization + when the test for the coordinate to be serialized + was more precise. + This patch applies a 10E6 multiplier to the numerator + equal to the denominator of the rational number. + Eg. Latitude = 89.5688643 Serialization + DMS Old code = 89/1 deg, 34/1 min, 7/1 sec + DMS New code = 89/1 deg, 34/1 min, 79114800UL/10000000UL + Deserialization + DMS Old code = 89.5686111111 + DMS New code = 89.5688643 + The new test tries to serialize a higher precision + coordinate. + The types of the coordinates are also guint32 instead + of gint like previously. guint32 is the type of the + fraction components in the exif. + https://bugzilla.gnome.org/show_bug.cgi?id=767537 + +2016-06-10 22:36:32 -0400 Thomas Jones <thomas.jones@utoronto.ca> + + * gst-libs/gst/pbutils/gstaudiovisualizer.c: + audiovisualizer: Fix calculations for bytes<->samples conversions + Use bpf instead of channels * sizeof(gint16). + https://bugzilla.gnome.org/show_bug.cgi?id=767505 + +2016-06-10 14:04:36 -0400 Thomas Jones <thomas.jones@utoronto.ca> + + * gst-libs/gst/pbutils/gstaudiovisualizer.c: + audiovisualizer: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP() + https://bugzilla.gnome.org/show_bug.cgi?id=767506 + +2016-06-10 22:50:41 -0400 Thomas Jones <thomas.jones@utoronto.ca> + + * gst-libs/gst/pbutils/gstaudiovisualizer.c: + audiovisualizer: fix timestamp calculation for audio channels > 1 + We have to use bps*channels instead of just bps, which is exactly what bpf is for. + https://bugzilla.gnome.org/show_bug.cgi?id=767507 + +2015-04-09 19:09:17 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: handle buffer's flags at offset + For reverse playback it is important to handle correctly the frame sync + points, which is set when the input buffer doesn't have the DELTA_UNIT flag. + This is handled correctly when decoder is packetized, but when it is not the + frame's sync point is not copied, and the reverse playback never decodes frame + batches. + The current patch adds the buffer's flags to the Timestamp list, where the + timestamp and duration of the input buffers are hold. + +2015-04-09 19:18:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: squash two message logs into one + There were two consecutive log messages in gst_video_decoder_decode_frame(). + Given the information they provide, it is more efficient to squash them into a + single one. + +2015-04-09 19:16:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: playback rate is in input_segment + The playback rate is hold in the input_segment member variable, not in the + output_segment, and the parse_gather list was never filled because of that. + This patch changes the comparison with input_segment. + +2016-06-09 19:02:49 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes + The output segment is only set up after data is output, which might be far in + the future for reverse playback. Also we are here interested in the state at + the current *input* frame (which is the keyframe), not any possible output. + +2016-06-09 18:53:54 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Only drain in KEY_UNITS trick mode after a keyframe in forwards playback mode + For reverse playback the same behaviour was already implemented in + flush_parse(). + For reverse playback, chain_forward() is only used to gather frames and not + for decoding, and it is actually called by the draining logic, causing an + infinite recursion. + +2016-06-07 09:48:35 +0200 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Don't push late frames + While it's a bit tricky to discard frames *before* decoding (because + we might not be sure which data is needed or not by the decoder), we + can discard them after decoding if they are too late anyway. + Any following basetransform based element or similar would drop the frame too. + +2016-06-07 10:31:59 +0200 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Avoid recursive drain/flush calls + _chain_forward() can also be called with reverse playback. Blindly + calling drain_out() on DISCONT buffers would end up in a recursive + call. + +2016-06-04 09:51:17 +0200 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Drain out keyframes in TRICK_MODE_KEY_UNITS + When asked to just decode keyframe, if we got a keyframe drain out + the decoder straight away. + This avoids having to wait for the next frame and reduces delay even + more. + https://bugzilla.gnome.org/show_bug.cgi?id=767232 + +2016-06-04 09:49:00 +0200 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Drain decoder on DISCONT buffers + This ensures the decoder is properly drained out when receiving a + DISCONT buffer. The optimal way of doing this would have been to + receive a GAP event before hand but it is not always possible. + Fixes big delays with some decoders (ex gst-libav) that will not + drain out data when only decoding keyframes. + https://bugzilla.gnome.org/show_bug.cgi?id=767232 + +2016-06-01 11:02:12 +0200 Michael Olbrich <m.olbrich@pengutronix.de> + + * gst-libs/gst/tag/gsttagdemux.c: + tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer + gst_buffer_copy_region() does not copy the timestamp if it doesn't start + with the first byte. We just skip the tag here, so the timestamp is still + valid. + https://bugzilla.gnome.org/show_bug.cgi?id=767173 + +2016-05-10 13:56:13 +0200 Stian Selnes <stian@pexip.com> + + * gst-libs/gst/video/video-color.c: + * tests/check/libs/video.c: + video-color: Fix colorimetry IS_UNKNOWN + Fix issue with colorimetry default indicies not being in sync with the + actual table causing IS_UNKNOWN() to sometimes fail. + https://bugzilla.gnome.org/show_bug.cgi?id=767163 + +2016-06-02 13:07:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/opus/gstopusenc.c: + * gst/playback/gstsubtitleoverlay.c: + opusenc, subtitleoverlay: use MAY_BE_LEAKED flag + Flag caps that are cached locally and will never be freed. + https://bugzilla.gnome.org/show_bug.cgi?id=767155 + +2016-06-01 16:56:13 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/playback/gstdecodebin2.c: + decodebin: Create a new decode element with the parser/convert capsfilter if there is a multiqueue after the parser + https://bugzilla.gnome.org/show_bug.cgi?id=767102 + +2016-05-23 15:11:53 +0200 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Make sure the DISCONT flag is set on the outgoing buffer + The base class was setting the DISCONT flag before checking whether the buffer + would be in segment or not. + Fix issues with DISCONT flags not being properly propagated downstream when + decoders buffers were out of segment. + https://bugzilla.gnome.org/show_bug.cgi?id=766800 + +2016-06-01 15:31:52 +0200 Joan Pau Beltran <joanpau.beltran@socib.cat> + + * docs/design/part-mediatype-video-raw.txt: + docs: design: add IYU2 raw video format description + https://bugzilla.gnome.org/show_bug.cgi?id=763026 + +2016-06-01 12:36:38 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/pango/gstbasetextoverlay.c: + textoverlay: enable shaded background drawing for new IYU2 format + +2016-05-30 16:40:26 +0200 Joan Pau Beltran <joanpau.beltran@socib.cat> + + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-format.c: + * gst-libs/gst/video/video-format.h: + * gst-libs/gst/video/video-info.c: + * gst-libs/gst/video/video-scaler.c: + * tests/check/libs/video.c: + video: add IYU2 format + This existed in 0.10 and is needed by dc1394src. + IYU2 format is a YUV fully-sampled packed format similar to v308 + but with different component order (U-Y-V instead of Y-U-V). + http://www.fourcc.org/yuv.php#IYU2 + https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5 + +2016-03-17 23:47:48 +0530 Nirbheek Chauhan <nirbheek.chauhan@gmail.com> + + * ext/libvisual/visual.c: + libvisual: Factor out endian-order RGB formats + MSVC seems to ignore preprocessor conditionals inside static + pad templates. Also remove unnecessary quotes inside caps strings. + +2016-05-24 00:44:21 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/allocators/Makefile.am: + * gst-libs/gst/app/Makefile.am: + * gst-libs/gst/audio/Makefile.am: + * gst-libs/gst/fft/Makefile.am: + * gst-libs/gst/pbutils/Makefile.am: + * gst-libs/gst/riff/Makefile.am: + * gst-libs/gst/rtp/Makefile.am: + * gst-libs/gst/rtsp/Makefile.am: + * gst-libs/gst/sdp/Makefile.am: + * gst-libs/gst/tag/Makefile.am: + * gst-libs/gst/video/Makefile.am: + g-i: pass compiler env to g-ir-scanner + It's what introspection.mak does as well. Should + fix spurious build failures on gnome-continuous. + +2016-05-23 19:28:39 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/opus/gstopusdec.c: + * ext/opus/gstopusenc.c: + opus: use default error messages in some more cases + +2016-05-23 15:35:39 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/opus/gstopusdec.c: + opusdec: use default error message strings in more cases + Details should go into the debug message. We should probably + make up new codes for encoder/decoder lib init failures too. + +2016-05-19 12:26:05 -0400 Olivier Crête <olivier.crete@collabora.com> + + * ext/opus/gstopusdec.c: + * ext/opus/gstopusenc.c: + opus: Post error message on GST_FLOW_ERROR + https://bugzilla.gnome.org/show_bug.cgi?id=766265 + +2016-05-14 14:41:28 +0200 Olivier Crête <olivier.crete@collabora.com> + + * ext/opus/gstopusdec.c: + opusdec: Use GST_AUDIO_DECODER_ERROR + This way, the first invalid stream won't break all decoding. + https://bugzilla.gnome.org/show_bug.cgi?id=766265 + +2016-05-16 12:52:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * gst-libs/gst/video/gstvideosink.c: + videosink: ensure the debug category is always initialized + gst_video_sink_center_rect() can be called without a GstVideoSink + having been instantiated so we can't relly on the video sink + class_init function to init the category. + Fix a warning when running: + GST_CHECKS=test_video_center_rect GST_DEBUG=6 G_DEBUG=fatal_warnings make libs/video.check-norepeat + https://bugzilla.gnome.org/show_bug.cgi?id=766510 + +2016-05-16 15:39:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * gst/playback/gstplaybin2.c: + playbin: fix suburidecodebin leak + We take a ref before removing which was never freeded. + The element is still alive anyway because the group has its own ref as + well. + Fix a leak with the 'test_suburi_error_wrongproto' test. + https://bugzilla.gnome.org/show_bug.cgi?id=766515 + +2016-05-16 09:52:35 +0100 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/elements/playbin.c: + tests: playbin: add test for new "element-setup" signal + https://bugzilla.gnome.org/show_bug.cgi?id=578933 + +2016-05-14 11:28:01 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst/playback/gstplaybin2.c: + playbin: add "element-setup" signal + Allows configuration of plugged elements. + https://bugzilla.gnome.org/show_bug.cgi?id=578933 + +2016-05-15 14:43:11 +0100 Tim-Philipp Müller <tim@centricular.com> + + * Makefile.am: + * gst-libs/gst/app/.gitignore: + * gst-libs/gst/app/gstapp-marshal.list: + app: remove marshaller files from git + +2016-05-15 14:37:41 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/app/Makefile.am: + * gst-libs/gst/app/gstappsink.c: + * gst-libs/gst/app/gstappsrc.c: + app: use generic marshallers + +2016-05-15 12:01:17 +0200 Edward Hervey <bilboed@bilboed.com> + + * ext/ogg/gstoggdemux.c: + oggdemux: Reset keyframe_granule when needed + This avoids ending up with bogus values when doing flushing seeks + in push-mode. + https://bugzilla.gnome.org/show_bug.cgi?id=766467 + +2016-05-15 13:31:03 +0300 Sebastian Dröge <sebastian@centricular.com> + + * docs/plugins/gst-plugins-base-plugins.args: + * docs/plugins/inspect/plugin-adder.xml: + * docs/plugins/inspect/plugin-alsa.xml: + * docs/plugins/inspect/plugin-app.xml: + * docs/plugins/inspect/plugin-audioconvert.xml: + * docs/plugins/inspect/plugin-audiorate.xml: + * docs/plugins/inspect/plugin-audioresample.xml: + * docs/plugins/inspect/plugin-audiotestsrc.xml: + * docs/plugins/inspect/plugin-cdparanoia.xml: + * docs/plugins/inspect/plugin-encoding.xml: + * docs/plugins/inspect/plugin-gio.xml: + * docs/plugins/inspect/plugin-libvisual.xml: + * docs/plugins/inspect/plugin-ogg.xml: + * docs/plugins/inspect/plugin-opus.xml: + * docs/plugins/inspect/plugin-pango.xml: + * docs/plugins/inspect/plugin-playback.xml: + * docs/plugins/inspect/plugin-subparse.xml: + * docs/plugins/inspect/plugin-tcp.xml: + * docs/plugins/inspect/plugin-theora.xml: + * docs/plugins/inspect/plugin-typefindfunctions.xml: + * docs/plugins/inspect/plugin-videoconvert.xml: + * docs/plugins/inspect/plugin-videorate.xml: + * docs/plugins/inspect/plugin-videoscale.xml: + * docs/plugins/inspect/plugin-videotestsrc.xml: + * docs/plugins/inspect/plugin-volume.xml: + * docs/plugins/inspect/plugin-vorbis.xml: + * docs/plugins/inspect/plugin-ximagesink.xml: + * docs/plugins/inspect/plugin-xvimagesink.xml: + docs: Update for git master + +2016-05-14 15:43:24 +0300 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/video/gstvideoaffinetransformationmeta.h: + video/affinetransformationmeta: define the coordinate space used + Based on the expected output from the already existing usage by androidmedia + and the opengl plugins. + https://bugzilla.gnome.org/show_bug.cgi?id=764667 + +2015-12-17 19:38:33 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/pbutils/descriptions.c: + pbutils: add description for WebVTT + +2015-09-30 17:55:22 +0100 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/Makefile.am: + * tests/check/elements/playsink.c: + tests: playsink: add minimal test for playsink element + Attempt to reproduce leak. + https://bugzilla.gnome.org/show_bug.cgi?id=755867 + +2016-05-10 12:17:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * tests/check/elements/vorbistag.c: + vorbistag: fix buffer leaks in tests + It internally uses gst_check_chain_func() so we + should call gst_check_drop_buffers() when tearing down tests to free + the buffers which have been exchanged through the pipeline. + https://bugzilla.gnome.org/show_bug.cgi?id=766226 + +2016-05-10 12:17:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * tests/check/elements/appsrc.c: + appsrc: fix buffer leaks in tests + It internally uses gst_check_chain_func() so we + should call gst_check_drop_buffers() when tearing down tests to free + the buffers which have been exchanged through the pipeline. + https://bugzilla.gnome.org/show_bug.cgi?id=766226 + +2016-05-10 12:17:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * tests/check/elements/audiorate.c: + audiorate: fix buffer leaks in tests + It internally uses gst_check_chain_func() so we + should call gst_check_drop_buffers() when tearing down tests to free + the buffers which have been exchanged through the pipeline. + https://bugzilla.gnome.org/show_bug.cgi?id=766226 + +2016-05-10 21:34:53 +0900 Hyunjun Ko <zzoon@igalia.com> + + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: parse sdp attributes in case that sdp message doesn't contain mikey message + https://bugzilla.gnome.org/show_bug.cgi?id=766204 + +2016-05-10 16:44:04 +0300 Sebastian Dröge <sebastian@centricular.com> + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/app/gstappsrc.c: + * gst-libs/gst/app/gstappsrc.h: + * win32/common/libgstapp.def: + appsrc: Add duration property for providing a duration in TIME format + https://bugzilla.gnome.org/show_bug.cgi?id=766229 + +2016-05-10 10:01:12 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideodecoder.h: + * gst-libs/gst/video/gstvideoencoder.h: + videodecoder/encoder: Correct GST_IS_*CODER_CLASS macros + They are currently not used, but would result in a compiler error due to wrong + variable name usage. + https://bugzilla.gnome.org/show_bug.cgi?id=766203 + +2016-05-05 13:16:57 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/tcp/gstmultihandlesink.c: + multihandlesink: Warn if trying to change the state from the streaming thread + Instead of silently returning GST_STATE_CHANGE_FAILURE. + +2016-05-04 11:33:50 +1000 Alessandro Decina <alessandro.d@gmail.com> + + * gst/playback/gstdecodebin2.c: + decodebin: an element can negotiate before we block it + When we initialize an element in decodebin, we 1) set it to PAUSED and + push sticky events on its sinkpad to trigger negotiation 2) block its + src pad(s) to detect CAPS events. We can't block before 1) as that + would lead to a deadlock. + It's possible (and common) tho that an element configures its srcpad + during 1) and before 2). Therefore before this change we would + typically block and expose an element's pad only once the element + output its first buffer, triggering sticky events to be resent. One + consequence of this behaviour is that it sometimes broke + renegotiation. + With this change now we consider a pad ready to be exposed when it's + ->blocked or has fixed caps (which were set before we could block it). + https://bugzilla.gnome.org/show_bug.cgi?id=765456 + +2016-05-02 14:21:55 -0300 Thiago Santos <thiagoss@osg.samsung.com> + + * ext/opus/gstopusdec.c: + * tests/check/elements/opus.c: + opusdec: intersect with the filter before returning on getcaps + So upstream gets a smaller set to decide upon as it is what it requested + with the filter + https://bugzilla.gnome.org/show_bug.cgi?id=765684 + +2016-05-02 10:23:09 -0300 Thiago Santos <thiagoss@osg.samsung.com> + + * ext/opus/gstopusdec.c: + * tests/check/elements/opus.c: + opusdec: improve getcaps to return all possible rates + The library is capable of converting to different rates. + Includes tests. + https://bugzilla.gnome.org/show_bug.cgi?id=765684 + +2016-05-02 10:21:52 -0300 Thiago Santos <thiagoss@osg.samsung.com> + + * ext/opus/gstopusdec.c: + opusdec: remove artificial restriction on rate negotiation + Remove restrictions when rate is 48000, the underlying lib supports + converting any of the input to any of the output rates. + https://bugzilla.gnome.org/show_bug.cgi?id=765684 + +2016-05-01 23:19:57 -0300 Thiago Santos <thiagoss@osg.samsung.com> + + * ext/opus/gstopusdec.c: + opusdec: refactor getcaps repeated code into a function + Easier to read and maintain + +2016-05-02 10:36:07 -0300 Thiago Santos <thiagoss@osg.samsung.com> + + * tests/check/elements/opus.c: + tests: opus: remove apparently useless macro in tests + +2016-04-29 11:06:49 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Fix caps memory leak + +2016-04-28 11:21:47 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Recurse into nested container profiles and only add the final audio/video streams + If we e.g. have AVI with DV container with video/audio inside the DV + container, we can't handle this at this point with an encoding profile. + Instead of erroring out, flatten the container hierarchy. + https://bugzilla.gnome.org/show_bug.cgi?id=765708 + +2016-04-28 11:18:23 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Fail to create encoding profile from discoverer info if no streams could be added + https://bugzilla.gnome.org/show_bug.cgi?id=765708 + +2016-04-28 11:15:53 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Move adding of each stream to a helper function + https://bugzilla.gnome.org/show_bug.cgi?id=765708 + +2015-08-21 10:40:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr> + + * gst-libs/gst/tag/gstexiftag.c: + * tests/check/libs/tag.c: + exiftag: handle GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag + This tag match the EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM exif tag and is + stored on a short. Hence there is a precision loss compared to the + GstTag which is a double value. + https://bugzilla.gnome.org/show_bug.cgi?id=753930 + +2015-08-21 10:39:36 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr> + + * gst-libs/gst/tag/tag.h: + * gst-libs/gst/tag/tags.c: + tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag + It is the 35 mm equivalent focal length of the lens, mainly used in + photography. Tag value is stored in a double value to be consistent with + GST_TAG_CAPTURING_FOCAL_LENGTH. + https://bugzilla.gnome.org/show_bug.cgi?id=753930 + +2016-04-28 09:59:25 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/opus/gstopusdec.c: + opusdec: fix caps leaks + The caps returned by gst_pad_get_allowed_caps() was leaked. + https://bugzilla.gnome.org/show_bug.cgi?id=765706 + +2016-04-27 18:08:46 +0900 Kipp Cannon <kipp.cannon@ligo.org> + + * gst-libs/gst/audio/audio.c: + * gst-libs/gst/audio/audio.h: + audio: Add const to segment parameter of gst_audio_buffer_clip() + e.g., allows this to be used with the reference retrieved by + gst_event_parse_segment(). + https://bugzilla.gnome.org/show_bug.cgi?id=765663 + +2016-04-21 08:45:40 +0200 Jakub Adam <jakub.adam@ktknet.cz> + + * sys/ximage/ximagesink.c: + ximagesink: generate reconfigure on window handle change + When ximagesink is given a new window handle, it should check + its geometry and if the size of the new window differs from + the previous one, create reconfigure event in order to get + a chance to negotiate a more suitable image resolution with + the upstream elements. + We can't rely on receiving Expose or ConfigureNotify from + the X server for the newly assigned window, which would also + generate reconfigure. + https://bugzilla.gnome.org/show_bug.cgi?id=765424 + +2016-04-25 17:16:04 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/encoding/gstsmartencoder.c: + smartencoder: Only accept TIME segments for real + ... and don't try to push pending data without ever having received a SEGMENT + event before EOS + https://bugzilla.gnome.org/show_bug.cgi?id=765541 + +2016-04-25 16:48:36 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/codec-utils.c: + codec-utils: H265 level idc 0 is not valid + Don't put level=0 into the caps, it confuses other elements. + https://bugzilla.gnome.org/show_bug.cgi?id=765538 + +2016-04-25 16:47:00 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/codec-utils.c: + codec-utils: H264 level idc 0 is not valid + Don't put level=0 into the caps, it confuses other elements. + https://bugzilla.gnome.org/show_bug.cgi?id=765538 + +2016-04-25 16:06:39 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Remove codec_data and streamheader fields from constraint caps + When converting discoverer output to an encoding profile, it makes sense to + omit these. It's very very unlikely that our encoder is going to produce bit + by bit the same codec_data or streamheader. + https://bugzilla.gnome.org/show_bug.cgi?id=765534 + +2016-04-25 15:05:36 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/pbutils/encoding-profile.h: + encoding-profile: Don't put G_BEGIN_DECLS around #include statements + It should only be around our own declarations. + +2016-04-22 15:07:10 +0200 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-orc-dist.c: + * gst-libs/gst/video/video-orc-dist.h: + * gst-libs/gst/video/video-orc.orc: + video-converter: add more fastpaths for I420 -> RGB + Use the I420->BGRA and a new I420->ARGB to speed up any I420 to RGB + operation. + +2016-04-19 17:36:20 +0200 Josep Torra <n770galaxy@gmail.com> + + * gst-libs/gst/sdp/gstmikey.c: + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: update since markers to 1.8.1 for some new APIs + As we decided to backport some fixes we update the since markers. + +2016-04-17 16:21:32 +0100 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/pipelines/vorbisenc.c: + tests: vorbisenc: fix with CK_FORK=no + +2016-04-12 16:32:20 +0300 Vivia Nikolaidou <vivia@toolsonair.com> + + * gst/playback/gstdecodebin2.c: + decodebin: Always add a multiqueue in single-stream use-buffering pipelines + If we are configured to use buffering and there is no demuxer in the chain, we + still want a multiqueue, otherwise we will ignore the use-buffering property. + In that case, we will insert a multiqueue after the parser or decoder - not + elsewhere, otherwise we won't have timestamps. + https://bugzilla.gnome.org/show_bug.cgi?id=764948 + +2016-04-18 17:39:02 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * tools/gst-play.c: + gst-play: call gst_deinit() + So we can use gst-play to track memory leaks. + https://bugzilla.gnome.org/show_bug.cgi?id=765216 + +2016-04-15 17:48:26 +0100 Tim-Philipp Müller <tim@centricular.com> + + * win32/common/libgstsdp.def: + win32: update .def for new API + +2016-04-16 02:11:59 +1000 Jan Schmidt <jan@centricular.com> + + * gst-libs/gst/audio/gstaudioringbuffer.c: + Revert "audioringbuffer: start ringbuffer if needed upon commit" + This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e. + Causes audio glitches at startup by starting to output segments + from the ringbuffer before it has been filled / fully prerolled. + https://bugzilla.gnome.org/show_bug.cgi?id=657076 + +2016-04-15 00:18:50 -0700 Aleix Conchillo Flaqué <aconchillo@gmail.com> + + * gst-libs/gst/sdp/gstsdpmessage.c: + * gst-libs/gst/sdp/gstsdpmessage.h: + sdpmessage: new gst_sdp_media_parse_keymgmt/gst_sdp_media_parse_keymgmt + We add a couple of new functions gst_sdp_media_parse_keymgmt and + gst_sdp_media_parse_keymgmt. We also implement + gst_sdp_message_attributes_to_caps and gst_sdp_media_attributes_to_caps + in terms of these new functions and also gst_mikey_message_to_caps. + +2016-04-14 23:29:34 -0700 Aleix Conchillo Flaqué <aconchillo@gmail.com> + + * gst-libs/gst/sdp/gstmikey.c: + * gst-libs/gst/sdp/gstmikey.h: + * gst-libs/gst/sdp/gstsdpmessage.c: + mikey: add new function gst_mikey_message_to_caps + +2016-04-15 12:54:32 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> + + * gst/subparse/gstsubparse.c: + subparse: fix build with GCC 4.6.3 + gstsubparse.c: In function ‘parse_subrip’: + gstsubparse.c:988:7: error: ignoring return value of ‘strtol’, declared with attribute warn_unused_result [-Werror=unused-result] + cc1: all warnings being treated as errors + https://bugzilla.gnome.org/show_bug.cgi?id=765042 + +2016-04-15 13:08:38 +0200 Josep Torra <n770galaxy@gmail.com> + + * tests/icles/.gitignore: + .gitignore: add test-resample binary + +2016-04-14 17:26:54 -0700 Aleix Conchillo Flaqué <aconchillo@gmail.com> + + * gst-libs/gst/sdp/gstmikey.c: + mikey: allow passing srtp or srtcp to create mikey message + Current implementation requires all srtp and srtcp parameters to be + given in the caps. MIKEY uses only one algorithm for encryption and one + for authentication so we now allow passing srtp or srtcp parameters. If + both are given srtp parametres will be preferred. + https://bugzilla.gnome.org/show_bug.cgi?id=765027 + +2016-04-14 10:00:06 +0100 Julien Isorce <j.isorce@samsung.com> + + * README: + * common: + Automatic update of common submodule + From 6f2d209 to ac2f647 + +2016-04-13 10:07:33 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideometa.c: + * gst-libs/gst/video/video-multiview.c: + * gst-libs/gst/video/video-overlay-composition.c: + videometa: Initialize all fields of all metas with default values + The metas are not allocated with all fields initialized to zeroes. + https://bugzilla.gnome.org/show_bug.cgi?id=764902 + +2016-04-11 15:28:00 +0000 Arjen Veenhuizen <arjen.veenhuizen@tno.nl> + + * gst-libs/gst/video/gstvideometa.c: + videometa: Explicitly initialize GstVideoCropMeta on init + It is not allocated with all fields initialized to 0. + https://bugzilla.gnome.org/show_bug.cgi?id=764902 + +2016-03-21 16:34:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/alsa/gstalsa.c: + alsa: properly convert position-less channels from ALSA + The only way for ALSA to expose a position-less multi channels is to + return an array full of SND_CHMAP_MONO. Converting this to a + GST_AUDIO_CHANNEL_POSITION_MONO array would be invalid as + GST_AUDIO_CHANNEL_POSITION_MONO is meant to be used only with one + channel. + Fix this by using GST_AUDIO_CHANNEL_POSITION_NONE which is meant to be + used for position-less channels. + https://bugzilla.gnome.org/show_bug.cgi?id=763799 + +2016-03-21 16:29:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * gst-libs/gst/audio/gstaudioringbuffer.c: + audioringbuffer: don't attempt to reorder position-less channels + As said in its doc GST_AUDIO_CHANNEL_POSITION_NONE is meant to be used + for "position-less channels, e.g. from a sound card that records 1024 + channels; mutually exclusive with any other channel position". + But at the moment using such positions would raise a + 'g_return_if_reached' warning as gst_audio_get_channel_reorder_map() + would reject it. + Fix this by preventing any attempt to reorder in such case as that's not + what we want anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=763799 + +2016-03-21 07:26:50 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * gst-libs/gst/audio/gstaudioringbuffer.c: + audio: add debug output if channels mapping does not match + https://bugzilla.gnome.org/show_bug.cgi?id=763985 + +2016-03-21 11:58:13 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/alsa/gstalsa.c: + alsa: add some debugging output to alsa_detect_channels_mapping() + https://bugzilla.gnome.org/show_bug.cgi?id=763985 + +2016-03-21 11:46:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/audio/audio-channels.c: + * gst-libs/gst/audio/audio-channels.h: + * win32/common/libgstaudio.def: + gst-audio: add gst_audio_channel_positions_to_string() + We currently don't log much about channel positions making debugging + harder as it should be. This is the first step in my attempt to improve + this. + https://bugzilla.gnome.org/show_bug.cgi?id=763985 + +2016-03-21 05:09:10 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/alsa/gstalsa.c: + * ext/alsa/gstalsa.h: + * ext/alsa/gstalsasink.c: + * ext/alsa/gstalsasrc.c: + alsa: factor out alsa_detect_channels_mapping() + This code was duplicated in alsasrc and alsasink. + https://bugzilla.gnome.org/show_bug.cgi?id=763985 + +2016-03-21 05:06:18 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> + + * ext/alsa/gstalsa.h: + alsa: coding style fix + Was using tabs instead of spaces. + https://bugzilla.gnome.org/show_bug.cgi?id=763985 + +2016-04-12 16:34:00 +0300 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst-libs/gst/allocators/gstfdmemory.c: + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + fdmemory, rtpbasedepayload: Ran gst-indent + https://bugzilla.gnome.org/show_bug.cgi?id=764948 + +2016-04-12 16:25:12 +0300 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/playback/gstdecodebin2.c: + decodebin: Rename misleading variable is_parser_converter into is_parser + In that place, the variable isn't checking whether the element is a + converter, only if it is a parser. + https://bugzilla.gnome.org/show_bug.cgi?id=764948 + +2016-04-11 11:28:09 +0200 Fabrice Bellet <fabrice@bellet.info> + + * gst-libs/gst/audio/gstaudiosink.c: + * gst-libs/gst/audio/gstaudiosrc.c: + audio: Fix a race with the audioringbuffer thread + There is a small window of time where the audio ringbuffer thread + can access the parent thread variable, before it's initialized + by the parent thread. The patch replaces this variable use by + g_thread_self(). + https://bugzilla.gnome.org/show_bug.cgi?id=764865 + +2016-04-06 17:57:28 +0100 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/libs/gstlibscpp.cc: + tests: libscpp: test RTP/RTCP buffer init macros with C++ compiler + +2016-04-06 21:03:19 +1000 Jan Schmidt <jan@centricular.com> + + * gst/playback/gstsubtitleoverlay.c: + subtitleoverlay: Don't complain when stream-start is the first event. + When blocking the subtitle pad, it's expected that stream-start + is the first event, and that it can precede caps arriving on the + peer pad - in fact the caps can only have arrived on the peer + pad when it was pre-primed with sticky events previously. + Instead, just pass the stream-start and don't block, because + stream-start is sticky anyway. + +2016-04-06 21:00:10 +1000 Jan Schmidt <jan@centricular.com> + + * gst/subparse/gstsubparse.c: + subparse: WebVTT Cue identifiers are optional + Don't require a cue identifier preceding the time range line + when parsing WebVTT. We could also store the CueID, but it's + not using anywhere, so just ignore it for now. + +2016-04-05 14:26:55 +0300 Sebastian Dröge <sebastian@centricular.com> + + * win32/common/libgstaudio.def: + win32: Add new libgstaudio symbols + +2016-04-01 12:25:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/audio/gstaudiodecoder.h: + * gst-libs/gst/audio/gstaudioencoder.c: + * gst-libs/gst/audio/gstaudioencoder.h: + libs: audio: split allocation query caps and pad caps + Since the allocation query caps contains memory size and the pad's caps + contains the display size, an audio encoder or decoder might need to allocate + a different buffer size than the size negotiated in the caps. + This patch splits this logic distinction for audiodecoder and audioencoder. + Thus the user, if needs a different allocation caps, should set it through + gst_audio_{encoder,decoder}_set_allocation_cap() before calling the negotiate() + vmethod. Otherwise the allocation_caps will be the same as the caps in the + src pad. + https://bugzilla.gnome.org/show_bug.cgi?id=764421 + +2016-03-31 15:31:31 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + * gst-libs/gst/video/gstvideoutils.c: + * gst-libs/gst/video/gstvideoutils.h: + libs: video: split allocation query caos and pad caps + Since the allocation query caps contains memory size and the pad's caps + contains the display size, a video encoder or decoder might need to allocate + a different frame size than the size negotiated in the caps. + This patch splits this logic distinction for videodecoder and videoencoder. + The user if needs a different allocation caps, should set the allocation_caps + in the GstVideoCodecState before calling negotiate() vmethod. Otherwise the + allocation_caps will be the same as the caps set in the src pad. + https://bugzilla.gnome.org/show_bug.cgi?id=764421 + +2016-04-04 16:39:21 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/audio/gstaudioencoder.c: + audioencoder: fix gtk-doc comment format + +2016-04-02 10:37:55 +0200 Mikhail Fludkov <misha@pexip.com> + + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + * tests/check/libs/rtpbasedepayload.c: + rtpbasedepayload: look at ssrc before sequence numbers + Doing so prevents us dropping buffers in the rare, but possible, situations, + when the stream changes SSRC and new sequence numbers does not differ + much from the last sequence number from previous SSRC. For example: + ssrc - 0xaaaa 101,102,103,104 ssrc - 0xbbbb 102, 103, 104, 105... + In the scenario above we don't want to drop the first 3 packets of + 0xbbbb stream. + https://bugzilla.gnome.org/show_bug.cgi?id=764459 + +2016-04-03 11:40:50 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/videorate/gstvideorate.c: + videorate: Don't fill up the segment with duplicate buffers if drop_only==TRUE + +2016-04-03 11:38:28 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/videorate/gstvideorate.c: + videorate: Remove dead code + We never get into this code path at all if drop_only==TRUE. + +2016-03-29 17:19:41 +0200 Frédéric Bertolus <frederic.bertolus@parrot.com> + + * gst/videorate/gstvideorate.c: + videorate: avoid useless buffer copy in drop-only mode + Make writable the buffer before pushing it lead to a buffer copy. It's + because a reference is keep for the previous buffer. + The previous buffer reference is only need to duplicate the buffer. In + drop-only mode, the previous buffer is release just after pushing the + buffer so a copy is done but it's useless. + https://bugzilla.gnome.org/show_bug.cgi?id=764319 + +2016-04-02 15:19:44 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/video/video-frame.c: + video: fix example code in gst_video_frame_map() docs + GST_VIDEO_FRAME_PLANE_PSTRIDE() does not exist. + https://bugzilla.gnome.org/show_bug.cgi?id=764414 + +2016-04-02 10:09:07 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/pbutils/gstdiscoverer-types.c: + discoverer: copy over result and seekable fields when copying a discoverer info + The function gst_discoverer_info_copy doesn't copy the data members seekable + and result of the source GstDiscovererInfo. + In the case of copying a GstDiscovererInfo for later use, the seekbale will be + undefined, which in practice usually will be false, even though the seekable of + the original GstDiscovererInfo is true. + https://bugzilla.gnome.org/show_bug.cgi?id=762710 + +2016-03-31 13:32:32 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * gst-libs/gst/video/video-format.h: + video-format: Fix macro documentation + The parameter type was wrongly documenting that a GstVideoInfo structure + pointer was needed, while it needs a GstVideoFormatInfo structure + pointer. + https://bugzilla.gnome.org/show_bug.cgi?id=764414 + +2016-03-26 20:53:08 +0000 Tim-Philipp Müller <tim@centricular.com> + + * tests/check/elements/subparse.c: + * tests/check/libs/rtp.c: + test: fix indentation + +2016-03-26 20:52:16 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + rtp: rtcpbuffer: fix indentation + https://bugzilla.gnome.org/show_bug.cgi?id=761944 + +2016-03-26 20:50:31 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + rtp: rtpcbuffer: fix Since markers + https://bugzilla.gnome.org/show_bug.cgi?id=761944 + +2016-03-30 11:16:49 +1100 Alessandro Decina <alessandro.d@gmail.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: disable neon on arm64 + Fix the build on arm64 by using HAVE_ARM_NEON instead of __ARM_NEON__. + +2016-03-29 22:16:38 +1100 Jan Schmidt <jan@centricular.com> + + * gst/subparse/gstsubparse.c: + subparse: Add more parsing guards + Insert extra checks for the validity of the incoming + data when parsing subrip/webvtt content and debug log + output for invalid content. + Should fix Coverity warnings. + +2016-03-29 10:23:08 +0100 Luis de Bethencourt <luisbg@osg.samsung.com> + + * gst/subparse/gstsubparse.c: + subparse: add missing break between formats + A break is missing at the end of case GST_SUB_PARSE_FORMAT_LRC or it will + fallthrough to WebVTT. This fixes commit fd2a14144a7a. + +2016-03-29 12:11:22 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) in more places + +2016-03-29 11:25:15 +0300 Sreerenj Balachandran <sreerenj.balachandran@intel.com> + + * win32/common/video-enumtypes.c: + win32: Update exports for new video formats + Update win32 exports for P010_10BE and P010_10LE + video formats. + +2016-03-29 11:16:42 +0300 Scott D Phillips <scott.d.phillips@intel.com> + + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-format.c: + * gst-libs/gst/video/video-format.h: + * gst-libs/gst/video/video-info.c: + video: add P010 format support + P010 is a YUV420 format with an interleaved U-V plane and 2-bytes per + component with the the color value stored in the 10 most significant + bits. + https://bugzilla.gnome.org/show_bug.cgi?id=761607 + --- + Changes since v2: + - Set bits=16 in DPTH10_10_10_HI + Changes since v1: + - Fixed x-offset calculation in uv. + - Added 6-bit shifts to FormatInfo. + +2016-03-29 10:15:07 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) + The latter is only available on x86-64 for some reason. + +2016-03-29 08:21:54 +0200 Edward Hervey <bilboed@bilboed.com> + + * gst-libs/gst/audio/Makefile.am: + audio: Fix distcheck + Don't forget to dist the needed files (which don't need to be installed) + +2016-03-28 15:37:36 +0200 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: estimate memory usage in auto mode + Estimate the memory usage and use this to decide between full or + interpolated filter. + +2016-03-28 12:51:26 +0200 Wim Taymans <wtaymans@redhat.com> + + * gst/audioresample/Makefile.am: + * gst/audioresample/README: + * gst/audioresample/gstaudioresample.c: + audioresample: remove last ORC remains + +2016-03-16 12:55:56 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: small optimizations + +2016-03-04 17:15:44 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + audio-resampler: improve non-interleaved flags + Make it possible to have different interleaving on input and output + because we can quite trivially do that. + +2016-03-02 11:40:15 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: unroll some more loops + Unroll some loops. + +2016-03-01 16:31:18 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: keep precision + Transpose and add before applying the cubic interpolation to avoid + overflows when using full precision. + +2016-03-01 16:26:15 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: small cleanups + +2016-02-25 15:38:46 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: optimize no resampling + Switch to the faster nearest resample method when are doing no rate + conversion. + +2016-02-25 14:09:44 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + audio-resampler: add VARIABLE_RATE flag + Add a VARIABLE rate flag that selects an interpolating filter. + Move some function setup code in the _new function. + +2016-02-23 04:46:55 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resampler: more neon optimizations + +2016-02-24 12:57:26 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: avoid overflow in cubic interpolation + Shift out an extra bit to have some more headroom when doing cubic + interpolation. + +2016-02-24 12:56:39 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: overread only 8 taps + We only need 8 taps of zeroes as headroom for the SIMD optimized + functions. + +2016-02-24 12:55:28 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + audio-converter: use helper to check intermediate format + +2016-02-23 15:37:37 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: fix phase + +2016-02-22 11:16:28 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resampler: fix neon assembler + +2016-02-22 13:19:02 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: avoid some format conversion + Store the filter in the desired sample format so that we can simply do a + linear or cubic interpolation to get the new filter instead of having to + go through gdouble and then convert. + +2016-02-22 03:28:21 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resampler: fix neon linear float interpolation + +2016-02-19 16:39:43 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: reorder filter coefficients for more speed + Reorder the filter coefficients to make it easier to use SIMD for + interpolation. + Fix orc flags a little. + Add specialized nearest resampling function. + +2016-02-19 10:40:03 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: remove stereo optimizations + The stereo optimizations don't give enough benefit. + Rename none to full to make it clear that we use a full filter instead + of an interpolated one + +2016-02-18 12:48:45 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resample: remove neon double stubs + NEON does not have double types. + +2016-02-18 12:38:49 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resampler: add more neon optimizations + +2016-02-18 11:05:18 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + audio-resampler: add more neon optimizations + +2016-02-17 11:20:06 -0500 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-neon.h: + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: add neon optimizations + Unroll some more loops in the fallback code that seems to work fine + for ARM. + Add some simple ARM optimizations taken from speex. + +2016-02-17 13:12:31 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: give better hints about the precision + Give better hints to the compiler about the precision we expect from + the multiplications. + +2016-02-17 12:05:58 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resample: small optimizations + Remove some inline functions that are called in the slow path. + Unroll C fallback functions a little. + +2016-02-16 09:18:13 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: Use n_phases when calculating taps offset + Tweak linear interpolation oversampling. + Clear filter cache on rate changes when using a full filter. + +2016-02-15 18:06:19 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + * gst/audioresample/gstaudioresample.c: + * gst/audioresample/gstaudioresample.h: + audio-resampler: improve filter construction + Remove some unused variables from the inner product functions. + Make filter coefficients by interpolating if required. + Rename some fields. + Try hard to not recalculate filters when just chaging the rate. + Add more proprties to audioresample. + +2016-02-12 10:00:22 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: avoid overflow in fraction calculation + +2016-02-11 19:42:31 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: increase precision + +2016-02-11 17:40:56 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: add more optimizations + +2016-02-11 13:23:07 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resample: fix taps conversion + We do taps conversion in place so make sure we don't overwrite the + input with temporary data. + Optimize some more gint16 functions. + +2016-02-11 11:57:26 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: Improve taps memory layout + Rearrange the oversampled taps in memory to make it easier to use + SIMD instructions on them. this simplifies some sse code. + Add some more optimizations + +2016-02-10 17:28:24 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: add cubic interpolation + +2016-02-10 13:31:11 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + * win32/common/libgstaudio.def: + audio-resampler: add more functions + Use some macros to generate more functions + +2016-02-10 12:04:12 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + audio-resampler: add linear interpolation method + Make more functions into macros. + Add linear interpolation of filter coefficients. + +2016-02-04 15:22:39 +0100 Wim Taymans <wtaymans@redhat.com> + + * tests/icles/Makefile.am: + * tests/icles/test-resample.c: + tests: add resample test + +2016-02-04 15:21:40 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + audio-resampler: add max-phase-error config + +2016-02-04 15:19:53 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: improve tap calculation + Return the taps from make_taps, this makes it possible to not actually + have to cache the taps when we want to. + Fix overflow in phase calculation. + +2016-02-02 12:06:44 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + audio-resampler: fix guint -> gint + +2016-02-02 11:48:16 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: improve phase error + Accept a phase error of maximum 10%, which turns out to be inaudible. + +2016-02-01 17:18:32 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: improve phase calculation + Also calculate the GCD with the current phase so that we can accurately + represent the current phase with the new resample rates. + +2016-01-26 22:53:33 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: fix history after buffer resize + When we resize the temp buffer, move the history in its new place. + +2016-01-26 16:42:16 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + * gst/audioresample/gstaudioresample.c: + * win32/common/libgstaudio.def: + audio-resampler: add reset function + Add a function to reset the audio-resampler. + Use new function in audio-converter + Use the new functions in gstaudioresample and fixup drain functions. + +2016-01-26 16:40:57 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: Small fixes + Fix the phase. + Reset the new sample buffer with 0. + Move samples around when we change the filter size. + +2016-01-26 16:38:50 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: Rework make_taps + Make it return a pointer to the generated taps. That way we can later + decide to actually cache it or not. + +2016-01-26 09:57:03 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + * gst/audioresample/gstaudioresample.c: + audio-resampler: handle filter length changes + Update the buffer with history samples when the filter length changes + because of an update of the parameters or sample rates. + +2016-01-22 17:34:39 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: fix samples_avail + We only know the taps after we calculate them. + +2016-01-22 16:45:28 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: work on dynamically changing the samplerate + Calculate the new phase for the new sample rate. + Fix some docs. + +2016-01-22 10:28:13 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: small cleanups + +2016-01-21 10:38:17 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: add fallback to mono function + Remove stereo implementations. Implement fall back to mono functions + when the stereo function is missing. + +2016-01-18 12:52:41 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: add float stereo SSE function + +2016-01-15 12:45:47 +0100 Wim Taymans <wtaymans@redhat.com> + + * configure.ac: + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: Fix compilation of intrinsics + Only compile intrinsics when we are building for the selected + architecture. + Add sse4.1 optimized int32 resampler code. + +2016-01-15 11:43:13 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + audioconvert: only resample on supported formats + +2016-01-15 11:20:29 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-resampler.c: + * gst/audioresample/gstaudioresample.c: + audio-converter: make some optimized functions + Make an optimized function that just calls the resampler when possible. + Optimize the resampler transform_size function a little. + +2016-01-15 10:26:02 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: remove mirror function + We don't need to mirror the input, just assume 0 samples. + Always move the processed samples to the start of the buffer. + Add some G_LIKELY + +2016-01-13 17:50:38 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + audio-resampler: also enable sse when sse2 is available + +2016-01-13 17:44:39 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: optimizations + Improve int16 resampling by using pmaddwd + Use intrinsics to scale and pack int16 samples + Align the coefficients so that we can use aligned loads + Add padding to taps and samples so that we don't have to use partial + loads for the remainder of the loops. + Remove copy_n, we can reuse the plain copy function with some new + parameters. + Align and pad the sample array. + +2016-01-12 18:55:19 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-core.h: + * gst-libs/gst/audio/audio-resampler-x86.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: make pluggable optimized functions + Add support for x86 specialized functions and select them at runtime. + +2016-01-12 10:23:53 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-resampler-core.h: + * gst-libs/gst/audio/audio-resampler.c: + audio-resampler: combine functions + +2016-01-11 16:25:02 +0100 Wim Taymans <wtaymans@redhat.com> + + * win32/common/libgstaudio.def: + defs: update + +2016-01-05 16:06:22 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-converter.h: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + * gst/audioresample/gstaudioresample.c: + audio-converter: simplify API + Remove the consumed/produced output fields from the resampler and + converter. Let the caler specify the right number of input/output + samples so we can be more optimal. + Use just one function to update the converter configuration. + Simplify some things internally. + Make it possible to use writable input as temp space in audioconvert. + +2016-01-04 18:28:38 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-converter.h: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + * gst/audioresample/gstaudioresample.c: + * gst/audioresample/gstaudioresample.h: + audio-converter: more work on resampling + - Fix the resampler in the audio converter + - fix memory leaks + +2015-11-13 15:32:29 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/audio/Makefile.am: + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-converter.h: + * gst-libs/gst/audio/audio-resampler-core.h: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio-resampler.h: + * gst-libs/gst/audio/audio.h: + * gst-libs/gst/audio/dbesi0.c: + * gst/audioresample/Makefile.am: + * gst/audioresample/arch.h: + * gst/audioresample/fixed_arm4.h: + * gst/audioresample/fixed_arm5e.h: + * gst/audioresample/fixed_bfin.h: + * gst/audioresample/fixed_debug.h: + * gst/audioresample/fixed_generic.h: + * gst/audioresample/gstaudioresample.c: + * gst/audioresample/gstaudioresample.h: + * gst/audioresample/resample.c: + * gst/audioresample/resample_neon.h: + * gst/audioresample/resample_sse.h: + * gst/audioresample/speex_resampler.h: + * gst/audioresample/speex_resampler_double.c: + * gst/audioresample/speex_resampler_float.c: + * gst/audioresample/speex_resampler_int.c: + * gst/audioresample/speex_resampler_wrapper.h: + audio-converter: add resampler + Add a resampler to the processing chain when needed. + port the audio resampler to the new audioconverter library + +2016-03-25 01:13:54 +1100 Jan Schmidt <jan@centricular.com> + + * win32/common/libgstpbutils.def: + * win32/common/libgstrtp.def: + win32: update win32 exports for new API + +2016-03-07 23:29:43 +1100 Jan Schmidt <jan@centricular.com> + + * gst/subparse/gstsubparse.c: + * gst/subparse/gstsubparse.h: + * tests/check/elements/subparse.c: + subparse: WebVTT parsing support + WebVTT is a new subtitle format for HTML5 video. In this first + version of the parser the cue settings are parsed but only stored in + the internal parser state structure. Later on these settings could be + part of the GstBuffer metadata. + https://bugzilla.gnome.org/show_bug.cgi?id=629764 + +2016-02-26 02:58:26 +1100 Jan Schmidt <jan@centricular.com> + + * gst/typefind/gsttypefindfunctions.c: + typefind: Add a typefinder for WebVTT files + +2016-02-26 02:56:15 +1100 Jan Schmidt <jan@centricular.com> + + * gst/typefind/gsttypefindfunctions.c: + typefind: Reduce URI typefinder from MAX to LIKELY + Don't claim maximum likelihood for anything that starts + with text that looks like a uri, it's too broad. + +2016-03-24 14:59:48 +1100 Jan Schmidt <jan@centricular.com> + + * gst/playback/gstdecodebin2.c: + decodebin2: Hold new buffering_post lock while posting msgs + There's a small window between decodebin choosing a buffering level + to post and another thread choosing a different buffering level + where things can race. Close that window by holding a new lock + that's only for posting buffering messages - like what was done + in multiqueue. + https://bugzilla.gnome.org/show_bug.cgi?id=764020 + +2016-03-08 19:22:18 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/audio/gstaudiodecoder.c: + audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks + No need to do this for each input buffer, we have the input caps + stored somewhere already. + https://bugzilla.gnome.org/show_bug.cgi?id=763337 + +2016-03-22 11:25:49 +0900 Jimmy Ohn <yongjin.ohn@lge.com> + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/pbutils/codec-utils.c: + * gst-libs/gst/pbutils/codec-utils.h: + * win32/common/libgstpbutils.def: + codec-utils: Add utilities for AAC and the AACHead header + Add utilities about the channels and sample rate for AAC. + https://bugzilla.gnome.org/show_bug.cgi?id=749110 + +2016-03-21 16:06:20 +0900 Jimmy Ohn <yongjin.ohn@lge.com> + + * gst/playback/gstdecodebin2.c: + decodebin: Modify result of seekable in check_upstream_seekable function + In check_upstream_seekable function, it returns FALSE value even though + we already declare about the seekable variable. So, This patch return + result of seekable in check_upstream_seekable function. + https://bugzilla.gnome.org/show_bug.cgi?id=763975 + +2016-03-03 16:46:24 +0900 Vineeth TM <vineeth.tm@samsung.com> + + * ext/alsa/gstalsamidisrc.c: + * ext/alsa/gstalsasink.c: + * ext/alsa/gstalsasrc.c: + * ext/libvisual/visual.c: + * ext/ogg/gstoggaviparse.c: + * ext/ogg/gstoggdemux.c: + * ext/ogg/gstoggmux.c: + * ext/ogg/gstoggparse.c: + * ext/ogg/gstogmparse.c: + * ext/opus/gstopusdec.c: + * ext/opus/gstopusenc.c: + * ext/pango/gstbasetextoverlay.c: + * ext/pango/gsttextoverlay.c: + * ext/pango/gsttextrender.c: + * ext/theora/gsttheoradec.c: + * ext/theora/gsttheoraenc.c: + * ext/theora/gsttheoraparse.c: + * ext/vorbis/gstvorbisdec.c: + * ext/vorbis/gstvorbisenc.c: + * ext/vorbis/gstvorbisparse.c: + * gst-libs/gst/app/gstappsink.c: + * gst-libs/gst/app/gstappsrc.c: + * gst-libs/gst/audio/gstaudiocdsrc.c: + * gst-libs/gst/tag/gsttagdemux.c: + * gst/adder/gstadder.c: + * gst/audioconvert/gstaudioconvert.c: + * gst/audiorate/gstaudiorate.c: + * gst/audioresample/gstaudioresample.c: + * gst/audiotestsrc/gstaudiotestsrc.c: + * gst/encoding/gstencodebin.c: + * gst/encoding/gstsmartencoder.c: + * gst/encoding/gststreamcombiner.c: + * gst/encoding/gststreamsplitter.c: + * gst/gio/gstgiobasesink.c: + * gst/gio/gstgiobasesrc.c: + * gst/playback/gstdecodebin2.c: + * gst/playback/gstplaysink.c: + * gst/playback/gstplaysinkconvertbin.c: + * gst/playback/gststreamsynchronizer.c: + * gst/playback/gstsubtitleoverlay.c: + * gst/playback/gsturidecodebin.c: + * gst/subparse/gstssaparse.c: + * gst/subparse/gstsubparse.c: + * gst/tcp/gstmultihandlesink.c: + * gst/tcp/gstsocketsrc.c: + * gst/tcp/gsttcpclientsink.c: + * gst/tcp/gsttcpclientsrc.c: + * gst/tcp/gsttcpserversrc.c: + * gst/videoconvert/gstvideoconvert.c: + * gst/videorate/gstvideorate.c: + * gst/videotestsrc/gstvideotestsrc.c: + * sys/ximage/ximagesink.c: + * sys/xvimage/xvimagesink.c: + * tests/check/elements/audiorate.c: + * tests/check/elements/decodebin.c: + * tests/check/elements/playbin-complex.c: + * tests/check/elements/playbin.c: + * tests/check/elements/videoscale.c: + * tests/check/libs/audiodecoder.c: + * tests/check/libs/audioencoder.c: + * tests/check/libs/baseaudiovisualizer.c: + * tests/check/libs/rtpbasedepayload.c: + * tests/check/libs/rtpbasepayload.c: + * tests/check/libs/videodecoder.c: + * tests/check/libs/videoencoder.c: + base: use new gst_element_class_add_static_pad_template() + https://bugzilla.gnome.org/show_bug.cgi?id=763075 + +2015-10-06 17:02:03 +0200 Stian Selnes <stian@pexip.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + * gst-libs/gst/rtp/gstrtcpbuffer.h: + * tests/check/libs/rtp.c: + rtcpbuffer: Add API for APP packets + https://bugzilla.gnome.org/show_bug.cgi?id=761944 + +2014-07-29 15:37:12 +0200 Haakon Sporsheim <haakon@pexip.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + * gst-libs/gst/rtp/gstrtcpbuffer.h: + * tests/check/libs/rtp.c: + * win32/common/libgstrtp.def: + rtcpbuffer: Add profile-specific extension API. + https://bugzilla.gnome.org/show_bug.cgi?id=761950 + +2016-03-24 13:32:52 +0200 Sebastian Dröge <sebastian@centricular.com> + + * configure.ac: + Back to development + === release 1.8.0 === -2016-03-24 Sebastian Dröge <slomo@coaxion.net> +2016-03-24 12:19:23 +0200 Sebastian Dröge <sebastian@centricular.com> + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.8.0 + * docs/plugins/inspect/plugin-adder.xml: + * docs/plugins/inspect/plugin-alsa.xml: + * docs/plugins/inspect/plugin-app.xml: + * docs/plugins/inspect/plugin-audioconvert.xml: + * docs/plugins/inspect/plugin-audiorate.xml: + * docs/plugins/inspect/plugin-audioresample.xml: + * docs/plugins/inspect/plugin-audiotestsrc.xml: + * docs/plugins/inspect/plugin-cdparanoia.xml: + * docs/plugins/inspect/plugin-encoding.xml: + * docs/plugins/inspect/plugin-gio.xml: + * docs/plugins/inspect/plugin-libvisual.xml: + * docs/plugins/inspect/plugin-ogg.xml: + * docs/plugins/inspect/plugin-opus.xml: + * docs/plugins/inspect/plugin-pango.xml: + * docs/plugins/inspect/plugin-playback.xml: + * docs/plugins/inspect/plugin-subparse.xml: + * docs/plugins/inspect/plugin-tcp.xml: + * docs/plugins/inspect/plugin-theora.xml: + * docs/plugins/inspect/plugin-typefindfunctions.xml: + * docs/plugins/inspect/plugin-videoconvert.xml: + * docs/plugins/inspect/plugin-videorate.xml: + * docs/plugins/inspect/plugin-videoscale.xml: + * docs/plugins/inspect/plugin-videotestsrc.xml: + * docs/plugins/inspect/plugin-volume.xml: + * docs/plugins/inspect/plugin-vorbis.xml: + * docs/plugins/inspect/plugin-ximagesink.xml: + * docs/plugins/inspect/plugin-xvimagesink.xml: + * gst-plugins-base.doap: + * win32/common/_stdint.h: + * win32/common/config.h: + Release 1.8.0 + +2016-03-24 11:43:05 +0200 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/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: + Update .po files 2016-03-08 13:22:32 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> @@ -1,786 +1 @@ -# GStreamer 1.8 Release Notes - -**GStreamer 1.8.0 was released on 24 March 2016.** - -The GStreamer team is proud to announce a new major feature release in the -stable 1.x API series of your favourite cross-platform multimedia framework! - -As always, this release is again packed with new features, bug fixes and other -improvements. - -See [https://gstreamer.freedesktop.org/releases/1.8/][latest] for the latest -version of this document. - -*Last updated: Thursday 24 March 2016, 10:00 UTC [(log)][gitlog]* - -[latest]: https://gstreamer.freedesktop.org/releases/1.8/ -[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.8/release-notes-1.8.md - -## Highlights - -- **Hardware-accelerated zero-copy video decoding on Android** - -- **New video capture source for Android using the android.hardware.Camera API** - -- **Windows Media reverse playback** support (ASF/WMV/WMA) - -- **New tracing system** provides support for more sophisticated debugging tools - -- **New high-level GstPlayer playback convenience API** - -- **Initial support for the new [Vulkan][vulkan] API**, see - [Matthew Waters' blog post][vulkan-in-gstreamer] for more details - -- **Improved Opus audio codec support**: Support for more than two channels; MPEG-TS demuxer/muxer can now handle Opus; - [sample-accurate][opus-sample-accurate] encoding/decoding/transmuxing with - Ogg, Matroska, ISOBMFF (Quicktime/MP4), and MPEG-TS as container; - [new codec utility functions for Opus header and caps handling][opus-codec-utils] - in pbutils library. The Opus encoder/decoder elements were also moved to - gst-plugins-base (from -bad), and the opus RTP depayloader/payloader to -good. - - [opus-sample-accurate]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta - [opus-codec-utils]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html - -- **GStreamer VAAPI module now released and maintained as part of the GStreamer project** - - [vulkan]: https://www.khronos.org/vulkan - [vulkan-in-gstreamer]: http://ystreet00.blogspot.co.uk/2016/02/vulkan-in-gstreamer.html - -## Major new features and changes - -### Noteworthy new API, features and other changes - -- New GstVideoAffineTransformationMeta meta for adding a simple 4x4 affine - transformation matrix to video buffers - -- [g\_autoptr()](https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autoptr) - support for all types is exposed in GStreamer headers now, in combination - with a sufficiently-new GLib version (i.e. 2.44 or later). This is primarily - for the benefit of application developers who would like to make use of - this, the GStreamer codebase itself will not be using g_autoptr() for - the time being due to portability issues. - -- GstContexts are now automatically propagated to elements added to a bin - or pipeline, and elements now maintain a list of contexts set on them. - The list of contexts set on an element can now be queried using the new functions - [gst\_element\_get\_context()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-context) - and [gst\_element\_get\_contexts()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-contexts). GstContexts are used to share context-specific configuration objects - between elements and can also be used by applications to set context-specific - configuration objects on elements, e.g. for OpenGL or Hardware-accelerated - video decoding. - -- New [GST\_BUFFER\_DTS\_OR\_PTS()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS) - convenience macro that returns the decode timestamp if one is set and - otherwise returns the presentation timestamp - -- New GstPadEventFullFunc that returns a GstFlowReturn instead of a gboolean. - This new API is mostly for internal use and was added to fix a race condition - where occasionally internal flow error messages were posted on the bus when - sticky events were propagated at just the wrong moment whilst the pipeline - was shutting down. This happened primarily when the pipeline was shut down - immediately after starting it up. GStreamer would not know that the reason - the events could not be propagated was because the pipeline was shutting down - and not some other problem, and now the flow error allows GStreamer to know - the reason for the failure (and that there's no reason to post an error - message). This is particularly useful for queue-like elements which may need - to asynchronously propagate a previous flow return from downstream. - -- Pipeline dumps in form of "dot files" now also show pad properties that - differ from their default value, the same as it does for elements. This is - useful for elements with pad subclasses that provide additional properties, - e.g. videomixer or compositor. - -- Pad probes are now guaranteed to be called in the order they were added - (before they were called in reverse order, but no particular order was - documented or guaranteed) - -- Plugins can now have dependencies on device nodes (not just regular files) - and also have a prefix filter. This is useful for plugins that expose - features (elements) based on available devices, such as the video4linux - plugin does with video decoders on certain embedded systems. - -- gst\_segment\_to\_position() has been deprecated and been replaced by the - better-named gst\_segment\_position\_from\_running\_time(). At the same time - gst\_segment\_position\_from\_stream\_time() was added, as well as \_full() - variants of both to deal with negative stream time. - -- GstController: the interpolation control source gained a new monotonic cubic - interpolation mode that, unlike the existing cubic mode, will never overshoot - the min/max y values set. - -- GstNetAddressMeta: can now be read from buffers in language bindings as well, - via the new gst\_buffer\_get\_net\_address\_meta() function - -- ID3 tag PRIV frames are now extraced into a new GST\_TAG\_PRIVATE\_DATA tag - -- gst-launch-1.0 and gst\_parse\_launch() now warn in the most common case if - a dynamic pad link could not be resolved, instead of just silently - waiting to see if a suitable pad appears later, which is often perceived - by users as hanging -- they are now notified when this happens and can check - their pipeline. - -- GstRTSPConnection now also parses custom RTSP message headers and retains - them for the application instead of just ignoring them - -- rtspsrc handling of authentication over tunneled connections (e.g. RTSP over HTTP) - was fixed - -- gst\_video\_convert\_sample() now crops if there is a crop meta on the input buffer - -- The debugging system printf functions are now exposed for general use, which - supports special printf format specifiers such as GST\_PTR\_FORMAT and - GST\_SEGMENT\_FORMAT to print GStreamer-related objects. This is handy for - systems that want to prepare some debug log information to be output at a - later point in time. The GStreamer-OpenGL subsystem is making use of these - new functions, which are [gst\_info\_vasprintf()][gst_info_vasprintf], - [gst\_info\_strdup\_vprintf()][gst_info_strdup_vprintf] and - [gst\_info\_strdup\_printf()][gst_info_strdup_printf]. - -- videoparse: "strides", "offsets" and "framesize" properties have been added to - allow parsing raw data with strides and padding that do not match GStreamer - defaults. - -- GstPreset reads presets from the directories given in GST\_PRESET\_PATH now. - Presets are read from there after presets in the system path, but before - application and user paths. - -[gst_info_vasprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-vasprintf -[gst_info_strdup_vprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-vprintf -[gst_info_strdup_printf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-printf - -### New Elements - -- [netsim](): a new (resurrected) element to simulate network jitter and - packet dropping / duplication. - -- New VP9 RTP payloader/depayloader elements: rtpvp9pay/rtpvp9depay - -- New [videoframe_audiolevel]() element, a video frame synchronized audio level element - -- New spandsp-based tone generator source - -- New NVIDIA NVENC-based H.264 encoder for GPU-accelerated video encoding on - suitable NVIDIA hardware - -- [rtspclientsink](), a new RTSP RECORD sink element, was added to gst-rtsp-server - -- [alsamidisrc](), a new ALSA MIDI sequencer source element - -### Noteworthy element features and additions - -- *identity*: new ["drop-buffer-flags"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html#GstIdentity--drop-buffer-flags) - property to drop buffers based on buffer flags. This can be used to drop all - non-keyframe buffers, for example. - -- *multiqueue*: various fixes and improvements, in particular special handling - for sparse streams such as substitle streams, to make sure we don't overread - them any more. For sparse streams it can be normal that there's no buffer for - a long period of time, so having no buffer queued is perfectly normal. Before - we would often unnecessarily try to fill the subtitle stream queue, which - could lead to much more data being queued in multiqueue than necessary. - -- *multiqueue*/*queue*: When dealing with time limits, these elements now use the - new ["GST_BUFFER_DTS_OR_PTS"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS) - and ["gst_segment_to_running_time_full()"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html#gst-segment-to-running-time-full) - API, resulting in more accurate levels, especially when dealing with non-raw - streams (where reordering happens, and we want to use the increasing DTS as - opposed to the non-continuously increasing PTS) and out-of-segment input/output. - Previously all encoded buffers before the segment start, which can happen when - doing ACCURATE seeks, were not taken into account in the queue level calculation. - -- *multiqueue*: New ["use-interleave"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-interleave) - property which allows the size of the queues to be optimized based on the input - streams interleave. This should only be used with input streams which are properly - timestamped. It will be used in the future decodebin3 element. - -- *queue2*: new ["avg-in-rate"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue2.html#GstQueue2--avg-in-rate) - property that returns the average input rate in bytes per second - -- audiotestsrc now supports all audio formats and is no longer artificially - limited with regard to the number of channels or sample rate - -- gst-libav (ffmpeg codec wrapper): map and enable JPEG2000 decoder - -- multisocketsink can, on request, send a custom GstNetworkMessage event - upstream whenever data is received from a client on a socket. Similarly, - socketsrc will, on request, pick up GstNetworkMessage events from downstream - and send any data contained within them via the socket. This allows for - simple bidirectional communication. - -- matroska muxer and demuxer now support the ProRes video format - -- Improved VP8/VP9 decoding performance on multi-core systems by enabling - multi-threaded decoding in the libvpx-based decoders on such systems - -- appsink has a new ["wait-on-eos"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsink.html#GstAppSink--wait-on-eos) - property, so in cases where it is uncertain if an appsink will have a consumer for - its buffers when it receives an EOS this can be set to FALSE to ensure that the - appsink will not hang. - -- rtph264pay and rtph265pay have a new "config-interval" mode -1 that will - re-send the setup data (SPS/PPS/VPS) before every keyframe to ensure - optimal coverage and the shortest possibly start-up time for a new client - -- mpegtsmux can now mux H.265/HEVC video as well - -- The MXF muxer was ported to 1.x and produces more standard conformant files now - that can be handled by more other software; The MXF demuxer got improved - support for seek tables (IndexTableSegments). - -### Plugin moves - -- The rtph265pay/depay RTP payloader/depayloader elements for H.265/HEVC video - from the rtph265 plugin in -bad have been moved into the existing rtp plugin - in gst-plugins-good. - -- The mpg123 plugin containing a libmpg123 based audio decoder element has - been moved from -bad to -ugly. - -- The Opus encoder/decoder elements have been moved to gst-plugins-base and - the RTP payloader to gst-plugins-good, both coming from gst-plugins-bad. - -### New tracing tools for developers - -A new tracing subsystem API has been added to GStreamer, which provides -external tracers with the possibility to strategically hook into GStreamer -internals and collect data that can be evaluated later. These tracers are a -new type of plugin features, and GStreamer core ships with a few example -tracers (latency, stats, rusage, log) to start with. Tracers can be loaded -and configured at start-up via an environment variable (GST\_TRACER\_PLUGINS). - -Background: While GStreamer provides plenty of data on what's going on in a -pipeline via its debug log, that data is not necessarily structured enough to -be generally useful, and the overhead to enable logging output for all data -required might be too high in many cases. The new tracing system allows tracers -to just obtain the data needed at the right spot with as little overhead as -possible, which will be particularly useful on embedded systems. - -Of course it has always been possible to do performance benchmarks and debug -memory leaks, memory consumption and invalid memory access using standard -operating system tools, but there are some things that are difficult to track -with the standard tools, and the new tracing system helps with that. Examples -are things such as latency handling, buffer flow, ownership transfer of -events and buffers from element to element, caps negotiation, etc. - -For some background on the new tracing system, watch Stefan Sauer's -GStreamer Conference talk ["A new tracing subsystem for GStreamer"][tracer-0] -and for a more specific example how it can be useful have a look at -Thiago Santos's lightning talk ["Analyzing caps negotiation using GstTracer"][tracer-1] -and his ["GstTracer experiments"][tracer-2] blog post. There was also a Google -Summer of Code project in 2015 that used tracing system for a graphical -GStreamer debugging tool ["gst-debugger"][tracer-3]. - -This is all still very much work in progress, but we hope this will provide the -foundation for a whole suite of new debugging tools for GStreamer pipelines. - -[tracer-0]: https://gstconf.ubicast.tv/videos/a-new-tracing-subsystem-for-gstreamer/ -[tracer-1]: https://gstconf.ubicast.tv/videos/analyzing-caps-negotiation-using-gsttracer/ -[tracer-2]: http://blog.thiagoss.com/2015/07/23/gsttracer-experiments/ -[tracer-3]: https://git.gnome.org/browse/gst-debugger - -### GstPlayer: a new high-level API for cross-platform multimedia playback - -GStreamer has had reasonably high-level API for multimedia playback -in the form of the playbin element for a long time. This allowed application -developers to just configure a URI to play, and playbin would take care of -everything else. This works well, but there is still way too much to do on -the application-side to implement a fully-featured playback application, and -too much general GStreamer pipeline API exposed, making it less accessible -to application developers. - -Enter GstPlayer. GstPlayer's aim is to provide an even higher-level abstraction -of a fully-featured playback API but specialised for its specific use case. It -also provides easy integration with and examples for Gtk+, Qt, Android, OS/X, -iOS and Windows. Watch Sebastian's [GstPlayer talk at the GStreamer Conference][gstplayer-talk] -for more information, or check out the [GstPlayer API reference][gstplayer-api] -and [GstPlayer examples][gstplayer-examples]. - -[gstplayer-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/player.html -[gstplayer-talk]: https://gstconf.ubicast.tv/videos/gstplayer-a-simple-cross-platform-api-for-all-your-media-playback-needs-part-1/ -[gstplayer-examples]: https://github.com/sdroege/gst-player/ - -### Adaptive streaming: DASH, HLS and MSS improvements - -- dashdemux now supports loading external xml nodes pointed from its MPD. - -- Content protection nodes parsing support for PlayReady WRM in mssdemux. - -- Reverse playback was improved to respect seek start and stop positions. - -- Adaptive demuxers (hlsdemux, dashdemux, mssdemux) now support the SNAP_AFTER - and SNAP_BEFORE seek flags which will jump to the nearest fragment boundary - when executing a seek, which means playback resumes more quickly after a seek. - -### Audio library improvements - -- audio conversion, quantization and channel up/downmixing functionality - has been moved from the audioconvert element into the audio library and - is now available as public API in form of [GstAudioConverter][audio-0], - [GstAudioQuantize][audio-1] and [GstAudioChannelMixer][audio-2]. - Audio resampling will follow in future releases. - -- [gst\_audio\_channel\_get\_fallback\_mask()][audio-3] can be used - to retrieve a default channel mask for a given number of channels as last - resort if the layout is unknown - -- A new [GstAudioClippingMeta][audio-4] meta was added for specifying clipping - on encoded audio buffers - -- A new GstAudioVisualizer base class for audio visualisation elements; - most of the existing visualisers have been ported over to the new base class. - This new base class lives in the pbutils library rather than the audio library, - since we'd have had to make libgstaudio depend on libgstvideo otherwise, - which was deemed undesirable. - -[audio-0]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioConverter.html -[audio-1]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioQuantize.html -[audio-2]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mix-new -[audio-3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask -[audio-4]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta - -### GStreamer OpenGL support improvements - -#### Better OpenGL Shader support - -[GstGLShader][shader] has been revamped to allow more OpenGL shader types -by utilizing a new GstGLSLStage object. Each stage holds an OpenGL pipeline -stage such as a vertex, fragment or a geometry shader that are all compiled -separately into a program that is executed. - -The glshader element has also received a revamp as a result of the changes in -the library. It does not take file locations for the vertex and fragment -shaders anymore. Instead it takes the strings directly leaving the file -management to the application. - -A new [example][liveshader-example] was added utilizing the new shader -infrastructure showcasing live shader edits. - -[shader]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglshader.html -[liveshader-example]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gtk/glliveshader.c - -#### OpenGL GLMemory rework - -[GstGLMemory] was extensively reworked to support the addition of multiple -texture targets required for zero-copy integration with the Android -MediaCodec elements. This work was also used to provide IOSurface based -GLMemory on OS X for zero-copy with OS X's VideoToolbox decoder (vtdec) and -AV Foundation video source (avfvideosrc). There are also patches in bugzilla -for GstGLMemoryEGL specifically aimed at improving the decoding performance on -the Raspberry Pi. - -[GstGLMemory]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html - -A texture-target field was added to video/x-raw(memory:GLMemory) caps to signal -the texture target contained in the GLMemory. Its values can be 2D, rectangle -or external-oes. glcolorconvert can convert between the different formats as -required and different elements will accept or produce different targets. e.g. -glimagesink can take and render external-oes textures directly as required for -effecient zero-copy on android. - -A generic GL allocation framework was also implemented to support the generic -allocation of OpenGL buffers and textures which is used extensively by -GstGLBufferPool. - -#### OpenGL DMABuf import uploader - -There is now a DMABuf uploader available for automatic selection that will -attempt to import the upstream provided DMABuf. The uploader will import into -2D textures with the necesarry format. YUV to RGB conversion is still provided -by glcolorconvert to avoid the laxer restrictions with external-oes textures. - -#### OpenGL queries - -Queries of various aspects of the OpenGL runtime such as timers, number of -samples or the current timestamp are not possible. The GstGLQuery object uses a -delayed debug system to delay the debug output to later to avoid expensive calls -to the glGet\* family of functions directly after finishing a query. It is -currently used to output the time taken to perform various operations of texture -uploads and downloads in GstGLMemory. - -#### New OpenGL elements - -glcolorbalance has been created mirroring the videobalance elements. -glcolorbalance provides the exact same interface as videobalance so can be used -as a GPU accelerated replacement. glcolorbalance has been added to glsinkbin so -usage with playsink/playbin will use it automatically instead of videobalance -where possible. - -glvideoflip, which is the OpenGL equiavalant of videoflip, implements the exact -same interface and functionality as videoflip. - -#### EGL implementation now selects OpenGL 3.x - -The EGL implementation can now select OpenGL 3.x contexts. - -#### OpenGL API removal - -The GstGLDownload library object was removed as it was not used by anything. -Everything is performed by GstGLMemory or in the gldownloadelement. - -The GstGLUploadMeta library object was removed as it was not being used and we -don't want to promote the use of GstVideoGLTextureUploadMeta. - -#### OpenGL: Other miscellaneous changes - -- The EGL implementation can now select OpenGL 3.x contexts. This brings - OpenGL 3.x to e.g. wayland and other EGL systems. - -- glstereomix/glstereosplit are now built and are usable on OpenGL ES systems - -- The UYVY/YUY2 to RGBA and RGBA to UYVY/YUY2 shaders were fixed removing the - sawtooth pattern and luma bleeding. - -- We now utilize the GL\_APPLE\_sync extension on iOS devices which improves - performance of OpenGL applications, especially with multiple OpenGL - contexts. - -- glcolorconvert now uses a bufferpool to avoid costly - glGenTextures/glDeleteTextures for every frame. - -- glvideomixer now has full glBlendFunc and glBlendEquation support per input. - -- gltransformation now support navigation events so your weird transformations - also work with DVD menus. - -- qmlglsink can now run on iOS, OS X and Android in addition to the already - supported Linux platform. - -- glimagesink now posts unhandled keyboard and mouse events (on backends that - support user input, current only X11) on the bus for the application. - -### Initial GStreamer Vulkan support - -Some new elements, vulkansink and vulkanupload have been implemented utilizing -the new Vulkan API. The implementation is currently limited to X11 platforms -(via xcb) and does not perform any scaling of the stream's contents to the size -of the available output. - -A lot of infrasctructure work has been undertaken to support using Vulkan in -GStreamer in the future. A number of GstMemory subclasses have been created for -integrating Vulkan's GPU memory handling along with VkBuffer's and VkImage's -that can be passed between elements. Some GStreamer refcounted wrappers for -global objects such as VkInstance, VkDevice, VkQueue, etc have also been -implemented along with GstContext integration for sharing these objects with the -application. - -### GStreamer VAAPI support for hardware-accelerated video decoding and encoding on Intel (and other) platforms - -#### GStreamer VAAPI is now part of upstream GStreamer - -The GStreamer-VAAPI module which provides support for hardware-accelerated -video decoding, encoding and post-processing on Intel graphics hardware -on Linux has moved from its previous home at the [Intel Open Source Technology Center][iostc] -to the upstream GStreamer repositories, where it will in future be maintained -as part of the upstream GStreamer project and released in lockstep with the -other GStreamer modules. The current maintainers will continue to spearhead -the development at the new location: - -[http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/][gst-vaapi-git] - -[gst-vaapi-git]: http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/ - -GStreamer-VAAPI relies heavily on certain GStreamer infrastructure API that -is still in flux such as the OpenGL integration API or the codec parser -libraries, and one of the goals of the move was to be able to leverage -new developments early and provide tighter integration with the latest -developments of those APIs and other graphics-related APIs provided by -GStreamer, which should hopefully improve performance even further and in -some cases might also provide better stability. - -Thanks to everyone involved in making this move happen! - -#### GStreamer VAAPI: Bug tracking - -Bugs had already been tracked on [GNOME bugzilla](bgo) but will be moved -from the gstreamer-vaapi product into a new gstreamer-vaapi component of -the GStreamer product in bugzilla. Please file new bugs against the new -component in the GStreamer product from now on. - -#### GStreamer VAAPI: Pending patches - -The code base has been re-indented to the GStreamer code style, which -affected some files more than others. This means that some of the patches -in bugzilla might not apply any longer, so if you have any unmerged patches -sitting in bugzilla please consider checking if they still apply cleany and -refresh them if not. Sorry for any inconvenience this may cause. - -#### GStreamer VAAPI: New versioning scheme and supported GStreamer versions - -The version numbering has been changed to match the GStreamer version -numbering to avoid confusion: there is a new gstreamer-vaapi 1.6.0 release -and a 1.6 branch that is roughly equivalent to the previous 0.7.0 version. -Future releases 1.7.x and 1.8.x will be made alongside GStreamer releases. - -While it was possible and supported by previous releases to build against -a whole range of different GStreamer versions (such as 1.2, 1.4, 1.6 or 1.7/1.8), -in the future there will only be one target branch, so that git master will -track GStreamer git master, 1.8.x will target GStreamer 1.8, and -1.6.x will target the 1.6 series. - -[iostc]: http://01.org -[bgo]: http://bugzilla.gnome.og - -#### GStreamer VAAPI: Miscellaneous changes - -All GStreamer-VAAPI functionality is now provided solely by its GStreamer -elements. There is no more public library exposing GstVaapi API, this API -was only ever meant for private use by the elements. Parts of it may be -resurrected again in future if needed, but for now it has all been made -private. - -GStreamer-VAAPI now unconditionally uses the codecparser library in -gst-plugins-bad instead of shipping its own internal copy. Similarly, -it no longer ships its own codec parsers but relies on the upstream -codec parser elements. - -The GStreamer-VAAPI encoder elements have been renamed from vaapiencode_foo -to vaapifooenc, so encoders are now called vaapih264enc, vaapih265enc, -vaapimpeg2enc, vaapijpegenc, and vaapivp8enc. With this change we now follow -the standard names in GStreamer, and the plugin documentation is generated -correctly. - -In the case of the decoders, only the jpeg decoder has been split from the -general decoding element vaapidecode: vaapijpegdec. This is the first step to -split per codec each decoding element. The vaapijpegdec has also been given -marginal rank for the time being. - -#### GStreamer VAAPI: New features in 1.8: 10-bit H.265/HEVC decoding support - -Support for decoding 10-bit H.265/HEVC has been added. For the time being -this only works in combination with vaapisink though, until support for the -P010 video format used internally is added to GStreamer and to the -vaGetImage()/vaPutimage() API in the vaapi-intel-driver. - -Several fixes for memory leaks, build errors, and in the internal -video parsing. - -Finally, vaapisink now posts the unhandled keyboard and mouse events to the -application. - -### GStreamer Video 4 Linux Support - -Colorimetry support has been enhanced even more. It will now properly select -default values when not specified by the driver. The range of color formats -supported by GStreamer has been greatly improved. Notably, support for -multi-planar I420 has been added along with all the new and non-ambiguous RGB -formats that got added in recent kernels. - -The device provider now exposes a variety of properties as found in the udev -database. - -The video decoder is now able to negotiate the downstream format. - -Elements that are dynamically created from /dev/video\* now track changes on -these devices to ensure the registry stay up to date. - -All this and various bug fixes that improve both stability and correctness. - -### GStreamer Editing Services - -Added APIs to handle asset proxying support. Proxy creation is not the -responsibility of GES itself, but GES provides all the needed features -for it to be cleanly handled at a higher level. - -Added support for changing playback rate. This means that now, whenever a -user adds a 'pitch' element (as it is the only known element to change playback -rate through properties), GES will handle everything internally. This change -introduced a new media-duration-factor property in NleObject which will -lead to tweaking of seek events so they have the proper playback range to be -requested upstream. - -Construction of NLE objects has been reworked making copy/pasting fully -functional and allowing users to set properties on effects right after -creating them. - -Rework of the title source to add more flexibility in text positioning, -and letting the user get feedback about rendered text positioning. - -Report nlecomposition structural issues (coming from user programing mistakes) -into ERROR messages on the bus. - -Add GI/pythyon testsuite in GES itself, making sure the API is working as expected -in python, and allowing writing tests faster. - -### GstValidate - -Added support to run tests inside gdb. - -Added a 'smart' reporting mode where we give as much information as possible about -critical errors. - -Uses GstTracer now instead of a LD\_PRELOAD library. - -## Miscellaneous - -- encodebin now works with "encoder-muxers" such as wavenc - -- gst-play-1.0 acquired a new keyboard shortcut: '0' seeks back to the start - -- gst-play-1.0 supports two new command line switches: -v for verbose output - and --flags to configure the playbin flags to use. - -## Build and Dependencies - -- The GLib dependency requirement was bumped to 2.40 - -- The -Bsymbolic configure check now works with clang as well - -- ffmpeg is now required as libav provider, incompatible changes were - introduced that make it no longer viable to support both FFmpeg and Libav - as libav providers. Most major distros have switched to FFmpeg or are in - the process of switching to it anyway, so we don't expect this to be a - problem, and there is still an internal copy of ffmpeg that can be used - as fallback if needed. - -- The internal ffmpeg snapshot is now FFMpeg 3.0, but it should be possible - to build against 2.8 as well for the time being. - -## Platform-specific improvements - -### Android - -- Zero-copy video decoding on Android using the hardware-accelerated decoders - has been implemented, and is fully integrated with the GStreamer OpenGL stack - -- ahcsrc, a new camera source element, has been merged and can be used to - capture video on android devices. It uses the android.hardware.Camera Java - API to capture from the system's cameras. - -- The OpenGL-based QML video sink can now also be used on Android - -- New tinyalsasink element, which is mainly useful for Android but can also - be used on other platforms. - -### OS/X and iOS - -- The system clock now uses mach\_absolute\_time() on OSX/iOS, which is - the preferred high-resolution monotonic clock to be used on Apple platforms - -- The OpenGL-based QML video sink can now also be used on OS X and iOS (with - some Qt build system massaging) - -- New IOSurface based memory implementation in avfvideosrc and vtdec on OS X - for zerocopy with OpenGL. The previously used OpenGL extension - GL_APPLE_ycbcr_422 is not compatible with GL 3.x core contexts. - -- New GstAppleCoreVideoMemory wrapping CVPixelBuffer's - -- avfvideosrc now supports renegotiation. - -### Windows - -- Various bugs with UDP and multicast were fixed on Windows, mostly related to - gst-rtsp-server. - -- A few bugs in directsoundsrc and directsoundsink were fixed that could cause - the element to lock up. Also the "mute" property on the sink was fixed, and - a new "device" property for device selection was added to the source. - -## Known Issues - -- Building GStreamer applications with the Android NDK r11 is currently not - supported due to incompatible changes in the NDK. This is expected to be - fixed for 1.8.1. - [Bugzilla #763999](https://bugzilla.gnome.org/show_bug.cgi?id=763999) - -- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit - Windows is unaffected. - [Bugzilla #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663) - -## Contributors - -Adam Miartus, Alban Bedel, Aleix Conchillo Flaqué, Aleksander Wabik, -Alessandro Decina, Alex Ashley, Alex Dizengof, Alex Henrie, Alistair Buxton, -Andreas Cadhalpun, Andreas Frisch, André Draszik, Anthony G. Basile, -Antoine Jacoutot, Anton Bondarenko, Antonio Ospite, Arjen Veenhuizen, -Arnaud Vrac, Arun Raghavan, Athanasios Oikonomou, Aurélien Zanelli, Ben Iofel, -Bob Holcomb, Branko Subasic, Carlos Rafael Giani, Chris Bass, Csaba Toth, -Daniel Kamil Kozar, Danilo Cesar Lemes de Paula, Dave Craig, David Fernandez, -David Schleef, David Svensson Fors, David Waring, David Wu, Duncan Palmer, -Edward Hervey, Egor Zaharov, Etienne Peron, Eunhae Choi, Evan Callaway, -Evan Nemerson, Fabian Orccon, Florent Thiéry, Florin Apostol, Frédéric Wang, -George Kiagiadakis, George Yunaev, Göran Jönsson, Graham Leggett, -Guillaume Desmottes, Guillaume Marquebielle, Haihua Hu, Havard Graff, -Heinrich Fink, Holger Kaelberer, HoonHee Lee, Hugues Fruchet, Hyunil Park, -Hyunjun Ko, Ilya Konstantinov, James Stevenson, Jan Alexander Steffens (heftig), -Jan Schmidt, Jason Litzinger, Jens Georg, Jimmy Ohn, Joan Pau Beltran, -Joe Gorse, John Chang, John Slade, Jose Antonio Santos Cadenas, Josep Torra, -Julian Bouzas, Julien Isorce, Julien Moutte, Justin Kim, Kazunori Kobayashi, -Koop Mast, Lim Siew Hoon, Linus Svensson, Lubosz Sarnecki, Luis de Bethencourt, -Lukasz Forynski, Manasa Athreya, Marcel Holtmann, Marcin Kolny, Marcus Prebble, -Mark Nauwelaerts, Maroš Ondrášek, Martin Kelly, Matej Knopp, Mathias Hasselmann, -Mathieu Duponchelle, Matt Crane, Matthew Marsh, Matthew Waters, Matthieu Bouron, -Mersad Jelacic, Michael Olbrich, Miguel París Díaz, Mikhail Fludkov, -Mischa Spiegelmock, Nicola Murino, Nicolas Dufresne, Nicolas Huet, -Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Pablo Anton, Pankaj Darak, -Paolo Pettinato, Patricia Muscalu, Paul Arzelier, Pavel Bludov, Perry Hung, -Peter Korsgaard, Peter Seiderer, Petr Viktorin, Philippe Normand, -Philippe Renon, Philipp Zabel, Philip Van Hoof, Philip Withnall, Piotr Drąg, -plamot, Polochon\_street, Prashant Gotarne, Rajat Verma, Ramiro Polla, -Ravi Kiran K N, Reynaldo H. Verdejo Pinochet, Robert Swain, Romain Picard, -Roman Nowicki, Ross Burton, Ryan Hendrickson, Santiago Carot-Nemesio, -Scott D Phillips, Sebastian Dröge, Sebastian Rasmussen, Sergey Borovkov, -Seungha Yang, Sjors Gielen, Song Bing, Sreerenj Balachandran, Srimanta Panda, -Stavros Vagionitis, Stefan Sauer, Steven Hoving, Stian Selnes, Suhwang Kim, -Thiago Santos, Thibault Saunier, Thijs Vermeir, Thomas Bluemel, Thomas Roos, -Thomas Vander Stichele, Tim-Philipp Müller, Tim Sheridan, Ting-Wei Lan, -Tom Deseyn, Vanessa Chipirrás Navalón, Víctor Manuel Jáquez Leal, -Vincent Dehors, Vincent Penquerc'h, Vineeth T M, Vivia Nikolaidou, -Wang Xin-yu (王昕宇), William Manley, Wim Taymans, Wonchul Lee, Xavi Artigas, -Xavier Claessens, Youness Alaoui, - -... and many others who have contributed bug reports, translations, sent -suggestions or helped testing. - -## Bugs fixed in 1.8 - -More than [~700 bugs][bugs-fixed-in-1.8] have been fixed during -the development of 1.8. - -This list does not include issues that have been cherry-picked into the -stable 1.6 branch and fixed there as well, all fixes that ended up in the -1.6 branch are also included in 1.8. - -This list also does not include issues that have been fixed without a bug -report in bugzilla, so the actual number of fixes is much higher. - -[bugs-fixed-in-1.8]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=107311&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.6.1&target_milestone=1.6.2&target_milestone=1.6.3&target_milestone=1.7.0&target_milestone=1.7.1&target_milestone=1.7.2&target_milestone=1.7.3&target_milestone=1.7.4&target_milestone=1.7.90&target_milestone=1.7.91&target_milestone=1.7.92&target_milestone=1.7.x&target_milestone=1.8.0 - -## Stable 1.8 branch - -After the 1.8.0 release there will be several 1.8.x bug-fix releases which -will contain bug fixes which have been deemed suitable for a stable branch, -but no new features or intrusive changes will be added to a bug-fix release -usually. The 1.8.x bug-fix releases will be made from the git 1.8 branch, which -is a stable branch. - -### 1.8.0 - -1.8.0 was released on 24 March 2016. - -### 1.8.1 - -The first 1.8 bug-fix release (1.8.1) is planned for April 2016. - -## Schedule for 1.10 - -Our next major feature release will be 1.10, and 1.9 will be the unstable -development version leading up to the stable 1.10 release. The development -of 1.9/1.10 will happen in the git master branch. - -The plan for the 1.10 development cycle is yet to be confirmed, but it is -expected that feature freeze will be around late July or early August, -followed by several 1.9 pre-releases and the new 1.10 stable release -in September. - -1.10 will be backwards-compatible to the stable 1.8, 1.6, 1.4, 1.2 and 1.0 -release series. - -- - - - -*These release notes have been prepared by Tim-Philipp Müller with -contributions from Sebastian Dröge, Nicolas Dufresne, Edward Hervey, Víctor -Manuel Jáquez Leal, Arun Raghavan, Thiago Santos, Thibault Saunier, Jan -Schmidt and Matthew Waters.* - -*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)* +This is GStreamer 1.9.1 @@ -1,15 +1,16 @@ -Release notes for GStreamer Base Plugins 1.8.0 +Release notes for GStreamer Base Plugins 1.9.1 -The GStreamer team is pleased to announce the first release of the new stable -1.8 release series. The 1.8 release series is adding new features on top of -the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x -release series of the GStreamer multimedia framework. +The GStreamer team is pleased to announce the first release of the unstable +1.9 release series. The 1.9 release series is adding new features on top of +the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release +series of the GStreamer multimedia framework. The unstable 1.9 release series +will lead to the stable 1.10 release series in the next weeks. Any newly added +API can still change until that point. -Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after -the source release by the GStreamer project during the stable 1.8 release -series. +Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days. + This module contains a set of reference plugins, base classes for other @@ -58,7 +59,47 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 763316 : install-plugins: update documentation + * 578933 : Need generic " deep-element-added " signal and/or playbin " element-setup " signal + * 629764 : subparse: Add WebVTT support + * 747574 : videodecoder: reverse playback in non-packetized decoders + * 753930 : tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM and handle it in exiftag + * 761944 : rtcpbuffer: Add API for APP packets + * 761950 : rtcpbuffer: Add profile-specific extension API. + * 763058 : opusdec: add unit test for PLC timestamp when FEC is enabled + * 763075 : base plugins: use new gst_element_class_add_static_pad_template() + * 763630 : appsrc: If do-timestamp=true should take the timestamp when queueing the buffer + * 763799 : alsasrc: should not always assume that 8 channels implies 7.1 setup + * 763975 : decodebin: Modify result of seekable in check_upstream_seekable function + * 763985 : audio: add some debug output about channels mapping + * 764201 : video: Provide fast path for I420 to BGRA (and/or RGBA) conversion and back + * 764319 : videorate : avoid useless buffer copy un drop-only mode + * 764459 : GstRTPBasedepayload fail to detect new stream after SSRC change + * 764631 : GstAudioDecoder produce invalid timestamps when PLC and delay + * 764667 : videoaffinetransformationmeta: doesn't define the coordinate space + * 764902 : Explicitly initialize GstVideoCropMeta fields to 0 on init. + * 764948 : decodebin: use-buffering property ignored on non-muxed streams + * 764966 : oggdemux: Gaps when playing test sine wave VBR file + * 765042 : subparse: fix build error with GCC 4.6.3 + * 765216 : gst-play: call gst_deinit() + * 765424 : ximagesink: generate reconfigure on window handle change + * 765663 : gst_audio_buffer_clip() needs const on segment + * 766226 : base: fix leaks in tests + * 766229 : appsrc: Add duration property for providing a duration in TIME format + * 766467 : oggdemux: Reset keyframe_granule when needed + * 766800 : videodecoder: Make sure the DISCONT flag is set on the outgoing buffer + * 767102 : decodebin: hits ASSERT with H264 byte-stream as input + * 767155 : base: use MAY_BE_LEAKED flag + * 767173 : tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer + * 767232 : videodecoder: Drain data in more situations + * 767505 : audiovisualizer: produces wrong timestamps with non-16 bit audio formats + * 767506 : audiovisualizer: still uses old GST_BUFFER_TIMESTAMP() macro switch it to GST_BUFFER_PTS() + * 767507 : audiovisualizer: Timestamp adjustment calculations wrong for > 1 channel + * 767537 : exiftag: Increase serialized geo coordinate precision + * 767641 : videodecoder: Missing drain vfunc GST_FIXME flood on Raspberry Pi + * 767791 : tagdemux: preserve duration when skipping a tag at the beginning of a buffer + * 767826 : opusdec with plc enabled failing to decode audio + * 768361 : videodecoder: Takes stream lock for non-serialized queries + * 766203 : videoencoder/decoder: Wrong variable names used in GST_IS_*CODER_CLASS macros ==== Download ==== @@ -95,5 +136,43 @@ subscribe to the gstreamer-devel list. Contributors to this release + * Aleix Conchillo Flaqué + * Alessandro Decina + * Arjen Veenhuizen + * Aurélien Zanelli + * Edward Hervey + * Fabrice Bellet + * Frédéric Bertolus + * Guillaume Desmottes + * Haakon Sporsheim + * Hyunjun Ko + * Jakub Adam + * Jan Schmidt + * Jimmy Ohn + * Joan Pau Beltran + * Josep Torra + * Julien Isorce + * Kipp Cannon + * Luis de Bethencourt + * Matthew Waters + * Michael Olbrich + * Mikhail Fludkov + * Nicolas Dufresne + * Nirbheek Chauhan + * Olivier Crête + * Paulo Neves + * Philippe Normand + * Scott D Phillips + * Sebastian Dröge + * Sreerenj Balachandran + * Stian Selnes + * Thiago Santos + * Thomas Jones + * Tim-Philipp Müller + * Vincent Penquerc'h + * Vineeth TM + * Vivia Nikolaidou * Víctor Manuel Jáquez Leal + * Wim Taymans + * Zaheer Abbas Merali
\ No newline at end of file diff --git a/configure.ac b/configure.ac index cc6bb3613..8da80d5ef 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file dnl initialize autoconf dnl releases only do -Wall, git and prerelease does -Werror too dnl use a three digit version number for releases, and four for git/prerelease -AC_INIT([GStreamer Base Plug-ins],[1.9.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base]) +AC_INIT([GStreamer Base Plug-ins],[1.9.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base]) AG_GST_INIT @@ -56,10 +56,10 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 900, 0, 900) +AS_LIBTOOL(GST, 901, 0, 901) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.9.0.1 +GST_REQ=1.9.1 dnl *** autotools stuff **** diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args index 15a17883c..dc26fa3dd 100644 --- a/docs/plugins/gst-plugins-base-plugins.args +++ b/docs/plugins/gst-plugins-base-plugins.args @@ -2778,3 +2778,523 @@ <DEFAULT>FALSE</DEFAULT> </ARG> +<ARG> +<NAME>GstURISourceBin::buffer-duration</NAME> +<TYPE>gint64</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Buffer duration (ns)</NICK> +<BLURB>Buffer duration when buffering streams (-1 default value).</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::buffer-size</NAME> +<TYPE>gint</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Buffer size (bytes)</NICK> +<BLURB>Buffer size when buffering streams (-1 default value).</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::connection-speed</NAME> +<TYPE>guint64</TYPE> +<RANGE><= 18446744073709551</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Connection Speed</NICK> +<BLURB>Network connection speed in kbps (0 = unknown).</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::download</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Download</NICK> +<BLURB>Attempt download buffering when buffering network streams.</BLURB> +<DEFAULT>FALSE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::ring-buffer-max-size</NAME> +<TYPE>guint64</TYPE> +<RANGE><= G_MAXUINT</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Max. ring buffer size (bytes)</NICK> +<BLURB>Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::source</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>r</FLAGS> +<NICK>Source</NICK> +<BLURB>Source object used.</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::uri</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>URI</NICK> +<BLURB>URI to decode.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstURISourceBin::use-buffering</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Use Buffering</NICK> +<BLURB>Perform buffering on demuxed/parsed media.</BLURB> +<DEFAULT>FALSE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::audio-filter</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Audio filter</NICK> +<BLURB>the audio filter(s) to apply, if possible.</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::audio-sink</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Audio Sink</NICK> +<BLURB>the audio output element to use (NULL = default sink).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::audio-stream-combiner</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Audio stream combiner</NICK> +<BLURB>Current audio stream combiner (NULL = input-selector).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::auto-select-streams</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Automatic Select-Streams</NICK> +<BLURB>Whether playbin should respond to stream-collection messags with select-streams events.</BLURB> +<DEFAULT>TRUE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::av-offset</NAME> +<TYPE>gint64</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>AV Offset</NICK> +<BLURB>The synchronisation offset between audio and video in nanoseconds.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::buffer-duration</NAME> +<TYPE>gint64</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Buffer duration (ns)</NICK> +<BLURB>Buffer duration when buffering network streams.</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::buffer-size</NAME> +<TYPE>gint</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Buffer size (bytes)</NICK> +<BLURB>Buffer size when buffering network streams.</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::connection-speed</NAME> +<TYPE>guint64</TYPE> +<RANGE><= 18446744073709551</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Connection Speed</NICK> +<BLURB>Network connection speed in kbps (0 = unknown).</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::current-audio</NAME> +<TYPE>gint</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Current audio</NICK> +<BLURB>Currently playing audio stream (-1 = auto).</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::current-suburi</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>r</FLAGS> +<NICK>Current .sub-URI</NICK> +<BLURB>The currently playing URI of a subtitle.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::current-text</NAME> +<TYPE>gint</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Current Text</NICK> +<BLURB>Currently playing text stream (-1 = auto).</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::current-uri</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>r</FLAGS> +<NICK>Current URI</NICK> +<BLURB>The currently playing URI.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::current-video</NAME> +<TYPE>gint</TYPE> +<RANGE>>= G_MAXULONG</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Current Video</NICK> +<BLURB>Currently playing video stream (-1 = auto).</BLURB> +<DEFAULT>-1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::flags</NAME> +<TYPE>GstPlayFlags</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Flags</NICK> +<BLURB>Flags to control behaviour.</BLURB> +<DEFAULT>Render the video stream|Render the audio stream|Render subtitles|Use software volume|Deinterlace video if necessary|Use software color balance</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::force-aspect-ratio</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Force Aspect Ratio</NICK> +<BLURB>When enabled, scaling will respect original aspect ratio.</BLURB> +<DEFAULT>TRUE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::mute</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Mute</NICK> +<BLURB>Mute the audio channel without changing the volume.</BLURB> +<DEFAULT>FALSE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::n-audio</NAME> +<TYPE>gint</TYPE> +<RANGE>>= 0</RANGE> +<FLAGS>r</FLAGS> +<NICK>Number Audio</NICK> +<BLURB>Total number of audio streams.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::n-text</NAME> +<TYPE>gint</TYPE> +<RANGE>>= 0</RANGE> +<FLAGS>r</FLAGS> +<NICK>Number Text</NICK> +<BLURB>Total number of text streams.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::n-video</NAME> +<TYPE>gint</TYPE> +<RANGE>>= 0</RANGE> +<FLAGS>r</FLAGS> +<NICK>Number Video</NICK> +<BLURB>Total number of video streams.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::ring-buffer-max-size</NAME> +<TYPE>guint64</TYPE> +<RANGE><= G_MAXUINT</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Max. ring buffer size (bytes)</NICK> +<BLURB>Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::sample</NAME> +<TYPE>GstSample*</TYPE> +<RANGE></RANGE> +<FLAGS>r</FLAGS> +<NICK>Sample</NICK> +<BLURB>The last sample (NULL = no video available).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::source</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>r</FLAGS> +<NICK>Source</NICK> +<BLURB>Source element.</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::subtitle-encoding</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>subtitle encoding</NICK> +<BLURB>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::subtitle-font-desc</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>w</FLAGS> +<NICK>Subtitle font description</NICK> +<BLURB>Pango font description of font to be used for subtitle rendering.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::suburi</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>.sub-URI</NICK> +<BLURB>Optional URI of a subtitle.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::text-sink</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Text plugin</NICK> +<BLURB>the text output element to use (NULL = default subtitleoverlay).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::text-stream-combiner</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Text stream combiner</NICK> +<BLURB>Current text stream combiner (NULL = input-selector).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::uri</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>URI</NICK> +<BLURB>URI of the media to play.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::video-filter</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Video filter</NICK> +<BLURB>the video filter(s) to apply, if possible.</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::video-multiview-flags</NAME> +<TYPE>GstVideoMultiviewFlags</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Multiview Flags Override</NICK> +<BLURB>Override details of the multiview frame layout.</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::video-multiview-mode</NAME> +<TYPE>GstVideoMultiviewFramePacking</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Multiview Mode Override</NICK> +<BLURB>Re-interpret a video stream as one of several frame-packed stereoscopic modes.</BLURB> +<DEFAULT>GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::video-sink</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Video Sink</NICK> +<BLURB>the video output element to use (NULL = default sink).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::video-stream-combiner</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Video stream combiner</NICK> +<BLURB>Current video stream combiner (NULL = input-selector).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::vis-plugin</NAME> +<TYPE>GstElement*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Vis plugin</NICK> +<BLURB>the visualization element to use (NULL = default).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstPlayBin3::volume</NAME> +<TYPE>gdouble</TYPE> +<RANGE>[0,10]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Volume</NICK> +<BLURB>The audio volume, 1.0=100%.</BLURB> +<DEFAULT>1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstParseBin::connection-speed</NAME> +<TYPE>guint64</TYPE> +<RANGE><= 18446744073709551</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Connection Speed</NICK> +<BLURB>Network connection speed in kbps (0 = unknown).</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstParseBin::expose-all-streams</NAME> +<TYPE>gboolean</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Expose All Streams</NICK> +<BLURB>Expose all streams, including those of unknown type or that don't match the 'caps' property.</BLURB> +<DEFAULT>TRUE</DEFAULT> +</ARG> + +<ARG> +<NAME>GstParseBin::sink-caps</NAME> +<TYPE>GstCaps*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Sink Caps</NICK> +<BLURB>The caps of the input data. (NULL = use typefind element).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstParseBin::subtitle-encoding</NAME> +<TYPE>gchar*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>subtitle encoding</NICK> +<BLURB>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</BLURB> +<DEFAULT>NULL</DEFAULT> +</ARG> + +<ARG> +<NAME>GstDecodebin3::caps</NAME> +<TYPE>GstCaps*</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Caps</NICK> +<BLURB>The caps on which to stop decoding. (NULL = default).</BLURB> +<DEFAULT></DEFAULT> +</ARG> + +<ARG> +<NAME>GstTheoraDec::visualize-bit-usage</NAME> +<TYPE>gint</TYPE> +<RANGE>[0,255]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Visualize bitstream usage breakdown</NICK> +<BLURB>Sets the bitstream breakdown visualization mode. Values influence the width of the bit usage bars to show.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstTheoraDec::visualize-macroblock-modes</NAME> +<TYPE>gint</TYPE> +<RANGE>[0,65535]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Visualize macroblock modes</NICK> +<BLURB>Show macroblock mode selection overlaid on image. Value gives a mask for macroblock (MB) modes to show.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstTheoraDec::visualize-motion-vectors</NAME> +<TYPE>gint</TYPE> +<RANGE>[0,65535]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Visualize motion vectors</NICK> +<BLURB>Show motion vector selection overlaid on image. Value gives a mask for motion vector (MV) modes to show.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstTheoraDec::visualize-quantization-modes</NAME> +<TYPE>gint</TYPE> +<RANGE>[0,65535]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Visualize adaptive quantization modes</NICK> +<BLURB>Show adaptive quantization mode selection overlaid on image. Value gives a mask for quantization (QI) modes to show.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + diff --git a/docs/plugins/gst-plugins-base-plugins.hierarchy b/docs/plugins/gst-plugins-base-plugins.hierarchy index c2d607b48..75f4ff1c6 100644 --- a/docs/plugins/gst-plugins-base-plugins.hierarchy +++ b/docs/plugins/gst-plugins-base-plugins.hierarchy @@ -79,12 +79,16 @@ GObject GstVideoRate GstBin GstDecodeBin + GstDecodebin3 GstEncodeBin + GstParseBin GstPipeline GstPlayBin + GstPlayBin3 GstPlaySink GstSubtitleOverlay GstURIDecodeBin + GstURISourceBin GstOggAviParse GstOggDemux GstOggMux @@ -108,6 +112,7 @@ GObject GstProxyPad GstGhostPad GstDecodePad + GstParsePad GstPadTemplate GstPlugin GstPluginFeature @@ -116,6 +121,8 @@ GObject GstTracerFactory GstTypeFindFactory GstRegistry + GstStream + GstStreamCollection GstTask GstTaskPool GInputStream diff --git a/docs/plugins/gst-plugins-base-plugins.interfaces b/docs/plugins/gst-plugins-base-plugins.interfaces index 651688d7b..8ed5c52ea 100644 --- a/docs/plugins/gst-plugins-base-plugins.interfaces +++ b/docs/plugins/gst-plugins-base-plugins.interfaces @@ -9,17 +9,21 @@ GstAudioEncoder GstPreset GstBin GstChildProxy GstCdParanoiaSrc GstURIHandler GstDecodeBin GstChildProxy +GstDecodebin3 GstChildProxy GstEncodeBin GstChildProxy GstGioSink GstURIHandler GstGioSrc GstURIHandler GstOggMux GstPreset GstOpusEnc GstPreset GstTagSetter +GstParseBin GstChildProxy GstPipeline GstChildProxy GstPlayBin GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance +GstPlayBin3 GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance GstPlaySink GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance GstSubtitleOverlay GstChildProxy GstTheoraEnc GstPreset GstURIDecodeBin GstChildProxy +GstURISourceBin GstChildProxy GstVideoEncoder GstPreset GstVolume GstStreamVolume GstVorbisEnc GstPreset GstTagSetter diff --git a/docs/plugins/gst-plugins-base-plugins.signals b/docs/plugins/gst-plugins-base-plugins.signals index 7ce1902bb..cd627963a 100644 --- a/docs/plugins/gst-plugins-base-plugins.signals +++ b/docs/plugins/gst-plugins-base-plugins.signals @@ -533,3 +533,264 @@ gint arg1 GstSocketSrc *gstsocketsrc </SIGNAL> +<SIGNAL> +<NAME>GstURISourceBin::autoplug-continue</NAME> +<RETURNS>gboolean</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::autoplug-factories</NAME> +<RETURNS>GValueArray*</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::autoplug-query</NAME> +<RETURNS>gboolean</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstElement *arg2 +GstQuery *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::autoplug-select</NAME> +<RETURNS>GstAutoplugSelectResult</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstCaps *arg2 +GstElementFactory *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::autoplug-sort</NAME> +<RETURNS>GValueArray*</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstCaps *arg2 +GValueArray *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::drained</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::source-setup</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstElement *arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstURISourceBin::unknown-type</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstURISourceBin *gsturisourcebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::about-to-finish</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::audio-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::audio-tags-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::convert-sample</NAME> +<RETURNS>GstSample*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +GstCaps *arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-audio-pad</NAME> +<RETURNS>GstPad*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-audio-tags</NAME> +<RETURNS>GstTagList*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-text-pad</NAME> +<RETURNS>GstPad*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-text-tags</NAME> +<RETURNS>GstTagList*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-video-pad</NAME> +<RETURNS>GstPad*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::get-video-tags</NAME> +<RETURNS>GstTagList*</RETURNS> +<FLAGS>la</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::source-setup</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +GstElement *arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::text-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::text-tags-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::video-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +</SIGNAL> + +<SIGNAL> +<NAME>GstPlayBin3::video-tags-changed</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstPlayBin3 *gstplaybin3 +gint arg1 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::autoplug-continue</NAME> +<RETURNS>gboolean</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::autoplug-factories</NAME> +<RETURNS>GValueArray*</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::autoplug-query</NAME> +<RETURNS>gboolean</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstElement *arg2 +GstQuery *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::autoplug-select</NAME> +<RETURNS>GstAutoplugSelectResult</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstCaps *arg2 +GstElementFactory *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::autoplug-sort</NAME> +<RETURNS>GValueArray*</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstCaps *arg2 +GValueArray *arg3 +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::drained</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +</SIGNAL> + +<SIGNAL> +<NAME>GstParseBin::unknown-type</NAME> +<RETURNS>void</RETURNS> +<FLAGS>l</FLAGS> +GstParseBin *gstparsebin +GstPad *arg1 +GstCaps *arg2 +</SIGNAL> + +<SIGNAL> +<NAME>GstDecodebin3::select-stream</NAME> +<RETURNS>gint</RETURNS> +<FLAGS>l</FLAGS> +GstDecodebin3 *gstdecodebin3 +GstStreamCollection *arg1 +GstStream *arg2 +</SIGNAL> + diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml index 6d5366bb3..f74a13caa 100644 --- a/docs/plugins/inspect/plugin-adder.xml +++ b/docs/plugins/inspect/plugin-adder.xml @@ -3,10 +3,10 @@ <description>Adds multiple streams</description> <filename>../../gst/adder/.libs/libgstadder.so</filename> <basename>libgstadder.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-alsa.xml b/docs/plugins/inspect/plugin-alsa.xml index c880d369d..ae34d0d2f 100644 --- a/docs/plugins/inspect/plugin-alsa.xml +++ b/docs/plugins/inspect/plugin-alsa.xml @@ -3,10 +3,10 @@ <description>ALSA plugin library</description> <filename>../../ext/alsa/.libs/libgstalsa.so</filename> <basename>libgstalsa.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-app.xml b/docs/plugins/inspect/plugin-app.xml index ffdd99e50..0a875cf7e 100644 --- a/docs/plugins/inspect/plugin-app.xml +++ b/docs/plugins/inspect/plugin-app.xml @@ -3,10 +3,10 @@ <description>Elements used to communicate with applications</description> <filename>../../gst/app/.libs/libgstapp.so</filename> <basename>libgstapp.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-audioconvert.xml b/docs/plugins/inspect/plugin-audioconvert.xml index 81ca374b3..c29f3c9aa 100644 --- a/docs/plugins/inspect/plugin-audioconvert.xml +++ b/docs/plugins/inspect/plugin-audioconvert.xml @@ -3,10 +3,10 @@ <description>Convert audio to different formats</description> <filename>../../gst/audioconvert/.libs/libgstaudioconvert.so</filename> <basename>libgstaudioconvert.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-audiorate.xml b/docs/plugins/inspect/plugin-audiorate.xml index f6868815a..9ed49e102 100644 --- a/docs/plugins/inspect/plugin-audiorate.xml +++ b/docs/plugins/inspect/plugin-audiorate.xml @@ -3,10 +3,10 @@ <description>Adjusts audio frames</description> <filename>../../gst/audiorate/.libs/libgstaudiorate.so</filename> <basename>libgstaudiorate.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-audioresample.xml b/docs/plugins/inspect/plugin-audioresample.xml index 3485b83cc..e27ec1721 100644 --- a/docs/plugins/inspect/plugin-audioresample.xml +++ b/docs/plugins/inspect/plugin-audioresample.xml @@ -3,10 +3,10 @@ <description>Resamples audio</description> <filename>../../gst/audioresample/.libs/libgstaudioresample.so</filename> <basename>libgstaudioresample.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-audiotestsrc.xml b/docs/plugins/inspect/plugin-audiotestsrc.xml index 86f689820..b55868523 100644 --- a/docs/plugins/inspect/plugin-audiotestsrc.xml +++ b/docs/plugins/inspect/plugin-audiotestsrc.xml @@ -3,10 +3,10 @@ <description>Creates audio test signals of given frequency and volume</description> <filename>../../gst/audiotestsrc/.libs/libgstaudiotestsrc.so</filename> <basename>libgstaudiotestsrc.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-cdparanoia.xml b/docs/plugins/inspect/plugin-cdparanoia.xml index eea6cd7ba..fb00cf1bf 100644 --- a/docs/plugins/inspect/plugin-cdparanoia.xml +++ b/docs/plugins/inspect/plugin-cdparanoia.xml @@ -3,10 +3,10 @@ <description>Read audio from CD in paranoid mode</description> <filename>../../ext/cdparanoia/.libs/libgstcdparanoia.so</filename> <basename>libgstcdparanoia.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-encoding.xml b/docs/plugins/inspect/plugin-encoding.xml index c14c048b7..f27cd10f2 100644 --- a/docs/plugins/inspect/plugin-encoding.xml +++ b/docs/plugins/inspect/plugin-encoding.xml @@ -3,10 +3,10 @@ <description>various encoding-related elements</description> <filename>../../gst/encoding/.libs/libgstencodebin.so</filename> <basename>libgstencodebin.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-gio.xml b/docs/plugins/inspect/plugin-gio.xml index 78529f0b6..252dbf993 100644 --- a/docs/plugins/inspect/plugin-gio.xml +++ b/docs/plugins/inspect/plugin-gio.xml @@ -3,10 +3,10 @@ <description>GIO elements</description> <filename>../../gst/gio/.libs/libgstgio.so</filename> <basename>libgstgio.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-libvisual.xml b/docs/plugins/inspect/plugin-libvisual.xml index d052bc82f..ab0f09b02 100644 --- a/docs/plugins/inspect/plugin-libvisual.xml +++ b/docs/plugins/inspect/plugin-libvisual.xml @@ -3,10 +3,10 @@ <description>libvisual visualization plugins</description> <filename>../../ext/libvisual/.libs/libgstlibvisual.so</filename> <basename>libgstlibvisual.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-ogg.xml b/docs/plugins/inspect/plugin-ogg.xml index 6b430c704..f2fb7fd14 100644 --- a/docs/plugins/inspect/plugin-ogg.xml +++ b/docs/plugins/inspect/plugin-ogg.xml @@ -3,10 +3,10 @@ <description>ogg stream manipulation (info about ogg: http://xiph.org)</description> <filename>../../ext/ogg/.libs/libgstogg.so</filename> <basename>libgstogg.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml index fecc9fc26..f56439d37 100644 --- a/docs/plugins/inspect/plugin-opus.xml +++ b/docs/plugins/inspect/plugin-opus.xml @@ -3,10 +3,10 @@ <description>OPUS plugin library</description> <filename>../../ext/opus/.libs/libgstopus.so</filename> <basename>libgstopus.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-pango.xml b/docs/plugins/inspect/plugin-pango.xml index 50b479db4..58f17f269 100644 --- a/docs/plugins/inspect/plugin-pango.xml +++ b/docs/plugins/inspect/plugin-pango.xml @@ -3,10 +3,10 @@ <description>Pango-based text rendering and overlay</description> <filename>../../ext/pango/.libs/libgstpango.so</filename> <basename>libgstpango.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml index 8b7660b12..59af86e77 100644 --- a/docs/plugins/inspect/plugin-playback.xml +++ b/docs/plugins/inspect/plugin-playback.xml @@ -3,10 +3,10 @@ <description>various playback elements</description> <filename>../../gst/playback/.libs/libgstplayback.so</filename> <basename>libgstplayback.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> @@ -31,6 +31,72 @@ </pads> </element> <element> + <name>decodebin3</name> + <longname>Decoder Bin 3</longname> + <class>Generic/Bin/Decoder</class> + <description>Autoplug and decode to raw media</description> + <author>Edward Hervey <edward@centricular.com></author> + <pads> + <caps> + <name>sink</name> + <direction>sink</direction> + <presence>always</presence> + <details>ANY</details> + </caps> + <caps> + <name>sink_%u</name> + <direction>sink</direction> + <presence>request</presence> + <details>ANY</details> + </caps> + <caps> + <name>audio_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + <caps> + <name>src_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + <caps> + <name>text_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + <caps> + <name>video_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + </pads> + </element> + <element> + <name>parsebin</name> + <longname>Parse Bin</longname> + <class>Generic/Bin/Parser</class> + <description>Parse and de-multiplex to elementary stream</description> + <author>Jan Schmidt <jan@centricular.com>, Edward Hervey <edward@centricular.com></author> + <pads> + <caps> + <name>sink</name> + <direction>sink</direction> + <presence>always</presence> + <details>ANY</details> + </caps> + <caps> + <name>src_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + </pads> + </element> + <element> <name>playbin</name> <longname>Player Bin 2</longname> <class>Generic/Bin/Player</class> @@ -40,6 +106,15 @@ </pads> </element> <element> + <name>playbin3</name> + <longname>Player Bin 3</longname> + <class>Generic/Bin/Player</class> + <description>Autoplug and play media from an uri</description> + <author>Wim Taymans <wim.taymans@gmail.com></author> + <pads> + </pads> + </element> + <element> <name>playsink</name> <longname>Player Sink</longname> <class>Generic/Bin/Sink</class> @@ -141,5 +216,20 @@ </caps> </pads> </element> + <element> + <name>urisourcebin</name> + <longname>URI reader</longname> + <class>Generic/Bin/Source</class> + <description>Download and buffer a URI as needed</description> + <author>Jan Schmidt <jan@centricular.com></author> + <pads> + <caps> + <name>src_%u</name> + <direction>source</direction> + <presence>sometimes</presence> + <details>ANY</details> + </caps> + </pads> + </element> </elements> </plugin>
\ No newline at end of file diff --git a/docs/plugins/inspect/plugin-subparse.xml b/docs/plugins/inspect/plugin-subparse.xml index c4f653d10..82dd46912 100644 --- a/docs/plugins/inspect/plugin-subparse.xml +++ b/docs/plugins/inspect/plugin-subparse.xml @@ -3,10 +3,10 @@ <description>Subtitle parsing</description> <filename>../../gst/subparse/.libs/libgstsubparse.so</filename> <basename>libgstsubparse.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml index 04dfc1448..9bf9c6de7 100644 --- a/docs/plugins/inspect/plugin-tcp.xml +++ b/docs/plugins/inspect/plugin-tcp.xml @@ -3,10 +3,10 @@ <description>transfer data over the network via TCP</description> <filename>../../gst/tcp/.libs/libgsttcp.so</filename> <basename>libgsttcp.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-theora.xml b/docs/plugins/inspect/plugin-theora.xml index bfba7d666..6f4d43a25 100644 --- a/docs/plugins/inspect/plugin-theora.xml +++ b/docs/plugins/inspect/plugin-theora.xml @@ -3,10 +3,10 @@ <description>Theora plugin library</description> <filename>../../ext/theora/.libs/libgsttheora.so</filename> <basename>libgsttheora.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-typefindfunctions.xml b/docs/plugins/inspect/plugin-typefindfunctions.xml index bf6c40f92..96d974d03 100644 --- a/docs/plugins/inspect/plugin-typefindfunctions.xml +++ b/docs/plugins/inspect/plugin-typefindfunctions.xml @@ -3,10 +3,10 @@ <description>default typefind functions</description> <filename>../../gst/typefind/.libs/libgsttypefindfunctions.so</filename> <basename>libgsttypefindfunctions.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> </elements> diff --git a/docs/plugins/inspect/plugin-videoconvert.xml b/docs/plugins/inspect/plugin-videoconvert.xml index b3090d8d9..adbdb2626 100644 --- a/docs/plugins/inspect/plugin-videoconvert.xml +++ b/docs/plugins/inspect/plugin-videoconvert.xml @@ -3,10 +3,10 @@ <description>Colorspace conversion</description> <filename>../../gst/videoconvert/.libs/libgstvideoconvert.so</filename> <basename>libgstvideoconvert.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml index 709034b74..96c62bc98 100644 --- a/docs/plugins/inspect/plugin-videorate.xml +++ b/docs/plugins/inspect/plugin-videorate.xml @@ -3,10 +3,10 @@ <description>Adjusts video frames</description> <filename>../../gst/videorate/.libs/libgstvideorate.so</filename> <basename>libgstvideorate.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-videoscale.xml b/docs/plugins/inspect/plugin-videoscale.xml index f89d2e92b..0bdc5a008 100644 --- a/docs/plugins/inspect/plugin-videoscale.xml +++ b/docs/plugins/inspect/plugin-videoscale.xml @@ -3,10 +3,10 @@ <description>Resizes video</description> <filename>../../gst/videoscale/.libs/libgstvideoscale.so</filename> <basename>libgstvideoscale.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-videotestsrc.xml b/docs/plugins/inspect/plugin-videotestsrc.xml index 16f751c13..0cfb87a1a 100644 --- a/docs/plugins/inspect/plugin-videotestsrc.xml +++ b/docs/plugins/inspect/plugin-videotestsrc.xml @@ -3,10 +3,10 @@ <description>Creates a test video stream</description> <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename> <basename>libgstvideotestsrc.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml index 2d10a5236..6c3aa589c 100644 --- a/docs/plugins/inspect/plugin-volume.xml +++ b/docs/plugins/inspect/plugin-volume.xml @@ -3,10 +3,10 @@ <description>plugin for controlling audio volume</description> <filename>../../gst/volume/.libs/libgstvolume.so</filename> <basename>libgstvolume.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-vorbis.xml b/docs/plugins/inspect/plugin-vorbis.xml index 71bb8a761..c17fcd325 100644 --- a/docs/plugins/inspect/plugin-vorbis.xml +++ b/docs/plugins/inspect/plugin-vorbis.xml @@ -3,10 +3,10 @@ <description>Vorbis plugin library</description> <filename>../../ext/vorbis/.libs/libgstvorbis.so</filename> <basename>libgstvorbis.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-ximagesink.xml b/docs/plugins/inspect/plugin-ximagesink.xml index 51b0e4235..3703e28f6 100644 --- a/docs/plugins/inspect/plugin-ximagesink.xml +++ b/docs/plugins/inspect/plugin-ximagesink.xml @@ -3,10 +3,10 @@ <description>X11 video output element based on standard Xlib calls</description> <filename>../../sys/ximage/.libs/libgstximagesink.so</filename> <basename>libgstximagesink.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/docs/plugins/inspect/plugin-xvimagesink.xml b/docs/plugins/inspect/plugin-xvimagesink.xml index 2c8b8daa1..eb4fdf84f 100644 --- a/docs/plugins/inspect/plugin-xvimagesink.xml +++ b/docs/plugins/inspect/plugin-xvimagesink.xml @@ -3,10 +3,10 @@ <description>XFree86 video output plugin using Xv extension</description> <filename>../../sys/xvimage/.libs/libgstxvimagesink.so</filename> <basename>libgstxvimagesink.so</basename> - <version>1.9.0.1</version> + <version>1.9.1</version> <license>LGPL</license> <source>gst-plugins-base</source> - <package>GStreamer Base Plug-ins git</package> + <package>GStreamer Base Plug-ins source release</package> <origin>Unknown package origin</origin> <elements> <element> diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c index e59237b8a..714b2d5de 100644 --- a/gst-libs/gst/video/video-orc-dist.c +++ b/gst-libs/gst/video/video-orc-dist.c @@ -21915,15 +21915,15 @@ video_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, 1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 66, 71, 82, 65, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, - 14, 1, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, - 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, - 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, 38, 45, 38, 5, 65, 38, - 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, 38, 16, 151, 34, 38, 90, - 32, 32, 24, 90, 35, 34, 25, 70, 35, 32, 35, 159, 38, 35, 196, 35, - 38, 17, 90, 37, 33, 26, 70, 37, 32, 37, 159, 40, 37, 90, 36, 33, - 27, 70, 36, 32, 36, 90, 32, 34, 28, 70, 36, 36, 32, 159, 39, 36, - 196, 37, 40, 39, 195, 41, 37, 35, 21, 2, 33, 0, 41, 16, 2, 0, - + 14, 4, 128, 0, 0, 0, 14, 1, 127, 0, 0, 0, 16, 2, 16, 2, + 16, 2, 16, 2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, + 20, 2, 20, 1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, + 38, 45, 38, 5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, + 38, 16, 151, 34, 38, 90, 32, 32, 24, 90, 35, 34, 25, 70, 35, 32, + 35, 159, 38, 35, 196, 35, 38, 18, 90, 37, 33, 26, 70, 37, 32, 37, + 159, 40, 37, 90, 36, 33, 27, 70, 36, 32, 36, 90, 32, 34, 28, 70, + 36, 36, 32, 159, 39, 36, 196, 37, 40, 39, 195, 41, 37, 35, 21, 2, + 33, 0, 41, 17, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_video_orc_convert_I420_BGRA); @@ -21936,7 +21936,8 @@ video_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 1, "s2"); orc_program_add_source (p, 1, "s3"); orc_program_add_constant (p, 1, 0x00000080, "c1"); - orc_program_add_constant (p, 1, 0x0000007f, "c2"); + orc_program_add_constant (p, 4, 0x00000080, "c2"); + orc_program_add_constant (p, 1, 0x0000007f, "c3"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_parameter (p, 2, "p2"); orc_program_add_parameter (p, 2, "p3"); @@ -21977,7 +21978,7 @@ video_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, ORC_VAR_D1); orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T7, ORC_VAR_C2, + orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T7, ORC_VAR_C3, ORC_VAR_D1); orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_P3, ORC_VAR_D1); @@ -21999,7 +22000,7 @@ video_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, ORC_VAR_D1); orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T10, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_D1); - orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C1, + orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C2, ORC_VAR_D1); #endif @@ -22366,15 +22367,15 @@ video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1, 1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 65, 82, 71, 66, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, - 14, 1, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2, - 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, - 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, 38, 45, 38, 5, 65, 38, - 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, 38, 16, 151, 34, 38, 90, - 32, 32, 24, 90, 35, 34, 25, 70, 35, 32, 35, 159, 38, 35, 196, 35, - 17, 38, 90, 37, 33, 26, 70, 37, 32, 37, 159, 40, 37, 90, 36, 33, - 27, 70, 36, 32, 36, 90, 32, 34, 28, 70, 36, 36, 32, 159, 39, 36, - 196, 37, 39, 40, 195, 41, 35, 37, 21, 2, 33, 0, 41, 16, 2, 0, - + 14, 4, 128, 0, 0, 0, 14, 1, 127, 0, 0, 0, 16, 2, 16, 2, + 16, 2, 16, 2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, + 20, 2, 20, 1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, + 38, 45, 38, 5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, + 38, 16, 151, 34, 38, 90, 32, 32, 24, 90, 35, 34, 25, 70, 35, 32, + 35, 159, 38, 35, 196, 35, 18, 38, 90, 37, 33, 26, 70, 37, 32, 37, + 159, 40, 37, 90, 36, 33, 27, 70, 36, 32, 36, 90, 32, 34, 28, 70, + 36, 36, 32, 159, 39, 36, 196, 37, 39, 40, 195, 41, 35, 37, 21, 2, + 33, 0, 41, 17, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_video_orc_convert_I420_ARGB); @@ -22387,7 +22388,8 @@ video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 1, "s2"); orc_program_add_source (p, 1, "s3"); orc_program_add_constant (p, 1, 0x00000080, "c1"); - orc_program_add_constant (p, 1, 0x0000007f, "c2"); + orc_program_add_constant (p, 4, 0x00000080, "c2"); + orc_program_add_constant (p, 1, 0x0000007f, "c3"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_parameter (p, 2, "p2"); orc_program_add_parameter (p, 2, "p3"); @@ -22428,7 +22430,7 @@ video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1, ORC_VAR_D1); orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_C2, ORC_VAR_T7, + orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_C3, ORC_VAR_T7, ORC_VAR_D1); orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_P3, ORC_VAR_D1); @@ -22450,7 +22452,7 @@ video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1, ORC_VAR_D1); orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T10, ORC_VAR_T4, ORC_VAR_T6, ORC_VAR_D1); - orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C1, + orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C2, ORC_VAR_D1); #endif diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap index cb9052afb..38c70c903 100644 --- a/gst-plugins-base.doap +++ b/gst-plugins-base.doap @@ -36,6 +36,16 @@ A wide range of video and audio decoders, encoders, and filters are included. <release> <Version> + <revision>1.9.1</revision> + <branch>master</branch> + <name></name> + <created>2016-06-06</created> + <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.9.1.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.8.0</revision> <branch>master</branch> <name></name> diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h index d8a4eeb8a..818955d39 100644 --- a/win32/common/_stdint.h +++ b/win32/common/_stdint.h @@ -1,8 +1,8 @@ #ifndef _GST_PLUGINS_BASE__STDINT_H #define _GST_PLUGINS_BASE__STDINT_H 1 #ifndef _GENERATED_STDINT_H -#define _GENERATED_STDINT_H "gst-plugins-base 1.8.0" -/* generated using gnu compiler gcc-6 (Debian 6-20160313-1) 6.0.0 20160313 (experimental) [trunk revision 234167] */ +#define _GENERATED_STDINT_H "gst-plugins-base 1.9.1" +/* generated using gnu compiler gcc-6 (Debian 6.1.1-8) 6.1.1 20160630 */ #define _STDINT_HAVE_STDINT_H 1 #include <stdint.h> #endif diff --git a/win32/common/audio-enumtypes.c b/win32/common/audio-enumtypes.c index 853929c29..5c95483ad 100644 --- a/win32/common/audio-enumtypes.c +++ b/win32/common/audio-enumtypes.c @@ -10,6 +10,7 @@ #include "audio-converter.h" #include "audio-info.h" #include "audio-quantize.h" +#include "audio-resampler.h" #include "gstaudioringbuffer.h" /* enumerations from "audio-format.h" */ @@ -343,6 +344,98 @@ gst_audio_quantize_flags_get_type (void) return g_define_type_id__volatile; } +/* enumerations from "audio-resampler.h" */ +GType +gst_audio_resampler_filter_mode_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const GEnumValue values[] = { + {GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED, + "GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED", "interpolated"}, + {GST_AUDIO_RESAMPLER_FILTER_MODE_FULL, + "GST_AUDIO_RESAMPLER_FILTER_MODE_FULL", "full"}, + {GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO, + "GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO", "auto"}, + {0, NULL, NULL} + }; + GType g_define_type_id = + g_enum_register_static ("GstAudioResamplerFilterMode", values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + return g_define_type_id__volatile; +} + +GType +gst_audio_resampler_filter_interpolation_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const GEnumValue values[] = { + {GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE, + "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE", "none"}, + {GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR, + "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR", "linear"}, + {GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC, + "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC", "cubic"}, + {0, NULL, NULL} + }; + GType g_define_type_id = + g_enum_register_static ("GstAudioResamplerFilterInterpolation", values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + return g_define_type_id__volatile; +} + +GType +gst_audio_resampler_method_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const GEnumValue values[] = { + {GST_AUDIO_RESAMPLER_METHOD_NEAREST, "GST_AUDIO_RESAMPLER_METHOD_NEAREST", + "nearest"}, + {GST_AUDIO_RESAMPLER_METHOD_LINEAR, "GST_AUDIO_RESAMPLER_METHOD_LINEAR", + "linear"}, + {GST_AUDIO_RESAMPLER_METHOD_CUBIC, "GST_AUDIO_RESAMPLER_METHOD_CUBIC", + "cubic"}, + {GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL, + "GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL", "blackman-nuttall"}, + {GST_AUDIO_RESAMPLER_METHOD_KAISER, "GST_AUDIO_RESAMPLER_METHOD_KAISER", + "kaiser"}, + {0, NULL, NULL} + }; + GType g_define_type_id = + g_enum_register_static ("GstAudioResamplerMethod", values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + return g_define_type_id__volatile; +} + +GType +gst_audio_resampler_flags_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const GFlagsValue values[] = { + {GST_AUDIO_RESAMPLER_FLAG_NONE, "GST_AUDIO_RESAMPLER_FLAG_NONE", "none"}, + {GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN, + "GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN", + "non-interleaved-in"}, + {GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT, + "GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT", + "non-interleaved-out"}, + {GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE, + "GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE", "variable-rate"}, + {0, NULL, NULL} + }; + GType g_define_type_id = + g_flags_register_static ("GstAudioResamplerFlags", values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + return g_define_type_id__volatile; +} + /* enumerations from "gstaudioringbuffer.h" */ GType gst_audio_ring_buffer_state_get_type (void) diff --git a/win32/common/audio-enumtypes.h b/win32/common/audio-enumtypes.h index 7d0386154..f529f4962 100644 --- a/win32/common/audio-enumtypes.h +++ b/win32/common/audio-enumtypes.h @@ -42,6 +42,16 @@ GType gst_audio_noise_shaping_method_get_type (void); GType gst_audio_quantize_flags_get_type (void); #define GST_TYPE_AUDIO_QUANTIZE_FLAGS (gst_audio_quantize_flags_get_type()) +/* enumerations from "audio-resampler.h" */ +GType gst_audio_resampler_filter_mode_get_type (void); +#define GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE (gst_audio_resampler_filter_mode_get_type()) +GType gst_audio_resampler_filter_interpolation_get_type (void); +#define GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION (gst_audio_resampler_filter_interpolation_get_type()) +GType gst_audio_resampler_method_get_type (void); +#define GST_TYPE_AUDIO_RESAMPLER_METHOD (gst_audio_resampler_method_get_type()) +GType gst_audio_resampler_flags_get_type (void); +#define GST_TYPE_AUDIO_RESAMPLER_FLAGS (gst_audio_resampler_flags_get_type()) + /* enumerations from "gstaudioringbuffer.h" */ GType gst_audio_ring_buffer_state_get_type (void); #define GST_TYPE_AUDIO_RING_BUFFER_STATE (gst_audio_ring_buffer_state_get_type()) diff --git a/win32/common/config.h b/win32/common/config.h index d005f2994..9f6b6aa09 100644 --- a/win32/common/config.h +++ b/win32/common/config.h @@ -90,7 +90,7 @@ #define GST_PACKAGE_ORIGIN "Unknown package origin" /* GStreamer package release date/time for plugins as YYYY-MM-DD */ -#define GST_PACKAGE_RELEASE_DATETIME "2016-03-24" +#define GST_PACKAGE_RELEASE_DATETIME "2016-06-06" /* Define if static plugins should be built */ #undef GST_PLUGIN_BUILD_STATIC @@ -251,6 +251,9 @@ /* Define if RDTSC is available */ #undef HAVE_RDTSC +/* Define to 1 if you have the <smmintrin.h> header file. */ +#undef HAVE_SMMINTRIN_H + /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H @@ -339,7 +342,7 @@ #define PACKAGE_NAME "GStreamer Base Plug-ins" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GStreamer Base Plug-ins 1.8.0" +#define PACKAGE_STRING "GStreamer Base Plug-ins 1.9.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gst-plugins-base" @@ -348,7 +351,7 @@ #undef PACKAGE_URL /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.8.0" +#define PACKAGE_VERSION "1.9.1" /* directory where plugins are located */ #ifdef _DEBUG @@ -382,7 +385,7 @@ #undef USE_TREMOLO /* Version number of package */ -#define VERSION "1.8.0" +#define VERSION "1.9.1" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ diff --git a/win32/common/video-enumtypes.c b/win32/common/video-enumtypes.c index 286053250..d7bb6fe38 100644 --- a/win32/common/video-enumtypes.c +++ b/win32/common/video-enumtypes.c @@ -88,6 +88,7 @@ gst_video_format_get_type (void) {GST_VIDEO_FORMAT_NV61, "GST_VIDEO_FORMAT_NV61", "nv61"}, {GST_VIDEO_FORMAT_P010_10BE, "GST_VIDEO_FORMAT_P010_10BE", "p010-10be"}, {GST_VIDEO_FORMAT_P010_10LE, "GST_VIDEO_FORMAT_P010_10LE", "p010-10le"}, + {GST_VIDEO_FORMAT_IYU2, "GST_VIDEO_FORMAT_IYU2", "iyu2"}, {0, NULL, NULL} }; GType g_define_type_id = g_enum_register_static ("GstVideoFormat", values); @@ -800,12 +801,14 @@ gst_video_resampler_flags_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { - static const GEnumValue values[] = { + static const GFlagsValue values[] = { {GST_VIDEO_RESAMPLER_FLAG_NONE, "GST_VIDEO_RESAMPLER_FLAG_NONE", "none"}, + {GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS, "GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS", + "half-taps"}, {0, NULL, NULL} }; GType g_define_type_id = - g_enum_register_static ("GstVideoResamplerFlags", values); + g_flags_register_static ("GstVideoResamplerFlags", values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; |