glmixer: Fix unit test to actually work reliably
[platform/upstream/gstreamer.git] / NEWS
diff --git a/NEWS b/NEWS
index 94583e8..dba9c7c 100644 (file)
--- a/NEWS
+++ b/NEWS
-This is GStreamer Base Plug-ins 0.10.36, "Better"
-
-Changes since 0.10.35:
-
-      * audio: new IEC 61937 payloading library
-      * audio: new GstAudioFormat, GstAudioFormatInfo and GstAudioInfo API
-      * audio: new GstAudioDecoder and GstAudioEncoder base classes
-      * audio: baseaudiosink: allow subclasses to provide payloaders
-      * audio: baseaudiosink: fix latency calculation for live elements
-      * audio: baseaudiosink: make discont-wait configurable
-      * audio: baseaudiosink: split "drift-tolerance" into "alignment-threshold" 
-      * codec-utils: Add method to convert H.264 text level in a level_idc
-      * discoverer: add support for subtitles; try harder to extract language and duration
-      * encoding-profile: add function to create a profile from a discoverer info
-      * ringbuffer: add support for AAC, DTS, E-AC3 and MPEG audio buffers 
-      * rtcpbuffer: Add feedback message types from RFC 510
-      * rtcpbuffer: prevent overflow of 16bit header length
-      * rtspconnection: make hostname lookup thread-safe; OSX portability fixes
-      * rtspconnection: only send new data immediately if there are no queued messages
-      * tags: add new GstTagMux base class
-      * tags: add convenience API to handle creative commons licenses
-      * tags: add API to parse ID3v2 tags
-      * tags: various exif and xmp tag writing fixes
-      * tags: xmp: add Iptc4xmpExt schema support
-      * tags: gstvorbistag: map ENCODER Vorbis comment to application-name
-      * video: add video overlay composition API for subtitles
-      * video: fix a RGB ordering mixup in colorspace conversion code
-      * alsasink: fix high sample rates being rejected, and negotiation to "nearest" rate
-      * audioresample: don't emit DISCONT buffers if no discontinuity happened
-      * audioresample: fix quality setting being ignored; use SSE/SSE2 when possible
-      * audiotestsrc: add red (brownian) and blue/violet noise generator
-      * cdparanoiasrc: fix build issue on OSX (caused by broken cdparanoia port and broken system headers)
-      * decodebin2: improve handling of multi-stream chains (e.g. mpeg-ts)
-      * decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits
-      * decodebin2: add support for autoplugging parsers and parser-converters, and negotiate stream-format conversions properly as needed
-      * decodebin2: link elements before testing if they can reach the READY state, so allow hw-accelerated elements can query the video context
-      * decodebin2: use a TIME limit for pre-rolling in live streams and not in non-live streams
-      * decodebin2: fix preroll for HLS streams at low bitrates
-      * decodebin2: add source pads to stream-topology element messages
-      * decodebin, decodebin2: don't plug the same parser multiple times in a row, so we can make parsers accept parsed input as well (and use them to convert to different stream formats)
-      * encodebin: add flags to disable conversion elements
-      * encodebin: autoplug formatters; re-enable parsers
-      * gnomevfssrc: add support for cancelling read operations
-      * oggdemux, oggmux: add support for new Opus audio codec
-      * oggdemux: implement push mode seeking (e.g. for http)
-      * oggdemux: assume input is live stream if byte size cannot be determined
-      * oggdemux: fix hang on small truncated files
-      * oggmux: add skeleton write support
-      * oggmux: sync  input streams and select input buffers based on running time
-      * oggmux: headers should always have granpos 0
-      * oggmux: refactor how EOS is determined
-      * oggmux: support sparse streams as input (e.g. kate subtitle streams)
-      * playbin2: fix decoder-sink compatibility check for raw audio/video formats
-      * playbin2: make sure that the decoders we plug are compatible with the fixed sink
-      * playsink: Add audio and video converter convenience bins
-      * playbin2: improve stream switching
-      * playbin2/playsink: Decide if A/V caps are raw only inside playsink
-      * playbin2/playsink: better support for raw + compressed streams (audio passthrough)
-      * playbin2/playsink: improve handling of "non-raw" formats (for hw-accelerated video decoding)
-      * playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
-      * subparse: subtitle format typefinding improvements
-      * subtitleoverlay: handle non raw video streams (add suport for hardware accelerated videos)
-      * textoverlay: support more video formats
-      * textoverlay: add "outline-color" and "shadow" properties
-      * textoverlay: attach GstVideoOverlayComposition to buffers if input is not raw video
-      * theoraenc: do not automatically override quality when using target bitrate
-      * theoraenc: proxy downstream caps restrictions upstream
-      * typefinding: extract SOF marker in jpeg typefinder (to distinguish lossless JPEG)
-      * typefinding: add typefinder for WAP WBMP bitmaps (mostly to avoid false positives)
-      * typefinding: typefind UTF-16 and UTF-32 with BOMs (to avoid false positives)
-      * typefinding: recognize Asylum modules
-      * videorate: add a "max-rate" property; optionally ensure maximum average output frame rate
-      * videorate: add "force-fps" property to force an output framerate or change it on the fly
-      * videorate: optionally only drop frames to ensure maximum frame rate
-      * videoscale: add modified Lanczos scaling method
-      * volume: Fix handling of volume>=4.0 for 8 and 16 bit integer formats
-      * vorbisenc: relax overly tight jitter tolerances (make it work better with non-perfect input streams)
-      * xvimagesink, ximagesink: fall back to non-XShm mode if allocating the XShm image failed
-
-Bugs fixed since 0.10.35:
-
-      * 643202 : [encodebin] streamcombiner not completely implemented
-      * 654270 : oggmux unit test fails after latest changes
-      * 658984 : Fix typos in gst-plugins-base
-      * 555437 : [tag] add GstTagMux base class
-      * 556648 : [typefind] detect lossless jpeg
-      * 563251 : oggmux should have option to create Ogg Skeleton stream
-      * 584811 : playbin2's get-text-tags sometimes fails in text stream 0
-      * 607619 : [typefind] utf-16 text file mistakenly identified as layer 1 mpeg audio
-      * 607742 : API: add gst_event_new_{upstream,downstream}_force_key_unit() etc.
-      * 609918 : [OS X] configure: cdda_interface.h: present but cannot be compiled (if VERSION is defined)
-      * 610443 : baseaudiosink: clock can jump on setcaps
-      * 612443 : oggdemux: only use information from skeleton if we have nothing better
-      * 615131 : playing an ogg over http does not report duration correctly
-      * 615342 : [gstalsamixer] leaks
-      * 621897 : [oggdemux] reports wrong duration, and push mode seeking support
-      * 628337 : [gnomevfssrc] Add support for cancelling read operations
-      * 628764 : [videorate] add new option for max frame rate
-      * 629212 : [oggdemux] Improve support for push mode (seeking, duration)
-      * 630322 : make seek example work with windows
-      * 630442 : xvimagesink, ximagesink: fallback to X*CreateImage() if X*ShmCreateImage() fails
-      * 630497 : [seek] sprinkle GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS to dump pipeline to dot file
-      * 632788 : [playbin2] Doesn't support files with a streams that are supported compressed by a sink and streams that need decoding
-      * 635556 : [oggdemux] bad duration estimate in streaming mode with vertical-overview.ogg
-      * 637812 : vorbisenc: choppy sound due to input timestamp jitter
-      * 638897 : [textrender] allow setting the canvas size using peer caps + bugfixes
-      * 639055 : discoverer: add support for subtitle streams
-      * 640041 : textoverlay: Added parameters to control text outline color and whether shadowing is enabled
-      * 640564 : Remuxing a Theora stream generates a stream that oggz-validate complains about
-      * 640859 : basesink incorrectly categorizes timestamp jitter as drift
-      * 642690 : [baseaudio] GstBaseAudioEncoder and GstBaseAudioDecoder class
-      * 642878 : encoding-profile: add a function to create a profile from a discoverer info
-      * 643578 : [encodebin] - broken remuxing
-      * 644284 : Suspicious max_latency computation in gstbaseaudiosink.c
-      * 647648 : videorate: support for caps modifications in a running pipeline
-      * 647769 : [decodebin2] Fix preroll for streams at low bitrate
-      * 649319 : Add boiler plate code to xvimagesink
-      * 649642 : [volume] Overflows with volume > =4.0 and 8/16 bit integer formats
-      * 649969 : [audiotestsrc] Add more noise variants
-      * 650406 : vorbisdec does not handle headers in caps
-      * 651089 : [xvimagesink/ximagesink] Remove g_assert from Interface query
-      * 651294 : WBMP images are not supported by typefind
-      * 651496 : encodebin seems to fail to pick up container variant
-      * 651615 : [vorbisenc] Too small jitter tolerance
-      * 651788 : [theoraenc] separate encode and push block in theora_enc_chain
-      * 651855 : elements/volume unit test fails
-      * 652342 : encoding-target: set name on audio and video profiles when reading from keyfile
-      * 652642 : typefind: NULL check in degas_type_find
-      * 652838 : gst_discoverer_discover_uri Allow NULL GError* argument
-      * 653461 : [theoraenc] element causes encoder to drop frames?
-      * 654295 : [typefind] audio/x-sap detection doesn't work
-      * 654434 : [basertppayload] RTP timestamps not longer reproducible
-      * 654959 : textoverlay would flicker if it receives not timestampes text on input
-      * 655244 : encodebin has to provide the downstream possible caps to h264parse
-      * 655268 : decodebin2: deadlock after multi-stream chains change
-      * 655279 : [playbin2] Don't reset sinks when not needed
-      * 655347 : theoradec: segfault on 0-byte ogg_packet in _chain_reverse
-      * 655503 : pbutils: Add MPEG-4 SP levels 4a, 5 and 6
-      * 655574 : ogg: crash determining duration of empty vorbis packet
-      * 656022 : volume: fix sample depth typo
-      * 656034 : gstvorbistag: map ENCODER Vorbis comment to application-name
-      * 656392 : audioresample: add FFT based checks
-      * 656715 : playbin2, playsink: reference count ts_offset to avoid crashes
-      * 656775 : oggmux: various cleanups
-      * 656781 : resample.c has warnings treated as errors that prevent compilation
-      * 657049 : textoverlay: buffer leaks
-      * 657062 : oggdemux: do not skip sparse streams when determining start times
-      * 657151 : ogg: another cleanup round
-      * 657257 : discoverer: retrieve audio track language from tags too
-      * 657261 : resindvd: regression in git: no more button highlights in menus
-      * 657319 : videorate should use basetransform
-      * 657333 : theoraenc: fix caps leak
-      * 657504 : gtk-doc distcheck failure: files left in build directory after distclean:
-      * 657872 : [subparse] Doesn't detect some SRT subtitle files
-      * 658294 : gst-inspect videorate hangs
-      * 658416 : decodebin2: refcounting bugs causing criticals
-      * 658443 : theoraenc: do not automatically override quality when using target bitrate
-      * 658514 : typefinding: recognize .amf (Asylum Music File) files for modplug
-      * 658609 : Handle subtitles with non raw caps video streams in subtitle overlay
-      * 658846 : Playbin2 pipeline stuck while prerolling if decoder is missing
-      * 658901 : textoverlay: crash when the video sink pad has no parent
-      * 659562 : videorate: gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed
-      * 660150 : baseaudio: compiler warnings if debugging system is disabled
-      * 660170 : alsasrc: broken timestamps lead to alsasrc ! audiorate endless loop
-      * 660301 : playbin2: Fix mingw compiler warnings
-      * 660304 : videotestsrc: Fix mingw compiler warning
-      * 660598 : playbin2: Make sure that elements that are plugged are compatible with the fixed sink
-      * 660604 : textoverlay: add YV12 support
-      * 660816 : dvd menus got broken 
-      * 661105 : audiotestsrc: add missing break
-      * 661106 : tests: actually test what we said we would
-      * 661122 : videotestsrc does not build on Solaris
-      * 661202 : decodebin2: fire drained signal where appropriate
-      * 661738 : Deadlock between threads in gstaudiosink and gstringbuffer
-      * 661897 : oggdemux: do not retry seeking indefinitely 
-      * 661983 : Regression: Reverse playback does not work for vorbis
-      * 662049 : oggdemux/oggmux in push mode cause preroll to wedge
-      * 662108 : Assertion in base audio decoder when decoding vorbis
-      * 662330 : [decodebin2] Should link and add elements to the bin before checking if they can reach READY state
-      * 662475 : oggdemux: Improvements on the push mode seeking algorithm.
-      * 662829 : [textoverlay] - silent property looks not well implemented
-      * 663174 : oggmux: set collectpads2 not to wait on sparse streams
-      * 663312 : decodebin2: Post all source pads in stream-topology messages as " element-srcpad " values
-      * 663390 : theoraenc: fix speed level failure test
-      * 663391 : theoraenc: misc small tweaks
-      * 663465 : baseaudiosink: fix late buffers leaking
-      * 663766 : [0.11] oggmux: split request pad templates into audio/video/subtitle
-      * 663892 : [playbin2] visualisation leads to not-negotiated error
-      * 663893 : playbin2: g_object_set_valist: construct property " use-volume " for object `GstPlaySinkAudioConvert' can't be set after construction
-      * 664818 : Autoplugger sink bin receives strange caps while it gets the correct ones in 0.10.35 and earlier
-      * 665004 : audioresample emits spurious disconts
-      * 665074 : [gstfft] headers are not bracketed
-      * 665080 : API: subtitle overlays for raw and non-raw video buffers
-      * 665120 : playbin2: decoder not selected for audio-sink=autoaudiosink
-      * 666395 : playbin2: set uri to a non-existed file in " about-to-finish " causes a CRITICAL warning
-      * 667210 : videotestsrc/generate_sine_table needs to link against glib
-      * 667306 : discoverer: don't use unportable vararg macro
-      * 667311 : fix various unlikely, but still potential memoryleaks
-      * 667312 : appsrc: implement get_caps
-      * 667313 : rtcpbuffer: prevent overflow of 16bit header length.
-      * 667315 : videotestsrc: keep the calculation fixed-point
-      * 667316 : pango: Changes includes from brackets to quotes for local files
-      * 667917 : alsasink: Rate doesn't match (requested 88200Hz, get 0Hz)
-      * 668097 : [subtitleoverlay] fix state change stall on PAUSED- > READY- > PAUSED (patch)
-      * 669039 : gstrtspconnection: new data may get sent even-though there is a queued message in the GstRTSPWatch
-      * 669164 : oggdemux generates invalid granpos which causes asserts in theoraparse
-      * 669167 : vorbisparse drops certain data buffers on the floor mistakenly thinking they're headers
-      * 669203 : playbin2: totem segfaults in gst_stream_get_other_pad_from_pad()
-      * 646868 : tag: Provide Creative Commons helper functions
-      * 654388 : [tags] API: move id3 parsing from id3demux to tag lib
-      * 311486 : [oggmux] theora bos must come before any audio bos pages
-
-API additions since 0.10.35:
-
-      * gst_audio_decoder_finish_frame() 
-      * gst_audio_decoder_get_audio_info()
-      * gst_audio_decoder_get_byte_time()
-      * gst_audio_decoder_get_delay()
-      * gst_audio_decoder_get_drainable()
-      * gst_audio_decoder_get_latency()
-      * gst_audio_decoder_get_max_errors() 
-      * gst_audio_decoder_get_min_latency()
-      * gst_audio_decoder_get_needs_format()
-      * gst_audio_decoder_get_parse_state()
-      * gst_audio_decoder_get_plc()
-      * gst_audio_decoder_get_plc_aware()
-      * gst_audio_decoder_get_tolerance()
-      * gst_audio_decoder_get_type()
-      * gst_audio_decoder_set_byte_time()
-      * gst_audio_decoder_set_drainable()
-      * gst_audio_decoder_set_latency()
-      * gst_audio_decoder_set_max_errors()
-      * gst_audio_decoder_set_min_latency()
-      * gst_audio_decoder_set_needs_format()
-      * gst_audio_decoder_set_plc()
-      * gst_audio_decoder_set_plc_aware()
-      * gst_audio_decoder_set_tolerance()
-      * gst_audio_encoder_finish_frame()
-      * gst_audio_encoder_get_audio_info()
-      * gst_audio_encoder_get_drainable()
-      * gst_audio_encoder_get_frame_max()
-      * gst_audio_encoder_get_frame_samples_max()
-      * gst_audio_encoder_get_frame_samples_min()
-      * gst_audio_encoder_get_hard_min()
-      * gst_audio_encoder_get_hard_resync()
-      * gst_audio_encoder_get_latency()
-      * gst_audio_encoder_get_lookahead() 
-      * gst_audio_encoder_get_mark_granule()
-      * gst_audio_encoder_get_perfect_timestamp()
-      * gst_audio_encoder_get_tolerance()
-      * gst_audio_encoder_get_type()
-      * gst_audio_encoder_merge_tags()
-      * gst_audio_encoder_proxy_getcaps()
-      * gst_audio_encoder_set_drainable()
-      * gst_audio_encoder_set_frame_max()
-      * gst_audio_encoder_set_frame_samples_max()
-      * gst_audio_encoder_set_frame_samples_min()
-      * gst_audio_encoder_set_hard_min()
-      * gst_audio_encoder_set_hard_resync()
-      * gst_audio_encoder_set_latency()
-      * gst_audio_encoder_set_lookahead()
-      * gst_audio_encoder_set_mark_granule()
-      * gst_audio_encoder_set_perfect_timestamp()
-      * gst_audio_encoder_set_tolerance()
-      * gst_audio_iec61937_frame_size()
-      * gst_audio_iec61937_payload()
-      * gst_audio_info_clear()
-      * gst_audio_info_convert()
-      * gst_audio_info_copy()
-      * gst_audio_info_free()
-      * gst_audio_info_from_caps()
-      * gst_audio_info_init()
-      * gst_audio_info_to_caps()
-      * gst_base_audio_sink_get_alignment_threshold()
-      * gst_base_audio_sink_get_discont_wait()
-      * gst_base_audio_sink_set_alignment_threshold()
-      * gst_base_audio_sink_set_discont_wait()
-      * gst_codec_utils_h264_get_level_idc()
-      * gst_discoverer_audio_info_get_language()
-      * gst_discoverer_info_get_subtitle_streams()
-      * gst_discoverer_subtitle_info_get_language()
-      * gst_discoverer_subtitle_info_get_type()
-      * gst_encoding_profile_from_discoverer()
-      * gst_tag_get_license_description()
-      * gst_tag_get_license_flags()
-      * gst_tag_get_license_jurisdiction()
-      * gst_tag_get_license_nick()
-      * gst_tag_get_license_title()
-      * gst_tag_get_license_version()
-      * gst_tag_get_licenses()
-      * gst_tag_license_flags_get_type()
-      * gst_tag_get_id3v2_tag_size()
-      * gst_tag_list_from_id3v2_tag()
-      * gst_tag_mux_get_type()
-      * gst_video_buffer_get_overlay_composition()
-      * gst_video_buffer_set_overlay_composition()
-      * gst_video_event_is_force_key_unit()
-      * gst_video_event_new_downstream_force_key_unit()
-      * gst_video_event_new_upstream_force_key_unit()
-      * gst_video_event_parse_downstream_force_key_unit()
-      * gst_video_event_parse_upstream_force_key_unit()
-      * gst_video_get_size_from_caps()
-      * gst_video_overlay_composition_add_rectangle()
-      * gst_video_overlay_composition_blend()
-      * gst_video_overlay_composition_copy()
-      * gst_video_overlay_composition_get_rectangle()
-      * gst_video_overlay_composition_get_seqnum()
-      * gst_video_overlay_composition_get_type()
-      * gst_video_overlay_composition_make_writable()
-      * gst_video_overlay_composition_n_rectangles()
-      * gst_video_overlay_composition_new()
-      * gst_video_overlay_rectangle_copy()
-      * gst_video_overlay_rectangle_get_pixels_argb()
-      * gst_video_overlay_rectangle_get_pixels_unscaled_argb()
-      * gst_video_overlay_rectangle_get_render_rectangle()
-      * gst_video_overlay_rectangle_get_seqnum()
-      * gst_video_overlay_rectangle_get_type()
-      * gst_video_overlay_rectangle_new_argb()
-      * gst_video_overlay_rectangle_set_render_rectangle()
-
-Changes since 0.10.34:
-
-      * work around GLib atomic ops API change
-      * don't use G_CONST_RETURN in public headers 
-      * subparse: typefinding fixes for subtitles in non-UTF8 charsets
-
-Bugs fixed since 0.10.34:
-
-      * 600043 : subparse: fails to recognise Cyrillic subtitles in windows-1251 encoding
-
-Changes since 0.10.33:
-
-      * None: this release is identical to 0.10.33 and just done to keep core/base
-       versions in sync
-
-Changes since 0.10.32:
-
-      * audioringbuffer: make sure to not start if the may_start flag is FALSE
-      * baseaudiosink: arrange for running clock when rendering eos
-      * baseaudiosink: don't allow aligning behind the read-segment
-      * baseaudiosink: start ringbuffer upon going to PLAYING and already EOS
-      * riff: Add support for video/x-camstudio
-      * rtcpbuffer: fix invalid read in validation of padding in rtcp packet
-      * rtcpbuffer: Round to next 32bit word, not current 32bit word at end of SDES chunk
-      * rtpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header
-      * rtsptransport: ensure valid int result when parsing ranges
-      * tag: map the ID3v2 TENC frame to GST_TAG_ENCODED_BY
-      * tag: add GST_TAG_CAPTURING_EXPOSURE_COMPENSATION incl. EXIF/XMP mappings
-      * tag: add a new GstTagXmpWriter interface to select XMP schemas to be used
-      * tagdemux: also push cached events downstream when operating in pull mode
-      * video: add GST_VIDEO_BUFFER_PROGRESSIVE flag
-      * video: add ARGB64 and AYUV64 (16 bits per channel) formats
-      * video: add r210 (10 bits per channel) format
-      * video: add gst_video_format_get_component_depth() and _new_template_caps()
-      * video: fix creation of grayscale caps and height calculation for YUV9/YVU9
-      * appsink: emit "new-buffer-list" signal for buffer lists if handled by app
-      * audiorate: add "skip-to-first" property
-      * decodebin2: don't use the same parser element multiple times in the same chain
-      * decodebin2: improve detection of raw caps in expose-all-streams=false mode
-      * discoverer: don't wait for subtitle streams to preroll; leak fixes
-      * discoverer: use nominal bitrate if bitrate tag is unavailable
-      * encodebin: add an audioconvert after the audio resampler
-      * encodebin: fix refcounting issues and leaks related to request pads
-      * encodebin: return a new reference of the pad for the "request-pad" signal
-      * encodebin: set all elements to NULL and remove them from the bin when removing a source group
-      * encodebin: tear down old profiles when setting new ones
-      * multifdsink: disconnect inactive clients in the select loop too
-      * oggmux: prefer headers from caps to determine stream type (for VP8)
-      * oggmux: fix issue with ogg page numbering and discont flag handling
-      * oggmux: ensure stream serial numbers are unique
-      * oggmux: use running time for muxing instead of timestamps
-      * oggparse: better detection of delta unit flag
-      * playbin2, uridecodebin: add "source-setup" signal
-      * playbin2: always prefer the custom set sink and also set it back to NULL in all cases
-      * playbin2: check if an already existing sink supports the non-raw format too
-      * playbin2: fix handling of non-raw custom sinks
-      * playbin2: if a sink claims to support ANY caps assume that it only supports the usual raw formats
-      * playbin2: only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
-      * playbin2: use gst_pad_accept_caps() instead of intersecting with the getcaps caps
-      * playbin2: set sinks to READY before checking if it accept caps
-      * textoverlay: add support for ARGB and other RGB alpha variants, and xBGR and RGBx
-      * textoverlay: add support for vertical center alignment
-      * textoverlay: converted AYUV to use 'A OVER B' alpha compositing
-      * textoverlay: use a class wide mutex to work around pango reentrance issues
-      * theoraenc: don't reset the video quality when setting the bitrate
-      * theoraenc: allow adjustment of the speed level while running
-      * theoraenc: set speed-level property defaults from libtheora's defaults
-      * typefinding: MPEG-TS detection fixes
-      * typefinding: detect HTTP live streaming m3u8 playlists
-      * typefinding: detect windows icon files and DEGAS images (to avoid false positives)
-      * typefinding: detect raw h.263
-      * typefinding: add depth and endianness fields to DTS caps
-      * uridecodebin: Add default handler for autoplug-select
-      * uridecodebin: add https:// to protocols for which to enable buffering
-      * uridecodebin: expose "autoplug-sort" signal
-      * uridecodebin: post proper error message if decodebin2/typefind elements are missing
-      * uridecodebin: Return NULL from the default autoplug-sort handler
-      * videorate: fix "skip-to-first" timestamp setup
-      * videoscale: add 16-bit-channel support (ARGB64, AYUV64), fix ARGB bilinear scaling
-      * videotestsrc: add 16-bit-per-channel support (ARGB64, AYUV64)
-      * vorbis: add support for using tremolo on android
-      * vorbistag: Add support for METADATA_BLOCK_PICTURE tags
-      * vorbistag: Write GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE as METADATA_BLOCK_PICTURE
-      * win32: fix DEFAULT_AUDIOSINK, should be direct*sound*sink
-      * xvimagesink: don't paint the window black when going to NULL
-
-Bugs fixed since 0.10.32:
-
-      * 618516 : [typefinding] need raw H.263 typefinder
-      * 619778 : oggdemux: fails on zero-length pages with Patent_Absurdity_HD_3540kbit.ogv
-      * 633837 : videoscale: invalid reads after conversion to orc linear scaling
-      * 412678 : random segfaults or memory corruptions with multiple textoverlays (pango not reentrant)
-      * 620364 : [typefinding] .ico file detected as AAC
-      * 625129 : typefinding: file incorrectly detected as audio/x-dts
-      * 626152 : [playbin2] add " source-setup " signal
-      * 627268 : [tag] add GST_TAG_ENCODED_BY and map id3v2 TENC frame
-      * 629196 : oggmux: re-tagging an Ogg Vorbis file may corrupt audio data
-      * 632291 : discoverer: sparse tracks cause prerolling to hang till timeout
-      * 632889 : [multifdsink] [PATCH] Disconnect inactive clients in the select loop too
-      * 635669 : [vorbistag] Support METADATA_BLOCK_PICTURE for Vorbis cover art
-      * 635784 : ringbuffer: make sure to not start if the may_start flag is FALSE
-      * 635800 : xvimagesink flashes black when going from READY_TO_NULL
-      * 636886 : baseaudiosink: no running clock when eos leads to hang in PLAYING
-      * 639136 : [oggparse]code is not safe when using libogg fuctions
-      * 639159 : [textoverloay] Add vertical center alignment option
-      * 639237 : textoverlay: patch to use " A OVER B " alpha compositing
-      * 639744 : [oggdemux] Removing dead code:
-      * 640189 : oggmux: cleanup
-      * 640211 : oggmux: ensure serialnos are unique
-      * 640607 : appsink never sends " new-buffer-list " signal
-      * 640709 : [typefindfunctions] h264 typefinder registered with MPEG_VIDEO_CAPS
-      * 640804 : checks: encodebin test fails if theora or vorbis plugins are not available
-      * 641706 : discoverer: Keep references on discoverer objects for callbacks
-      * 641860 : discoverer: Use nominal bitrate if bitrate tag is unavailable
-      * 641917 : [gdppay] Ensure buffer's medata is writeable before setting it
-      * 641927 : [encodebin] refcount issue with the " request-pad " signal
-      * 641952 : [videoscale] assertion on fixate_caps
-      * 642174 : Playbin2 cannot work with non-raw custom sinks
-      * 642232 : theoraenc sets Video quality to zero when explicitely setting the bitrate to 0
-      * 642274 : [playbin2] arbitrary audio-sink is chosen even though explicitely having set a custom audio-sink bin
-      * 642381 : potential memleak in decodebin2
-      * 642466 : playbin2: after replacing a video sink with the pipeline in NULL state I still get the old one
-      * 642720 : audiotestsrc: pipelines with multiple instances with wave=gaussian-noise, white-noise, or pink-noise are very slow
-      * 642942 : adder: offset_end field of outgoing buffers is set to GST_BUFFER_OFFSET_NONE
-      * 642949 : pbutils: encoding-target: chaining error object in loading target from file may cause crash if there is no error
-      * 643775 : [oggmux] use running time instead of timestamps
-      * 644416 : [encodebin] Cannot be reused
-      * 644745 : [oggmux] Fails to mux Speex content, doesn't preroll
-      * 644845 : [alsa] Comparison of unsigned int < 0 always false in gstalsamixer.c
-      * 644996 : libsABI check doesn't depend only on architecture
-      * 645167 : [xmp] Add a new XmpConfig interface
-      * 645437 : encoding-profile: Fix syntax in Example: Creating a profile
-      * 646570 : baseaudiosink: don't allow aligning behind the read-segment
-      * 646572 : baseaudiosrc: protect against ringbuffer disappearing while in a query
-      * 646573 : baseaudiosrc: Add src object lock around call to ringbuffer parse caps
-      * 646575 : rtcpbuffer: Round to next 32bit word, not current 32bit word at end of SDES chunk
-      * 646576 : rtcpbuffer: fix invalid read in validation of padding in rtcp packet
-      * 646923 : video: Remove unused variable
-      * 646924 : rtp: Remove unused variables
-      * 646925 : encoding-profile: Remove unused variables
-      * 646952 : Fix the strlol return type mismatch :
-      * 647399 : Bad typo in ID3 tags: psychadelic - > psychedelic
-      * 647721 : Remove excessive checking for video.c
-      * 647781 : [playbin2] missing shutdown steps and inconsistent error behaviour
-      * 647856 : [oggmux] Assumes that the first buffer can be used to detect the stream type
-      * 647857 : [xvimagesink/ximagesink] Handle NULL caps in buffer_alloc()
-      * 647942 : [pango] Use different Pango contexts for the different subclasses
-      * 647943 : [pango] Class global pango mutex not always used
-      * 648459 : tag: exif: register common tags from tag library
-      * 648466 : Ogg to LPCM transcoding fails
-      * 648548 : videoscale broken with orc 0.4.13
-      * 642667 : [playbin2] autoplug-factories code does not do what it claims to do
-      * 642732 : [playbin2] sinks set to READY after activating groups causes bad autoplug-continue decisions
-      * 646744 : libgsttag: Minor issues building gst-plugins-base with MS compiler
-      * 647294 : gst-plugins-base doesn't compile with GCC 4.6
-
-API additions since 0.10.32:
-
-      * gst_tag_list_to_xmp_buffer_full()
-      * gst_tag_xmp_list_schemas()
-      * gst_tag_xmp_writer_add_all_schemas()
-      * gst_tag_xmp_writer_add_schema()
-      * gst_tag_xmp_writer_get_type()
-      * gst_tag_xmp_writer_has_schema()
-      * gst_tag_xmp_writer_remove_all_schemas()
-      * gst_tag_xmp_writer_remove_schema()
-      * gst_tag_xmp_writer_tag_list_to_xmp_buffer()
-      * GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
-      * gst_video_format_get_component_depth()
-      * gst_video_format_new_template_caps()
-
-Changes since 0.10.31:
-
-      * GLib requirement is now >= 2.22, gobject-introspection >= 0.9.12
-      * New encodebin element
-      * New encoding profile and encoding targets API in pbutils
-      * audioresample: corrected buffer duration calculation to account for nonzero initial timestamp
-      * audioresample: provide as much valid output ts and offset as valid input
-      * audioresample: push half a history length, instead of a full history length, at end-of-stream
-        so that output segment and input segment have same duration
-      * decodebin2: deprecate new-decoded-pad and removed-decoded-pad signals (use "pad-added" and "pad-removed" instead)
-      * multifdsink: add first and last buffer's timestamp to the stats; only keep last valid timestamp
-      * oggdemux: extract more tags (vorbis comment headers, Kate)
-      * oggdemux: ignore header pages when looking for keyframe; set headers on caps
-      * oggdemux: fix interpretation of Theora granule position and parsing of Theora size
-      * oggparse: Set DELTA_UNIT on buffers
-      * playbin2: delay stream-changed messages, fixing KATE subtitle recognition
-      * textoverlay: make text, xpos, ypos, color, and silent properties controllable
-      * typefinding: (E)AC-3 and ISO typefinder improvements; add yuv4mpeg typefinder
-      * typefinding: add "stream-format" to h264 caps, and framed=false to DTS caps
-      * typefinding: assume EBML files without doctype are matroska
-      * videorate: fix behaviour for frame rate cap changes
-      * vorbisdec: avoid using invalid timestamps; keep timestamps when no decoded output
-      * ximagesink, xvimagesink: add read-only window-width and window-height properties
-      * baseaudiopay: fix timestamps on buffer lists
-      * baseaudiosink: protect against ringbuffer disappearing while in a query
-      * basedepay: add support for buffer lists in the depayloader
-      * basertppay: use RTP base time when invalid timestamps
-      * rtpbuffer: relax arrangement for RTP bufferlists
-      * rtpdepayloader: add support for getting events
-      * rtppayload: copy applied rate to segment
-      * sdp: add method to check for multicast addresses
-      * sdp: only parse TTL for IP4 addresses
-      * video: add 8-bit paletted RGB, YUV9, YVU9 and IYU1 video formats
-      * video: return correct component width/height for A420
-
-Bugs fixed since 0.10.31:
-
-      * 619778 : oggdemux: fails on zero-length pages with Patent_Absurdity_HD_3540kbit.ogv
-      * 586570 : Add GAP Flag support to audioresample
-      * 623413 : pbutils: Add/Fix some media descriptions
-      * 627476 : New profile library and encoding plugin
-      * 629349 : [oggdemux] extract stream tags for tagreadbin and transcoding
-      * 632667 : [ximagesink] added read-only properties window-width and window-height
-      * 634397 : [multifdsink] [PATCH] Add the timestamp of the first and last buffer to the stats
-      * 634522 : gst-visualize-m.m imports but doesn't use File::Basename
-      * 635231 : baseaudiosink: protect against ringbuffer disappearing while in a query
-      * 636198 : decodebin2: " removed-decoded-pad " signal never fired
-      * 636769 : [appsink] Flushing property is never reset
-      * 636827 : Usage of gst_caps_interset where gst_caps_can_intersect was intended?
-      * 637324 : oggdemux: unable to demux Ogg files with Skeleton in push mode
-      * 637377 : timeoverlay: add missing break
-      * 637519 : ogg: implement packet duration query for kate streams
-      * 637586 : playbin2 fails to recognize subtitle caps from katedec
-      * 637735 : [encoding-profile] automatic load/save support and registry
-      * 637758 : [exiftag] Generates buffers with uninitialized data during taglist- > exif buffer serialization
-      * 637822 : oggdemux: allocate buffers using gst_buffer_new_and_alloc
-      * 637927 : oggdemux: set headers on caps
-      * 638200 : [oggdemux] fails to playback video file
-      * 638276 : oggstream: when the last keyframe position is not known, do not use -1
-      * 638859 : textoverlay: make misc. properties controllable
-      * 638901 : [encodebin] proper element documentation
-      * 638903 : [encodebin] missing-plugin support
-      * 638961 : Small configure bashism 0.10.31.2
-      * 639039 : gobject-introspection: GstPbutils gir scanner fails to link with gold linker
-      * 639121 : oggdemux: outdated comment for gst_ogg_demux_submit_buffer()
-      * 639215 : examples: Allow building with newer GTK+
-      * 639730 : discoverer: Validate timeouts before processing them
-      * 639755 : discoverer: Clean up callbacks in dispose()
-      * 639778 : discoverer: Drop new stream tags once preroll is done
-      * 639790 : [gdp] Fix metadata g_warning
-      * 639747 : Please export GST_TYPE_APP_STREAM_TYPE
-      * 553244 : theoraparse doesn't work at all (throws criticals and asserts)
-
-
-API added since 0.10.31:
-
-      * gst_app_stream_type_get_type()
-      * gst_discoverer_info_get_seekable()
-      * gst_encoding_audio_profile_get_type()
-      * gst_encoding_audio_profile_new()
-      * gst_encoding_container_profile_add_profile()
-      * gst_encoding_container_profile_contains_profile()
-      * gst_encoding_container_profile_get_profiles()
-      * gst_encoding_container_profile_get_type()
-      * gst_encoding_container_profile_new()
-      * gst_encoding_list_all_targets()
-      * gst_encoding_list_available_categories()
-      * gst_encoding_profile_find()
-      * gst_encoding_profile_get_description()
-      * gst_encoding_profile_get_format()
-      * gst_encoding_profile_get_input_caps()
-      * gst_encoding_profile_get_name()
-      * gst_encoding_profile_get_presence()
-      * gst_encoding_profile_get_preset()
-      * gst_encoding_profile_get_restriction()
-      * gst_encoding_profile_get_type()
-      * gst_encoding_profile_get_type_nick()
-      * gst_encoding_profile_is_equal()
-      * gst_encoding_profile_set_description()
-      * gst_encoding_profile_set_format()
-      * gst_encoding_profile_set_name()
-      * gst_encoding_profile_set_presence()
-      * gst_encoding_profile_set_preset()
-      * gst_encoding_profile_set_restriction()
-      * gst_encoding_target_add_profile()
-      * gst_encoding_target_get_category()
-      * gst_encoding_target_get_description()
-      * gst_encoding_target_get_name()
-      * gst_encoding_target_get_profile()
-      * gst_encoding_target_get_profiles()
-      * gst_encoding_target_get_type()
-      * gst_encoding_target_load()
-      * gst_encoding_target_load_from_file()
-      * gst_encoding_target_new()
-      * gst_encoding_target_save()
-      * gst_encoding_target_save_to_file()
-      * gst_encoding_video_profile_get_pass()
-      * gst_encoding_video_profile_get_type()
-      * gst_encoding_video_profile_get_variableframerate()
-      * gst_encoding_video_profile_new()
-      * gst_encoding_video_profile_set_pass()
-      * gst_encoding_video_profile_set_variableframerate()
-      * gst_base_rtp_depayload_push_list()
-      * gst_rtsp_url_decode_path_components()
-      * gst_sdp_address_is_multicast()
-      * gst_video_parse_caps_palette()
-
-Changes since 0.10.30:
-
-      * adder: Make sure FLUSH_STOP is always sent after a flushing seek
-      * alsasrc, alsasink: add "card-name" property to get the card name in addition to the device name
-      * appsrc: don't override buffer caps if appsrc caps are NULL; fix element classification
-      * audioclock: add a function to invalidate the clock
-      * audioconvert: optimise remaining conversion code paths with Orc as well
-      * baseaudiosink,baseaudiosrc: post clock-provide and clock-lost messages when going from/to READY to/from PAUSED
-      * baseaudiosink: subtract the render_delay from our latency
-      * decodebin2: don't add non prerolled stream to topology
-      * ffmpegcolorspace: add support for A420 and fix support for 8 bit paletted RGB and IYU1
-      * gnomevfsrc: set GST_PARAM_MUTABLE_READY flag on the "handle" property
-      * libvisual: add latency query; only drop frames that are really too old
-      * multifdsink: gdp protocol is deprecated. People should use gdppay instead
-      * oggdemux: fix seeking with negative rate with skeleton; fix wrong flowreturn handling
-      * pbutils: AAC profile and level detection utility functions
-      * pbutils: H.264 and MPEG-4 profile and level extraction utility functions
-      * pbutils: new GstDiscoverer utility API for extracting metadata and tags
-      * playbin2, decodebin2: declare stable, deprecate the old playbin/decodebin
-      * playbin2, uridecodebin: add property to configure ring buffer size
-      * rtcpbuffer: add function to manipulation the data in RTCP feedback packets
-      * rtpbuffer: add functions to add RFC 5285 header extensions to GstBufferLists
-      * rtpbuffer: add function to add RTP header extensions with a two bytes header
-      * rtpbuffer: add function to append RFC 5285 one byte header extensions
-      * rtpbuffer: add function to parse RFC 5285 header extensions
-      * rtpbuffer: add function to read RFC 5285 header extensions from GstBufferLists
-      * rtpbuffer: add function to transform a GstBuffer into a GstBufferList
-      * rtsp: improve rtsp timeout calculation and handling
-      * sdp: add methods to convert between uri and message
-      * tags: try ISO-8859-1 as second fallback in case WINDOWS-1252 is not supported
-      * tags: add many more photography/capture tags
-      * tags: EXIF and XMP tag handling improvements
-      * textoverlay: add support for NV12, NV21 and AYUV; configurable text color and position
-      * theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
-      * theoraenc: add support for two-pass encoding; allow change of bitrate and quality on-the-fly
-      * tools: standalone gst-discoverer-0.10 tool for discovering media file properties
-      * typefinding: detect avc1 ftyp as video/quicktime
-      * typefinding: export 3gp profile in caps
-      * typefinding: detect enhanced AC-3
-      * typefinding: extend AAC typefinder to detect LOAS streams
-      * typefinding: fix ADTS caps stream-format detail
-      * typefinding: more reliable mpeg-ts typefinding
-      * uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
-      * video: add  gst_video_convert_frame*() utility functions
-      * videorate: fixate the pixel-aspect-ratio if necessary
-      * videorate: mark duplicated frames with the GAP flag
-      * videoscale: add support for adding black borders to keep the DAR if necessary ("add-borders" property)
-      * videoscale: Fix caps fixating if the height is fixed but the width isn't
-      * videoscale: only set the PAR if the caps already had a PAR
-      * videoscale: refactor using more Orc code
-      * videotestsrc: new patterns: solid-color, ball, bar and smpte100
-      * videotestsrc: add "foreground-color" and "background-color" properties, deprecate "colorspec" property
-      * videotestsrc: add support for UYVP format, fix NV21 rendering
-      * volume: use Orc to optimise many code paths
-      * vorbisdec: decode pending buffers upon EOS when doing reverse playback
-      * xoverlay: add set_window_handle() with guintptr argument, deprecate set_xwindow_id() which doesn't work on some platforms
-      * xoverlay: allow render rectangle coordinates to be negative
-
-Bugs fixed since 0.10.30:
-
-      * 628028 : [uridecodebin] Don't enable progressive downloading for live streams
-      * 623846 : typefinding: add support for " enhanced ac3 " (eac3)
-      * 602437 : [playbin2] [gapless] Completely broken when switching between files with audio/video only
-      * 612264 : Notification needed when the first buffer is pushed by the basertppayloader
-      * 615471 : [videoscale] Interlaced handling makes output worse than no interlaced handling at all
-      * 616392 : videotestsrc colorspec=0/1 does not affect color-matrix in caps
-      * 617314 : pbutils: Add codec-specific utility functions for AAC, H.264, MPEG-4 video
-      * 617506 : [videoscale] Add support for adding black borders if necessary to keep the DAR
-      * 620291 : typefindfunctions: Export 3gp profile in caps
-      * 623663 : [typefinding] mpeg-ts file detected as audio/mpeg
-      * 623807 : [audioclock] Add gst_audio_clock_new_full() with GDestroyNotify for the user_data
-      * 623837 : typefind: only associate .webm with WebM
-      * 623918 : [typefind] Extend AAC typefinder to detect LOAS stream
-      * 624598 : [adder] crash in orc_sse_set_mxcsr()
-      * 624656 : [videoscale] UYVY scaling broken, introduces green lines
-      * 624919 : [videotestsrc] add solid color pattern
-      * 624920 : [textoverlay] configurable text color and position
-      * 624949 : [playbin2] declare playbin2 stable
-      * 625001 : [examples] Don't use GdkDraw/GdkGC
-      * 625118 : [playbin2] Race condition with EOS events in gapless mode
-      * 625944 : [pbutils] GstDiscoverer - API to discover metadata and stream information
-      * 626125 : [alsa] Conditional jump or move depends on uninitialised value(s)
-      * 626570 : [tag] Add resolution tags
-      * 626581 : [playbin2] regression: occasional deadlocks in streamsynchronizer
-      * 626621 : [playbin2] streamsynchronizer regressions
-      * 626629 : [ffmpegcolorspace] doesn't handle palettes any longer
-      * 626718 : playback: Delay usage of GstFactoryList
-      * 627203 : [alsa] alsasrc and alsasink should expose card name via property
-      * 627297 : [regression] build-failure
-      * 627565 : [xoverlay][win64] gulong can't hold a HANDLE
-      * 627768 : add NV12 support to textoverlay
-      * 627780 : GstClockOverlay re-renders string even if it hasn't changed, resulting in very high CPU usage.
-      * 627924 : riff: add support for 2vuy
-      * 628009 : [volume] Float processing with orc broken
-      * 628400 : [videorate] does not generate buffers to fill the duration of the last frame
-      * 628500 : videotestsrc: add moving color bars pattern
-      * 628747 : gst-plugins-base: unable to build because of compiler warning in libggsttag
-      * 629157 : Move video frame conversion from playback plugin to libgstvideo
-      * 629672 : gnomevfsrsrc: " handle " property should also have the GST_PARAM_MUTABLE_READY flag
-      * 629848 : build problem with current gtk+: implicit declaration of function 'gdk_draw_rectangle', GtkStyle' has no member named 'black_gc'
-      * 630303 : theoraenc: Make the bitrate/quality dynamically modifiable
-      * 630353 : [appsrc] Avoid losing buffers' caps
-      * 630440 : ringbuffer: use g_once for type-init
-      * 630443 : baseaudiosink: Add getter and setter for drift tolerance
-      * 630471 : [tag] ligatures " Œ " and " œ " are not supported in freeform strings
-      * 630496 : seek example: add new #define to set seek bar graininess
-      * 630802 : videotestsrc.c doesn't compile in Visual Studio 2008
-      * 631128 : Add methods to manipulate RFC 5285 header extensions
-      * 631312 : [streamsynchronizer] Advancing segments too much
-      * 631633 : [oggdemux] fix seeking with negative rate with skeleton
-      * 631703 : [oggdemux] sintel ogv delay when playing
-      * 631756 : Fix build with glib 2.21.3
-      * 631773 : [tags] Add new exif tags: sharpness, metering mode, file/capturing source
-      * 631774 : [xvimagesink] sets non-simple caps on pad_alloced buffer
-      * 632167 : [oggdemux] doesn't parse/push all headers in pull mode
-      * 632653 : [seek] Don't use deprecated combo box API
-      * 632656 : [uridecodebin] internal decodebin2 might fail to reach PLAYING in streaming case
-      * 632789 : [PATCH] tests/icles/: adapted test-colorkey.c and test-xoverlay.c to deprecation of gtk_widget_hide_all
-      * 632809 : [regression] build failure in 0.10.30.2 in tools/
-      * 632988 : [discoverer] gst_caps_ref() critical for substreams of unknown streams
-      * 633023 : [discoverer] Add versionized gst-discoverer tool
-      * 633203 : Regression: streamsynchroniser + disabled deinterlacing = no DVD menu highlights/subtitles
-      * 633311 : discoverer: use specific types in getters, rename some boolean getters
-      * 633336 : [discoverer] Move documentation into the correct section
-      * 633455 : [rtsp] don't let the rtsp connection timeout
-      * 634014 : GTK+3 is a moving target, lets not compile against it by default.
-      * 634584 : decodebin2 docs should mention that " new-decoded-pad " signal may be emitted after " no-more-pads "
-      * 635067 : [*decodebin*] pad template leaked
-      * 635392 : Missing information on exported packages from GIRs
-      * 621349 : [theoraenc] Implement two-pass encoding
-      * 628488 : [theoradec] add properties to enable telemetry overlay
-      * 629746 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
-      * 626869 : The RTP depayloader is sometimes sending partial frames down the pipeline without the DISCONT bit set
-
-API added since 0.10.30:
-
-      * gst_audio_clock_invalidate()
-      * gst_audio_clock_new_full()
-      * gst_base_audio_sink_get_drift_tolerance()
-      * gst_base_audio_sink_set_drift_tolerance()
-      * gst_x_overlay_got_window_handle()
-      * gst_x_overlay_set_window_handle()
-      * GstXOverlay::set_window_handle()
-      * gst_codec_utils_aac_caps_set_level_and_profile()
-      * gst_codec_utils_aac_get_level()
-      * gst_codec_utils_aac_get_profile()
-      * gst_codec_utils_aac_get_sample_rate_from_index()
-      * gst_codec_utils_h264_caps_set_level_and_profile()
-      * gst_codec_utils_h264_get_level()
-      * gst_codec_utils_h264_get_profile()
-      * gst_codec_utils_mpeg4video_caps_set_level_and_profile()
-      * gst_codec_utils_mpeg4video_get_level()
-      * gst_codec_utils_mpeg4video_get_profile()
-      * gst_discoverer_audio_info_get_bitrate()
-      * gst_discoverer_audio_info_get_channels()
-      * gst_discoverer_audio_info_get_depth()
-      * gst_discoverer_audio_info_get_max_bitrate()
-      * gst_discoverer_audio_info_get_sample_rate()
-      * gst_discoverer_audio_info_get_type()
-      * gst_discoverer_container_info_get_streams()
-      * gst_discoverer_container_info_get_type()
-      * gst_discoverer_discover_uri()
-      * gst_discoverer_discover_uri_async()
-      * gst_discoverer_get_type()
-      * gst_discoverer_info_copy()
-      * gst_discoverer_info_get_audio_streams()
-      * gst_discoverer_info_get_container_streams()
-      * gst_discoverer_info_get_duration()
-      * gst_discoverer_info_get_misc()
-      * gst_discoverer_info_get_result()
-      * gst_discoverer_info_get_stream_info()
-      * gst_discoverer_info_get_stream_list()
-      * gst_discoverer_info_get_streams()
-      * gst_discoverer_info_get_tags()
-      * gst_discoverer_info_get_type()
-      * gst_discoverer_info_get_uri()
-      * gst_discoverer_info_get_video_streams()
-      * gst_discoverer_new()
-      * gst_discoverer_result_get_type()
-      * gst_discoverer_start()
-      * gst_discoverer_stop()
-      * gst_discoverer_stream_info_get_caps()
-      * gst_discoverer_stream_info_get_misc()
-      * gst_discoverer_stream_info_get_next()
-      * gst_discoverer_stream_info_get_previous()
-      * gst_discoverer_stream_info_get_stream_type_nick()
-      * gst_discoverer_stream_info_get_tags()
-      * gst_discoverer_stream_info_get_type()
-      * gst_discoverer_stream_info_list_free()
-      * gst_discoverer_video_info_get_bitrate()
-      * gst_discoverer_video_info_get_depth()
-      * gst_discoverer_video_info_get_framerate_denom()
-      * gst_discoverer_video_info_get_framerate_num()
-      * gst_discoverer_video_info_get_height()
-      * gst_discoverer_video_info_get_max_bitrate()
-      * gst_discoverer_video_info_get_par_denom()
-      * gst_discoverer_video_info_get_par_num()
-      * gst_discoverer_video_info_get_type()
-      * gst_discoverer_video_info_get_width()
-      * gst_discoverer_video_info_is_image()
-      * gst_discoverer_video_info_is_interlaced()
-      * GST_PLUGINS_BASE_VERSION_MAJOR
-      * GST_PLUGINS_BASE_VERSION_MINOR
-      * GST_PLUGINS_BASE_VERSION_MICRO
-      * GST_PLUGINS_BASE_VERSION_NANO
-      * GST_CHECK_PLUGINS_BASE_VERSION
-      * gst_plugins_base_version()
-      * gst_plugins_base_version_string()
-      * gst_rtcp_packet_fb_get_fci()
-      * gst_rtcp_packet_fb_get_fci_length()
-      * gst_rtcp_packet_fb_set_fci_length()
-      * gst_rtp_buffer_add_extension_onebyte_header()
-      * gst_rtp_buffer_add_extension_twobytes_header()
-      * gst_rtp_buffer_get_extension_onebyte_header()
-      * gst_rtp_buffer_get_extension_twobytes_header()
-      * gst_rtp_buffer_list_add_extension_onebyte_header()
-      * gst_rtp_buffer_list_add_extension_twobytes_header()
-      * gst_rtp_buffer_list_from_buffer()
-      * gst_rtp_buffer_list_get_extension_onebyte_header()
-      * gst_rtp_buffer_list_get_extension_twobytes_header()
-      * gst_sdp_message_as_uri()
-      * gst_sdp_message_parse_uri()
-      * GST_TAG_CAPTURING_SOURCE
-      * GST_TAG_CAPTURING_METERING_MODE
-      * GST_TAG_CAPTURING_SHARPNESS
-      * GST_TAG_IMAGE_HORIZONTAL_PPI
-      * GST_TAG_IMAGE_VERTICAL_PPI
-      * GST_TAG_CAPTURING_FLASH_FIRED
-      * GST_TAG_CAPTURING_FLASH_MODE
-      * GST_TAG_CAPTURING_EXPOSURE_PROGRAM
-      * GST_TAG_CAPTURING_EXPOSURE_MODE
-      * GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE
-      * GST_TAG_CAPTURING_GAIN_ADJUSTMENT
-      * GST_TAG_CAPTURING_WHITE_BALANCE
-      * GST_TAG_CAPTURING_CONTRAST
-      * GST_TAG_CAPTURING_SATURATION
-      * GST_TAG_CAPTURING_SHUTTER_SPEED
-      * GST_TAG_CAPTURING_FOCAL_RATIO
-      * GST_TAG_CAPTURING_FOCAL_LENGTH
-      * GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO
-      * GST_TAG_CAPTURING_ISO_SPEED
-      * GST_VIDEO_FORMAT_UYVP
-      * GST_VIDEO_FORMAT_A420
-      * gst_video_convert_frame()
-      * gst_video_convert_frame_async()
-      * GstTextOverlay:xpos
-      * GstTextOverlay:ypos
-      * GstTextOverlay:color
-      * GstVideoTestSrc:solid-color
-      * GstVideoTestSrc::foreground-color
-      * GstVideoTestSrc::background-color
-
-API deprecated since 0.10.30:
-
-      * gst_x_overlay_set_xwindow_id()
-      * gst_x_overlay_got_xwindow_id()
-      * GstXOverlay::set_xwindow_id()
-
-Changes since 0.10.29:
-
-      * Use Orc (Optimized Inner Loops Runtime Compiler) for SIMD and
-        other optimisations, and remove liboil dependency. The main goal
-        for this release was to make the transition from liboil to liborc.
-        Performance improvements should not be expected and will be the
-        focus of future versions. liborc is an optional dependency for
-        the time being, to make it possible to test and develop the very
-        latest GStreamer versions on systems that don't have orc yet.
-        However, without orc slow unoptimised backup code will be used
-        for many performance critical code paths. Distributors are urged
-        to package and ship the latest version of liborc and compile
-        GStreamer modules with --enable-orc. Please do not distribute
-        GStreamer packages that are not orc enabled. More information on
-        the orc integration can be found in the docs/design/ directory.
-      * basertpaudiopayload: Set duration on buffers; add extra frame for non-complete frame lengths
-      * riff: add mappings for On2 VP8 and VP6F (On2 VP6 Flash variant)
-      * video: Add support for RGB/BGR with 15 and 16 bits, and Y800 and Y16
-      * xmp/exif tags: add mappings for new tags (device, geo location, image orientation)
-      * adder, audioconvert, audioresample, volume: convert from liboil to orc
-      * adder: rework timestamping; only accept seek-types SEEK_NONE and SEEK_SET
-      * decodebin2: add "expose-all-streams" property to not expose/decode all streams
-      * decodebin2: use accumulator for autoplug-sort
-      * ffmpegcolorspace: add YUY2/YVYU to all RGB formats conversions
-      * ffmpegcolorspace: fix conversion of packed 4:2:2 YUV to RGB and 8 bit grayscale
-      * ffmpegcolorspace: fix Y16 from/to GRAY8 conversion
-      * ffmpegcolorspace: fix Y42B from/to YUY2/YVYU/UYVY conversion for odd widths
-      * ffmpegcolorspace: Map "Y8  " and "GREY" to "Y800" and add it to the template caps
-      * ffmpegcolorspace: negotiation speed-ups
-      * oggdemux: implement seeking and duration estimates when operating in push mode (http etc.)
-      * oggdemux: parse Skeleton index packets for better seeking in push mode
-      * oggdemux: fix granulepos->key granule calculation for Dirac video
-      * oggdemux: fix EOS flow aggregation: only EOS when all streams are EOS
-      * oggmux: Start a new page for every CMML buffer
-      * ogg: Implement Ogg VP8 mapping
-      * playbin2: add "av-offset" property to adjust audio/video sync
-      * playbin2: add flag for enabling/disabling automatic deinterlacing
-      * playbin2: fix race when querying duration right after preroll, by forwarding duration
-        query duration during group switch if no cached duration exists
-      * playbin2: if a text sink is provided, let subtitle parsing be done by decodebin2 if required
-      * playbin2: set the subtitle encoding on the decodebins again
-      * playsink: also expose "convert-frame" action signal and "frame" property in playsink
-      * playsink: reconfigure the video chain correctly when switching from a subtitle to a non-subtitle file
-      * playsink: Don't fail if subtitles are used but only audio is available and no visualizations
-      * typefinding: add WebM typefinder (was in -good before)
-      * typefinding: add IVF and dts typefinders, improve AC-3 and jpeg typefinding
-      * typefinding: detect ISO 14496-14 files as video/quicktime not audio/x-m4a
-      * uridecodebin: add all qtdemux types to downloadable types
-      * uridecodebin: add the 'expose-all-streams' property from decodebin2
-      * uridecodebin: Allow video/webm for progressive downloading
-      * videorate, videotestsrc: fixate color-matrix, chroma-site and interlaced fields if necessary
-      * videoscale: Try to keep DAR when scaling
-      * videoscale: Add support for Y444, Y42B and Y41B and more gray formats
-      * videoscale: Fix resampling of ARGB scanlines
-      * videoscale: Try harder to keep the DAR if possible
-      * videoscale: Use passthrough mode if width and height are not changed
-
-Bugs fixed since 0.10.29:
-
-      * 621428 : [playbin2] ghostpad with arbitrary getcaps func leads to not working srt subtitles
-      * 371108 : videoscale sucks at basic mathematics when it comes to PAR
-      * 512740 : unit test failures if compiling against installed core with installed plugins-base also present
-      * 605100 : GNOME Goal: Remove deprecated glib symbols
-      * 610866 : [playbin2] Don't fail if there are subtitles and audio but no video
-      * 614872 : [tag] Add basic exif support
-      * 614942 : playbin2: " text-sink " is supposed to handle raw subtitle data?
-      * 615783 : reworked timestamping in adder
-      * 616396 : [playbin2] might fail a duration query immediately following PAUSED state
-      * 616422 : playsink might not handle reconfiguring after a text enabled file correctly
-      * 616557 : [videorate] Add support for video/x-raw-gray
-      * 617636 : [rtsp] uses unicode characters in date string
-      * 617855 : [oggdemux] Fails to play LAC2010 videos
-      * 617868 : [decodebin2] Option to not expose/decode all streams
-      * 618324 : rtp payloader don't put the duration on their output buffers
-      * 618392 : [avi-demux] Gstreamer does not support 1x1 or 1xN avi files
-      * 618625 : lock priv mutex in appsrc when setting caps
-      * 619090 : [uridecodebin] caps negociation fail
-      * 619102 : [PATCH] WebM typefinder
-      * 619310 : [videorate] negotiation issue, tries to set unfixed caps on pad
-      * 619396 : gstreamer does not seek http streams of Ogg Vorbis and Flac audio files.
-      * 620136 : Orc integration
-      * 620140 : [gio] report out-of-space errors
-      * 620211 : gst-plugins-base gets confused by dual-QT system
-      * 620279 : [playsink] expose 'frame' property and move 'convert-frame' action from playbin2
-      * 620342 : [baseaudiosink] Allocate and free the clock in state changes
-      * 620412 : [video] Incomplete support for 15 and 16 bit RGB and BGR formats
-      * 620441 : [video] Add support for Y800 and Y16 formats
-      * 620500 : totem won't do progressive download for flv videos
-      * 620720 : typefinding: Mark ISO 14496-14 files as video/quicktime
-      * 620939 : [oggdemux] No support for Skeleton 4.0 streams
-      * 621071 : [playbin2] no playback with fakesink instead of appsink as text-sink
-      * 621161 : autoplug-sort default callback is run last - overwrite user supplied callback result
-      * 621190 : video sink drops buffers if it's preceded by ffmpegcolorspace, videoscale and a capsfilter
-      * 621509 : [xmptag] Uses uninitialized variable
-      * 621572 : [videoscale] Adds horizontal green lines in bilinear mode
-      * 622696 : ffmpegcolorspace: Speed up caps nego by using simpler caps
-      * 622807 : [decodebin2] Doesn't recover properly after an error
-      * 622944 : Require automake 1.9 or newer for $(builddir)
-      * 623003 : Major problems with calls to gst_util_uint64_scale()
-      * 623176 : riff: matroska file with FLV4 FOURCC fails to play
-      * 623218 : oggdemux: Handle errors from _get_next_page in _do_seek.
-      * 623233 : GstNetBuffer initialization isn't thread safe.
-      * 623318 : [playbin2] If source setup fails the old uridecodebin is kept and breaks future playback
-      * 623375 : [ffmpegcolorspace] Invalid memory accesses with odd widths/height during subsampling
-      * 623384 : [ffmpegcolorspace] Doesn't write last pixel for odd widths in packed 4:2:2 YUV- > RGB conversion
-      * 623418 : [ffmpegcolorspace] Fix packed 4:2:2 YUV to 8 bit grayscale conversion for odd widths
-      * 623530 : [ffmpegcolorspace] Stripy pattern with videotestsrc ! ffmpegcolorspace ! ximagesink
-      * 623583 : [playbin2] regression: DVD playback broken
-      * 624266 : [playbin2] Internal uridecodebin are not properly removed in READY= > NULL
-      * 547603 : [playbin2] add deinterlacing support
-
-API added since 0.10.29:
-
-      * GST_VIDEO_FORMAT_v308
-      * GST_VIDEO_FORMAT_Y800
-      * GST_VIDEO_FORMAT_Y16
-      * GST_VIDEO_FORMAT_RGB16
-      * GST_VIDEO_FORMAT_BGR16
-      * GST_VIDEO_FORMAT_RGB15
-      * GST_VIDEO_FORMAT_BGR15
-      * gst_tag_image_orientation_to_exif_value ()
-      * gst_tag_image_orientation_from_exif_value ()
-      * gst_tag_list_to_exif_buffer ()
-      * gst_tag_list_to_exif_buffer_with_tiff_header ()
-      * gst_tag_list_from_exif_buffer ()
-      * gst_tag_list_from_exif_buffer_with_tiff_header ()
-
-Changes since 0.10.28:
-
-      * video: add support for color-matrix and chroma-site fields in video caps and selected elements
-      * video: Add support for 8-bit and 16-bit grayscale formats
-      * typefinding: add AAC profile, level, channels and rate to ADTS caps
-      * tags: add basic xmp metadata support
-      * gio, gnomevfs: invert ranks of gio and gnomevfs elements: gio is prefered now, gnomevfs has been deprecated
-      * riff: add mapping for On2 VP62 and VP7 and add some more MPEG4 fourccs
-      * playsink: Don't fail if there are subtitles and audio but no video
-      * oggdemux: map old FLAC mapping correctly
-      * alsa: handle disappearing of sound device whilst in use more gracefully
-      * playbin: Only unref the volume element on dispose and when a new audio sink is set
-      * build: build plugin, example and libs directories in parallel if make -jN is used
-      * uridecodebin/playbin2: we can handle avi in download mode too
-      * rtsp: handle closed POST socket in tunneling, ignore unparsable ranges, allow for more ipv6 addresses
-      * audiopayload: add property to control packet duration
-
-Bugs fixed since 0.10.28:
-
-      * 615647 : xvimagesink could miss initial expose
-      * 423086 : vorbisdec introduces timestamp discontinuity at the end
-      * 601315 : [uridecodebin] No download buffering for AVI files
-      * 609539 : xmp metadata support in tag library
-      * 609801 : [volume] Use sample accurate property values if a controller is used
-      * 610248 : don't poll geometry for every frame
-      * 610249 : [xoverlay] add set_render_rectangle() methods
-      * 610866 : [playbin2] Don't fail if there are subtitles and audio but no video
-      * 611702 : playbin2: Warning: g_object_set: assertion `G_IS_OBJECT (object)' failed with custom text sink
-      * 612223 : [base(audio)sink] hangs in _wait_eos
-      * 612312 : typefind: Post AAC profile in caps
-      * 612552 : Examples and tests don't compile with -DGSEAL_ENABLE
-      * 612783 : Warning when compiling gstsubparse.c with MSVC
-      * 612845 : [typefindfunctions] crash in strncasecmp() on windows
-      * 612968 : Add On2 VP62 and VP7 support in riff-media
-      * 613093 : Improper boundary condition handling in videoscale.
-      * 613198 : ximagesink memory leak
-      * 613248 : [audiopayload] add property to control packet duration
-      * 613281 : [PATCH] autogen.sh: Don't call configure with --enable-plugin-docs
-      * 613387 : [gio] compiler warning with GLib 2.18, breaks build with -Werror
-      * 613403 : docs: gst_x_overlay_handle_events() lacks Since: tag
-      * 613589 : typefind: Export AAC level in caps
-      * 613591 : rtspsrc doesn't parse negative port numbers
-      * 613690 : [xmp] refactoring to 1-n tag mappings
-      * 613809 : [oggdemux] flac: file does not play locally
-      * 614288 : Setting playbin volume has no effect the second time around
-      * 614545 : gstalsasrc mixer task spins 100% CPU when USB sound card is removed
-      * 614622 : Trying to compile and it blows up at seek
-      * 614764 : Compile breaks on Mac OS 10.5.8 on new jsseek example
-      * 615572 : Buffer Leak in audiorate during fill process
-      * 615697 : Problems with Makefile
-      * 615789 : [ximagesink] gst_ximagesink_xwindow_update_geometry: assertion `xwindow != NULL' failed
-      * 616545 : [ffmpegcolorspace] Crashes when converting Y41B with some width/height combinations
-
-API added since 0.10.28:
-
-      * gst_x_overlay_set_render_rectangle()
-      * gst_tag_list_from_xmp_buffer()
-      * gst_tag_list_to_xmp_buffer()
-      * gst_video_format_is_gray()
-      * gst_video_parse_caps_chroma_site()
-      * gst_video_parse_caps_color_matrix()
-      * GST_VIDEO_CAPS_GRAY8
-      * GST_VIDEO_CAPS_GRAY16
-      * GST_TYPE_RTSP_LOWER_TRANS
-      * gst_rtsp_lower_trans_get_type()
-
-Changes since 0.10.27:
-
-      * Ogg/Dirac fixes
-      * build: really dist qtgv-xoverlay.h header file needed by overlay examples this time
-      * rtspconnection: fix handling of x-server-ip-address
-      * alsasrc fixes
-
-Bugs fixed since 0.10.27:
-
-      * 610832 : qtgv-xoverlay.h header file missing in the tarball
-      * 611900 : [oggdemux] Incorrect parsing of Dirac headers
-
-Changes since 0.10.26:
-
-      * playbin2,decodebin2: lots of fixes for missing plugin installation
-      * playbin2, playsink, subtitleoverlay: Set subtitle encoding properly
-      * videorate: Improve upstream negotiation
-      * oggdemux: use the chain begin_time instead of our counter
-      * oggdemux: mark skeleton streams correctly
-      * oggdemux: theora PAR of 0:N, N:0 or 0:0 is allowed and maps to 1:1
-      * typefinding: detect stm module format
-      * ffmpegcolorspace: add conversions from all ARGB formats to AYUV and back
-      * theoradec: Fix chroma copying for 4:2:2
-      * tcpclientsrc,tcpserversrc: Fix handling of closed sockets
-      * examples,build: dist header file for the Qt graphics view example
-      * playsink: Reset the sink's state to NULL before unreffing it unless it's the same instance again
-      * rtspconnection: make sure not to dereference NULL username or password
-      * appsrc: Update segment duration and post a duration message if the duration changes
-      * vorbisdec: also support ivorbis tremor decoder
-      * rtsp: fail gracefully on bad Content-Length headers
-      * rtsp: ignore \n and \r as the first line
-
-Bugs fixed since 0.10.26:
-
-      * 610449 : codec autodetection does not always work
-      * 608025 : [videorate] fails at upstream negotiation
-      * 608309 : [appsrc] Should request new data before the queue is empty
-      * 608417 : rtspsrc problem with \n and \r as first line
-      * 609063 : [vorbisdec] also support integer vorbis decoder (tremor) library implementation
-      * 609314 : typefind: Typefind does not handle .stm module format
-      * 609423 : [appsrc] gst_app_src_set_size() should update duration and post a duration message
-      * 610005 : [oggdemux] regression: bad seek granularity
-      * 610268 : [rtsp] NULL pointer reference in gstrtspconnection
-      * 610310 : [playbin2] Subtitle encoding property has no effect
-      * 610329 : [theoradec] doesn't copy all chroma lines for 4:2:2
-      * 610379 : [playbin2] doesn't play if text flag is unset and media has text subtitles
-      * 610386 : [tcpserversrc] Doesn't send EOS when socket is closed
-      * 610672 : overlay examples are now inconsistent and broken
-      * 610832 : missing header file in the tarball
-      * 611225 : [oggdemux] doesn't preroll big_buck_bunny_427x240.indexed.ogg in push mode
-      * 611227 : [oggdemux] no duration or seeking in local big_buck_bunny_427x240.indexed.ogg in pull mode
-      * 604131 : Totem can no longer open Matroska files that hold ASS subtitles
-
-API added since 0.10.26:
-
-      * appsrc::min-percent property
-      * GST_RIFF_TAG_JUNQ
-
-Changes since 0.10.25:
-
-      * playbin2: make about-to-finish signal work for raw sources (e.g. audio CDs)
-      * playbin2: fix handling of the native audio/video flags
-      * playbin2: add flag to enable decodebin buffering
-      * playbin2: make subtitle error handling more robust and ignore late errors
-      * playbin2: improve subtitle passthrough in uridecodebin
-      * playbin2: new subtitleoverlay element for generic subtitle overlaying
-      * playbin2: proxy notify::volume and notify::mute from the volume/mute
-                elements (or audio sink)
-      * playbin2: don't stop completely on initialization errors from subtitle
-                elements; instead disable the subtitles and play the other
-                parts of the stream
-      * decodebin2: rewrite autoplugging and how groups of pads are exposed
-      * uridecodebin: add use-buffering property that will perform buffering on
-                parsed or demuxed media.
-      * GstXOverlay: flesh out docs and add example for use with Gtk+ >= 2.18
-      * libgsttag: add utility functions for ISO-639 language codes and tags
-      * oggdemux: use internal granulepos<->timestamp mapper and make oggdemux
-                more like a 'normal' demuxer that outputs timestamps
-      * oggdemux: seeking improvements
-      * subparse: add qttext support
-      * ffmpegcolorspace: prefer transforming alpha formats to alpha formats
-                and the other way around
-      * libgstvideo: add functions to create/parse still frame events.
-      * theoraenc: make the default quality property 48.
-      * videotestsrc: add pattern with out-of-gamut colors
-      * theora: port to 'new' theora 1.0 API; make misc. existing properties
-                have no effect (quick, keyframe-mindistance, noise-sensitivity,
-                sharpness, keyframe_threshold); those either never worked or
-                aren't needed/provided/useful any longer with the newer API
-      * typefinding: misc. performance improvements and fixes
-      * baseaudiosink: make drift tolerance configurable
-
-Bugs fixed since 0.10.25:
-
-      * 507131 : GStreamer does not play short ogg sounds
-      * 583376 : [typefind] Detects MP3 as h264
-      * 344013 : [oggdemux] use parsers to suck less
-      * 598114 : build overwrites interfaces/interfaces-enumtypes.h with wrong enumtypes
-      * 344706 : [playbin] problem changing subtitles and language
-      * 350748 : [ffmpegcolorspace] ffmpeg colorspace should prefer RGBA over RGB
-      * 499181 : audiorate inserting samples (due to rounding errors ?)
-      * 524771 : Can't seek in YouTube videos
-      * 537050 : [playbin2] QOS event problems
-      * 542758 : [playbin2] Hangs in PLAYING forever if caps are not a subset of pad template caps
-      * 549254 : [playbin/decodebin] Doesn't handle pads that are added much later than the other(s) correctly
-      * 563828 : [decodebin2] Complains about loops in the graph when demuxer output requires another demuxer
-      * 568014 : oggdemux/theoradec doesn't play last video frame
-      * 570753 : [playbin] Support subtitle renderers additional to subtitle parsers
-      * 574289 : [decodebin2] race in state change to PAUSED
-      * 577326 : tcpclientsrc stops working if set to PLAYING, PAUSED and PLAYING again
-      * 579394 : [playbin2] deadlock with wavpack files: type_found - > analyze_new_pad - > no_more_pads
-      * 584441 : [playbin2] if suburi preroll fails with error, playback should continue
-      * 584987 : [playbin2] [gapless] Fire a track-changed message on track change.
-      * 585681 : Subtitle selector doesn't work
-      * 585969 : [playbin2] [gapless] Position/Duration information mismatch on track change
-      * 587704 :  " GstDecodeBin2: This appears to be a text file " error when playing files from a samba share
-      * 591625 : [alsasrc] odd timestamping on start
-      * 591662 : [playbin2] can't handle both text subtitles and subpictures
-      * 591677 : Easy codec installation is not working
-      * 591706 : [playbin2] Support of files with subtitle subpicture streams
-      * 594729 : theora: Convert to libtheora 1.0 API
-      * 595123 : [playbin2] Should hide the difference between subtitles and subpictures
-      * 595401 : gobject assertion and null access to volume instance in playbin
-      * 595427 : avoid x event thread if not needed
-      * 595849 : Fix Y41B strides in videotestsrc and gstvideo
-      * 596159 : rtspsrc hangs when connecting over http tunneled rtsp
-      * 596694 : [typefind] Detects quicktime as mp3
-      * 596774 : Speed up subtitle display after seek/switch
-      * 596981 : [audioresample] Compilation failure due to warning about use of %lu for guint64 variable
-      * 597537 : [streamvolume.c]The cube root function is not defined in Microsoft's CRT
-      * 597539 : [gststrpconnection.c] 'close' is not defined in Microsoft's CRT
-      * 597786 : [tag] enhance gst_tag_freeform_string_to_utf8 to handle 16-bit Unicode
-      * 598288 : [decodebin2] Plays a wav file but issues an error
-      * 598533 : [decodebin2] Post element message with the stream topology on the bus
-      * 598936 : DKS subtitle format
-      * 599105 : [baseaudiosink] Remove pulsesink < 0.10.17 hack after gst-plugins-good release
-      * 599154 : RtpAudioPayload can send out buffers that are not exact multiple of the frame size
-      * 599266 : Requires restart after installing codecs
-      * 599471 : uridecodebin: Store unused decodebin2 instances for further usage.
-      * 599649 : Support for frame-based subtitles using playbin2 and subparse
-      * 600027 : [playbin2,playsink] Should notify about volume/mute changes
-      * 600370 : [subtitleoverlay] New element to overlay video with subtitles in every supported format
-      * 600469 : gdpdepay: Clear adapter on flush and state change
-      * 600479 : Deadlock when playing movie with subtitles
-      * 600726 : [queue2] implement buffering-left argument to buffer messages
-      * 600787 : playbin2 has a problem with Ogg stream with " info "
-      * 600945 : silence buffers at start reusing pulsesrc
-      * 600948 : [uridecodebin] Improve all raw caps detection on pads
-      * 601104 : [cddabasesrc] always plays first track if device is specified
-      * 601627 : theoradec breaks timestamps
-      * 601772 : gst-rtsp-server crashing : bug fixed
-      * 601809 : seek example doesn't work with csw
-      * 601942 : Add a still-frame event to libgstvideo
-      * 602000 : [playbin2] [gapless] Does state change PLAYING- > PAUSED- > PLAYING while it should stay in PLAYING
-      * 602225 : Can't play another movie after using subtitles
-      * 602790 : New oggdemux parsers break theora/vorbis playback
-      * 602834 : [ffmpegcolorspace] does un-necessary conversion from RGB to ARGB
-      * 602924 : Text subtitle rendering regression
-      * 602954 : [oggdemux] can't get first chain on ogg/theora stream
-      * 603345 : [playbin2] textoverlay refcount issues in git
-      * 603357 : [subparse] support for QTtext
-      * 605100 : GNOME Goal: Remove deprecated glib symbols
-      * 605219 : Freezes nearly always when switching Audio CDs
-      * 605960 : new examples require GTK 2.18
-      * 606050 : Implement ptime support
-      * 606163 : textoverlay: Ignore zero framerate
-      * 606687 : playbin2: can't see video after setting native flags
-      * 606744 : Totem fails to play video file: " Can't display both text subtitles and subpictures. "
-      * 606926 : Vorbis: Implement Proper Channel Orderings for 6.1 and 7.1 Configurations
-      * 607116 : [playbin2] no 'about-to-finish' signal with audio CDs
-      * 607226 : Disallow setting the playbin uri property in state > = PAUSED
-      * 607381 : GST_FRAMES_TO_CLOCK_TIME() GST_CLOCK_TIME_TO_FRAMES() should round result
-      * 607403 : rtpaudiopayload: ptime is in milli-seconds, convert to nanosecs
-      * 607569 : Playing a chained ogg stream from HTTP pauses or freezes between songs
-      * 607652 : segfault with an ogg annodex file
-      * 607848 : typefind wrong classifies mp4 file as mp3
-      * 607870 : [oggdemux] OGM parsing broken
-      * 607926 : [oggdemux] regression with certain chained ogg stream
-      * 607929 : [oggdemux] regression: headers pushed twice at the beginnign of each stream
-      * 608167 : [decodebin2] Doesn't push out full topology
-      * 608179 : caps filter appearing after adder results in deadlock
-      * 608446 : [playbin2] post an error message if no URI is set
-      * 608484 : [playbin2] problem with redirect and reset to READY
-      * 608699 : [oggdemux] memory leak while demuxing
-      * 609252 : [theoradec] Doesn't handle unknown pixel aspect ratio properly
-      * 596078 : Playbin2 takes ref of audio-/video-sink parameter
-      * 596183 : decodebin2: Rewrite autoplugging and how groups of pads are handled
-      * 601480 : [playback] Update factory lists not only after going back to NULL
-      * 596313 : gstv4lelement.c:168: error: ‘client’ may be used uninitialized in this function
-      * 606949 : [playbin2] verify type of volume property before using it
-
-API added since 0.10.25:
-
-      * gst_rtcp_sdes_name_to_type()
-      * gst_rtcp_sdes_type_to_name()
-      * gst_tag_get_language_name()
-      * gst_tag_get_language_codes()
-      * gst_tag_get_language_code_iso_639_1()
-      * gst_tag_get_language_code_iso_639_2B()
-      * gst_tag_get_language_code_iso_639_2T()
-      * gst_video_event_new_still_frame()
-      * gst_video_event_parse_still_frame()
-
-Changes since 0.10.24:
-    
-      * Add per-stream volume controls
-      * Theora 1.0 and Y444 and Y42B format support
-      * Improve audio capture timing
-      * GObject introspection support
-      * Improve audio output startup
-      * RTSP improvements
-      * Use pango-cairo instead of pangoft2
-      * Allow cdda://(device#)?track URI scheme in cddabasesrc
-      * Support interlaced content in videoscale and ffmpegcolorspacee
-      * Many other bug fixes and improvements
-
-Bugs fixed since 0.10.24:
-     
-      * 595401 : gobject assertion and null access to volume instance in playbin
-      * 563828 : [decodebin2] Complains about loops in the graph when demuxer output requires another demuxer
-      * 591677 : Easy codec installation is not working
-      * 588523 : smarter sink selection in playbin2
-      * 590146 : adder regressions
-      * 321532 : [cddabasesrc] Support device setting in cdda:// URI
-      * 340887 : add pangocairo textoverlay plugin.
-      * 397419 : [oggdemux] ogm video with subtitles stuck on first frame
-      * 556537 : [PATCH] typefind: more flexible MPEG4 start code recognition
-      * 559049 : gstcheck.c:76:F:general:test_state_changes_* failure: GST_IS_CLOCK(clock) assertion fails
-      * 567660 : [API] need a stream volume interface for sinks that do volume control
-      * 567928 : Make videorate work with a live source
-      * 571610 : [playbin] Scale of volume property is not documented
-      * 583255 : [playbin2] deadlock when disabling visualisations
-      * 586180 : RTSP improvements
-      * 588717 : [oggmux] gst_caps_unref() warning if not linked downstream
-      * 588761 : [videoscale] Needs special support for interlaced content
-      * 588915 : audioresample's output offset counter's initialization could maybe be improved
-      * 589095 : [appsrc] clarify documentation on caps and linkage
-      * 589574 : [typefind] incorrect sdp file detection
-      * 590243 : [videoscale] Claims to support MAX width/height
-      * 590425 : Slaved alsasrc clock with slave-method=re-timestamp not usable for RTP audio
-      * 590856 : [decodebin2] triggers assertion failure on NULL caps
-      * 591207 : totem does display the following subtitle srt file.
-      * 591357 : gst-plugins-base git won't build due to warning in gstrtspconnection.c
-      * 591577 : [playbin2] Incorrect error message string
-      * 591664 : [playbin2] after seeking, srt subtitles don't resync correctly
-      * 591934 : timestamp drift in audioresample
-      * 592544 : Remove regex.h check
-      * 592657 : [appsink] Blocks after entering on pause state
-      * 592864 : deadlocks from recent inputselector/streamselector change
-      * 592884 : [playbin2] g_object_get increases refcount by 2 and therefore leaves memleak
-      * 593035 : gdp doesn't preserve fields of the buffers put into the caps' streamheader
-      * 593284 : basertppayloader takes time in instance init
-      * 594020 : Totem don't play videos from ssh remote host
-      * 594094 : Playback Error playing Midi file
-      * 594136 : [alsasink] Regression from 0.10.23 -- element reuse doesn't work
-      * 594165 : [theoraenc] Implement support for new formats
-      * 594256 : improved slave-skew resynch mechanism
-      * 594258 : missing break in rtcpbuffer
-      * 594275 : Add cast to navigation to fix compiler warning
-      * 594623 : Expose playsink as a fully-fledged element
-      * 594732 : parse error
-      * 594757 : build fails due to warning in gstbasertppayload.c
-      * 594993 : [introspection] pkg-config file madness
-      * 594994 : [streamvolume] Add get_type function to the documentation
-      * 595454 : [cddabasesrc] uri format change breaks rhythmbox
-      * 545807 : [baseaudiosink] audible crack when starting the pipeline
-
-API added since 0.10.24:
-    
-      * gst_rtsp_connection_create_from_fd()
-      * gst_rtsp_connection_set_http_mode()
-      * gst_rtsp_watch_write_data()
-      * gst_rtsp_watch_send_message()
-      * GstBaseRTPPayload::perfect-rtptime
-      * GstBaseRTPAudioPayload::gst_base_rtp_audio_payload_flush()
-      * GstVideoSinkClass::show_frame()
-      * GstVideoSink:show-preroll-frame
-      * GST_MIXER_TRACK_READONLY
-      * GST_MIXER_TRACK_WRITEONLY
-      * GstStreamVolume interface
-
-Changes since 0.10.23:
-
-      * Recognise Kate subpicture subtitles
-      * Support progressive download in playbin2
-      * GIO improvements
-      * Add buffer-list support in appsink
-      * Add gaussian-noise mode to audiotestsrc
-      * bump cdparanoia req to 0.10.2 and improve caching
-      * Improve audio source base class
-      * Add frame-by-frame stepping and examples
-      * Extend stream-probing in decodebin2
-      * Many RTSP improvements
-      * support for PGS subpictures
-      * adder improvements
-      * Add Y444, v210, v216 formats
-      * implement preset interface in vorbisenc, theoraenc, oggmux
-      * Improve libvisual visualisation timestamp tracking
-      * playbin2 enhancements: custom audiosink, subpictures, cdda
-      * Improvements in textrender
-      * Support raw YUV 4:2:2 and SIREN in RIFF
-      * Add 4:2:2 and 4:4:4 support to theoradec
-      * Many other bug-fixes and improvements
-
-Bugs fixed since 0.10.23:
-     
-      * 510417 : [gio] make non-experimental
-      * 513373 : [PATCH] [gstvorbistag] Preserve cover art in Ogg/Vorbis tags
-      * 529300 : [giosink] [PATCH] Allow overwrite
-      * 531035 : [cdparanoia] Should depend on LGPL'd version of the libra...
-      * 567997 : [patch] add allow-pull-scheduling property to audio sinks
-      * 576552 : [subparse] post GST_TAG_SUBTITLE_CODEC tags
-      * 577637 : [playbin2] expose temp-location property
-      * 579692 : mp3_type_find is over-optimistic
-      * 580318 : [tagdemux] drops tag events from upstream
-      * 581460 : [baseaudiosrc] Reusing audio source leads to null timesta...
-      * 581571 : ARGB and alignment added to textrender
-      * 582021 : autogen: libtoolize must be called before aclocal
-      * 582749 : uridecodebin caps property not implemented yet
-      * 582819 : multifdsink: add num-fds property
-      * 583867 : gdpdepay + identity cause failed assertions
-      * 584020 : [playbin2] inadvertently resets configured audio/video sinks
-      * 584686 : [playbin2] Need {audio,video,text}-tags-changed signals
-      * 585197 : [subparse] fails to detect subrip subtitles with fewer th...
-      * 585758 : Remove deprecated GTK+ symbols
-      * 585970 : gst_audioringbuffer_get_type is not thread safe
-      * 585994 : gst-rtsp-message doesn't support " Timestamp " filed
-      * 586331 : [cdparanoia] expose cd cache size parameter
-      * 586356 : [playbin2] use private copy of input-selector as long as ...
-      * 586519 : white Gaussian noise would be useful in audiotestsrc
-      * 587080 : rtsp fails to compile - doesn't see some ws2tcpip functions
-      * 587278 : Support for GstBufferList in appsink
-      * 587676 : Call tzset() before localtime_r(), in e.g. gst-plugins-ba...
-      * 587695 : Patches to add stream-status messages audio elements
-      * 587896 :  " No stream given yet " error from giostreamsrc
-      * 587980 : gstchannelmix.c: protect debug code with GST_DISABLE_GST_...
-      * 588078 : [playbin2] Fails to go to READY again after an error
-      * 588205 : Pipeline with giostreamsrc will not enter playing state
-      * 588550 : build failure in git, missing gstinterfaces-0.10
-      * 588551 : queue2: download buffering fixes
-      * 588724 : [vorbisdec] empty encoder string causes GStreamer
-      * 588746 : [audiotestsrc] Make sure tags are properly serialized in ...
-      * 588747 : [adder] Serialize incoming in-band events (tags) in the d...
-      * 588748 : [adder] Check dataflow consistency in unit tests
-      * 589075 : [playbin2] changing volume doesn't work after stream rest...
-      * 589581 : typefinder: recognise more Kate subtitle categories
-      * 589622 : Cannot use both playbin and input-selector
-      * 589663 : gstreamer asserts in gstaudiofilter
-      * 589797 : alsasrc does not set GstAlsaSrc- > handle to NULL after snd...
-      * 590470 : [typefinding] certain flac-in-ogg files not detected any ...
-      * 536313 : [cdda] Remove sha1 copy once we depend on glib-2.16
-      * 579642 : [oggdemux] handle broken ogg/vorbis files better
-      * 582528 : playbin2 Audio CD playback broken since
-      * 583318 : Assertion from within playbin2
-      * 585079 : undefined references to gst_adapter_* functions in schro
-      * 585708 : [adder] Wrong handling of flushing seeks
-      * 588218 : Siren in .wav support
-      * 586920 : rtsp: needs < netinet/in.h > on FreeBSD
-
-API added since 0.10.23:
-     
-      * GstNetAddress::gst_netaddress_to_string()
-      * Add gst_rtsp_watch_queue_data()
-      * playbin2: Add {audio,video,text}-tags-changed signals
-      * Add gst_color_balance_get_balance_type()
-      * Add gst_mixer_get_mixer_type()
-
-Changes since 0.10.22:
-    
-      * New navigation API to support DVD playback
-      * playbin2 improvements
-      * RTSP extensions to allow extra headers and options
-      * Replace audioresampler with speexresample based code
-      * Support interlacing flags in the gstvideo library
-      * Support new RIFF formats
-      * Improve typefinding
-      * Support more frame formats in videoscale
-      * Many other bug-fixes and improvements
-
-Bugs fixed since 0.10.22:
-     
-      * 577637 : [playbin2] expose temp-location property
-      * 580120 : [playbin2] unit test fails
-      * 478512 : [alsamixer] volume control slider not working
-      * 574962 : rhythmbox crash in flac_type_find
-      * 564139 : Documentation of TCP plugins
-      * 577436 : xvimagesink should use xcontext- > depth and not count bits...
-      * 350311 : [playbin2] support for subpicture subtitles
-      * 378094 : Enable pango elements to handle UYVY
-      * 543591 : Gnonlin can not play theora streams
-      * 553295 : [riff] fuzzed AVI file causes segfault
-      * 565105 : Gstreamer does not change from READY back to PAUSED in sa...
-      * 565777 : [riff] unrecognised video fourcc 0x10000002 for mpeg2 in avi
-      * 566661 : [typefind] Fall back to file extension using uri query
-      * 567255 : [riff] doesn't detect codec_id 0x706d as AAC (amongst other)
-      * 567636 : [pbutils] Missing plugins code shouldn't ask for the same...
-      * 567740 : bogus warning in decodebin2?
-      * 568482 : linking problems in gst-plugins-base
-      * 569655 : [ffmpegcolorspace] Add UYVY422 to GRAY8 conversion function
-      * 570142 : Documentation is broken for uridecodebin
-      * 570356 : aac typefinder failure
-      * 570768 : [ximagesink] wrong mouse pointer position if output windo...
-      * 570832 : Add flags to enhance mixer interfaces
-      * 571009 : [tagdemux] WMA file with id3v2 tag causes assertion to fail
-      * 571147 : [ffmpegcolorspace/videotestsrc] Add support for packed/pl...
-      * 572577 : [playbin2] deadlock on shutdown
-      * 572872 : [ffmpegcolorspace] Add YVYU colorspace
-      * 572993 : [subparse] broken libregex dependency on Windows
-      * 573165 : Generate additional export files for gstreamer app plugin
-      * 573528 : Wrong format modifier in gstgiobasesink.c
-      * 573529 : In gstrtspconnection.c some functions are called with wro...
-      * 574293 : [decodebin2] deadlock on shutdown
-      * 574319 : Missing HAVE_PROCESS_H in win32/common/config.h
-      * 574447 : gstadder.c: line 904: error C2036: 'gpointer' : unknown size
-      * 574939 : [typefinding] flac typefinder mis-typefinds PDFs as flac ...
-      * 575550 : srt subtitle file keeps playbin2 from playing
-      * 575638 : kissfft copyright
-      * 575649 : [oggdemux] duration query in time format returns true wit...
-      * 576019 : On Windows queue2 can't write files longer than 2-4 GiB, ...
-      * 576142 : [vorbisenc] Non-header output buffers have NULL caps
-      * 576180 : [playbin2] Uses unref'd audiosink volume if using gconfau...
-      * 576586 : [alsamixer] gnome-sound-properties freeze
-      * 577054 : [videoscale] Not valgrind clean
-      * 577709 : Review new navigation API
-      * 577827 : [appsink] Have appsink new_buffer-callback return GstFlow...
-      * 578583 : [PATCH] multifdsink doesn't handle sync-method=latest-key...
-      * 578656 : Implement upstream GstForceKeyUnit events in theoraenc
-      * 579129 : pkgconfig: appsrc/appsink can not be linked to uninstalled
-      * 579130 : app: expose trivial type macros
-      * 579192 : gst_rtcp_packet_get_type should not assert on packet content
-      * 579203 : baseaudiosink: unparenting the ringbuffer in NULL causes ...
-      * 579267 : [rtspconnection] g_async_queue_new_full() is GLib-2.16 AP...
-      * 579463 : [cddabasesrc] [cdparanoiasrc] no longer emits discid
-      * 579668 : audioresample fails to build with --disable-gst-debug
-      * 579734 : [playbin] raw_decoding_mode seems to be set unconditionally
-      * 579912 : [decodebin2] multiqueue is too small in time (interleave ...
-      * 580470 : [audioresample] causes pipelines to go out of sync and be...
-      * 580952 : [audioresample] bad quality/pops compared to plughw
-      * 581727 : [playbin2] make playsink go to PAUSED async
-      * 569682 : playbin2 leaks request pad from input selector
-      * 580020 : [vorbisenc] causes buffers to be out of segment if new se...
-      * 562794 : rtspsrc fails to create a socket on Win32 sometimes.
-      * 567396 : playbin2: DECODE_BIN_LOCK occasionally called twice withi...
-      * 567982 :  " queued_bytes " field isn't updated while flushing the que...
-      * 571299 : [appsink] Handoff callback API
-      * 574443 : rtsp win32 - forgotten variable
-      * 574516 : [typefind] add typefinder for photoshop .psd files
-      * 574964 : gst_app_src_end_of_stream(), mutex on error return
-      * 575256 : rtspsrc fails to resolve hostnames
-      * 575588 : decodebin2 deadlock
-      * 576187 : [playbin2] Stalls video sink when disabling subtitles in ...
-      * 576188 : [playbin2] Reusing a playbin2 instance with visualization...
-      * 576190 : [playbin2] Deadlock when reusing playbin2 after an error
-      * 577288 :  " Internal playbin error " when seeking to the end of files
-      * 577610 : RTCP feedback messages support in GstRTCPPacket
-      * 577794 : [playbin2] leaks elements set through properties
-      * 578118 : [multifdsink] add option to not resend the streamheader w...
-      * 578506 : Pipeline with alsasrc and alsasink cannot change state ba...
-      * 578942 : Missing RTSP headers related to Windows Media extension.
-      * 580271 : videorate: fails to clear discont flag on duplicated buffers
-      * 580649 : uridecodebin: bug on documentation published in website
-
-API added since 0.10.22:
-    
-      * GstRTSP::gst_rtsp_options_as_text()
-      * GstRTSPMessage::gst_rtsp_message_take_header()
-      * GstRTSPRange::gst_rtsp_range_to_string()
-      * New Navigation interface commands, queries and messages
-      * gst_rtsp_channel_new()
-      * gst_rtsp_channel_unref()
-      * gst_rtsp_channel_attach()
-      * gst_rtsp_channel_queue_message()
-      * gst_rtsp_connection_accept()
-      * GstAppSink::gst_app_sink_set_callbacks()
-      * GST_VIDEO_FORMAT_YVYU,GST_VIDEO_BUFFER_TFF,GST_VIDEO_BUFFER_RFF,GST_VIDEO_BUFFER_ONEFIELD
-      * GST_MIXER_FLAG_HAS_WHITELIST,GST_MIXER_FLAG_GROUPING,GST_MIXER_TRACK_NO_RECORD,GST_MIXER_TRACK_NO_MUTE,GST_MIXER_TRACK_WHITELIST
-      * GstAppSrc::emit-signals
-      * GstAppSrc::gst_app_src_set_emit_signals()
-      * GstAppSrc::gst_app_src_get_emit_signals()
-      * GstAppSrc::gst_app_src_set_callbacks()
-      * RTSP::gst_rtsp_connection_get_url()
-      * GstRTSPLowerTrans::GST_RTSP_LOWER_TRANS_HTTP
-      * RTSP:gst_rtsp_connection_set_tunneled()
-      * RTSP:gst_rtsp_connection_is_tunneled()
-      * RTSP::gst_rtsp_connection_set_ip()
-      * RTSP::gst_rtsp_connection_get_tunnelid()
-      * RTSP::gst_rtsp_connection_do_tunnel()
-      * RTSP::gst_rtsp_watch_reset()
-
-IMPORTANT NOTES
-
-1) Please note that decodebin2 and playbin2 API included in this release is
-still considered unstable and WILL change in future releases. At this stage,
-only developers or early adopters should consider using decodebin2 or playbin2
-API embodied in their signals and properties.
-
-Changes since 0.10.21:
-
-      * Require gettext 0.17
-      * Replace audioresample with speexresample from -bad
-      * Support new formats in RIFF: uncompressed RGB, WMA lossless, VP6
-      * Move libgstapp and elements from -bad
-      * Support color-key setting and probing for Xv properties
-      * Improve typefinding for various formats
-      * Extend audio sinks for pull-mode operation
-      * Support for more subtitle formats
-      * More development on decode2bin and playbin2
-      * RTP and SDP fixes
-      * Many bug fixes and improvements
-
-Bugs fixed since 0.10.21:
-
-      * 562163 : theoraenc likely ignoring segments
-      * 562258 : rtspsrc element takes long time to error out if the addre...
-      * 561789 : [volume] deadlocks with a controller attached
-      * 554533 : [xvimagesink] allow setting colorkey if possible
-      * 567511 : colorkey in xvimagesink gets reset when element is reused
-      * 116051 : libresample doesn't handle > factor of 2 rate conversion
-      * 346218 : [audioresample] doesn't do anti aliasing
-      * 385061 : [audioresample?] investigate high CPU usage
-      * 456788 : [subparse] can't handle UTF-16 charset encoded subtitle.
-      * 525807 : [vorbisenc] vorbisenc has problems with a gnlsource that ...
-      * 546955 : gstoggmux EOS handling issue
-      * 549417 : [audioresample] unit test fails on 64bit linux
-      * 549510 : audioresample doesn't negotiate ideal caps
-      * 552237 : UTF-16 srt confuses gstreamer, misdetected as mp3
-      * 552559 : Implementation of SLAVE_SKEW in baseaudiosrc
-      * 552569 : audioresample producing strange sized buffers
-      * 552801 : audioconvert can overflow with big audio buffers
-      * 554879 : Add ability to specify format for date/time display in Gs...
-      * 555257 : Doesn't display srt subtitles saved with BOM
-      * 555319 : add FFV1 fourcc to riff-media
-      * 555607 : subrip subtitles typefind too strict
-      * 555699 : [PATCH] theoradec: prefer container's pixel aspect ratio ...
-      * 556025 : build failure in tests/icles
-      * 556066 : Last byte of FLAC image buffer chopped off
-      * 557365 : subparse check fails
-      * 558124 : [PLUGIN-MOVE] Move speexresample as audioresample2 to -base
-      * 559111 : ALSA sink hangs on USB audio device unplug while playing
-      * 559478 : does not play windows media streams correctly
-      * 559567 : `gst_base_audio_sink_sync_latency' should call `gst_base_...
-      * 561436 : videorate element add image/jpeg to caps template
-      * 561734 : playbin2 additions
-      * 561780 : Playbin2 should work without volume too
-      * 561924 : oggdemux hangs when given corrupt input via non-seekable ...
-      * 562270 : build without gdk fails
-      * 563143 : ximagesink/xvimagesink : _alloc_buffer returns non-clean ...
-      * 563174 : Implement gst_rtcp_packet_remove
-      * 563508 : [rgvolume] Unit test fails with passthrough assertions
-      * 563718 : Theora check out of date
-      * 563904 : GNOME Goal: Clean up GLib and GTK+ includes
-
-API added since 0.10.21:
-
-      * clockoverlay::time-format
-      * GstRingBuffer:gst_ring_buffer_activate()
-      * GstRingBuffer:gst_ring_buffer_is_active()
-      * GstRingBuffer:gst_ring_buffer_convert()
-      * Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the public API
-      * gst_netaddress_get_address_bytes()
-      * gst_netaddress_set_address_bytes()
-
-Changes since 0.10.20:
-
-      * Continue playbin2 development
-      * Ogg improvements - CELT support, skeleton fixes
-      * DVD subpicture support
-      * Improved audio dithering random number generator
-      * xvimagesink/ximagesink fixes
-      * Vorbis encoding and decoding fixes
-      * Recognise Kate subtitle streams
-      * Many bug-fixes and enhancements
-
-Bugs fixed since 0.10.20:
-
-      * 537380 : [gnomevfssrc] Doesn't handle short reads properly
-      * 538656 : xvimagesink support for autofill/colorkey property
-      * 540334 : Build fails without X in tests/examples/seek
-      * 528299 : Multiple GstMixerTracks with the same label cause problem...
-      * 530068 : Ogg Streams with Skeleton and Granulepos > 0 do not work(...
-      * 537009 : playbin2 silly typo breaks signals
-      * 537045 : decodebin2 sometimes emits 'drained' multiple times
-      * 537599 : [oggdemux] skeleton streams not skipped in ogg
-      * 537889 : [xvimagesink] colorbalance is bad
-      * 538232 : vorbisenc/vorbisdec don't work with a live source
-      * 538663 : gdppay memleak in gst_gdp_pay_reset
-      * 540215 : decodebin does not insert a queue for raw data type
-      * 540351 : [avidemux] Doesn't know about Duck DK4 ADPCM
-      * 540497 : ffmpegcolorspace is returning wrong size
-      * 541358 : cross mingw32 gcc: getaddrinfo is not in ws2_32.dll befor...
-      * 544306 : rtspsrc debug=1 segfaults with some libc
-      * 548898 : GStreamer-CRITICAL errors on seeking beyond stream borders
-      * 548913 : vorbisenc being picky about rounding errors in timestamps
-      * 549062 : Video devices aren't updated on subsequent probing.
-      * 549814 : [typefind] add application/pdf typefinder
-      * 550582 : [oggdemux] KATE streams not recognised
-      * 550638 : [typefind] Recognize some jpeg2k file types
-      * 550656 : recognize TrueSpeech in wavparse
-      * 550729 : gst-plugins-base won't compile with " -pedantic " option
-      * 552960 : tagdemux asserts and aborts on truncated files
-      * 553244 : theoraparse doesn't work at all (throws criticals and ass...
-
-API added since 0.10.20:
-
-      * Add "index" property to GstMixerTrack to differantiate between
-        multiple mixer tracks with the same label.
-
-Changes since 0.10.19:
-
-      * RTP improvements
-      * Support digest auth for RTSP
-      * Additional documentation
-      * Support DSCP QoS in multifdsink
-      * Add NV12/NV21 video buffer layouts
-      * Video scaling now bilinear by default
-      * Support more than 8 channels in audio conversions
-      * Channel mapping fixes for audioconvert
-      * Improve tmplayer and sami subtitle support
-      * Support 1x1 pixel buffers for videoscale
-      * Typefinding improvements for MPEG2, musepack
-      * Ogg/Dirac mapping updated in oggmux
-      * Fixes in ogg demuxing
-      * audiosink synchronisation and slaving fixes
-      * Support muting of the audio in playbin by selecting -1 as the audio stream
-      * Work done on playbin2 and uridecodebin
-      * Improvements in the experimental GIO plugin
-      * decodebin fixes
-      * Handle GAP buffers in some places
-      * Various other leak and bug-fixes
-
-Bugs fixed since 0.10.20:
-
-      * 526794 : [giosrc] totem doesn't work with some gvfs backends
-      * 510417 : [PLUGIN-MOVE] Move gio to gst-plugins-base
-      * 509125 : crash in CD Player: - playing CD - lowering/...
-      * 517813 : [audioconvert] make gap aware
-      * 302798 : [playbin] add mute property
-      * 342294 : Setting playbin property current-audio=-1 also stops the ...
-      * 398033 : [audioconvert] support more than 8 channels
-      * 419351 : [avi/a52dec] AV synchronization problems
-      * 467911 : [subparse] sami parser update
-      * 469933 : multifdsink IPv6 and diffserv TOS/TC markup
-      * 506659 : [textoverlay] rendering error when using non-standard widths
-      * 512333 : [gstvorbistag] Retrieve Ogg/Vorbis cover art as image met...
-      * 512382 : [playbin] race condition when pausing/playing multiple in...
-      * 518037 : pbutils-enumtypes.c is not included in win32/vs6/libgstpb...
-      * 521761 : gstaudioclock frozen the clock value until reaches latest...
-      * 522401 : gdpdepay doesn't validate payload CRCs
-      * 523993 : playbin2 blocks after a while when listening to a radio s...
-      * 524724 : [PATCH] [baseaudiosrc] buffer-time and latency-time do no...
-      * 525665 : Crash on Ogg/Vorbis with chain=NULL
-      * 525915 : [streamheader] Unit test fails with " gst_adapter_peek: as...
-      * 526173 : [typefinding] fails to detect mpeg video stream whereas m...
-      * 529018 : gst_ogm_parse_stream_header creates fraction value with w...
-      * 529500 : [videotestsrc] support for NV12 and NV21
-      * 529546 : [Playbin] Memory leak in streaminfo handling
-      * 530068 : Ogg Streams with Skeleton and Granulepos > 0 do not work(...
-      * 530531 : [typefinding] bad read in mpeg_video_stream_type_find
-      * 530719 : gst_video_calculate_display_ratio fails when playing Ogg ...
-      * 530962 : [subparse] parses only every second line of TMPlayer subt...
-      * 532454 : [NV12/NV21] videotestsrc and ffmpegcolorspace don't play ...
-      * 533087 : GstRTSPTransport kept opaque in docs
-      * 533817 : [audioconvert] Can't use default 7 channel layout / only ...
-      * 534071 : Gdppay memleak
-      * 534331 : race in decodebin when changing states while the internal...
-      * 535356 : vorbisdec doesn't support 8 channels
-      * 536475 : gdppay memleak and possible crash
-      * 536521 : Refcounting errors in playbin
-      * 536874 : Build failure on windows
-      * 532166 : [ffmpegcolorspace] support NV12 format
-      * 533617 : [audioconvert] Produces silence when converting 1/2 chann...
-      * 536848 : [giosrc] Doesn't handle short reads properly
-      * 536849 : [giosrc] Very slow doing any playback
-      * 518082 : [alsamixer] playback volumes overwritten by capture volum...
-      * 435633 : [PATCH] videorate not (fully) segment aware; causes frame...
-      * 532364 : tcpclientsrc broken in 0.10.19
-      * 533075 : gst_rtp_buffer_compare_seqnum doesn't do what it says
-      * 533265 : [cddabasesrc] Sound Juicer cut a sector when ripping a track
-
-API additions since 0.10.20:
-
-      * decodebin2::sink-caps property
-      * giosrc::file property
-      * giosink::file property
-      * gst_base_audio_src_set_slave_method()
-      * gst_base_audio_src_get_slave_method()
-      * GstAudioClock::gst_audio_clock_reset()
-      * GstBaseAudioSrc:actual-buffer-time property
-      * GstBaseAudioSrc:actual-latency-time property
-      * gst_audio_check_channel_positions()
-      * add gst_tag_image_data_to_image_buffer()
-      * add gst_tag_list_add_id3_image()
-      * add GST_TAG_IMAGE_TYPE_NONE enum value
-
-Changes since 0.10.18:
-
-      * Handle EAGAIN when polling sockets in rtspconnection
-
-Changes since 0.10.17:
-
-      * Experimental GIO plugin
-      * Continued playbin2 development
-      * RTP fixes
-      * Better network element support on Windows
-      * Various other bug-fixes and improvements
-
-Bugs fixed since 0.10.17:
-
-      * 509637 : [API] [basertpaudiopayload] add _set_samplebits_options()
-      * 510229 : [gnomevfssrc] HTTPS support
-      * 511478 : [rtpbuffer] add gst_rtp_buffer_set_extension_data function
-      * 511810 : [RTSP] Uses MT-unsafe gmtime() function
-      * 512899 : [alsa] gstalsasink.c:527: warning: 'snd_pcm_sw_params_set...
-      * 513167 : Fix compiler warning due to disabled signals in mixertrac...
-      * 514307 : [playbin] warning in nautilus, volume element can't be cr...
-      * 514623 : Ogg Theora video slow
-      * 514937 : Correct initialization of hints in is_multicast_address()
-      * 515654 : xvimagesink doesn't build with --disable-xshm
-      * 516246 : [alsasink] handle negative delay from snd_pcm_delay
-      * 517420 : typefind: add h264 elementary stream discovery
-      * 517991 : problems with configure file depending on GCC compiler
-      * 518039 : libgstrtsp MSVC 6.0 compile error
-      * 518162 : [subparse] handle italic text starting with " / " with Micr...
-      * 518940 : [playbin2] make _get_*_tags() match vfuncs prototype in c...
-      * 519906 : [API] add GstMixerOptions::get_values vfunc
-      * 519916 : [API] add mixer-changed and options-list-changed messages
-      * 520523 : [API] Unreviewed changes to ringbuffer API
-      * 521743 : libgstnetbuffer.def exports not up to date
-      * 522625 : [video] gst_video_format_parse_caps() broken for RGBA for...
-      * 523054 : gstbasesrc crashes when called from typefind helpers
-      * 511825 : [RTSP] compiler warning on FreeBSD
-      * 520300 : [alsasrc] provide-clock=false messes up buffer durations
-
-API added since 0.10.17:
-
-      * GstRTPBuffer:gst_rtp_buffer_set_extension_data()
-      * add GST_VIDEO_FORMAT_Y41B and GST_VIDEO_FORMAT_Y42B.
-      * add GstMixerOptions::get_values vfunc (#519906)
-      * add gst_mixer_options_list_changed(), gst_mixer_mixer_changed() and
-        gst_mixer_message_parse_options_list_changed(). Fixes #519916.
-      * gst_base_rtp_audio_payload_set_samplebits_options()
-      * GstNetBuffer::gst_netaddress_equal
-
-Changes since 0.10.16:
-        
-      * Work-around ABI breakage due to unfortunate use of the
-        GST_DISABLE_DEPRECATED macro
-      * Export 2 missing functions needed for bindings in the win32 build
-      * Initialise the GstRingBuffer GType from a thread-safe context
-
-Bugs fixed since 0.10.16:
-        
-      * 511825 : [RTSP] compiler warning on FreeBSD
-      * 513018 : crash in Volume Control: I typed my password at t...
-      * 512334 : g_critical() when using GstAudioFilter & GST_DEBUG
-
-Changes since 0.10.15:
-    
-      * Handle newer Theora granule-pos semantics
-      * Introducing first alpha version playbin2 - the upcoming successor to
-       playbin
-      * Fixes in playbin handling of stream-switching
-      * New API for uniform handling of raw-video format buffers.
-      * Improvements for RTSP/RTP handling
-      * RIFF lib additions for VC-1 and AVC1 fourccs
-      * Many other bug-fixes and improvements
-
-Bugs fixed since 0.10.15:
-     
-      * 506132 : Review of changes in video/video.h
-      * 320984 : [oggdemux] cannot handle multiple chains
-      * 373011 : [playbin] throws error when switching off subtitles
-      * 436756 : Intermittent crashes in Pidgin in audioclock g_type_class...
-      * 462740 : [streamselector] patch to improve default stream selection
-      * 486840 : [alsamixer] use _all variants when setting the mixer
-      * 497964 : theoraenc test fails
-      * 498228 : gst-plugins-base-0.10.15 does not compile on FreeBSD (Gen...
-      * 499697 : Provide better pkg-config files 
-      * 502497 : [subparse] SubRip subtitles starting from 0 not recognised
-      * 503440 : The control sockets used by gstrtspconnection.c are never...
-      * 503930 : [cdda] warning: 'eos' may be used uninitialized in this f...
-      * 506928 : [alsamixer] add " PCM " as master fall back for cards that ...
-      * 508138 : [decodebin] does not error out if pad activation fails
-      * 509762 : missing file in win32/MANIFEST
-      * 511274 : gst_rtp_buffer_get_extension_data is returning FALSE when...
-      * 496731 : [PATCH] xvimagesink leaks memory if initialization fails
-      * 496761 : [PATCH] RTSP message leaks memory when uninitialized
-      * 500763 : SIGSEGV while playing ogg audio file
-      
-API additions since 0.10.15:
-      
-      * New GstVideoFormat API and helper functions in libgstvideo
-      * gst_base_audio_sink_set_provide_clock()
-      * gst_base_audio_sink_get_provide_clock()
-      * gst_base_audio_sink_set_slave_method()
-      * gst_base_audio_sink_get_slave_method()
-      * gst_base_audio_src_set_provide_clock()
-      * gst_base_audio_src_get_provide_clock()
-
-Changes since 0.10.14:
-
-      * RTP/RTSP/RTCP/SDP support improved
-      * New FFT support library libgstfft, based on Kiss FFT
-      * New formats supported in volume and audiotestsrc
-      * Fixes in audiorate and videorate
-      * Audio capture fixes
-      * Playbin and decodebin fixes
-      * New tagdemux base class for ID3/APE style tag readers
-      * Fix a nasty crash in the X sinks on shutdown
-      * New tags supported
-      * Add support for multichannel WAV files.
-      * Preserve channel layout information when up/down-mixing.
-      * Many bug-fixes and improvements
-
-Bugs fixed since 0.10.14:
-
-      * 475395 : decodebin2 leaks request-pads
-      * 475451 : [decodebin2] leaks ghostpad
-      * 378770 : [xvimagesink] race condition in event thread?
-      * 407282 : [decodebin2] autoplug-sort signal has GList ** parameter
-      * 430677 : [audioconvert] does not preserve channel positions when f...
-      * 442654 : [volume] controller bypassed by default
-      * 445529 : [volume] support for 24/32-bit audio/x-raw-int
-      * 446766 : return code for gst_base_rtp_payload_audio_handle_event()
-      * 451970 : Subparse requires HTML parser
-      * 453650 : [audiobasesrc] two alsasrcs do not work in one pipeline
-      * 459334 : [textoverlay] expose pango line alignment property
-      * 459585 : [basertpdepayload] api without namespace
-      * 460422 : [audiotestsrc] Add support for float and double output
-      * 462805 : [alsa] compilation fails with gcc 4.2
-      * 462979 : Add 'silent' property to GstTimeOverlay
-      * 463215 : [audioconvert] compile errors
-      * 464320 : [PATCH] gst-plugins-base-0.14 does not build for win32
-      * 464666 : [playbin] QT trailer hangs in preroll with decodebin2
-      * 464690 : Add connection-speed property to uridecodebin element
-      * 465015 : [playbin] Not removed probes causes deadlocks in streamin...
-      * 465028 : some warnings with mingw
-      * 467667 : GST_FRAMES_TO_CLOCK_TIME() and GST_CLOCK_TIME_TO_FRAMES()...
-      * 468129 : [basertpaudiopayload] event handler returns the wrong value
-      * 468619 : New library gstfft: FFT library for integer and float typ...
-      * 470456 : [API] add gst_missing_*_installer_detail_new()
-      * 470766 : [ssaparse] line breaks in SSA subtitle parser
-      * 471067 : Make the SDP code useable for generating SDP descriptions
-      * 471194 : [rtpbuffer] RTP headers are wrong for win32
-      * 473097 : [baseaudiosink] gstreamer-properties hangs when testing s...
-      * 474384 : gstrtsp-enumtypes.c and .h needed for win32
-      * 474880 : [xvimagesink] [ximagesink] leaking buffer caps reference
-      * 475731 : rtspconnection is able to read incomplete messages
-      * 483620 : All Rtp buffers are discarded --  gst_rtp_buffer_get_payl...
-      * 484989 : memleak, not unrefed caps for gstbasertppayload.c
-      * 489010 : Please change default channel order for WAVE_EXT-less .wa...
-      * 491722 : [playbin] regression: crash with external subtitles
-      * 492098 : [GstFFT] Broken scaling
-      * 492114 : Build issues on Windows/MSVC
-      * 492306 : compilation errors with MinGW
-      * 492813 : Missing symbols in libgstrtp.def
-      * 493986 : Build issues on Windows (missing symbols)
-      * 494346 : pre-release vs6 patch
-      * 496548 : Including malloc.h breaks macos build
-      * 496724 : DSW file references non-existent DSP files
-      * 464079 : audiotestsrc doesn't respond to conversion queries properly
-      * 442065 : floatcast.h includes config.h and might break other apps
-      * 466717 : gst_event_new_new_segment_full:assertion `start < = stop' ...
-      * 485753 : Decodebin2 deadlocks when nulling pipeline during typefind
-      * 464028 : Move connection-speed from playbin to playbasebin
-
-API added since 0.10.14:
-
-      * GstTagDemux base class for simple tag demuxers
-      * GstBaseAudioSrc::provide-clock property
-      * gst_rtcp_ntp_to_unix()
-      * gst_rtcp_unix_to_ntp()
-      * gst_rtp_buffer_get_header_len()
-      * gst_rtp_buffer_get_extension_data()
-      * gst_rtp_buffer_compare_seqnum()
-      * gst_rtp_buffer_ext_timestamp()
-      * gst_rtcp_packet_sdes_copy_entry()
-      * gst_install_plugins_supported()
-      * gst_missing_*_installer_detail_new() convenience API
-      * gst_rtsp_connection_poll()
-      * GstTextOverlay::line-alignment property
-
-Changes since 0.10.13:
-
-      * Audio dither and noise-shaping when reducing bit-depth
-      * RTSP and SDP helper libraries added
-      * Experimental buffering element "queue2" now supports pull-mode
-        and file-based buffering.
-      * Support for more 32-bit video pixel layouts
-      * Various fixes and improvements
-
-Bugs fixed since 0.10.13:
-
-      * 380625 : [x*imagesink] add 'handle-expose' property
-      * 385527 : oggmux sometimes gets DELTA flag on output wrong near start
-      * 402076 : videoscale 4-tap method broken for downscaling
-      * 437169 : [xvimagesink] add property to disable Xv double-buffering
-      * 441264 : queue2 support to do buffering on a file
-      * 442553 : [v4lsrc] doesn't output segments in GST_FORMAT_TIME
-      * 442557 : [videorate] doesn't handle latency queries
-      * 442944 : Audiotestsrc can overflow on seeks
-      * 444523 : [queue2] Pull mode support
-      * 444630 : Compilation error with fsseko (from gstqueue2.c) -- unabl...
-      * 445505 : [queue2] It does not work in pull mode with oggdemux
-      * 446551 : [queue2] Buffering is not working properly if it is set t...
-      * 446572 : [queue2] Division by zero
-      * 446972 : warning when compiling  gstoggdemux.c
-      * 449156 : Regression in CVS for decodebin2
-      * 450875 : Missing files in po/POTFILES.in
-      * 451707 : [tag] UTF-8 in ID3v1 tag not correctly decoded
-      * 451908 : [ffmpegcolorspace] regression: doesn't accept GST_VIDEO_C...
-      * 454264 : Playbin fails to " play " image url after a movie url
-      * 456656 : [API] Addition of audio buffer clipping function to gstaudio
-      * 460978 : gst_audio_buffer_clip outputs warnings
-      * 152864 : [PATCH] GstAlsaMixer doesn't support signals
-      * 360246 : [audioconvert] Optionally apply dithering
-      * 394061 : Add support for Subviewer subtitles
-      * 420326 : Base payloader class has wrong property types and ranges
-      * 451145 : [vorbisdec] errors out on 0-sized packets
-      * 459204 : [PATCH] [playbin] gst_play_base_bin_get_streaminfo_value_...
-
-API added since 0.10.13:
-
-      * RTSP and SDP libraries added
-      * gst_rtsp_base64_decode_ip
-      * Add buffer clipping function gst_audio_buffer_clip for raw audio 
-        buffers. Fixes #456656.
-      * gst_mixer_get_mixer_flags
-      * gst_mixer_message_parse_mute_toggled
-      * gst_mixer_message_parse_record_toggled
-      * gst_mixer_message_parse_volume_changed
-      * gst_mixer_message_parse_option_changed
-      * GstMixerMessageType
-      * GstMixerFlags
-
-Changes since 0.10.12:
-      * Many fixes and improvements
-      * RTP and RTCP support improved
-
-Bugs fixed since 0.10.12:
-
-      * 339838 : [audioconvert] support floats with non-native endianness
-      * 393975 : closing x/xvimagesink window crashes gst-launch
-      * 405072 : [API] add gst_tag_freeform_string_to_utf8()
-      * 413799 : [subparse] add support for MPL2 format
-      * 414645 : GstMixerTrack should make untranslated label available
-      * 420079 : [audioconvert] Uses biased rounding which results in dist...
-      * 420578 : [subparse] add more colour map in sami parser
-      * 421834 : videorate breaks on dimension changes
-      * 423051 : Vorbis tags of type double use locale-dependent formatting
-      * 423055 : Verify ReplayGain vorbistag processing in libs/tag testsuite
-      * 425455 : Decodebin2 leaks pads
-      * 426250 : GstPlayBaseBin leaks streaminfo objects
-      * 428187 : Rtp base depayloader class doesn't send new_segment after...
-      * 431672 : gst_base_rtp_audio_payload_push() should take object of i...
-      * 432362 : [ximagesink] doesn't build if XShm is not available
-      * 432755 : [videorate] leaks buffer if flow != OK
-      * 432984 : [baseaudiosrc] misleading warning message when dropping s...
-      * 433888 : [theoradec] does not generate a perfect stream
-      * 436562 : Theoradec doesn't work well with gnonlin
-      * 438840 : [theoradec] does not compile with old version of libtheora
-      * 440997 : [gstriff] Doesn't handle width!=depth files with audio/x-...
-      * 441295 : audioconvert doesn't build on VS6
-      * 442024 : regression in playbin buffering
-      * 350299 : [playbin] " Internal data flow error " opening movie with s...
-      * 410039 : totem crashed with SIGSEGV in new_decoded_pad_full()
-      * 340842 : do latency calculation for live sources
-      * 341078 : RB does not play beyond initially downloaded podcast file
-      * 414496 : [id3demux, id3v2mux] Add support for GST_TAG_MUSICBRAINZ_...
-
-API additions since 0.10.12:
-
-      * add gst_tag_freeform_string_to_utf8()
-      * GstRTPBuffer::gst_rtp_buffer_default_clock_rate()
-      * GstBaseAudioSink::slave-method property
-      * add "min-ptime" property to RTP base audio payloader
-      * gst_base_rtp_audio_payload_push()
-      * gst_base_rtp_audio_payload_get_adapter()
-      * GstMixerTrack::untranslated-label property
-
-Changes since 0.10.11:
-
-      * New API for on-demand plugin installation
-      * Xv thread-safety and configuration enhancements
-      * decodebin2 improvements
-      * Support more raw audio format conversions
-      * Improvements in Ogg support
-      * AudioFilter base class ported to 0.10
-      * Fixes for subtitles
-      * Latency/live-playback support for Alsa
-      * Lots of bug fixes and improvements
-
-Bugs fixed since 0.10.11:
-
-      * 398721 : No video in .ogm files with decodebin2
-      * 339837 : [audioconvert] support for 64-bit float audio 
-      * 341524 : [decodebin] can't handle decoders with always src pads wi...
-      * 352069 : Add de.po German translation
-      * 363379 : [oggmux] doesn't detect EOS on all sinkpads 
-      * 378436 : [oggdemux] rhythmbox crash on fast clicking on rating in ...
-      * 380342 : Totem does not play mp3 files when lyrics are present 
-      * 383195 : [cddabasesrc,basertpaudiopayload] compile errors with gcc...
-      * 383198 : totem crashed to gst_xvimagesink_update_colorbalance
-      * 384008 : [xvimagesink] accesses - > xwindow outside locks
-      * 384060 : gst_xoverlay_set_xwindow_id() causing lockups with x(v)im...
-      * 387138 : x input events processing in sinks with xoverlay interfac...
-      * 390063 : Documentation typo 
-      * 390076 : add xv adaptor and port properties in xvimagesink element.
-      * 391365 : [oggdemux] internal stream error on OggFlac
-      * 392070 : [vorbis] GST_TAG_LOCATION not mapped
-      * 392393 : [API] add libgstbaseutils library for missing plugins mes...
-      * 396042 : mpeg4 video typefinder loops endlessly on quicktime redirect
-      * 396835 : audioconvert/audioresample combination causing buffer of ...
-      * 397673 : [patch] XIOError caught in x[v]imagesink.c
-      * 397810 : [typefinding] .vob file: could not determine type of stream
-      * 398110 : [theoraenc] GLib failed to allocate 3080991032 bytes on g...
-      * 399340 : Crash in the oggdemux plugin when trying to play a specia...
-      * 401029 : [playbin] rapidly changing visualisation freezes
-      * 401072 : Move libgimme-codec helper functions to GStreamer
-      * 402505 : visualisations don't work for some samplerates
-      * 407811 : decodebin2 hang on HD clip
-      * 409683 : Crash with Decodebin2
-      * 410396 : not reading " DATE " tags from Flac files
-      * 410963 : Fails to build with -z defs 
-      * 357503 : [suparse] wrong timing with microdvd subtitles
-      * 393310 : [pango] localtime_r does not exist in MinGW
-      * 397207 : Test failure w/ HP-UX 11.11 & native compiler
-      * 399948 : [textoverlay] leaks upstream events if textpad unlinked
-      * 403963 : GstAudioFilter base class broken
-      * 404512 : [videoscale] floating point exception on 1x1 video
-      * 405020 : [alsa] probing the device-name doesn't seem to work corre...
-      * 408278 : [videorate] memory leak
-      * 410772 : Crash copying a GstNetBuffer
-      * 401118 : [visual] error if width not a multiple of 4 
-      * 405451 : [alsasink] deadlocks when disconnecting USB Sounddevice
-
-API additions since 0.10.11:
-
-      * GstAudioFilter
-      * GST_VIDEO_SINK_CAST()
-      * gst_pb_utils_add_codec_description_to_tag_list()
-      * gst_pb_utils_get_codec_description()
-      * gst_pb_utils_get_source_description()
-      * gst_pb_utils_get_sink_description()
-      * gst_pb_utils_get_decoder_description()
-      * gst_pb_utils_get_encoder_description()
-      * gst_pb_utils_get_element_description()
-      * gst_pb_utils_init()
-      * gst_install_plugins_context_new()
-      * gst_install_plugins_context_set_xid()
-      * gst_install_plugins_context_free()
-      * gst_install_plugins_async()
-      * gst_install_plugins_sync()
-      * gst_install_plugins_return_get_name()
-      * gst_install_plugins_installation_in_progress()
-      * gst_missing_uri_source_message_new()
-      * gst_missing_uri_sink_message_new
-      * gst_missing_element_message_new
-      * gst_missing_decoder_message_new
-      * gst_missing_encoder_message_new
-      * gst_missing_plugin_message_get_installer_detail
-      * gst_missing_plugin_message_get_description
-      * gst_is_missing_plugin_message
-
-Bugs fixed since 0.10.10:
-     
-      * 360552 : [riff] [avi] extracts non-UTF8 metadata
-      * 365501 : [x/xvimagesink] race condition when creating first image ...
-      * 339366 : [playbin] hangs if suburi file type cannot be determined
-      * 355914 : libvisual causes xvimagesink:  assertion `GST_CAPS_REFCOU...
-      * 363118 : gst_riff_create_video_caps() should also store variant in...
-      * 363607 : xvimagesink xwindow_draw_border() slowness
-      * 336301 : [playbin] can't handle RTSP source
-      * 337026 : oggmux doesn't set EOS properly
-      * 337031 : vorbisdec outputs too much data 
-      * 340049 : New BaseRTPAudioPayloader class to -base 
-      * 348264 : Theora encoding, Ogg muxing don't handle discontinuities
-      * 354773 : xvimage assumes that XV_COLORKEY can be set in RGB888 format
-      * 355917 : libvisual plugin is broken
-      * 355935 : multifdsink doesn't allow setting maximums (soft, hard) i...
-      * 357038 : [ffmpegcolorspace] RGBA handling broken
-      * 357215 : [playbin] buffering notification not quite right yet
-      * 357289 : [riff] riff parser can't detect aac audio stream
-      * 357404 : [playbin] Linking can fail silently 
-      * 357531 : [subparse] problem if markup is not closed
-      * 357577 : [playbin] regression: buffering still images broken
-      * 357591 : Avoid compiler warning with uclibc and -Werror
-      * 357613 : XvStopVideo in xvimagesink
-      * 357800 : [libvisual] doesn't pass audio data to libvisual 0.4.0 co...
-      * 359580 : tcpserversink and dataprotocol assert for multipart streams
-      * 361095 : Fixes compiling with forte: warning clean up (part 3)
-      * 361456 : [basertppayload] Memory leak
-      * 361634 : sink- > ringbuffer NULL in BaseAudioSink's setcaps()
-      * 361984 : [subparse] doesn't accept .srt file that doesn't start wi...
-      * 366334 : [PATCH] Windows vs8 fixes
-      * 368273 : Using the remove signal on multifdsink is not threadsafe
-      * 368310 : include file  gstbasertpaudiopayload.h not included for r...
-      * 369482 : [typefind] MPEG system streams get recognized as mp3 files
-      * 370092 : [PATCH] Decodebin v2 : Implementation
-      * 377183 : regression: no eos when playing ogg vorbis files
-      * 381219 : bad debugging code left in audiorate
-      * 382223 : [decodebin] more delayed linking
-      * 382269 : Typefind detects mpeg video clip as audio/mpeg
-      * 335635 : Add an Ogg/Vorbis retagging element
-      * 341681 : [textoverlay] flickering with continuously timestamped text
-      * 342228 : [alsa] Recognize " Front " as a Master channel 
-      * 357330 : [subparse] some sami parser minor but enhanced patch 
-      * 357532 : [gsttag] vorbistag doesn't handle dates that include time...
-      * 359237 : [typefinding] doesn't recognize XML files shorter than 25...
-      * 362845 : [subparse] add support for tmplayer format
-      * 357977 : [videorate] new segment start is not respected
-      * 364812 : [PATCH] oggmux release pad does not remove pad
-      * 364856 : pngenc stride problems
-      * 372507 : Mac build fixes
-
-API added since 0.10.10:
-
-      * playbin::queue-min-threshold property.
-      * GstVideoOrientation interface
-      * gst_base_rtp_depayload_push_ts
-      * gst_base_rtp_depayload_push
-      * Add dropped_buffers to multifdsink's get-stats GValueArray
-      * gst_ring_buffer_commit_full
-
-Changes since 0.10.9:
-
-      * New elements: gdppay, gdpdepay
-
-Bugs fixed since 0.10.9:
-     
-      * 343787 : The adder cannot handle when multiple elements tries to l...
-      * 336075 : ALSA emu10k1 mixer tracks are wrongly classified as playb...
-      * 349105 : crash with playbin and resizing screen
-      * 342494 : [v4l] Query " device-name " even if device is not open
-      * 342680 : [adder] seeking with multiple ogg files fails to work
-      * 345188 : [alsa] can't handle more than 8 channels
-      * 347091 : converting vorbis comments to GstTagLists is lossy
-      * 348157 : Changed " Change Device " menu behaviour in gnome-volume-co...
-      * 348916 : [typefind] add multipart/x-mixed-replace typefinder
-      * 350157 : [riff] riff parser can't detect dts audio stream
-      * 350655 : [oggdemux] should process seeking queries
-      * 350900 : [adder] should not clamp floating point values
-      * 351426 : API: add gst_tag_parse_extended_comment
-      * 351502 : g_value_set_string leaks
-      * 351742 : [vorbisenc] discontinuity detection too sensitive, might ...
-      * 353658 : [videotestsrc] doesn't round strides correctly for YVYU
-      * 354594 : multifdsink doesn't work reliably with sync-method = 'nex...
-      * 351790 : [ogmparse] crash parsing video stream on x86-64
-      * 140139 : [avidemux] can't play broken avi with ogg (not vorbis) au...
-      * 347783 : [PLUGIN-MOVE] GDP elements should be moved
-      * 347918 : Internal data flow error in udpsrc
-      * 349656 : jitterbuffer in GstBaseRtp fails to handle rtp seqnum rol...
-      * 350784 : element alsamixer doesn't respect asoundrc
-      * 351308 : [netbuffer] build fails with gkt-doc critical warnings
-      * 353234 : audiorate preserves DISCONT on buffers
-      * 353912 : Add cmml caps to oggmux
-
-API added since 0.10.9:
-     
-      * gst_rtp_buffer_get_payload_subbuffer()
-      * gst_tag_parse_extended_comment()
-      * GstPlayBin::connection-speed
-      * GstTheoraParse::synchronization-points
-      * GST_AUDIO_CHANNEL_POSITION_NONE
-
-Changes since 0.10.8:
-
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * Subtitle fixes
-      * Support for images in tags
-      * Playback improvements
-      * Gnomevfssrc now supports burn:// uris
-      * Videoscale now supports more RGBA formats
-      * Multifdsink improvements
-      * Testsuite can now generate coverage information
-
-Bugs fixed since 0.10.8:
-
-      * 347296 : Problems with clocks on alsasrc hangs the application
-      * 347295 : [vorbisdec] Pushes before being initialized
-      * 329798 : [playbin] doesn't always give correct error message for m...
-      * 342085 : [alsasink] doesn't set buffer-time correctly
-      * 342789 : [audioresample] doesn't clear state when stopped, causing...
-      * 343303 : [subparse] workaround for bad entities in sami parser
-      * 343385 : [gnomevfs] add support for burn:// URIs
-      * 343500 : [riff] gst_riff_parse_strf_vids() can't parse extra data.
-      * 343699 : oggmux leaks
-      * 344503 : [subparse] parse font face property in sami parser.
-      * 345131 : [PATCH] videoscale support for 32-bit RGB-formats
-      * 345206 : [textoverlay] crash with non-UTF8 input
-      * 345225 : [theoradec] Clipping for exact seeking
-      * 345641 : [API] [libgsttag] add enums for image tag type
-      * 345879 : [riff] won't play a .wmv file with WMVA video stream
-      * 346581 : [typefinding] recognise text/html
-      * 347221 : [audioconvert] channel remapping does not work right
-      * 347304 : Massive leaks with xvimagesink
-      * 346527 : alsasrc get_range does not respect requested size
-
-Changes since 0.10.7:
-    
-      * alsasink probing fixes
-      * xvimagesink error reporting fixes
-      * subtitle fixes
-      * adder fixes
-      * vorbis multichannel fixes
-      * multifdsink streamheader fixes
-
-Bugs fixed since 0.10.7:
-    
-      * 169936 : [subparse] support for SAMI subtitles
-      * 315312 : Gstreamer Xv uses RGB instead of YUV.
-      * 334002 : video4linux shouldn't depend on X in configure script
-      * 336881 : [libvisual] additional support for libvisual-0.4
-      * 337544 : [xvimagesink] Internal Error when image is too large
-      * 339520 : [subparse] add " encoding " property
-      * 340909 : [alsasink] can't enable spdif output
-      * 341542 : some users have an assertion failed: (GST_VIDEO_SINK_WIDT...
-      * 341562 : audioconvert doesn't list formats in order of preference
-      * 341696 : audioconvert crashes if converting from a format with no ...
-      * 341719 : bisection algorithm in ogg doesn't bisect in some cases
-      * 341732 : [alsasink] doesn't query supported sample rates
-      * 341873 : [alsasink] minor memory leak, uses unprotected static var...
-      * 342143 : [subparse] sami parser needs to escape characters
-      * 342181 : [alsa] add property probe interface to alsasink and alsasrc
-      * 342268 : [playbin] add 'subtitle-encoding' property
-      * 342345 : [riff] Elephant's Dream AVI does not play, JUNK chunk bef...
-      * 342566 : Building without GTK+ fails
-      * 343397 : H.264/AAC movie deadlocks with totem in gstreamer code, p...
-      * 339935 : [adder] dead-locks when adding sink pads in PAUSED state
-
-Changes since 0.10.6:
-
-      * typefind improvements
-      * bug-fixes in textoverlay, audioconvert, videotestsrc, 
-        multifdsink and audio source/sink base classes
-      * Ice-cast metadata support has moved from gnomevfssrc to the 
-        icydemux element in gst-plugins-good
-      * audioresample now supports floating point samples
-      * Adder element fixes.
-      * Fixes for network playback and audio resampling in playbin
-
-Bugs fixed since 0.10.6:
-    
-      * 340060 : [adder] handle newsegment events properly
-      * 340375 : [API 0.11] [patch] typefind to differentiate between mp4 ...
-      * 339405 : [textoverlay] can't display '\n' character
-      * 338657 : [patch] adder should send events from src-pad to all sink...
-      * 338919 : [patch] alsasink should also query witdh capabilities fro...
-      * 301759 : [audioresample] float audio support (for OSX audio sinks)
-      * 331901 : [videotestsrc] framerate=0/1 gives assertion error
-      * 333657 : Replacing icy demuxing in gnomevfssrc
-      * 336339 : [audioresample] should support width != 16
-      * 338718 : [patch] [audioconvert] correctly clip float samples > 1.0
-      * 338778 : [patch] Bad audio with ASX files
-      * 338991 : [patch] Videoscale doesn't pass on pixel-aspect ratio
-      * 339574 : [patch] Race condition in multifdsink can lead to spuriou...
-      * 339786 : [typefinding] wavpack typefinding doesn't always work
-      * 340369 : [volume element] " volume " property range insufficient
-      * 340379 : [playbin] doesn't insert audioresample, causes problems w...
-      * 340392 : Problem with internal-decodebin
-      * 341160 : [multifdsink] client_status enum has an uninitialized nick
-      * 341182 : Accessing playbin's streaminfo property from high languag...
-      * 341432 : [playbin] automatically get icecast metadata requiring ic...
-      * 341542 : some users have an assertion failed: (GST_VIDEO_SINK_WIDT...
-      * 341557 : Map GST_TAG_IMAGE < = > ID3v2 APIC tag
-
-API added since 0.10.6:
-    
-      * client-fd-removed signal added to multifdsink
-      * stream-info-value-array property added to playbin
-      * gst_video_calculate_display_ratio() in libgstvideo
-
-Changes since 0.10.5:
-
-      * QoS in sinks and transform elements
-      * Needs GStreamer 0.10.5 for new GstBaseSink::async_playback() vmethod
-      * added theoraparse element
-
-Bugs fixed since 0.10.5:
-    
-      * 313136 : [playbin] hang while playing truncated ogg file
-      * 172848 : [subparse] subtitles with special chars are displayed as ...
-      * 305279 : [riff] uncompressed AVIs with 24bpp don't work
-      * 320765 : [ffmpegcolorspace] make win32+msvc compliant, don't use _...
-      * 323852 : Disable tests/icles on platforms that do not have X
-      * 325653 : build errors compiling audioresample on win32(vs7)
-      * 327357 : gst-plugins-base fails to compile with GCC 4.1
-      * 334620 : [gnomevfssrc] fails to connect to icecast streaming servers
-      * 334822 : [ffmpegcolorspace] YVU9 support
-      * 335028 : [typefinding] ID3 v1 tag is not recognized with mp3-in-wa...
-      * 335365 : inefficient use of GList in gst-plugins-base
-      * 336190 : [gnomevfssink] should accept non-URI filenames as " location " 
-      * 336194 : [gnomevfssrc] some minor memory leaks
-      * 336477 : plugins need better/univied descriptions
-      * 336617 : Unable to recognise MPEG TS stream
-      * 337548 : Memory leaks in basertpdepayload
-      * 337945 : [oggdemux] segment stop position ignored
-      * 338419 : Regression in the handling of files with multiple audio/s...
-      * 338897 : Videoscale crashes as part of DVD to Ogg transcoding
-      * 339013 : [videorate] Goes into an infinite loop
-      * 339047 : [riff] handle H264 fourcc in addition to h264
-      * 339212 : ISO file typefinding regression
-      * 330748 : deadlock in base audio sink on playing- > paused state change
-
-Bugs fixed since 0.10.4:
-    
-      * 334216 : [gnomevfssrc] won't open some media on NFS mounts any longer
-      * 334226 : typefindfunctions plugin crashes on PPC on registration
-
-Changes since 0.10.3:
-    
-      * (Experimental) QoS support
-      * oggmuxer now creates 100% valid streams for Theora, Vorbis and Speex
-      * documentation updates
-      * better support for subtitles (seeking)
-
-Bugs fixed since 0.10.3:
-    
-      * 310202 : [subtitles] < i >  < /i > tags and others should be supported i...
-      * 312439 : XVideo output doesn't work on remote displays (probably r...
-      * 321271 : audio output is truncated at EOS
-      * 321650 : Can't decode this ogm file
-      * 325732 : [oggdemux] problem when seeking to time less than 4s with...
-      * 325972 : [typefinding] doesn't recognise this mp3
-      * 326720 : [alsasink] doesn't support more than 2 channels anymore
-      * 330711 : [ffmpegcolorspace] problems with palettized RGB (fencount...
-      * 330789 : gstbaseaudiosink causes noise on seeking
-      * 330888 : Fix build with gcc 2.95 (again)
-      * 331295 : gnomevfssink doesn't respect umask when creating files
-      * 331526 : 3GP type detection is too simple
-      * 331678 : Decodebin is not reusable within a single pipeline (as in...
-      * 331690 : playbin won't play my last.fm stream
-      * 331763 : [alsamixer] unmute sets the volume to 100%
-      * 331765 : [alsamixer] mixer applet slider doesn't want to move from...
-      * 331903 : [videorate] doesnt handle input caps of framerate=0/1 sanely
-      * 332778 : [ogmparse] " Already an existing pad " WARNING
-      * 332964 : random crashes in mp3_type_find
-      * 333254 : theora encoder does not set IN_CAPS flag properly
-      * 333352 : [gnomevfssink] reports disk full as generic error
-      * 333488 : Allow for palette < 256 colours in AVI files
-      * 333510 : [PATCH] Fix gst_pad_new_from_template (gst_static_pad_tem...
-      * 333545 : [riff] set depth on wma caps to make asfdemux and pitfdll...
-      * 333663 : [patch] unref the result of gst_pad_get_parent
-      * 333900 : [typefind] cannot play a particular mp3 file
-      * 334112 : variable not initialized
-      * 334129 : Disable frame dropping for now
-      * 317038 : use default channel layout if none is specified in multic...
-      * 319340 : [cdparanoia] uncorrected-error signal never fired
-
-API added since 0.10.3:
-    
-      * GstTextOverlay::halignment
-      * GstTextOverlay::valignment
-
-Changes since 0.10.2:
-
-      * typefind improvements
-      * Ogg decoding and encoding fixes
-      * Improved audio and video sink classes
-      * Bug and leak fixes
-      * Improved video scaling
-      * On-the-fly visualisation switching
-      * Subtitle support
-
-Bugs fixed since 0.10.2:
-
-      * 330244 : gsttextoverlay.c:895: 'struct _GstCollectData' has no mem...
-      * 324000 : [playbin] post error or message on unknown input
-      * 153004 : [typefind] can't identify mp3 file with one single mpeg f...
-      * 323874 : [playbin] leaks sinks and threads when using gconfaudiosink
-      * 324626 : ffmpegcolorspace support for fourcc " UYVY "
-      * 326447 : check that all elements in -base pass queries they can't ...
-      * 328263 : Fix build with gcc 2.95
-      * 328279 : [decodebin] timeout issue when pre-rolling
-      * 329326 : Fix oggmux removing pads from collect pads
-
-Changes since 0.10.1:
-    
-      * ported gnomevfssink, cdparanoia
-      * New library and base class: GstCddaBaseSrc
-      * ported mixerutils.h
-      * added 'sine-tab' waveform to audiotestsrc
-      * added float audio to audiorate
-
-Bugs fixed since 0.10.1:
-    
-      * 324216 : [cdparanoia] missing patches from 0.8
-      * 324696 : [videotestsrc] does not start counting the time from zero...
-      * 324900 : Problem compiling gst-plugins-base with Forte
-      * 325984 : [playbin] cannot handle sources that produce raw audio/video
-      * 325990 : patch videotestsrc for using glib types
-      * 326601 : GstRingBuffer crashes with alaw/mulaw caps
-      * 327114 : [theoradec] should post tags on the bus
-      * 327216 : vorbisdec segfaults on certain queries
-
-API added since 0.10.1:
-     
-      * added libgstcddabase
-      * added mixerutils.h
-        
-Changes since 0.10.0:
-    
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * removed gst-launch-ext
-      * Ported: ogmparse
-      * Fixes for: subparse, xvimagesink, audioresample, videorate, decodebin
-
-Bugs fixed since 0.10.0:
-    
-      * 322347 : GstBaseRtpDepayload timestamps are wring
-      * 323900 : Basertpdepayloader lets NEWSEGMENT events through unfiltered
-      * 323878 : missing < string.h > inclusion (for memset & FD_ZERO)
-
-API added since 0.10.0:
-    
-      * GstAlsaMixer::device
-      * GstAlsaMixer::device-name
-
-Bugs fixed since 0.9.7:
-    
-      * 319172 : gstreamer-plugins-base-0.9.pc doesn't export linking flags
-      * 323017 : While(1) loop with sleep(0) in basertpdepayload.c
-  
-Changes since 0.9.6:
-    
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * ximagesink and xvimagesink updates and interactive test
-      * added pango
-      * rename net to netbuffer library
-      * rtp element renaming
-      * stream selector fixes
-
-Bugs fixed since 0.9.6:
-    
-      * 319618 : [decodebin] some ogg videos don't play
-      * 320644 : RTP packetizer does't set the packet timestamps correctly
-      * 322388 : xvimagesink force-aspect-ratio=True always displays squar...
-      * 322704 : oggdemux typefind list leak
-
-Changes since 0.9.5:
-    
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * lots of leak fixes
-      * flicker-free and rewritten X sinks
-      * fractional framerates
-      * removed sinesrc, replaced by audiotestsrc
-
-Bugs fixed since 0.9.5:
-    
-      * 316442 : playbin should use autoaudiosink/autovideosink by default
-      * 318353 : [ffmpegcolorspace] forward-port fixes from 0.8 branch
-      * 320200 : vorbisenc: min-bitrate and max-bitrate are 1/1000 bps rat...
-      * 321164 : gstringbuffer stops working under load
-      * 321426 : ximage plugin should be renamed to ximagesink
-      * 321446 : sinesrc should be dropped in favour of audiotestsrc
-      * 321451 : GstRtpBuffer: no way to create a sub buffer with only the...
-      * 321816 : [API] xoverlay API to post prepare-xwindow-id message
-      * 321894 : vorbisenc doesn't compile
-      * 322117 : Rename libgsttagedit to libgsttag
-
-Changes since 0.9.4:
-    
-      * video caps now use a good range for framerate and w/h
-      * oggdemux/oggmux improvements
-      * playbin improvements
-
-Bugs fixed since 0.9.4:
-    
-      * 319110 : [PATCH] oggdemux chain finding is slow
-      * 320058 : playbin of a jpeg over http does not work
-      * 320923 : [volume] doesn't build on Solaris
-      * 321011 : gstbasertpdepayload doesn't send the " new segment " event ...
-
-Changes since 0.9.3:
-
-      * New element: audiotestsrc
-      * typefind improvements
-      * buffer-frames removed
-
-Changes since 0.9.2:
-
-      * RTP base classes
-
-Bugs fixed since 0.9.2:
-
-      * 313251 : ximagesink unused functions
-      * 315159 : audioconvert lost 24 bit conversions in the rewrite
+GStreamer 1.18 Release Notes
 
+GStreamer 1.18.0 was originally released on 7 September 2020.
+
+See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
+version of this document.
+
+Last updated: Monday 7 September 2020, 10:30 UTC (log)
+
+Introduction
+
+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 many new features, bug
+fixes and other improvements.
+
+Highlights
+
+-   GstTranscoder: new high level API for applications to transcode
+    media files from one format to another
+
+-   High Dynamic Range (HDR) video information representation and
+    signalling enhancements
+
+-   Instant playback rate change support
+
+-   Active Format Description (AFD) and Bar Data support
+
+-   ONVIF trick modes support in both GStreamer RTSP server and client
+
+-   Hardware-accelerated video decoding on Windows via DXVA2 /
+    Direct3D11
+
+-   Microsoft Media Foundation plugin for video capture and
+    hardware-accelerated video encoding on Windows
+
+-   qmlgloverlay: New overlay element that renders a QtQuick scene over
+    the top of an input video stream
+
+-   New imagesequencesrc element to easily create a video stream from a
+    sequence of jpeg or png images
+
+-   dashsink: Add new sink to produce DASH content
+
+-   dvbsubenc: DVB Subtitle encoder element
+
+-   TV broadcast compliant MPEG-TS muxing with constant bitrate muxing
+    and SCTE-35 support
+
+-   rtmp2: new RTMP client source and sink element implementation
+
+-   svthevcenc: new SVT-HEVC-based H.265 video encoder
+
+-   vaapioverlay compositor element using VA-API
+
+-   rtpmanager support for Google’s Transport-Wide Congestion Control
+    (twcc) RTP extension
+
+-   splitmuxsink and splitmuxsrc gained support for auxiliary video
+    streams
+
+-   webrtcbin now contains some initial support for renegotiation
+    involving stream addition and removal
+
+-   New RTP source and sink elements to easily set up RTP streaming via
+    rtp:// URIs
+
+-   New Audio Video Transport Protocol (AVTP) plugin for Time-Sensitive
+    Applications
+
+-   Support for the Video Services Forum’s Reliable Internet Stream
+    Transport (RIST) TR-06-1 Simple Profile
+
+-   Universal Windows Platform (UWP) support
+
+-   rpicamsrc element for capturing from the Raspberry Pi camera
+
+-   RTSP Server TCP interleaved backpressure handling improvements as
+    well as support for Scale/Speed headers
+
+-   GStreamer Editing Services gained support for nested timelines,
+    per-clip speed rate control and the OpenTimelineIO format.
+
+-   Autotools build system has been removed in favour of Meson
+
+Major new features and changes
+
+Noteworthy new features and API
+
+Instant playback rate changes
+
+Changing the playback rate as quickly as possible so far always required
+a flushing seek. This generally works, but has the disadvantage of
+flushing all data from the playback pipeline and requiring the demuxer
+or parser to do a full-blown seek including resetting its internal state
+and resetting the position of the data source. It might also require
+considerable decoding effort to get to the right position to resume
+playback from at the higher rate.
+
+This release adds a new mechanism to achieve quasi-instant rate changes
+in certain playback pipelines without interrupting the flow of data in
+the pipeline. This is activated by sending a seek with the
+GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag and start_type = stop_type =
+GST_SEEK_TYPE_NONE. This flag does not work for all pipelines, in which
+case it is necessary to fall back to sending a full flushing seek to
+change the playback rate. When using this flag, the seek event is only
+allowed to change the current rate and can modify the trickmode flags
+(e.g. keyframe only or not), but it is not possible to change the
+current playback position, playback direction or do a flush.
+
+This is particularly useful for streaming use cases like HLS or DASH
+where the streaming download should not be interrupted when changing
+rate.
+
+Instant rate changing is handled in the pipeline in a specific sequence
+which is detailed in the seeking design docs. Most elements don’t need
+to worry about this, only elements that sync to the clock need some
+special handling which is implemented in the GstBaseSink base class, so
+should be taken care of automatically in most normal playback pipelines
+and sink elements.
+
+See Jan’s GStreamer Conference 2019 talk “Changing Playback Rate
+Instantly” for more information.
+
+You can try this feature by passing the -i command line option to
+gst-play-1.0. It is supported at least by qtdemux, tsdemux, hlsdemux,
+and dashdemux.
+
+Google Transport-Wide Congestion Control
+
+rtpmanager now supports the parsing and generating of RTCP messages for
+the Google Transport-Wide Congestion Control RTP Extension, as described
+in:
+https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01.
+
+This “just” provides the required plumbing/infrastructure, it does not
+actually make effect any actual congestion control on the sender side,
+but rather provides information for applications to use to make such
+decisions.
+
+See Håvard’s “Google Transport-Wide Congestion Control” talk for more
+information about this feature.
+
+GstTranscoder: a new high-level transcoding API for applications
+
+The new GstTranscoder library, along with transcodebin and
+uritranscodebin elements, provides high level API for applications to
+transcode media files from one format to another. Watch Thibault’s talk
+“GstTranscoder: A High Level API to Quickly Implement Transcoding
+Capabilities in your Applications” for more information.
+
+This also comes with a gst-transcoder-1.0 command line utility to
+transcode one URI into another URI based on the specified encoding
+profile.
+
+Active Format Description (AFD) and Bar Data support
+
+The GstVideo Ancillary Data API has gained support for Active Format
+Description (AFD) and Bar data.
+
+This includes various two new buffer metas: GstVideoAFDMeta and
+GstVideoBarMeta.
+
+GStreamer now also parses and extracts AFD/Bar data in the h264/h265
+video parsers, and supports both capturing them and outputting them in
+the decklink elements. See Aaron’s lightning talk at the GStreamer
+Conference for more background.
+
+ONVIF trick modes support in both GStreamer RTSP server and client
+
+-   Support for the various trick modes described in section 6 of the
+    ONVIF streaming spec has been implemented in both gst-rtsp-server
+    and rtspsrc.
+-   Various new properties in rtspsrc must be set to take advantage of
+    the ONVIF support
+-   Examples are available here: test-onvif-server.c and
+    test-onvif-client.c
+-   Watch Mathieu Duponchelle’s talk “Implementing a Trickmode Player
+    with ONVIF, RTSP and GStreamer” for more information and a live
+    demo.
+
+GStreamer Codecs library with decoder base classes
+
+This introduces a new library in gst-plugins-bad which contains a set of
+base classes that handle bitstream parsing and state tracking for the
+purpose of decoding different codecs. Currently H264, H265, VP8 and VP9
+are supported. These bases classes are meant primarily for internal use
+in GStreamer and are used in various decoder elements in connection with
+low level decoding APIs like DXVA, NVDEC, VAAPI and V4L2 State Less
+decoders. The new library is named gstreamer-codecs-1.0 /
+libgstcodecs-1.0 and is not yet guaranteed to be API stable across major
+versions.
+
+MPEG-TS muxing improvements
+
+The GStreamer MPEG-TS muxer has seen major improvements on various
+fronts in this cycle:
+
+-   It has been ported to the GstAggregator base class which means it
+    can work in defined-latency mode with live input sources and
+    continue streaming if one of the inputs stops producing data.
+
+-   atscmux, a new ATSC-specific tsmux subclass
+
+-   Constant Bit Rate (CBR) muxing support via the new bitrate property
+    which allows setting the target bitrate in bps. If this is set the
+    muxer will insert null packets as padding to achieve the desired
+    multiplex-wide constant bitrate.
+
+-   compliance fixes for TV broadcasting use cases (esp. ATSC). See
+    Jan’s talk “TV Broadcast compliant MPEG-TS” for details.
+
+-   Streams can now be added and removed at runtime: Until now, any
+    streams in tsmux had to be present when the element started
+    outputting its first buffer. Now they can appear at any point during
+    the stream, or even disappear and reappear later using the same PID.
+
+-   new pcr-interval property allows applications to configure the
+    desired interval instead of hardcoding it
+
+-   basic SCTE-35 support. This is enabled by setting the scte-35-pid
+    property on the muxer. Sending SCTE-35 commands is then done by
+    creating the appropriate SCTE-35 GstMpegtsSection and sending them
+    on the muxer.
+
+-   MPEG-2 AAC handling improvements
+
+New elements
+
+-   New qmlgloverlay element for rendering a QtQuick scene over the top
+    of a video stream. qmlgloverlay requires that Qt support adopting an
+    external OpenGL context and is known to work on X11 and Windows.
+    Wayland is known not to work due to limitations within Qt. Check out
+    the example to see how it works.
+
+-   The clocksync element is a generic element that can be placed in a
+    pipeline to synchronise passing buffers to the clock at that point.
+    This is similar to identity sync=true, but because it isn’t
+    GstBaseTransform-based, it can process GstBufferLists without
+    breaking them into separate GstBuffers. It is also more discoverable
+    than the identity option. Note that you do not need to insert this
+    element into your pipeline to make GStreamer sync to the pipeline
+    clock, this is usually handled automatically by the elements in the
+    pipeline (sources and sinks mostly). This element is useful to feed
+    non-live input such as local files into elements that expect live
+    input such as webrtcbin.`
+
+-   New imagesequencesrc element to easily create a video stream from a
+    sequence of JPEG or PNG images (or any other encoding where the type
+    can be detected), basically a multifilesrc made specifically for
+    image sequences.
+
+-   rpicamsrc element for capturing raw or encoded video (H.264, MJPEG)
+    from the Raspberry Pi camera. This works much like the popular
+    raspivid command line utility but outputs data nicely timestamped
+    and formatted in order to integrate nicely with other GStreamer
+    elements. Also comes with a device provider so applications can
+    discover the camera if available.
+
+-   aatv and cacatv video filters that transform video ASCII art style
+
+-   avtp: new Audio Video Transport Protocol (AVTP) plugin for Linux.
+    See Andre Guedes’ talk “Audio/Video Bridging (AVB) support in
+    GStreamer” for more details.
+
+-   clockselect: a pipeline element that enables clock selection/forcing
+    via gst-launch pipeline syntax.
+
+-   dashsink: Add new sink to produce DASH content. See Stéphane’s talk
+    or blog post for details.
+
+-   dvbsubenc: a DVB subtitle encoder element
+
+-   microdns: a libmicrodns-based mdns device provider to discover RTSP
+    cameras on the local network
+
+-   mlaudiosink: new audio sink element for the Magic Leap platform,
+    accompanied by an MLSDK implementation in the amc plugin
+
+-   msdkvp9enc: VP9 encoder element for the Intel MediaSDK
+
+-   rist: new plugin implementing support for the Video Services Forum’s
+    Reliable Internet Stream Transport (RIST) TR-06-1 Simple Profile.
+    See Nicolas’ blog post “GStreamer support for the RIST
+    Specification” for more details.
+
+-   rtmp2: new RTMP client source and sink elements with fully
+    asynchronous network operations, better robustness and additional
+    features such as handling ping and stats messages, and adobe-style
+    authentication. The new rtmp2src and rtmp2sink elements should be
+    API-compatible with the old rtmpsrc / rtmpsink elements and should
+    work as drop-in replacements.
+
+-   new RTP source and sink elements to easily set up RTP streaming via
+    rtp:// URIs: The rtpsink and rtpsrc elements add an URI interface so
+    that streams can be decoded with decodebin using rtp:// URIs. These
+    can be used as follows: ``` gst-launch-1.0 videotestsrc ! x264enc !
+    rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
+
+    gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1
+    ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0 rtpsrc
+    uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay !
+    avdec_h264 ! videoconvert ! xvimagesink
+
+    gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay
+    config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0
+    rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay
+    ! avdec_mpeg4 ! videoconvert ! xvimagesink ```
+
+-   svthevcenc: new SVT-HEVC-based H.265 video encoder
+
+-   switchbin: new helper element which chooses between a set of
+    processing chains (paths) based on input caps, and changes the
+    active chain if new caps arrive. Paths are child objects, which are
+    accessed by the GstChildProxy interface. See the switchbin
+    documentation for a usage example.
+
+-   vah264dec: new experimental va plugin with an element for H.264
+    decoding with VA-API using GStreamer’s new stateless decoder
+    infrastructure (see Linux section below).
+
+-   v4l2codecs: introduce an V4L2 CODECs Accelerator supporting the new
+    CODECs uAPI in the Linux kernel (see Linux section below)
+
+-   zxing new plugin to detect QR codes and barcodes, based on libzxing
+
+-   also see the Rust plugins section below which contains plenty of new
+    exciting plugins written in Rust!
+
+New element features and additions
+
+GStreamer core
+
+-   filesink: Add a new “full” buffer mode. Previously the default and
+    full modes were the same. Now the default mode is like before: it
+    accumulates all buffers in a buffer list until the threshold is
+    reached and then writes them all out, potentially in multiple
+    writes. The new full mode works by always copying memory to a single
+    memory area and writing everything out with a single write once the
+    threshold is reached.
+
+-   multiqueue: Add stats property and
+    current-level-{buffers, bytes, time} pad properties to query the
+    current levels of the corresponding internal queue.
+
+Plugins Base
+
+-   alsa: implement a device provider
+
+-   alsasrc: added use-driver-timestamp property to force use of
+    pipeline timestamps (and disable driver timestamps) if so desired
+
+-   audioconvert: fix changing the mix-matrix property at runtime
+
+-   appsrc: added support for segment forwarding or custom GstSegments
+    via GstSample, enabled via the handle-segment-change property. This
+    only works for segments in TIME format for now.
+
+-   compositor: various performance optimisations, checkerboard drawing
+    fixes, and support for VUYA format
+
+-   encodebin: Fix and refactor smart encoding; ensure that a single
+    segment is pushed into encoders; improve force-key-unit event
+    handling.
+
+-   opusenc: Add low delay option (audio-type=restricted-lowdelay) to
+    disable the SILK layer and achieve only 5ms delay.
+
+-   opusdec: add stats property to retrieve various decoder statistics.
+
+-   uridecodebin3: Let decodebin3 do its stream selection if no one
+    answers
+
+-   decodebin3: Avoid overriding explicit user selection of streams
+
+-   playbin: add flag to force use of software decoders over any
+    hardware decoders that might also be available
+
+-   playbin3, playbin: propagate sink context
+
+-   rawvideoparse: Fix tiling support, allow setting colorimetry
+
+-   subparse: output plain utf8 text instead of pango-markup formatted
+    text if downstream requires it, useful for interop with elements
+    that only accept utf8-formatted subtitles such as muxers or closed
+    caption converters.
+
+-   tcpserversrc, tcpclientsrc: add stats property with TCP connection
+    stats (some are only available on Linux though)
+
+-   timeoverlay: add show-times-as-dates, datetime-format and
+    datetime-epoch properties to display times with dates
+
+-   videorate: Fix changing rate property during playback; reverse
+    playback fixes; update QoS events taking into account our rate
+
+-   videoscale: pass through and transform size sensitive metas instead
+    of just dropping them
+
+Plugins Good
+
+-   avidemux can handle H.265 video now. Our advice remains to
+    immediately cease all contact and communication with anyone who
+    hands you H.265 video in an AVI container, however.
+
+-   avimux: Add support for S24LE and S32LE raw audio and v210 raw video
+    formats; support more than 2 channels of raw audio.
+
+-   souphttpsrc: disable session sharing and cookie jar when the cookies
+    property is set; correctly handle seeks past the end of the content
+
+-   deinterlace: new YADIF deinterlace method which should provide
+    better quality than the existing methods and is LGPL licensed;
+    alternate fields are supported as input to the deinterlacer as well
+    now, and there were also fixes for switching the deinterlace mode on
+    the fly.
+
+-   flvmux: in streamable mode allow adding new pads even if the initial
+    header has already been written. Old clients will only process the
+    initial stream, new clients will get a header with the new streams.
+    The skip-backwards-streams property can be used to force flvmux to
+    skip and drop a few buffers rather than produce timestamps that go
+    backward and confuse librtmp-based clients. There’s also better
+    handling for timestamp rollover when streaming for a long time.
+
+-   imagefreeze: Add live mode, which can be enabled via the new is-live
+    property. In this mode frames will only be output in PLAYING state
+    according to the negotiated framerate, skipping frames if the output
+    can’t keep up (e.g. because it’s blocked downstream). This makes it
+    possible to actually use imagefreeze in live pipelines without
+    having to manually ensure somehow that it starts outputting at the
+    current running time and without still risking to fall behind
+    without recovery.
+
+-   matroskademux, qtdemux: Provide audio lead-in for some lossy formats
+    when doing accurate seeks, to make sure we can actually decode
+    samples at the desired position. This is especially important for
+    non-linear audio/video editing use-cases.
+
+-   matroskademux, matroskamux: Handle interlaced field order (tff, bff)
+
+-   matroskamux:
+
+    -   new offset-to-zero property to offset all streams to start at
+        zero. This takes the timestamp of the earliest stream and
+        offsets it so that it starts at 0. Some software (VLC,
+        ffmpeg-based) does not properly handle Matroska files that start
+        at timestamps much bigger than zero, which could happen with
+        live streams.
+    -   added a creation-time property to explicitly set the creation
+        time to write into the file headers. Useful when remuxing, for
+        example, but also for live feeds where the DateUTC header can be
+        set a UTC timestamp corresponding to the beginning of the file.
+    -   the muxer now also always waits for caps on sparse streams, and
+        warns if caps arrive after the header has already been sent,
+        otherwise the subtitle track might be silently absent in the
+        final file. This might affect applications that send sparse data
+        into matroskamux via an appsrc element, which will usually not
+        send out the initial caps before it sends out the first buffer.
+
+-   pulseaudio: device provider improvements: fix discovery of
+    newly-added devices and hide the alsa device provider if we provide
+    alsa devices
+
+-   qtdemux: raw audio handling improvements, support for AC4 audio, and
+    key-units trickmode interval support
+
+-   qtmux:
+
+    -   was ported to the GstAggregator base class which allows for
+        better handling of live inputs, but might entail minor
+        behavioural changes for sparse inputs if inputs are not live.
+    -   has also gained a force-create-timecode-trak property to create
+        a timecode trak in non-mov flavors, which may not be supported
+        by Apple but is supported by other software such as Final Cut
+        Pro X
+    -   also a force-chunks property to force the creation of chunks
+        even in single-stream files, which is required for Apple ProRes
+        certification.
+    -   also supports 8k resolutions in prefill mode with ProRes.
+
+-   rtpbin gained a request-jitterbuffer signal which allows
+    applications to plug in their own jitterbuffer implementation such
+    as the threadsharing jitterbuffer from the Rust plugins, for
+    example.
+
+-   rtprtxsend: add clock-rate-map property to allow generic RTP input
+    caps without a clock-rate whilst still supporting the max-size-time
+    property for bundled streams.
+
+-   rtpssrcdemux: introduce max-streams property to guard against
+    attacks where the sender changes SSRC for every RTP packet.
+
+-   rtph264pay, rtph264pay: implement STAP-A and various aggregation
+    modes controled by the new aggegrate-mode property: none to not
+    aggregate NAL units (as before), zero-latency to aggregate NAL units
+    until a VCL or suffix unit is included, or max to aggregate all NAL
+    units with the same timestamp (which adds one frame of latency). The
+    default has been kept at none for backwards compatibility reasons
+    and because various RTP/RTSP implementions don’t handle aggregation
+    well. For WebRTC use cases this should be set to zero-latency,
+    however.
+
+-   rtpmp4vpay: add support for config-interval=-1 to resend headers
+    with each IDR keyframe, like other video payloaders.
+
+-   rtpvp8depay: Add wait-for-keyframe property for waiting until the
+    next keyframe after packet loss. Useful if the video stream was not
+    encoded with error resilience enabled, in which case packet loss
+    tends to cause very bad artefacts when decoding, and waiting for the
+    next keyframe instead improves user experience considerably.
+
+-   splitmuxsink and splitmuxsrc can now handle auxiliary video streams
+    in addition to the primary video stream. The primary video stream is
+    still used to select fragment cut points at keyframe boundaries.
+    Auxilliary video streams may be broken up at any packet - so
+    fragments may not start with a keyframe for those streams.
+
+-   splitmuxsink:
+
+    -   new muxer-preset and sink-preset properties for setting
+        muxer/sink presets
+    -   a new start-index property to set the initial fragment id
+    -   and a new muxer-pad-map property which explicitly maps
+        splitmuxsink pads to the muxer pads they should connect to,
+        overriding the implicit logic that tries to match pads but
+        yields arbitrary names.
+    -   Also includes the actual sink element in the fragment-opened and
+        fragment-closed element messages now, which is especially useful
+        for sinks without a location property or when finalisation of
+        the fragments is done asynchronously.
+
+-   videocrop: add support for Y444, Y41B and Y42B pixel formats
+
+-   vp8enc, vp9enc: change default value of VP8E_SET_STATIC_THRESHOLD
+    from 0 to 1 which matches what Google WebRTC does and results in
+    lower CPU usage; also added a new bit-per-pixel property to select a
+    better default bitrate
+
+-   v4l2: add support for ABGR, xBGR, RGBA, and RGBx formats and for
+    handling interlaced video in alternate fields interlace mode (one
+    field per buffer instead of one frame per picture with both fields
+    interleaved)
+
+-   v4l2: Profile and level probing support for H264, H265, MPEG-4,
+    MPEG-2, VP8, and VP9 video encoders and decoders
+
+Plugins Ugly
+
+-   asfdemux: extract more metadata: disc number and disc count
+
+-   x264enc:
+
+    -   respect YouTube bitrate recommendation when user sets the
+        YouTube profile preset
+    -   separate high-10 video formats from 8-bit formats to improve
+        depth negotiation and only advertise suitable input raw formats
+        for the desired output depth
+    -   forward downstream colorimetry and chroma-site restrictions to
+        upstream elements
+    -   support more color primaries/mappings
+
+Plugins Bad
+
+-   av1enc: add threads, row-mt and tile-{columns,rows} properties for
+    this AOMedia AV1 encoder
+
+-   ccconverter: implement support for CDP framerate conversions
+
+-   ccextractor: Add remove-caption-meta property to remove caption
+    metas from the outgoing video buffers
+
+-   decklink: add support for 2K DCI video modes, widescreen NTSC/PAL,
+    and for parsing/outputting AFD/Bar data. Also implement a simple
+    device provider for Decklink devices.
+
+-   dtlsrtpenc: add rtp-sync property which synchronises RTP streams to
+    the pipeline clock before passing them to funnel for merging with
+    RTCP.
+
+-   fdkaac: also decode MPEG-2 AAC; encoder now supports more
+    multichannel/surround sound layouts
+
+-   hlssink2: add action signals for custom playlist/fragment handling:
+    Instead of always going through the file system API we allow the
+    application to modify the behaviour. For the playlist itself and
+    fragments, the application can provide a GOutputStream. In addition
+    the sink notifies the application whenever a fragment can be
+    deleted.
+
+-   interlace: can now output data in alternate fields mode; added field
+    switching mode for 2:2 field pattern
+
+-   iqa: Add a mode property to enable strict mode that checks that all
+    the input streams have the exact same number of frames; also
+    implement the child proxy interface
+
+-   mpeg2enc: add disable-encode-retries property for lower CPU usage
+
+-   mpeg4videoparse: allow re-sending codec config at IDR via
+    config-interval=-1
+
+-   mpegtsparse: new alignment property to determine number of TS
+    packets per output buffer, useful for feeding an MPEG-TS stream for
+    sending via udpsink. This can be used in combination with the
+    split-on-rai property that makes sure to start a new output buffer
+    for any TS packet with the Random Access Indicator set. Also set
+    delta unit buffer flag on non-random-access buffers.
+
+-   mpegdemux: add an ignore-scr property to ignore the SCR in
+    non-compliant MPEG-PS streams with a broken SCR, which will work as
+    long as PTS/DTS in the PES header is consistently increasing.
+
+-   tsdemux:
+
+    -   add an ignore-pcr property to ignore MPEG-TS streams with broken
+        PCR streams on which we can’t reliably recover correct
+        timestamps.
+    -   new latency property to allow applications to lower the
+        advertised worst-case latency of 700ms if they know their
+        streams support this (must have timestamps in higher frequency
+        than required by the spec)
+    -   support for AC4 audio
+
+-   msdk - Intel Media SDK plugin for hardware-accelerated video
+    decoding and encoding on Windows and Linux:
+
+    -   mappings for more video formats: Y210, Y410, P012_LE, Y212_LE
+    -   encoders now support bitrate changes and input format changes in
+        playing state
+    -   msdkh264enc, msdkh265enc: add support for CEA708 closed caption
+        insertion
+    -   msdkh264enc, msdkh265enc: set Region of Interest (ROI) region
+        from ROI metas
+    -   msdkh264enc, msdkh265enc: new tune property to enable low-power
+        mode
+    -   msdkh265enc: add support 12-bit 4:2:0 encoding and 8-bit 4:2:2
+        encoding and VUYA, Y210, and Y410 as input formats
+    -   msdkh265enc: add support for screen content coding extension
+    -   msdkh265dec: add support for main-12/main-12-intra,
+        main-422-10/main-422-10-intra 10bit,
+        main-422-10/main-422-10-intra 8bit,
+        main-422-12/main-422-12-intra, main-444-10/main-444-10-intra,
+        main-444-12/main-444-12-intra, and main-444 profiles
+    -   msdkvp9dec: add support for 12-bit 4:4:4
+    -   msdkvpp: add support for Y410 and Y210 formats, cropping via
+        properties, and a new video-direction property.
+
+-   mxf: Add support for CEA-708 CDP from S436 essence tracks. mxfdemux
+    can now handle Apple ProRes
+
+-   nvdec: add H264 + H265 stateless codec implementation nvh264sldec
+    and nvh265sldec with fewer features but improved latency. You can
+    set the environment variable GST_USE_NV_STATELESS_CODEC=h264 to use
+    the stateless decoder variant as nvh264dec instead of the “normal”
+    NVDEC decoder implementation.
+
+-   nvdec: add support for 12-bit 4:4:4/4:2:0 and 10-bit 4:2:0 decoding
+
+-   nvenc:
+
+    -   add more rate-control options, support for B-frame encoding (if
+        device supports it), an aud property to toggle Access Unit
+        Delimiter insertion, and qp-{min,max,const}-{i,p,b} properties.
+    -   the weighted-pred property enables weighted prediction.
+    -   support for more input formats, namely 8-bit and 10-bit RGB
+        formats (BGRA, RGBA, RGB10A2, BGR10A2) and YV12 and VUYA.
+    -   on-the-fly resolution changes are now supported as well.
+    -   in case there are multiple GPUs on the system, there are also
+        per-GPU elements registered now, since different devices will
+        have different capabilities.
+    -   nvh265enc can now support 10-bit YUV 4:4:4 encoding and 8-bit
+        4:4:4 / 10-bit 4:2:0 formats up to 8K resolution (with some
+        devices). In case of HDR content HDR related SEI nals will be
+        inserted automatically.
+
+-   openjpeg: enable multi-threaded decoding and add support for
+    sub-frame encoding (for lower latency)
+
+-   rtponviftimestamp: add opt-out “drop-out-of-segment” property
+
+-   spanplc: new stats property
+
+-   srt: add support for IPv6 and for using hostnames instead of IP
+    addresses; add streamid property, but also allow passing the id via
+    the stream URI; add wait-for-connection property to srtsink
+
+-   timecodestamper: this element was rewritten with an updated API
+    (properties); it has gained many new properties, seeking support and
+    support for linear timecode (LTC) from an audio stream.
+
+-   uvch264src now comes with a device provider to advertise available
+    camera sources that support this interface (mostly Logitech C920s)
+
+-   wpe: Add software rendering support and support for mouse scroll
+    events
+
+-   x265enc: support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles;
+    add support for mastering display info and content light level
+    encoding SEIs
+
+gst-libav
+
+-   Add mapping for SpeedHQ video codec used by NDI
+
+-   Add mapping for aptX and aptX-HD
+
+-   avivf_mux: support VP9 and AV1
+
+-   avvidenc: shift output buffer timestamps and output segment by 1h
+    just like x264enc does, to allow for negative DTS.
+
+-   avviddec: Limit default number of decoder threads on systems with
+    more than 16 cores, as the number of threads used in avdec has a
+    direct impact on the latency of the decoder, which is of as many
+    frames as threads, so a large numbers of threads can make for
+    latency levels that can be problematic in some applications.
+
+-   avviddec: Add thread-type property that allows applications to
+    specify the preferred multithreading method (auto, frame, slice).
+    Note that thread-type=frame may introduce additional latency
+    especially in live pipelines, since it introduces a decoding delay
+    of number of thread frames.
+
+Plugin and library moves
+
+-   There were no plugin moves or library moves in this cycle.
+
+-   The rpicamsrc element was moved into -good from an external
+    repository on github.
+
+Plugin removals
+
+The following elements or plugins have been removed:
+
+-   The yadif video deinterlacing plugin from gst-plugins-bad, which was
+    one of the few GPL licensed plugins, has been removed in favour of
+    deinterlace method=yadif.
+
+-   The avdec_cdgraphics CD Graphics video decoder element from
+    gst-libav was never usable in GStreamer and we now have a cdgdec
+    element written in Rust in gst-plugins-rs to replace it.
+
+-   The VDPAU plugin has been unmaintained and unsupported for a very
+    long time and does not have the feature set we expect from
+    hardware-accelerated video decoders. It’s been superseded by the
+    nvcodec plugin leveraging NVIDIA’s NVDEC API.
+
+Miscellaneous API additions
+
+GStreamer core
+
+-   gst_task_resume(): This new API allows resuming a task if it was
+    paused, while leaving it in stopped state if it was stopped or not
+    started yet. This can be useful for callback-based driver workflows,
+    where you basically want to pause and resume the task when buffers
+    are notified while avoiding the race with a gst_task_stop() coming
+    from another thread.
+
+-   info: add printf extensions GST_TIMEP_FORMAT and GST_STIMEP_FORMAT
+    for printing GstClockTime/GstClockTimeDiff pointers, which is much
+    more convenient to use in debug log statements than the usual
+    GST_TIME_FORMAT-followed-by-GST_TIME_ARGS dance. Also add an
+    explicit GST_STACK_TRACE_SHOW_NONE enum value.
+
+-   gst_element_get_current_clock_time() and
+    gst_element_get_current_running_time(): new helper functions for
+    getting an element clock’s time, and the clock time minus base time,
+    respectively. Useful when adding additional input branches to
+    elements such as compositor, audiomixer, flvmux, interleave or
+    input-selector to determine initial pad offsets and such.
+
+-   seeking: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED to just skip
+    B-frames during trick mode, showing both keyframes + P-frame, and
+    add support for it in h264parse and h265parse.
+
+-   elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE to allow
+    elements to advertise that they are hardware-based or interact with
+    hardware. This has multiple applications:
+
+    -   it makes it possible to easily differentiate hardware and
+        software based element implementations such as audio or video
+        encoders and decoders. This is useful in order to force the use
+        of software decoders for specific use cases, or to check if a
+        selected decoder is actually hardware-accelerated or not.
+    -   elements interacting with hardware and their respective drivers
+        typically don’t know the actually supported capabilities until
+        the element is set into at least READY state and can open a
+        device handle and probe the hardware.
+
+-   gst_uri_from_string_escaped(): identical to gst_uri_from_string()
+    except that the userinfo and fragment components of the URI will not
+    be unescaped while parsing. This is needed for correctly parsing
+    usernames or passwords with : in them .
+
+-   paramspecs: new GstParamSpec flag GST_PARAM_CONDITIONALLY_AVAILABLE
+    to indicate that a property might not always exist.
+
+-   gst_bin_iterate_all_by_element_factory_name() finds elements in a
+    bin by factory name
+
+-   pad: gst_pad_get_single_internal_link() is a new convenience
+    function to return the single internal link of a pad, which is
+    useful e.g. to retrieve the output pad of a new multiqueue request
+    pad.
+
+-   datetime: Add constructors to create datetimes with timestamps in
+    microseconds, gst_date_time_new_from_unix_epoch_local_time_usecs()
+    and gst_date_time_new_from_unix_epoch_utc_usecs().
+
+-   gst_debug_log_get_lines() gets debug log lines formatted in the same
+    way the default log handler would print them
+
+-   GstSystemClock: Add GST_CLOCK_TYPE_TAI as GStreamer abstraction for
+    CLOCK_TAI, to support transmission offloading features where network
+    packets are timestamped with the time they are deemed to be actually
+    transmitted. Useful in combination with the new AVTP plugin.
+
+-   miscellaneous utility functions: gst_clear_uri(),
+    gst_structure_take().
+
+-   harness: Added gst_harness_pull_until_eos()
+
+-   GstBaseSrc:
+
+    -   gst_base_src_new_segment() allows subclasses to update the
+        segment to be used at runtime from the ::create() function. This
+        deprecates gst_base_src_new_seamless_segment()
+    -   gst_base_src_negotiate() allows subclasses to trigger format
+        renegotiation at runtime from inside the ::create() or ::alloc()
+        function
+
+-   GstBaseSink: new stats property and gst_base_sink_get_stats() method
+    to retrieve various statistics such as average frame rate and
+    dropped/rendered buffers.
+
+-   GstBaseTransform: gst_base_transform_reconfigure() is now public
+    API, useful for subclasses that need to completely re-implement the
+    ::submit_input_buffer() virtual method
+
+-   GstAggregator:
+
+    -   gst_aggregator_update_segment() allows subclasses to update the
+        output segment at runtime. Subclasses should use this function
+        rather than push a segment event onto the source pad directly.
+    -   new sample selection API:
+        -   subclasses should now call gst_aggregator_selected_samples()
+            from their ::aggregate() implementation to signal that they
+            have selected the next samples they will aggregate
+        -   GstAggregator will then emit the samples-selected signal
+            where handlers can then look up samples per pad via
+            gst_aggregator_peek_next_sample().
+        -   This is useful for example to atomically update input pad
+            properties in mixer subclasses such as compositor.
+            Applications can now update properties with precise control
+            of when these changes will take effect, and for which input
+            buffer(s).
+    -   gst_aggregator_finish_buffer_list() allows subclasses to push
+        out a buffer list, improving efficiency in some cases.
+    -   a ::negotiate() virtual method was added, for consistency with
+        other base classes and to allow subclasses to completely
+        override the negotiation behaviour.
+    -   the new ::sink_event_pre_queue() and ::sink_query_pre_queue()
+        virtual methods allow subclasses to intercept or handle
+        serialized events and queries before they’re queued up
+        internally.
+
+GStreamer Plugins Base Libraries
+
+Audio library
+
+-   audioaggregator, audiomixer: new output-buffer-duration-fraction
+    property which allows use cases such as keeping the buffers output
+    by compositor on one branch and audiomixer on another perfectly
+    aligned, by requiring the compositor to output a n/d frame rate, and
+    setting output-buffer-duration-fraction to d/n on the audiomixer.
+
+-   GstAudioDecoder: new max-errors property so applications can
+    configure at what point the decoder should error out, or tell it to
+    just keep going
+
+-   gst_audio_make_raw_caps() and gst_audio_formats_raw() are
+    bindings-friendly versions of the GST_AUDIO_CAPS_MAKE() C macro.
+
+-   gst_audio_info_from_caps() now handles encoded audio formats as well
+
+PbUtils library
+
+-   GstEncodingProfile:
+    -   Do not restrict number of similar profiles in a container
+    -   add GstValue serialization function
+-   codec utils now support more H.264/H.265 profiles/levels and have
+    improved extension handling
+
+RTP library
+
+-   rtpbasepayloader: Add scale-rtptime property for scaling RTP
+    timestamp according to the segment rate (equivalent to RTSP speed
+    parameter). This is useful for ONVIF trickmodes via RTSP.
+
+-   rtpbasepayload: add experimental property for embedding twcc
+    sequencenumbers for Transport-Wide Congestion Control (gated behind
+    the GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY environment
+    variable) - more generic API for enabling this is expected to land
+    in the next development cycle.
+
+-   rtcpbuffer: add RTPFB_TYPE_TWCC for Transport-Wide Congestion
+    Control
+
+-   rtpbuffer: add
+    gst_rtp_buffer_get_extension_onebyte_header_from_bytes()``, so that one can parse theGBytes`
+    returned by gst_rtp_buffer_get_extension_bytes()
+
+-   rtpbasedepayload: Add max-reorder property to make the
+    previously-hardcoded value when to consider a sender to have
+    restarted configurable. In some scenarios it’s particularly useful
+    to set max-reorder=0 to disable the behaviour that the depayloader
+    will drop packets: when max-reorder is set to 0 all
+    reordered/duplicate packets are considered coming from a restarted
+    sender.
+
+RTSP library
+
+-   add gst_rtsp_url_get_request_uri_with_control() to create request
+    uri combined with control url
+
+-   GstRTSPConnection: add the possibility to limit the Content-Length
+    for RTSP messages via
+    gst_rtsp_connection_set_content_length_limit(). The same
+    functionality is also exposed in gst-rtsp-server.
+
+SDP library
+
+-   add support for parsing the extmap attribute from caps and storing
+    inside caps The extmap attribute allows mapping RTP extension header
+    IDs to well-known RTP extension header specifications. See RFC8285
+    for details.
+
+Tags library
+
+-   update to latest iso-code and support more languages
+
+-   add tags for acoustid id & acoustid fingerprint, plus MusicBrainz ID
+    handling fixes
+
+Video library
+
+-   High Dynamic Range (HDR) video information representation and
+    signalling enhancements:
+
+    -   New APIs for HDR video information representation and
+        signalling:
+        -   GstVideoMasteringDisplayInfo: display color volume info as
+            per SMPTE ST 2086
+        -   GstVideoContentLightLevel: content light level specified in
+            CEA-861.3, Appendix A.
+        -   plus functions to serialise/deserialise and add them to or
+            parse them from caps
+        -   gst_video_color_{matrix,primaries,transfer}_{to,from}_iso():
+            new utilility functions for conversion from/to ISO/IEC
+            23001-8
+        -   add ARIB STD-B67 transfer chracteristic function
+        -   add SMPTE ST 2084 support and BT 2100 colorimetry
+        -   define bt2020-10 transfer characteristics for clarity:
+            bt707, bt2020-10, and bt2020-12 transfer characteristics are
+            functionally identical but have their own unique values in
+            the specification.
+    -   h264parse, h265parse: Parse mastering display info and content
+        light level from SEIs.
+    -   matroskademux: parse HDR metadata
+    -   matroskamux: Write MasteringMetadata and Max{CLL,FALL}. Enable
+        muxing with HDR meta data if upstream provided it
+    -   avviddec: Extract HDR information if any and map bt2020-10, PQ
+        and HLG transfer functions
+
+-   added bt601 transfer function (for completeness)
+
+-   support for more pixel formats:
+
+    -   Y412 (packed 12 bits 4:4:4:4)
+    -   Y212 (packed 12 bits 4:2:2)
+    -   P012 (semi-planar 4:2:0)
+    -   P016_{LE,BE} (semi-planar 16 bits 4:2:0)
+    -   Y444_16{LE,BE} (planar 16 bits 4:4:4)
+    -   RGB10A2_LE (packed 10-bit RGB with 2-bit alpha channel)
+    -   NV12_32L32 (NV12 with 32x32 tiles in linear order)
+    -   NV12_4L4 (NV12 with 4x4 tiles in linear order)
+
+-   GstVideoDecoder:
+
+    -   new max-errors property so applications can configure at what
+        point the decoder should error out, or tell it to just keep
+        going
+
+    -   new qos property to disable dropping frames because of QoS, and
+        post QoS messages on the bus when dropping frames. This is
+        useful for example in a scenario where the decoded video is
+        tee-ed off to go into a live sink that syncs to the clock in one
+        branch, and an encoding and save to file pipeline in the other
+        branch. In that case one wouldn’t want QoS events from the video
+        sink make the decoder drop frames because that would also leave
+        gaps in the encoding branch then.
+
+-   GstVideoEncoder:
+
+    -   gst_video_encoder_finish_subframe() is new API to push out
+        subframes (e.g. slices), so encoders can split the encoding into
+        subframes, which can be useful to reduce the overall end-to-end
+        latency as we no longer need to wait for the full frame to be
+        encoded to start decoding or sending out the data.
+    -   new min-force-key-unit-interval property allows configuring the
+        minimum interval between force-key-unit requests and prevents a
+        big bitrate increase if a lot of key-units are requested in a
+        short period of time (as might happen in live streaming RTP
+        pipelines when packet loss is detected).
+    -   various force-key-unit event handling fixes
+
+-   GstVideoAggregator, compositor, glvideomixer: expose
+    max-last-buffer-repeat property on pads. This can be used to have a
+    compositor display either the background or a stream on a lower
+    zorder after a live input stream freezes for a certain amount of
+    time, for example because of network issues.
+
+-   gst_video_format_info_component() is new API to find out which
+    components are packed into a given plane, which is useful to prevent
+    us from assuming a 1-1 mapping between planes and components.
+
+-   gst_video_make_raw_caps() and gst_video_formats_raw() are
+    bindings-friendly versions of the GST_VIDEO_CAPS_MAKE() C macro.
+
+-   video-blend: Add support for blending on top of 16 bit per component
+    formats, which makes sure we can support every currently supported
+    raw video format for blending subtitles or logos on top of video.
+
+-   GST_VIDEO_BUFFER_IS_TOP_FIELD() and
+    GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() convenience macros to check
+    whether the video buffer contains only the top field or bottom field
+    of an interlaced picture.
+
+-   GstVideoMeta now includes an alignment field with the
+    GstVideoAlignment so buffer producers can explicitly specify the
+    exact geometry of the planes, allowing users to easily know the
+    padded size and height of each plane. Default values will be used if
+    this is not set.
+
+    Use gst_video_meta_set_alignment() to set the alignment and
+    gst_video_meta_get_plane_size() or gst_video_meta_get_plane_height()
+    to compute the plane sizes or plane heights based on the information
+    in the video meta.
+
+-   gst_video_info_align_full() works like gst_video_info_align() but
+    also retrieves the plane sizes.
+
+MPEG-TS library
+
+-   support for SCTE-35 sections
+
+-   extend support for ATSC tables:
+
+    -   System Time Table (STT)
+    -   Master Guide Table (MGT)
+    -   Rating Region Table (RRT)
+
+Miscellaneous performance, latency and memory optimisations
+
+As always there have been many performance and memory usage improvements
+across all components and modules. Some of them have already been
+mentioned elsewhere so won’t be repeated here.
+
+The following list is only a small snapshot of some of the more
+interesting optimisations that haven’t been mentioned in other contexts
+yet:
+
+-   caps negotiation, structure and GValue performance optimizations
+
+-   systemclock: clock waiting performance improvements (moved from
+    GstPoll to GCond for waiting), especially on Windows.
+
+-   rtpsession: add support for buffer lists on the recv path for better
+    performance with higher packet rate streams.
+
+-   rtpjitterbuffer: internal timer handling has been rewritten for
+    better performance, see Nicolas’ talk “Revisiting RTP Jitter Buffer
+    Timers” for more details.
+
+-   H.264/H.265 parsers and RTP payloaders/depayloaders have been
+    optimised for latency to make sure data is processed and pushed out
+    as quickly as possible
+
+-   video-scaler: correctness and performance improvements, esp. for
+    interlaced formats and GBRA
+
+-   GstVideoEncoder has gained new API to push out subframes
+    (e.g. slices), so encoders can split the encoding into subframes,
+    which can be useful to reduce the overall end-to-end latency as we
+    no longer need to wait for the full frame to be encoded to start
+    decoding or sending out the data.
+
+    This is complemented by the new GST_VIDEO_BUFFER_FLAG_MARKER which
+    is a video-specific buffer flag to mark the end of a video frame, so
+    elements can know that they have received all data for a frame
+    without waiting for the beginning of the next frame. This is similar
+    to how the RTP marker flag is used in many RTP video mappings.
+
+    The video encoder base class now also releases the internal stream
+    lock before pushing out data, so as to not block the input side of
+    things from processing more data in the meantime.
+
+Miscellaneous other changes and enhancements
+
+-   it is now possible to modify the initial rank of plugin features
+    without modifying the source code or writing code to do so
+    programmatically via the GST_PLUGIN_FEATURE_RANK environment
+    variable. Users can adjust the rank of plugin(s) by passing a
+    comma-separated list of feature:rank pairs where rank can be a
+    numerical value or one of NONE, MARGINAL, SECONDARY, PRIMARY, and
+    MAX. Example: GST_PLUGIN_FEATURE_RANK=myh264dec:MAX,avdec_h264:NONE
+    sets the rank of the myh264dec element feature to the maximum and
+    that of avdec_h264 to 0 (none), thus ensuring that myh264dec is
+    prefered as H264 decoder in an autoplugging context.
+
+-   GstDeviceProvider now does a static probe on start as fallback for
+    providers that don’t support dynamic probing to make things easier
+    for users
+
+WebRTC
+
+-   webrtcbin now contains initial support for renegotiation involving
+    stream addition and removal. There are a number of caveats to this
+    initial renegotiation support and many complex scenarios are known
+    to require some work.
+
+-   webrtcbin now exposes the internal ICE object for advanced
+    configuration options. Using the internal ICE object, it is possible
+    to toggle UDP or TCP connection usage as well as provide local
+    network addresses.
+
+-   Fix a number of call flows within webrtcbin’s GstPromise handling
+    where a promise was never replied to. This has been fixed and now a
+    promise will always receive a reply.
+
+-   webrtcbin now exposes a latency property for configuring the
+    internal rtpjitterbuffer latency and buffering when receiving
+    streams.
+
+-   webrtcbin now only synchronises the RTP part of a stream, allowing
+    RTCP messages to skip synchronisation entirely.
+
+-   Fixed most of the webrtcbin state properties (connection-state,
+    ice-connection-state, signaling-state, but not ice-gathering-state
+    as that requires newer API in libnice and will be fixed in the next
+    release series) to advance through the state values correctly. Also
+    implemented DTLS connection states in the DTLS elements so that
+    peer-connection-state is not always new.
+
+-   webrtcbin now accounts for the a=ice-lite attribute in a remote SDP
+    offer and will configure the internal ICE implementation
+    accordingly.
+
+-   webrtcbin will now resolve .local candidate addresses using the
+    system DNS resolver. .local candidate addresses are now produced by
+    web browsers to help protect the privacy of users.
+
+-   webrtcbin will now add candidates found in the SDP to the internal
+    ICE agent. This was previously unsupported and required using the
+    add-ice-candidate signal manually from the application.
+
+-   webrtcbin will now correctly parse a TURN URI that contains a
+    username or password with a : in it.
+
+-   The GStreamer WebRTC library gained a GstWebRTCDataChannel object
+    roughly matching the interface exposed by the WebRTC specification
+    to allow for easier binding generation and use of data channels.
+
+OpenGL integration
+
+GStreamer OpenGL bindings/build related changes
+
+-   The GStreamer OpenGL library (libgstgl) now ships pkg-config files
+    for platform-specific API where libgstgl provides a public
+    integration interface and a pkg-config file for a dependency on the
+    detected OpenGL headers. The new list of pkg-config files in
+    addition to the original gstreamer-gl-1.0 are gstreamer-gl-x11-1.0,
+    gstreamer-gl-wayland-1.0, gstreamer-gl-egl-1.0, and
+    gstreamer-gl-prototypes-1.0 (for OpenGL headers when including
+    gst/gl/gstglfuncs.h).
+
+-   GStreamer OpenGL now ships some platform-specific introspection data
+    for platforms that have a public interface. This should allow for
+    easier integration with bindings involving platform specific
+    functionality. The new introspection data files are named
+    GstGLX11-1.0, GstGLWayland-1.0, and GstGLEGL-1.0.
+
+GStreamer OpenGL Features
+
+-   The iOS implementation no longer accesses UIKit objects off the main
+    thread fixing a loud warning message when used in iOS applications.
+
+-   Support for mouse and keyboard handling using the GstNavigation
+    interface was added for the wayland implementation complementing the
+    already existing support for the X11 and Windows implementations.
+
+-   A new helper base class for source elements, GstGLBaseSrc is
+    provided to ease writing source elements producing OpenGL video
+    frames.
+
+-   Support for some more 12-bit and 16-bit video formats (Y412_LE,
+    Y412_BE, Y212_LE, Y212_BE, P012_LE, P012_BE, P016, NV16, NV61) was
+    added to glcolorconvert.
+
+-   glupload can now import dma-buf’s into external-oes textures.
+
+-   A new display type for EGLDevice-based systems was added. It is
+    currently opt-in by using either the GST_GL_PLATFORM=egl-device
+    environment variable or manual construction
+    (gst_gl_display_egl_device_new*()) due to compatibility issues with
+    some platforms.
+
+-   Support was added for WinRT/UWP using the ANGLE project for running
+    OpenGL-based pipelines within a UWP application.
+
+-   Various elements now support changing the GstGLDisplay to be used at
+    runtime in simple cases. This is primarily helpful for changing or
+    adding an OpenGL-based video sink that must share an OpenGL context
+    with an external source to an already running pipeline.
+
+GStreamer Vulkan integration
+
+-   There is now a GStreamer Vulkan library to provide integration
+    points and helpers with applications and external GStreamer Vulkan
+    based elements. The structure of the library is modelled similarly
+    to the already existing GStreamer OpenGL library. Please note that
+    the API is still unstable and may change in future releases,
+    particularly around memory handling. The GStreamer Vulkan library
+    contains objects for sharing the vkInstance, vkDevice, vkQueue,
+    vkImage, VkMemory, etc with other elements and/or the application as
+    well as some helper objects for using Vulkan in an application or
+    element.
+
+-   Added support for building and running on/for the Android and
+    Windows systems to complement the existing XCB, Wayland, MacOS, and
+    iOS implementations.
+
+-   XCB gained support for mouse/keyboard events using the GstNavigation
+    API.
+
+-   New vulkancolorconvert element for converting between color formats.
+    vulkancolorconvert can currently convert to/from all 8-bit RGBA
+    formats as well as 8-bit RGBA formats to/from the YUV formats AYUV,
+    NV12, and YUY2.
+
+-   New vulkanviewconvert element for converting between stereo view
+    layouts. vulkanviewconvert can currently convert between all of the
+    single memory formats (side-by-side, top-bottom, column-interleaved,
+    row-interleaved, checkerboard, left, right, mono).
+
+-   New vulkanimageidentity element for a blit from the input vulkan
+    image/s to a new vulkan image/s.
+
+-   The vulkansink element can now scale the input image to the output
+    window/surface size where that information is available.
+
+-   The vulkanupload element can now configure a transfer from system
+    memory to VulkanImage-based memory. Previously, this required two
+    vulkanupload elements.
+
+Tracing framework and debugging improvements
+
+-   gst_tracing_get_active_tracers() returns a list of active tracer
+    objects. This can be used to interact with tracers at runtime using
+    GObject API such as action signals. This has been implemented in the
+    leaks tracer for snapshotting and retrieving leaked/active objects
+    at runtime.
+
+-   The leaks tracer can now be interacted with programmatically at
+    runtime via GObject action signals:
+
+    -   get-live-object returns a list of live (allocated) traced
+        objects
+    -   log-live-objects logs a list of live objects into the debug log.
+        This is the same as sending the SIGUSR1 signal on unix systems,
+        but works on all operating systems including Windows.
+    -   activity-start-tracking, activity-get-checkpoint,
+        activity-log-checkpoint, activity-stop-tracking: add support for
+        tracking and checkpointing objects, similar to what was
+        previously available via SIGUSR2 on unix systems, but works on
+        all operating systems including Windows.
+
+-   various GStreamer gdb debug helper improvements:
+
+    -   new ‘gst-pipeline-tree’ command
+    -   more gdb helper functions: gst_element_pad(), gst_pipeline() and
+        gst_bin_get()
+    -   support for queries and buffers
+    -   print more info for segment events, print event seqnums, object
+        pointers and structures
+    -   improve gst-print command to show more pad and element
+        information
+
+Tools
+
+gst-launch-1.0
+
+-   now prints the pipeline position and duration if available when the
+    pipeline is advancing. This is hopefully more user-friendly and
+    gives visual feedback on the terminal that the pipeline is actually
+    up and running. This can be disabled with the --no-position command
+    line option.
+
+-   the parse-launch pipeline syntax now has support for presets:
+    use@preset=<preset-name>" after an element to load a preset.
+
+gst-inspect-1.0
+
+-   new --color command line option to force coloured output even if not
+    connected to a tty
+
+gst-tester-1.0 (new)
+
+-   gst-tester-1.0 is a new tool for plugin developers to launch
+    .validatetest files with TAP compatible output, meaning it can
+    easily and cleanly be integrated with the meson test harness. It
+    allows you to use gst-validate (from the gst-devtools module) to
+    write integration tests in any GStreamer repository whilst keeping
+    the tests as close as possible to the code. The tool transparently
+    handles gst-validate being installed or not: if it is not installed
+    those integration tests will simply be skipped.
+
+gst-play-1.0
+
+-   interactive keyboard controls now also work on Windows
+
+gst-transcoder-1.0 (new)
+
+-   gst-transcoder-1.0 is a new command line tool to transcode one URI
+    into another URI based on the specified encoding profile using the
+    new GstTranscoder API (see above).
+
+GStreamer RTSP server
+
+-   Fix issue where the first few packets (i.e. keyframes) could
+    sometimes be dropped if the rtsp media pipeline had a live input.
+    This was a regression from GStreamer 1.14. There are more fixes
+    pending for that which will hopefully land in 1.18.1.
+
+-   Fix backpressure handling when sending data in TCP interleave mode
+    where RTSP requests and responses and RTP/RTCP packets flow over the
+    same RTSP TCP connection: The previous implementation would at some
+    point stop sending data to other clients when a single client
+    stopped consuming data or did not consume data fast enough. This
+    obviously created problems for shared media, where the same stream
+    from a single producer pipeline is sent to multiple clients. Instead
+    we now manage a backlog in the server’s stream-transport component
+    and remove slow clients once this backlog exceeds a maximum duration
+    (which is currently hardcoded).
+
+-   Onvif Streaming Specification trick modes support (see section at
+    the beginning)
+
+-   Scale/Speed header support: Speed will deliver the data at the
+    requested speed, which means increasing the data bandwidth for
+    speeds > 1.0. Scale will attempt to do the same without affecting
+    the overall bandwidth requirement vis-a-vis normal playback speed
+    (e.g. it might drop data for fast-forward playback).
+
+-   rtspclientsink: send buffer lists in one go for better performance
+
+GStreamer VAAPI
+
+-   A lot of work was done adding support for media-driver (iHD), the
+    new VAAPI driver for Intel, mostly for Gen9 onwards.
+
+-   Available color formats and frame sizes are now detected at run-time
+    according to the context configuration.
+
+-   Gallium drivers have been re-enabled in the allowed drivers list
+
+-   Improved the mapping between VA formats and GStreamer formats by
+    generating a mapping table at run-time since even among different
+    drivers the mapping might be different, particularly for RGB with
+    little endianness.
+
+-   The experimental Flexible Encoding Infrastructure (FEI) elements
+    have been removed since they were not really actively maintained or
+    tested.
+
+-   Enhanced the juggling of DMABuf buffers and VASurface metas
+
+-   New vaapioverlay element: a compositor element using VA VPP blend
+    capabilities to accelerate overlaying and compositing. Example
+    pipeline:
+
+          gst-launch-1.0 -vf videotestsrc ! vaapipostproc ! tee name=testsrc ! queue \
+          ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 name=overlay ! vaapisink \
+          testsrc. ! queue ! overlay.
+
+vaapipostproc
+
+-   added video-orientation support, supporting frame mirroring and
+    rotation
+
+-   added cropping support, either via properties (crop-left,
+    crop-right, crop-bottom and crop-top) or buffer meta.
+
+-   new skin-tone-enhancenment-level property which is the iHD
+    replacement of the i965 driver’s sink-tone-level. Both are
+    incompatible with each other, so both were kept.
+
+-   handle video colorimetry
+
+-   support HDR10 tone mapping
+
+vaapisink
+
+-   resurrected wayland backend for non-weston compositors by extracting
+    the DMABuf from the VASurface and rendering it.
+
+-   merged the video overlay API for wayland. Now applications can
+    define the “window” to render on.
+
+-   demoted the vaapisink element to secondary rank since libva
+    considers rendering as a second-class feature.
+
+VAAPI Encoders
+
+-   new common target-percentage property which is the desired target
+    percentage of bitrate for variable rate control.
+
+-   encoders now extract their caps from the driver at registration
+    time.
+
+-   vaapivp9enc: added support for low power mode and support for
+    profile 2 (profile 0 by default)
+
+-   vaapih264enc: new max-qp property that sets the maximum quantization
+    value. Support for ICQ and QBVR bitrate control mode, adding a
+    quality-factor property for these modes. Support baseline profile as
+    constrained-baseline
+
+-   vaapih265enc:
+
+    -   support for main-444 and main-12 encoding profiles.
+    -   new max-qp property that sets the maximum quantization value.
+    -   support for ICQ and QBVR bitrate control mode, adding a
+        quality-factor property for these modes.
+    -   handle SCC profiles.
+    -   num-tile-cols and num-tile-row properties to specify the number
+        of tiles to use.
+    -   the low-delay-b property was deprecated and is now determined
+        automatically.
+    -   improved profile selection through caps.
+
+VAAPI Decoders
+
+-   Decoder surfaces are not bound to their context any longer and can
+    thus be created and used dynamically, removing the deadlock
+    headache.
+
+-   Reverse playback is now fluid
+
+-   Forward Region-of-Interest (ROI) metas downstream
+
+-   GLTextureUploadMeta uses DMABuf when GEM is not available. Now
+    Gallium drivers can use this meta for rendering with EGL.
+
+-   vaapivp9dec: support for 4:2:2 and 4:4:4 chroma type streams
+
+-   vaapih265dec: skip all pictures prior to the first I-frame. Enable
+    passing range extension flags to the driver. Handle SCC profiles.
+
+-   vaapijpegdec: support for 4:0:0, 4:1:1, 4:2:2 and 4:4:4 chroma types
+    pictures
+
+-   vaapih264dec: handle baseline streams as constrained-baseline if
+    possible and make it more tolerant when encountering unknown NALs
+
+GStreamer OMX
+
+-   omxvideoenc: use new video encoder subframe API to push out slices
+    as soon as they’re ready
+
+-   omxh264enc, omxh265enc: negotiate subframe mode via caps. To enable
+    it, force downstream caps to video/x-h264,alignment=nal or
+    video/x-h265,alignment=nal.
+
+-   omxh264enc: Add ref-frames property
+
+-   Zynq ultrascale+ specific video encoder/decoder improvements:
+
+    -   GRAY8 format support
+    -   support for alternate fields interlacing mode
+    -   video encoder: look-ahead, long-term-ref, and long-term-freq
+        properties
+
+GStreamer Editing Services and NLE
+
+-   Added nested timelines and subproject support so that GES projects
+    can be used as clips, potentially serializing nested projects in the
+    main file or referencing external project files.
+
+-   Implemented an OpenTimelineIO GES formatter. This means GES and
+    GStreamer can now load and save projects in all the formats
+    supported by otio.
+
+-   Implemented a GESMarkerList object which allow setting timed
+    metadata on any GES object.
+
+-   Fixed audio rendering issues during clip transition by ensuring that
+    a single segment is pushed into encoders.
+
+-   The GESUriClipAsset API is now MT safe.
+
+-   Added ges_meta_container_register_static_meta() to allow fixing a
+    type for a specific metadata without actually setting a value.
+
+-   The framepositioner element now handles resizing the project and
+    keeps the same positioning when the aspect ratio is not changed .
+
+-   Reworked the documentation, making it more comprehensive and much
+    more detailed.
+
+-   Added APIs to retrieve natural size and framerate of a clip (for
+    example in the case of URIClip it is the framerate/size of the
+    underlying file).
+
+-   ges_container_edit() is now deprecated and GESTimelineElement gained
+    the ges_timeline_element_edit() method so the editing API is now
+    usable from any element in the timeline.
+
+-   GESProject::loading was added so applications can be notified about
+    when a new timeline starts loading.
+
+-   Implemented the GstStream API in GESTimeline.
+
+-   Added a way to add a timeoverlay inside the test source (potentially
+    with timecodes).
+
+-   Added APIs to convert times to frame numbers and vice versa:
+
+    -   ges_timeline_get_frame_time()
+
+    -   ges_timeline_get_frame_at()
+
+    -   ges_clip_asset_get_frame_time()
+
+    -   ges_clip_get_timeline_time_from_source_frame()
+
+        Quite a few validate tests have been implemented to check the
+        behavior for various demuxer/codec formats
+
+-   Added ges_layer_set_active_for_tracks() which allows muting layers
+    for the specified tracks
+
+-   Deprecated GESImageSource and GESMultiFileSource now that we have
+    imagesequencesrc which handles the imagesequence “protocol”
+
+-   Stopped exposing ‘deinterlacing’ children properties for clip types
+    where they do not make sense.
+
+-   Added support for simple time remapping effects
+
+GStreamer validate
+
+-   Introduced the concept of “Test files” allowing to implement “all
+    included” test cases, meaning that inside the file the following can
+    be defined:
+
+    -   The application arguments
+    -   The validate configurations
+    -   The validate scenario
+
+    This replaces the previous big dictionary file in
+    gst-validate-launcher to implement specific test cases.
+
+    We set several variables inside the files (as well as inside
+    scenarios and config files) to make them relocatable.
+
+    The file format has been enhanced so it is easier to read and write,
+    for example line ending with a coma or (curly) brackets can now be
+    used as continuation marker so you do not need to add \ at the end
+    of lines to write a structure on several lines.
+
+-   Support the imagesequence “protocol” and added integration tests for
+    it.
+
+-   Added action types to allow the scenario to run the Test Clock for
+    better reproducibility of tests.
+
+-   Support generating tests to check that seeking is frame accurate
+    (base on ssim).
+
+-   Added ways to record buffers checksum (in different ways) in the
+    validateflow module.
+
+-   Added vp9 encoding tests.
+
+-   Enhanced seeking action types implementation to allow support for
+    segment seeks.
+
+-   Output improvements:
+
+    -   Logs are now in markdown formats (and bat is used to dump them
+        if available).
+    -   File format issues in scenarios/configs/tests files are nicely
+        reported with the line numbers now.
+
+GStreamer Python Bindings
+
+-   Python 2.x is no longer supported
+
+-   Support mapping buffers without any memcpy:
+
+    -   Added a ContextManager to make the API more pythonic
+
+            with buf.map(Gst.MapFlags.READ | Gst.MapFlags.WRITE) as info:
+                info.data[42] = 0
+
+-   Added high-level helper API for constructing pipelines:
+
+    -   Gst.Bin.make_and_add(factory_name, instance_name=None)
+    -   Gst.Element.link_many(element, ...)
+
+GStreamer C# Bindings
+
+-   Bind gst_buffer_new_wrapped() manually to fix memory handling.
+
+-   Fix gst_promise_new_with_change_func() where bindgen didn’t properly
+    detect the func as a closure.
+
+-   Declare GstVideoOverlayComposition and GstVideoOverlayRectangle as
+    opaque type and subclasses of Gst.MiniObject. This changes the API
+    but without this all usage will cause memory corruption or simply
+    not work.
+
+-   on Windows, look for gstreamer, glib and gobject DLLs using the MSVC
+    naming convention (i.e. gstvideo-1.0-0.dll instead of
+    libgstvideo-1.0-0.dll).
+
+    The names of these DLLs have to be hardcoded in the bindings, and
+    most C# users will probably be using the Microsoft toolchain anyway.
+
+    This means that the MSVC compiler is now required to build the
+    bindings, MingW will no longer work out of the box.
+
+GStreamer Rust Bindings and Rust Plugins
+
+The GStreamer Rust bindings are released separately with a different
+release cadence that’s tied to gtk-rs, but the latest release has
+already been updated for the new GStreamer 1.18 API, so there’s
+absolutely no excuse why your next GStreamer application can’t be
+written in Rust anymore.
+
+gst-plugins-rs, the module containing GStreamer plugins written in Rust,
+has also seen lots of activity with many new elements and plugins.
+
+What follows is a list of elements and plugins available in
+gst-plugins-rs, so people don’t miss out on all those potentially useful
+elements that have no C equivalent.
+
+Rust audio plugins
+
+-   audiornnoise: New element for audio denoising which implements the
+    noise removal algorithm of the Xiph RNNoise library, in Rust
+-   rsaudioecho: Port of the audioecho element from gst-plugins-good
+    rsaudioloudnorm: Live audio loudness normalization element based on
+    the FFmpeg af_loudnorm filter
+-   claxondec: FLAC lossless audio codec decoder element based on the
+    pure-Rust claxon implementation
+-   csoundfilter: Audio filter that can use any filter defined via the
+    Csound audio programming language
+-   lewtondec: Vorbis audio decoder element based on the pure-Rust
+    lewton implementation
+
+Rust video plugins
+
+-   cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
+    on a pure-Rust CD+G implementation, used for example by karaoke CDs
+-   cea608overlay: CEA-608 Closed Captions overlay element
+-   cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
+    subtitles) converter
+-   tttocea608: CEA-608 Closed Captions from timed-text converter
+-   mccenc/mccparse: MacCaption Closed Caption format encoder and parser
+-   sccenc/sccparse: Scenarist Closed Caption format encoder and parser
+-   dav1dec: AV1 video decoder based on the dav1d decoder implementation
+    by the VLC project
+-   rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
+    encoder implementation
+-   rsflvdemux: Alternative to the flvdemux FLV demuxer element from
+    gst-plugins-good, not feature-equivalent yet
+-   rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
+    implementations by the image-rs project
+
+Rust text plugins
+
+-   textwrap: Element for line-wrapping timed text (e.g. subtitles) for
+    better screen-fitting, including hyphenation support for some
+    languages
+
+Rust network plugins
+
+-   reqwesthttpsrc: HTTP(S) source element based on the Rust
+    reqwest/hyper HTTP implementations and almost feature-equivalent
+    with the main GStreamer HTTP source souphttpsrc
+-   s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
+-   awstranscriber: Live audio to timed text transcription element using
+    the Amazon AWS Transcribe API
+
+Generic Rust plugins
+
+-   sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
+    on libsodium/NaCl
+-   togglerecord: Recording element that allows to pause/resume
+    recordings easily and considers keyframe boundaries
+-   fallbackswitch/fallbacksrc: Elements for handling potentially
+    failing (network) sources, restarting them on errors/timeout and
+    showing a fallback stream instead
+-   threadshare: Set of elements that provide alternatives for various
+    existing GStreamer elements but allow to share the streaming threads
+    between each other to reduce the number of threads
+-   rsfilesrc/rsfilesink: File source/sink elements as replacements for
+    the existing filesrc/filesink elements
+
+Build and Dependencies
+
+-   The Autotools build system has finally been removed in favour of the
+    Meson build system. Developers who currently use gst-uninstalled
+    should move to gst-build.
+
+-   API and plugin documentation are no longer built with gtk_doc. The
+    gtk_doc documentation has been removed in favour of a new unified
+    documentation module built with hotdoc (also see “Documentation
+    improvements” section below). Distributors should use the
+    documentation release tarball instead of trying to package hotdoc
+    and building the documentation from scratch.
+
+-   gst-plugins-bad now includes an internal copy of libusrsctp, as
+    there are problems in usrsctp with global shared state, lack of API
+    stability guarantees, and the absence of any kind of release
+    process. We also can’t rely on distros shipping a version with the
+    fixes we need. Both firefox and Chrome bundle their own copies too.
+    It is still possible to build against an external copy of usrsctp if
+    so desired.
+
+-   nvcodec no longer needs the NVIDIA NVDEC/NVENC SDKs available at
+    build time, only at runtime. This allows distributions to ship this
+    plugin by default and it will just start to work when the required
+    run-time SDK libraries are installed by the user, without users
+    needing to build and install the plugin from source.
+
+-   the gst-editing-services tarball is now named gst-editing-services
+    for consistency (used to be gstreamer-editing-services).
+
+-   the gst-validate tarball has been superseded by the gst-devtools
+    tarball for consistency with the git module name.
+
+gst-build
+
+gst-build is a meta-module and serves primarily as our uninstalled
+development environment. It makes it easy to build most of GStreamer,
+but unlike Cerbero it only comes with a limited number of external
+dependencies that can be built as subprojects if they are not found on
+the system.
+
+gst-build is based on Meson and replaces the old autotools
+gst-uninstalled script.
+
+-   The ‘uninstalled’ target has been renamed to ‘devenv’
+
+-   Experimental gstreamer-full library containing all built plugins and
+    their deps when building with -Ddefault_library=static. A monolithic
+    library is easier to distribute, and may be required in some
+    environments. GStreamer core, GLib and GObject are always included,
+    but external dependencies are still dynamically linked. The
+    gst-full-libraries meson option allows adding other GStreamer
+    libraries to the gstreamer-full build. This is an experiment for now
+    and its behaviour or API may still change in future releases.
+
+-   Add glib-networking as a subproject when glib is a subproject and
+    load gio modules in the devenv, tls option control whether to use
+    openssl or gnutls.
+
+-   git-worktree: Allow multiple worktrees for subproject branches
+
+-   Guard against meson being run from inside the uninstalled devenv, as
+    this might have unexpected consequences.
+
+-   our ffmpeg and x264 meson ports have been updated to the latest
+    stable version (you might need to update the subprojects checkout
+    manually though, or just remove the checkouts so meson checks out
+    the latest version again; improvements for this are pending in
+    meson, but not merged yet).
+
+Cerbero
+
+Cerbero is a meta build system used to build GStreamer plus dependencies
+on platforms where dependencies are not readily available, such as
+Windows, Android, iOS and macOS.
+
+General improvements
+
+-   Recipe build steps are done in parallel wherever possible. This
+    leads to massive improvements in overall build time.
+-   Several recipes were ported to Meson, which improved build times
+-   Moved from using both GnuTLS and OpenSSL to only OpenSSL
+-   Moved from yasm to nasm for all assembly compilation
+-   Support zsh when running the cerbero shell command
+-   Numerous version upgrades for dependencies
+-   Default to xz for tarball binary packages. bz2 can be selected with
+    the --compress-method option to package.
+-   Added boolean variant for controlling the optimization level:
+    -v optimization
+-   Ship .pc pkgconfig files for all plugins in the binary packages
+-   CMake and nasm will only be built by Cerbero if the system versions
+    are unusable
+-   The nvcodec variant was removed and the nvcodec plugin is built by
+    default now (as it no longer requires the SDK to be installed at
+    build time, only at runtime)
+
+macOS / iOS
+
+-   Minimum iOS SDK version bumped to 11.0
+-   Minimum macOS SDK version bumped to 10.11
+-   No longer need to manually add support for newer iOS SDK versions
+-   Added Vulkan elements via MoltenVK
+-   Build times were improved by code-signing all build tools
+-   macOS framework ships all gstreamer libraries instead of an outdated
+    subset
+-   Ship pkg-config in the macOS framework package
+-   fontconfig: Fix EXC_BAD_ACCESS crash on iOS ARM64
+-   Improved App Store compatibility by setting LC_VERSION_MIN_MACOSX,
+    fixing relocations, and improved bitcode support
+
+Windows
+
+-   MinGW-GCC toolchain was updated to 8.2. It uses the Universal CRT
+    instead of MSVCRT which eliminates cross-CRT issues in the Visual
+    Studio build.
+-   Require Windows 7 or newer for running binaries produced by Cerbero
+-   Require Windows x86_64 for running Cerbero to build binary packages
+-   Cerbero no longer uses C:/gstreamer/1.0 as a prefix when building.
+    That prefix is reserved for use by the MSI installers.
+-   Several recipes can now be buit with Visual Studio instead of MinGW.
+    Ported to meson: opus, libsrtp, harfbuzz, cairo, openh264, libsoup,
+    libusrsctp. Existing build system: libvpx, openssl.
+-   Support building using Visual Studio for 32-bit x86. Previously we
+    only supported building for 32-bit x86 using the MinGW toolchain.
+-   Fixed annoying msgmerge popups in the middle of cerbero builds
+-   Added configuration options vs_install_path and vs_install_version
+    for specifying custom search locations for older Visual Studio
+    versions that do not support vswhere. You can set these in
+    ~/.cerbero/cerbero.cbc where ~ is the MSYS homedir, not your Windows
+    homedir.
+-   New Windows-specific plugins: d3d11, mediafoundation, wasapi2
+-   Numerous compatibility and reliability fixes when running Cerbero on
+    Windows, especially non-English locales
+-   proxy-libintl now exports the same symbols as gettext, which makes
+    it a drop-in replacement
+-   New mapping variant for selecting the Visual Studio CRT to use:
+    -v vscrt=<value>. Valid values are md, mdd, and auto (default). A
+    separate prefix is used when building with either md (release) or
+    mdd (debug), and the outputted package will have +debug in the
+    filename. This variant is also used for selecting the correct Qt
+    libraries (debug vs release) to use when building with -v qt5 on
+    Windows.
+-   Support cross-compile on Windows to Windows ARM64 and ARMv7
+-   Support cross-compile on Windows to the Universal Windows Platform
+    (UWP). Only the subset of plugins that can be built entirely with
+    Visual Studio will be selected in this case. To do so, use the
+    config/cross-uwp-universal.cbc configuration, which will build
+    ARM64, x86, and x86_64 binaries linked to the release CRT, with
+    optimizations enabled, and debugging turned on. You can combine this
+    with -v vscrt=mdd to produce binaries linked to the debug CRT. You
+    can turn off optimizations with the -v nooptimization variant.
+
+Windows MSI installer
+
+-   Require Windows 7 or newer for running GStreamer
+-   Fixed some issues with shipping of pkg-config in the Windows
+    installers
+-   Plugin PDB debug files are now shipped in the development package,
+    not the runtime package
+-   Ship installers for 32-bit binaries built with Visual Studio
+-   Ship debug and release “universal” (ARM64, X86, and X86_64) tarballs
+    built for the Universal Windows Platform
+-   Windows MSI installers now install into separate prefixes when
+    building with MSVC and MinGW. Previously both would be installed
+    into C:/gstreamer/1.0/x86 or C:/gstreamer/1.0/x86_64. Now, the
+    installation prefixes are:
+
+  ----------------------------------------------------------------------------------------------------------------
+  Target                      Path                                 Build options
+  --------------------------- ------------------------------------ -----------------------------------------------
+  MinGW 32-bit                C:/gstreamer/1.0/mingw_x86           -c config/win32.cbc
+
+  MinGW 64-bit                C:/gstreamer/1.0/mingw_x86_64        -c config/win64.cbc
+
+  MSVC 32-bit                 C:/gstreamer/1.0/msvc_x86            -c config/win32.cbc -v visualstudio
+
+  MSVC 64-bit                 C:/gstreamer/1.0/msvc_x86_64         -c config/win64.cbc -v visualstudio
+
+  MSVC 32-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86      -c config/win32.cbc -v visualstudio,vscrt=mdd
+
+  MSVC 64-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86_64   -c config/win64.cbc -v visualstudio,vscrt=mdd
+  ----------------------------------------------------------------------------------------------------------------
+
+Note: UWP binary packages are tarballs, not MSI installers.
+
+Linux
+
+-   Support creating MSI installers using WiX when cross-compiling to
+    Windows
+-   Support running cross-windows binaries with Wine when using the
+    shell and runit cerbero commands
+-   Added bash-completion support inside the cerbero shell on Linux
+-   Require a system-wide installation of openssl on Linux
+-   Added variant -v vaapi to build gstreamer-vaapi and the new gstva
+    plugin
+-   Debian packaging was disabled because it does not work. Help in
+    fixing this is appreciated.
+-   Trimmed the list of packages needed for bootstrap on Linux
+
+Android
+
+-   Updated to NDK r21
+-   Support Vulkan
+-   Support Qt 5.14+ binary package layout
+
+Platform-specific changes and improvements
+
+Android
+
+-   opensles: Remove hard-coded buffer-/latency-time values and allow
+    openslessink to handle 48kHz streams.
+
+-   photography interface and camera source: Add additional settings
+    relevant to Android such as: Exposure mode property, extra colour
+    tone values (aqua, emboss, sketch, neon), extra scene modes
+    (backlight, flowers, AR, HDR), and missing virtual methods for
+    exposure mode, analog gain, lens focus, colour temperature, min &
+    max exposure time. Add new effects and scene modes to Camera
+    parameters.
+
+macOS and iOS
+
+-   vtdec can now output to Vulkan-backed memory for zerocopy support
+    with the Vulkan elements.
+
+Windows
+
+-   d3d11videosink: new Direct3D11-based video sink with support for
+    HDR10 rendering if supported.
+
+-   Hardware-accelerated video decoding on Windows via DXVA2 /
+    Direct3D11 using native Windows APIs rather than per-vendor SDKs
+    (like MSDK for Intel or NVCODEC for NVidia). Plus modern Direct3D11
+    integration rather than the almost 20-year old Direct3D9 from
+    Windows XP times used in d3dvideosink. Formats supported for
+    decoding are H.264, H.265, VP8, and VP9, and zero-copy operation
+    should be supported in combination with the new d3d11videosink. See
+    Seungha’s blog post “Windows DXVA2 (via Direct3D 11) Support in
+    GStreamer 1.17” for more details.
+
+-   Microsoft Media Foundation plugin for hardware-accelerated video
+    encoding on Windows using native Windows APIs rather than per-vendor
+    SDKs. Formats supported for encoding are H.264, H.265 and VP9. Also
+    includes audio encoders for AAC and MP3. See Seungha’s blog post
+    “Bringing Microsoft Media Foundation to GStreamer” for some more
+    details about this.
+
+-   new mfvideosrc video capture source element using the latest Windows
+    APIs rather than ancient APIs used by ksvideosrc/winks. ksvideosrc
+    should be considered deprecated going forward.
+
+-   d3d11: add d3d11convert, a color space conversion and rescaling
+    element using shaders, and introduce d3d11upload and d3d11download
+    elements that work just like glupload and gldownload but for D3D11.
+
+-   Universal Windows Platform (UWP) support, including official
+    GStreamer binary packages for it. Check out Nirbheek’s latest blog
+    post “GStreamer 1.18 supports the Universal Windows Platform” for
+    more details.
+
+-   systemclock correctness and reliability fixes, and also don’t start
+    the system clock at 0 any longer (which shouldn’t make any
+    difference to anyone, as absolute clock time values are supposed to
+    be meaningless in themselves, only the rate of increase matters).
+
+-   toolchain specific plugin registry: the registry cache is now named
+    differently for MSVC and MinGW toolchains/packages, which should
+    avoid problems when switching between binaries built with a
+    different toolchain.
+
+-   new wasapi2 plugin mainly to support UWP applications. The core
+    logic of this plugin is almost identical to existing wasapi plugin,
+    but the main target is Windows 10 and UWP. This plugin uses WinRT
+    APIs, so will likely not work on Windows 8 or older. Unlike the
+    existing wasapi plugin, this plugin supports automatic stream
+    routing (auto fallback when device was removed) and device level
+    mute/volume control. Exclusive streaming mode is not supported,
+    however, and loopback features are not implemented yet. It is also
+    only possible to build this plugin with MSVC and the Windows 10 SDK,
+    it can’t be cross-compiled with the MingW toolchain.
+
+-   new dxgiscreencapsrc element which uses the Desktop Duplication API
+    to capture the desktop screen at high speed. This is only supported
+    on Windows 8 or later. Compared to the existing elements
+    dxgiscreencapsrc offers much better performance, works in High DPI
+    environments and draws an accurate mouse cursor.
+
+-   d3dvideosink was downgraded to secondary rank, d3d11videosink is
+    preferred now. Support OverlayComposition for GPU overlay
+    compositing of subtitles and logos.
+
+-   debug log output fixes, esp. with a non-UTF8 locale/codepage
+
+-   speex, jack: fixed crashes on Windows caused by cross-CRT issues
+
+-   gst-play-1.0 interactive keyboard controls now also work on Windows
+
+Linux
+
+-   kmssink: Add support for P010 and P016 formats
+
+-   vah264dec: new experimental va plugin with an element for H.264
+    decoding with VA-API. This novel approach, different from
+    gstreamer-vaapi, uses the gstcodecs library for decoder state
+    handling, which it is hoped will make for cleaner code because it
+    uses VA-API without further layers or wrappers. Check out Víctor’s
+    blog post “New VA-API H.264 decoder in gst-plugins-bad” for the full
+    lowdown and the limitations of this new plugin, and how to give it a
+    spin.
+
+-   v4l2codecs: introduce a V4L2 CODECs Accelerator. This plugin will
+    support the new CODECs uAPI in the Linux kernel, which consists of
+    an accelerator interface similar to DXVA, NVDEC, VDPAU and VAAPI. So
+    far H.264 and VP8 are supported. This is used on certain embedded
+    systems such as i.mx8m, rk3288, rk3399, Allwinner H-series SoCs.
+
+Documentation improvements
+
+-   unified documentation containing tutorials, API docs, plugin docs,
+    etc. all under one roof, shipped in form of a documentation release
+    tarball containing both devhelp and html documentation.
+
+-   all documentation is now generated using hotdoc, gtk-doc is no
+    longer used. Distributors should use the above-mentioned
+    documentation release tarball instead of trying to package hotdoc
+    and building the documentation from scratch.
+
+-   there is now documentation for wrapper plugins like gst-libav and
+    frei0r, as well as tracer plugins.
+
+-   for more info, check out Thibault’s “GStreamer Documentation”
+    lightning talk from the 2019 GStreamer Conference.
+
+-   new API for plugins to support the documentation system:
+
+    -   new GParamSpecFlag GST_PARAM_DOC_SHOW_DEFAULT to make
+        gst-inspect-1.0 (and the documentation) show the paramspec’s
+        default value rather than the actually set value as default
+    -   GstPadTemplate getter and setter for “documentation caps”,
+        gst_pad_template_set_documentation_caps() and
+        gst_pad_template_get_documentation_caps(): This can be used in
+        elements where the caps of pad templates are dynamically
+        generated and/or dependent on the environment, to override the
+        caps shown in the documentation (usually to advertise the full
+        set of possible caps).
+    -   gst_type_mark_as_plugin_api() for marking types as plugin API,
+        used for plugin-internal types like enums, flags, pad
+        subclasses, boxed types, and such.
+
+Possibly Breaking Changes
+
+-   GstVideo: the canonical list of raw video formats (for use in caps)
+    has been reordered, so video elements such as videotestsrc or
+    videoconvert might negotiate to a different format now than before.
+    The new format might be a higher-quality format or require more
+    processing overhead, which might affect pipeline performance.
+
+-   mpegtsdemux used to wrongly advertise H.264 and H.265 video
+    elementary streams as alignment=nal. This has now been fixed and
+    changed to alignment=none, which means an h264parse or h265parse
+    element is now required after tsdemux for some pipelines where there
+    wasn’t one before, e.g. in transmuxing scenarios (tsdemux ! tsmux).
+    Pipelines without such a parser may now fail to link or error out at
+    runtime. As parsers after demuxers and before muxers have been
+    generally required for a long time now it is hoped that this will
+    only affect a small number of applications or pipelines.
+
+-   The Android opensles audio source and sink used to have hard-coded
+    buffer-/latency-time values of 20ms. This is no longer needed with
+    newer Android versions and has now been removed. This means a higher
+    or lower value might now be negotiated by default, which can affect
+    pipeline performance and latency.
+
+Known Issues
+
+-   None in particular
+
+Contributors
+
+Aaron Boxer, Adam Duskett, Adam x Nilsson, Adrian Negreanu, Akinobu
+Mita, Alban Browaeys, Alcaro, Alexander Lapajne, Alexandru Băluț, Alex
+Ashley, Alex Hoenig, Alicia Boya García, Alistair Buxton, Ali Yousuf,
+Ambareesh “Amby” Balaji, Amr Mahdi, Andoni Morales Alastruey, Andreas
+Frisch, Andre Guedes, Andrew Branson, Andrey Sazonov, Antonio Ospite,
+aogun, Arun Raghavan, Askar Safin, AsociTon, A. Wilcox, Axel Mårtensson,
+Ayush Mittal, Bastian Bouchardon, Benjamin Otte, Bilal Elmoussaoui,
+Brady J. Garvin, Branko Subasic, Camilo Celis Guzman, Carlos Rafael
+Giani, Charlie Turner, Cheng-Chang Wu, Chris Ayoup, Chris Lord,
+Christoph Reiter, cketti, Damian Hobson-Garcia, Daniel Klamt, Daniel
+Molkentin, Danny Smith, David Bender, David Gunzinger, David Ing, David
+Svensson Fors, David Trussel, Debarshi Ray, Derek Lesho, Devarsh
+Thakkar, dhilshad, Dimitrios Katsaros, Dmitriy Purgin, Dmitry Shusharin,
+Dominique Leuenberger, Dong Il Park, Doug Nazar, dudengke, Dylan McCall,
+Dylan Yip, Ederson de Souza, Edward Hervey, Eero Nurkkala, Eike Hein,
+ekwange, Eric Marks, Fabian Greffrath, Fabian Orccon, Fabio D’Urso,
+Fabrice Bellet, Fabrice Fontaine, Fanchao L, Felix Yan, Fernando
+Herrrera, Francisco Javier Velázquez-García, Freyr, Fuwei Tang, Gaurav
+Kalra, George Kiagiadakis, Georgii Staroselskii, Georg Lippitsch, Georg
+Ottinger, gla, Göran Jönsson, Gordon Hart, Gregor Boirie, Guillaume
+Desmottes, Guillermo Rodríguez, Haakon Sporsheim, Haihao Xiang, Haihua
+Hu, Havard Graff, Håvard Graff, Heinrich Kruger, He Junyan, Henry
+Wilkes, Hosang Lee, Hou Qi, Hu Qian, Hyunjun Ko, ibauer, Ignacio Casal
+Quinteiro, Ilya Smelykh, Jake Barnes, Jakub Adam, James Cowgill, James
+Westman, Jan Alexander Steffens, Jan Schmidt, Jan Tojnar, Javier Celaya,
+Jeffy Chen, Jennifer Berringer, Jens Göpfert, Jérôme Laheurte, Jim
+Mason, Jimmy Ohn, J. Kim, Joakim Johansson, Jochen Henneberg, Johan
+Bjäreholt, Johan Sternerup, John Bassett, Jonas Holmberg, Jonas Larsson,
+Jonathan Matthew, Jordan Petridis, Jose Antonio Santos Cadenas, Josep
+Torra, Jose Quaresma, Josh Matthews, Joshua M. Doe, Juan Navarro,
+Juergen Werner, Julian Bouzas, Julien Isorce, Jun-ichi OKADA, Justin
+Chadwell, Justin Kim, Keri Henare, Kevin JOLY, Kevin King, Kevin Song,
+Knut Andre Tidemann, Kristofer Björkström, krivoguzovVlad, Kyrylo
+Polezhaiev, Lenny Jorissen, Linus Svensson, Loïc Le Page, Loïc Minier,
+Lucas Stach, Ludvig Rappe, Luka Blaskovic, luke.lin, Luke Yelavich,
+Marcin Kolny, Marc Leeman, Marco Felsch, Marcos Kintschner, Marek
+Olejnik, Mark Nauwelaerts, Markus Ebner, Martin Liska, Martin Theriault,
+Mart Raudsepp, Matej Knopp, Mathieu Duponchelle, Mats Lindestam, Matthew
+Read, Matthew Waters, Matus Gajdos, Maxim Paymushkin, Maxim P.
+Dementiev, Michael Bunk, Michael Gruner, Michael Olbrich, Miguel París
+Díaz, Mikhail Fludkov, Milian Wolff, Millan Castro, Muhammet Ilendemli,
+Nacho García, Nayana Topolsky, Nian Yan, Nicola Murino, Nicolas
+Dufresne, Nicolas Pernas Maradei, Niels De Graef, Nikita Bobkov, Niklas
+Hambüchen, Nirbheek Chauhan, Ognyan Tonchev, okuoku, Oleksandr
+Kvl,Olivier Crête, Ondřej Hruška, Pablo Marcos Oltra, Patricia Muscalu,
+Peter Seiderer, Peter Workman, Philippe Normand, Philippe Renon, Philipp
+Zabel, Pieter Willem Jordaan, Piotr Drąg, Ralf Sippl, Randy Li, Rasmus
+Thomsen, Ratchanan Srirattanamet, Raul Tambre, Ray Tiley, Richard
+Kreckel, Rico Tzschichholz, R Kh, Robert Rosengren, Robert Tiemann,
+Roman Shpuntov, Roman Sivriver, Ruben Gonzalez, Rubén Gonzalez,
+rubenrua, Ryan Huang, Sam Gigliotti, Santiago Carot-Nemesio, Saunier
+Thibault, Scott Kanowitz, Sebastian Dröge, Sebastiano Barrera, Seppo
+Yli-Olli, Sergey Nazaryev, Seungha Yang, Shinya Saito, Silvio
+Lazzeretti, Simon Arnling Bååth, Siwon Kang, sohwan.park, Song Bing,
+Soohyun Lee, Srimanta Panda, Stefano Buora, Stefan Sauer, Stéphane
+Cerveau, Stian Selnes, Sumaid Syed, Swayamjeet, Thiago Santos, Thibault
+Saunier, Thomas Bluemel, Thomas Coldrick, Thor Andreassen, Tim-Philipp
+Müller, Ting-Wei Lan, Tobias Ronge, trilene, Tulio Beloqui, U. Artie
+Eoff, VaL Doroshchuk, Varunkumar Allagadapa, Vedang Patel, Veerabadhran
+G, Víctor Manuel Jáquez Leal, Vivek R, Vivia Nikolaidou, Wangfei, Wang
+Zhanjun, Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier
+Claessens, Xidorn Quan, Xu Guangxin, Yan Wang, Yatin Maan, Yeongjin
+Jeong, yychao, Zebediah Figura, Zeeshan Ali, Zeid Bekli, Zhiyuan Sraf,
+Zoltán Imets,
+
+… and many others who have contributed bug reports, translations, sent
+suggestions or helped testing.
+
+Stable 1.18 branch
+
+After the 1.18.0 release there will be several 1.18.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.18.x bug-fix releases will be made from
+the git 1.18 branch, which will be a stable branch.
+
+1.18.0
+
+1.18.0 was released on 7 September 2020.
+
+Schedule for 1.20
+
+Our next major feature release will be 1.20, and 1.19 will be the
+unstable development version leading up to the stable 1.20 release. The
+development of 1.19/1.20 will happen in the git master branch.
+
+The plan for the 1.20 development cycle is yet to be confirmed, but it
+is now expected that feature freeze will take place some time in January
+2021, with the first 1.20 stable release around February/March 2021.
+
+1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
+1.10, 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 Mathieu Duponchelle, Matthew Waters, Nirbheek
+Chauhan, Sebastian Dröge, Thibault Saunier, and Víctor Manuel Jáquez
+Leal.
+
+License: CC BY-SA 4.0