X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=19d4e849de450e3d8386214a79afad2a5b25b2d4;hb=adf3453183503a3a533e9ad2f38b5892a69183fc;hp=1e5793aa94533be66e5972df5caeb2d0c398ad14;hpb=e39295317b950359ed0c65761d104f1416acf5fd;p=platform%2Fupstream%2Fgst-plugins-good.git diff --git a/NEWS b/NEWS index 1e5793a..19d4e84 100644 --- a/NEWS +++ b/NEWS @@ -1,1320 +1,809 @@ -This is GStreamer Good Plug-ins 0.10.21, "Lemons" - -Changes since 0.10.20: - - * y4menc commit reverted, since it broke make check (new release since this was - only discovered after the 0.10.20 tarball had already been uploaded). - -Changes since 0.10.19: - - * Fixes for RTP h263 depayloader timestamping regressions that broke video calls - * Fixes for FLAC decoder when FLAC is embedded in a container such as Ogg or Matroska - * y4menc now supports more YUV pixel layouts - * rtpsource: bitrate estimation improvements - * rtspsrc, udp: multicast fixes - -Bugs fixed since 0.10.19: - - * 532117 : [matroskamux] Doesn't update the track duration - * 610959 : [flacdec] certain flac-in-ogg file only plays after long delay - * 611213 : [rtpsource] estimate bitrate on receiver side - * 612154 : rtph263depay removes all timestamps from outgoing buffers - -Changes since 0.10.18: - - * shapewipe: moved from -bad to -good - * avidemux: push mode seeking support - * avidemux: drop video frames up to the desired keyframe after a seek - * configure: cross-compilation fixes (use $PKG_CONFIG instead of pkg-config) - * dvdepay: don't output frames until we have a header, fixes crash - * flacdec: fix tag extraction in push mode - * flvdemux: obtain the index from the end of an flv file in push mode - * flvdemux: audio tags without any content are valid; indexing improvements - * jpegdec: fix invalid memory access in parser - * jitterbuffer: new buffering modes: low/high watermark buffering, rtp timestamps - * matroskademux: seeking/segment fixes (esp. regression with gnonlin) - * matroskademux: subtitle stream improvements (advance sparse streams in smaller steps) - * multipartdemux: improve header mime-type parsing - * qtdemux: fix ALAC codec-data handling; handle signed values in 3GPP location tag - * qtdemux: fix frame rate cap regression; fix sample durations corner-case - * qtdemux: Use the correct duration when comparing segments - * pulsesink: avoid segfault when shutting down - * pulsesink: return previous mute state if sink is not active at the moment - * rtpbin: change how NTP time is calculated in RTCP, generating more accurate NTP timestamps if the system clock is synchronised with NTP or similar - * rtpmp4gdepay: avoid division by 0 in corner case - * v4l2sink: change rank to NONE so we don't try to autoplug it - * videomixer: fix timestamping problems for input streams with different lengths - * videomixer: fix problem when used with gnonlin (always send FLUSH_STOP) - -Bugs fixed since 0.10.18: - - * 584536 : [PLUGIN-MOVE] Move shapewipe to -good - * 587304 : [jitterbuffer] don't handle correctly data burst from udpsrc - * 599292 : Synchronizing two RTP streams from different devices using RTCP is inaccurate. - * 604711 : Handling of mime type in multipartdemux - * 608026 : [videomixer] timestamping problems - * 608843 : [flacdec] Can't read tags in push mode - * 610004 : GST_CXXFLAGS should contain GST_CFLAGS - * 610053 : matroska fails to build with Sun Studio - * 610238 : Avoid an assertion in the rtspsrc element which abort the client application - * 610265 : gstrtpmp4gdepay issuing a SIGFPE crashing an application - * 610280 : [qtdemux] issue with corrupted 3gp file - * 610296 : [qtdemux] Confusion with gst/qt segments - * 610337 : pulsesink: gst_pulsesink_get_mute: set result earlier. - * 610483 : [jpegdec] invalid memory access - * 610556 : Memory violation when starting to decode a running DV PAL RTP stream - * 610839 : Unable to cross compile gst-plugins-good - * 610894 : send FLUSH_STOP after FLUSH_START in videomixer - * 611501 : [regression] matroskademux fails to output anything on some seeks - * 609724 : Add translator comment for %s in pulsesink - -Changes since 0.10.17: - - * v4l2src: implement GstURIHandler interface - * matroskamux: make index size configurable - * matroskademux: support push based mode - * matroskademux: improve stream synchronization - * flacdec: fix possible hanging in pull mode seeking - * flacdec: use a single decoder field for both push and pull mode - * flacenc: optionally add a seek table - * rtp: add BroadcomVoice payloader and depayloader - * rtp: add G.723 payloader and depayloader - * rtph264pay: add option to insert PPS/SPS in streams - * rtph264depay: optionally merge NALUs into Access Units - * rtspsrc: add user-id and user-pw properties; fix major memory leak - * avimux: many fixes, also better compatibility with Windows Media Player - * avidemux: per-stream index parsing (= much faster startup) - * qtdemux: progressive download support / seeking in push mode - * qtdemux: per sample parsing (= much faster start up) - * wavenc: Post warning if file hasn't been finalised properly - * videomixer: MMX optimisations and other improvements; implement basic QoS - * matroska, qtdemux, id3demux: fix language code writing and extraction - -Bugs fixed since 0.10.17: - - * 609405 : [qtdemux] Issues when seeking with file with lots of tracks and edit lists - * 503582 : [avidemux] Extract date tag (contained in the IDIT chunk) - * 351595 : [flacenc] write seek tables - * 505823 : [matroskademux] language tags have wrong iso code - * 515073 : [goom] Update to goom2k4 - * 539858 : not enough NEWSEGMENT events from matroskademux - * 554839 : [rtpbin] Automaticaly remove pads - * 582575 : [rtph263depay] dropping only part of key frames on lost fragmets - * 583367 : gstrtpL16pay ignores max-ptime property - * 583985 : [matroskamux] make index size configurable - * 587323 : rtpmp4vpay does not payload mp4v stream depayloaded with rtpmp4vdepay - * 593354 : rtpjitterbuffer sometimes outputs packets with timestamps in the past - * 595265 : SDES handling in RTPSource - * 597497 : can't play a redirecting .mov file via playbin - * 597823 : Add rtpg723pay plugin - * 599300 : [qtdemux] Doesn't populate video bitrate field - * 601143 : v4l2src: add GstURIHandler interface - * 601242 : [flvmux] ECMA array with file index lacks final 0x09 byte - * 601728 : [rtspsrc] Add username/password properties - * 602231 : Deadlock between rtpjitterbuffer and gstrtpbin - * 602508 : qtdemux: Parse stbl atom per sample instead of all at once - * 602887 : shout2send element won't change from PLAYING state to NULL - * 602940 : jitterbuffer is racy determining basetime - * 603376 : rtpsession : g_type_create_instance performance issue : avoid buffer ref - * 603471 : [flacdec] not timestamping output buffers - * 603547 : shout2send plugin sends data too fast - * 603779 : [ladspa] Remove ladspa plugin code - * 604352 : [rganalysis] miscomputes timestamps - * 604611 : [qtdemux] Provides invalid ALAC codec data - * 604679 : videomixer MMX code doesn't build on fedora12 - * 604814 : videomixer make error - * 604872 : [udpsink] Add missing 'gssize len' parameter to g_convert() - * 604913 : rtph264pay/NALU/rtph264depay - * 605222 : Mobile Youtube RTSP streams time out at EOS - * 605269 : [shout2][patch] Setting public flag - * 605447 : Unable to play Real Audio stream for radioBERLIN. - * 605882 : rtpg723pay is incorrect - * 606198 : rtph264pay is causing alignment trap on ARM arch - * 606438 : multiudpsink: warningfixes for windows - * 606692 : Incorrect Center Frequency For Band3 - * 606807 : audioamplify: allow negative amplifications - * 607353 : rtph264pay & base: Don't crash if the other side specifies the profile-level-id - * 607440 : [wavenc] should post warning if the file isn't finished properly on pipeline shutting down - * 607718 : [qtdemux] Infinite loop doing negative rate playback for single audio stream - * 607949 : [avidemux] regression in stop position for mp3 streams - * 608209 : [videomixer] blend_mmx.h:173: Error: can't encode register '%ah' in an instruction requiring REX prefix - * 608255 : [speex] speexenc crash and leaks in rtpspeexpay and speexdec - * 608268 : [flvmux] index timestamps should be in seconds, not milliseconds - * 608629 : [pngdec] png_set_gray_1_2_4_to_8() removed in libpng > = 1.4.0 - * 608671 : [mkv] issues when seeking - * 608990 : [qtdemux] Segment start timestamps can be broken - * 609107 : [qtdemux] Unknown atoms should also be skipped when looking for moov - * 598610 : [matroskademux] Support push mode operation - * 594381 : audiofirfilter: Implement FFT convolution - -Changes since 0.10.16: - - * RTP improvements - * Support automatic cropping in videobox - * Add TTL multicast UDP property - * AVI demux push mode fixes and performance improvements - * Support large and unusual chunks sizes in wav - * Quicktime demuxer improvements - * JPEG decode fixes and speedups - * Support interlaced Y4M file output - * DV demuxer improvements - * Pulseaudio fixes and improvements - * Support Pulseaudio PLAY/PAUSE requests - * speexdec improvements - * FLV demuxer improvements - * Fix audio noise in the Equalizer plugin, and other improvements - * Fix compilation on OS/X Snow Leopard - * AVI muxer fixes - * Support MPEG V4L2 devices and improve timestamping - * Better jpeg2k support - * Many other bug fixes and improvements - -Bugs fixed since 0.10.16: - - * 597848 : " Media Player Classic " won't play certain files produced by avimux. - * 588245 : TTL is never applied with udpsink/udpmultisink - * 368681 : avimux + vbr lame always out of sync - * 458629 : [avidemux] high memory usage for many index entries - * 561825 : Problem with RTCP thread using freed objects - * 581334 : [qtdemux] Add support for embedded subtitles - * 582238 : [videobox] Add support for autocrop to caps - * 590362 : [v4l2src] x264enc ! qtmux fails because of missing frame duration - * 591713 : [y4menc] interlaced support - * 593354 : rtpjitterbuffer sometimes outputs packets with timestamps in the past - * 593391 : [rtpsession] : rtp_session_on_timeout : Invalid read of size 4 - * 593688 : effectv can no longer be compiled with gcc 3 - * 593757 : [qtdemux] Lack of support for QualComm PureVoice - * 593764 : [v4l2src] format ordering: put emulated formats behind native formats - * 593955 : rtpjitterbuffer: clock_rate can change between its check and its use - * 594039 : missing unref in rtpsource / leak - * 594133 : [rtspsrc] leaks authentication info - * 594247 : missing math.h include in rtpjpegdepay - * 594248 : Use locked-state on internal rtp-bin to avoid shutdown-state-race - * 594251 : Avoid throwing out reordered packets with the same timestamp - * 594253 : jitterbuf: Only post a warning of clock-rate changed if it is changed from something initialized - * 594254 : propagate the pt-type-changed signal - * 594283 : rtpbin: make free_session() remove dangling stream references - * 594298 : Check if libsoup has SSL support before running HTTPS test in souphttpsrc testsuite - * 594490 : gstrtpbin always uses pt to demux - * 594520 : multipartmux: mark data buffer as delta-unit - * 594599 : videobox: converts AYUV to I420 incorrectly - * 594663 : Patch for multifilesink - * 594691 : rtph263pay: leak - * 595029 : pulse elements fail to connect to pulse 0.9.9 - * 595220 : gstreamer crashes on pulseaudio latency change - * 595231 : [pulsesink] Lowers volume after every new track - * 595888 : qtdemux plugin should not return value from void function - * 595897 : Problem linking videomixer - * 595942 : [qtdemux] issue with corrupted 3gp file - * 596319 : [qtdemux] fails to parse pixel aspect ratio data - * 597091 : [flvdemux] not outputting no-more-pads causes playbin2 to fail badly on streamed single-stream flv - * 597214 : [avidemux] Fix printf formats to avoid warnings in avidemux - * 597348 : [qtdemux] Cast variables passed to printf to avoid warnings about incorrect formats - * 597351 : [jpegdec] segfaults on a specific picture - * 597397 : equalizer is non deterministic - * 597463 : [pulsesrc] has no lower bound for fragment size - * 597601 : [pulsesink] needs to take control of minreq value - * 597730 : osssrc rank should be secondary, just like osssink - * 597847 : Windows Media Player won't play large files produced by avimux - * 597867 : Plugins good do not build on Ubuntu Hardy (kernel 2.6.24) - * 598377 : rtpmanager: only forward the lost event to the last seen payloadnumber - * 598517 : [jpegdec] Regression supporting 4:2:2 jpeg videos - * 598810 : wavenc: Fix buffer offset by moving length incrementation - * 598933 : [pulse] Fix the StreamVolume interface not being advertised - * 601381 : v4l2: Make sure to initialize variables before using them - -Changes since 0.10.15: - - * Moved rtpmanager from -bad to -good - * Implement SEEKING query in more demuxers and decoders (notably mkv, flv, flac) - * avimux: adds support to WMA/WMV - * cairo: Add cairo-based PDF/PS/SVG encoder element (cairorender) - * dv1394src: fix element for live usage - * effectv: new elements: rippletv, streaktv, radioactv, optv - * flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seeking - * flacenc: fix issue with broken duration / sample count into flac header in some cases - * flvmux: lots of fixes and improvements - * id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames - * matroska: add kate subtitle support, add/improve WMA/WMV handling and read bluray PGS subpicture streams - * multipartdemux: support more mime types, do proper flow aggregation - * pulsesrc: cleanups, report real latency, set the default slave method to skew - * qtdemux: support for agsm, misc. tag reading fixes - * rtp: new QDM2 and CELT depayloaders; fix SVQ3 depayloader and make it autopluggable - * souphttpsrc: Only assume seekability if the server provides Content-Length - * v4l2: add v4l2sink element, open device in NULL->READY, optional gudev support - * v4l2src: fix 'hang' with some cameras caused by bad timestamping if no framerate is available - * videomixer: add RGB format support; fix I420 blending - -Bugs fixed since 0.10.15: - - * 331420 : No PDF/PostScript/SVG encoder in GStreamer yet. - * 499242 : [patch] workaround the broken tags encoding for mp3 files - * 521625 : [plugin-move] move rtpmanager from -bad to -good - * 560033 : [v4l2src] returns caps with a range where max == min - * 564100 : [avidemux] premature EOS streaming mjpeg file with JUNK tags - * 564501 : [rtph264pay] bytestream scan mode operation is not reliable - * 567983 : [avidemux] SAMPLE.AVI fails to play in push mode - * 577017 : Videomixer blend bgra and ayuv - * 577318 : rtspsrc appears to be leaking memory - * 578052 : gstavidemux: support seeking and duration query in default format - * 578166 : libgstwaveform, gstwaveformsink.c " BYTE " instead of " byte " - * 578612 : [flacdec] seek on flac file sometimes triggers flac decoder ABORT - * 580214 : Equalizer starts distorting the sound after a while. - * 580732 : AVIMUX needs mappings for Windows Media codecs - * 582153 : rtpmp4vpay does not payload mp4v stream depayloaded with rtpmp4vdepay - * 582169 : [multipartdemux] Segmentation fault on empty content - * 582462 : souphttpsrc should set caps for " audio/L16 " mime_type - * 583593 : Updates for SunAudio plugin - * 583640 : [v4lsrc/v4l2src] add support for better device detection with libgudev - * 584455 : [flacenc] sometimes writes broken flac files - * 584613 : rtpvrawpay seems to produce fixed-length packets padded with random data - * 585205 : [rtpmp4gdepay?] Unable to play audio from one specific radio station stream - * 585361 : [gstwaveformsink.c] 'byte' is not defined in MSVCRT - * 585559 : buffer-list support for rtph264pay, rtpjpegpay and rtpmp4vpay - * 585576 : [souphttpsrc] initially reports all servers as seekable - * 585630 : [PATCH] Don't try to test flacdec if it's not build - * 585699 : GNOME Goal: Remove deprecated glib symbols - * 585757 : Remove deprecated GTK+ symbols from unused code - * 585828 : audioamplify should support more formats - * 585831 : audioamplify should support no clipping - * 586397 : gstudpnetutils.h fails to build on FreeBSD - * 587426 : non fast-start mov files fail to play from http locations - * 587680 : rtp/ts does not repackage cleanly to rtp; mpegvideoparse/rtpmpvpay: timing issues - * 587826 : gstavidemux.c: s/GST_DISABLE_DEBUG/GST_DISABLE_GST_DEBUG - * 587982 : [udp] uninitialized variable in gst_udp_get_addr function - * 587983 : [avidemux] assert format failed - * 588148 : [id3demux] APIC tag not found mp3 file - * 588349 : [effectv] Add new optv effect filter - * 588359 : [effectv] Add radioactv effect filter - * 588368 : [effectv] Add streaktv effect filter - * 588483 : [flacenc] write padding metadata block - * 588695 : [effectv] Add rippletv effect filter - * 588777 : [souphttpsrc] don't try to authenticate if no username/password is set - * 589056 : [qtdemux] no audio in videos from Aiptek camera - * 589365 : [pulsesink] pa_stream_get_sink_input_info() failed: Invalid argument - * 589423 : [flacdec] Implement SEEKING query - * 589424 : [flvdemux] Implement SEEKING query - * 589459 : [pulsesink] Fix a couple error messages that mentioned incorrect function names. - * 590038 : pulsesink: pa_timing_info- > configured_sink_usec requires pulse 0.9.11 - * 590280 : [v4l2] add v4l2sink - * 590401 : GstPulseSrc's pulse probe is not initialized correctly - * 590447 : [flvmux] crashes when writing index with < = 128 entries - * 590970 : [souphttpsrc] better fix for compiler warning fix - * 591451 : [v4l2] causes hanging stream when VIDIOC_G_PARM is not supported - * 591476 : Possible leak in rtpbin - * 591712 : [dvdec] sets top field first not bottom field first on pal interlaced content - * 591747 : [v4l2src] should clear formats list when it closes the device - * 591951 : pipelines/simple-launch-lines check segfaults with libjpeg 7 - * 592232 : [qtdemux] QT style string tag extraction fails - * 592530 : Get only glitches and noise trying to play a gsm file - * 593015 : pa_stream_flush() seems to cause sync issues - * 585911 : matroskademux seems to leak large amounts of memory when seeking (skipping) - * 576378 : [matroskamux] add support for WMA2 and WMV2 - * 564437 : rtpjpegdepay was unable to handle frame dimensions greater than 2040 - * 582515 : Quicktime file with PCM audio does not play correctly - * 583048 : [patch] jpegdec: support for larger pictures - * 583371 : pulsesink: Print message on underflows - * 583803 : pngdec: mismatched g_malloc/free - * 584981 : Gstreamer wavparse Could not demultiplex stream - * 585056 : regression: no more sound in my H.264+AAC clips - * 585549 : Add RTP blocksize functionality to rtspsrc element - * 585842 : Support for GstBufferList in gstmultiudpsink - - -Changes since 0.10.14: - - * Some fixes for seeking in wav and FLAC files - * Faster seeking in Matroska and AVI files - * RTSP and RTP improvements - * directdrawsink moved to Bad - * y4menc and flvmux/flvdemux moved from Bad - * deinterlace2 moved from Bad, replacing deinterlace - * Many bug fixes and improvements - * Pulseaudio sink completely overhauled - -Bugs fixed since 0.10.14: - - * 572551 : mpeg4videoparse fails to extract codec_data from this net... - * 577318 : rtspsrc appears to be leaking memory - * 576286 : [videomixer] Should accept/output non-alpha streams - * 581333 : rtspsrc: request_pt_map in gstrtspsrc.c fails to return c... - * 478092 : gstid3v2mux.cc:deprecated conversion from string constant... - * 486915 : [videomixer] segmentation fault on gst-inspect - * 509311 : [rtph263pay] rtph263pay does not follow rfc2190 - * 516031 : flac within ogg container can't be played on Jokosher - * 537537 : [pulse] Latency issues - * 537609 : RTSP - rtspsrc module support for Scale header - * 552650 : [rtspsrc] (partially) fails SETUP with MS RTSP servers - * 562168 : Good plugins' configury overloads --disable-debug - * 563574 : v4l2src should capture in non-blocking mode - * 567140 : G726 Packetizer issue for 24kbps & 40 kbps datarate - * 567857 : [udpsrc] loop on gst_poll_wait when POLLERR because of icmp - * 570781 : [alawdec] spews ERROR debug messages on shutdown/seek/not... - * 571153 : [pulsemixer] compiler warnings (on ARM) - * 571321 : gconfvideo{src,sink} don't disconnect gconf notifications - * 572256 : gst/avi/gstavidemux.c: Alignment trap in gst_avi_demux_pa... - * 572358 : law encoders _getcaps ignore rate/channel if not both are... - * 572413 : [jpegenc] crashes if no input format has been set - * 573173 : Added Quicktime HTTP tunneling to the RTSP src element - * 573342 : Unconditioned EAFNOSUPPORT in gstudpnetutils.c - * 573343 : Type mismatches in gstdirectdrawsink.c - * 573721 : [PLUGIN-MOVE] move directdrawsink back to -bad - * 573737 : [PLUGIN-MOVE] Move FLV to -good - * 574270 : [rtspsrc] Range request is wrong (should say: npt=now-) - * 574275 : flacdec ! appsink with a seek seems to drop the first buffer - * 577468 : [id3demux] Frames not extracted if tag is unsynchronised - * 577609 : [id3v2mux] write RVA2 frames for peak/gain volume data - * 577671 : [rtspsrc] deadlock on shutdown (locking order problem?) - * 578052 : gstavidemux: support seeking and duration query in defaul... - * 578135 : [qtdemux] missing 3gpp Asset metadata handling - * 578310 : [matroskamux] - Should suppport speex - * 579070 : [sunaudio] fix compiler warnings - * 579422 : flacdec can block allocating before it sent a new-segment - * 579808 : [jpegdec] Doesn't support additional 0xff before end marker - * 580746 : [qtdemux] 3GPP classification entity byte order reversed - * 580783 : [PLUGIN-MOVE] Move y4menc to -good - * 580851 : rtspsrc: various; sanity of ranges, setting of base_time ... - * 580880 : gstrtpjpegpay is not functioning properly; rtp jpeg paylo... - * 581329 : rtspsrc: NAT dummy packets not being sent - * 581568 : ability for replaygain plugin to post level messages - * 581806 : [souphttpsrc] Should allow overriding the referer - * 581884 : [PLUGIN-MOVE] Move deinterlace2 to gst-plugins-good - * 582252 : rganalysis test broken by recent commit - * 582281 : [rtp] Forgets to link to $(LIBM) - * 582387 : [avidemux] Seeking regression - * 582420 : flacdec unit test broken on PPC - * 582661 : [deinterlace] Fix latency query to return unbound max lat... - * 582715 : gcc warnings about unitialized - * 582753 : flacdec check fails - * 582794 : rganalysis unit test fails with git core - * 568278 : [qtdemux] add support for vob subtitle streams - * 569611 : GStreamer videobox element draws thin green lines on edge... - * 571294 : [matroskamux] Should ignore framerate of 0/1 - * 574169 : avidemux/theoradec don't work well together - * 575234 : Network interface selection for multicasting with the udp... - * 576729 : [rtspsrc] perform EOS handling earlier - * 578257 : Image problems using rtpjpeg(de)pay - * 579069 : rtp h263pay build fixes - * 580554 : PATCH: qtdemux: fix demuxing of m4v streams with ac-3 audio - * 581432 : [multipartdemux] source pads are leaked - * 581444 : [multipartdemux] free memory read of buffer timestamp - * 582218 : Uninitialized variable may be used in gstavidemux.c - * 575937 : udp/gstudpnetutils.c: ip_mreqn unavailable on Solaris (an... - - -Changes since 0.10.13: - - * Add autodetect source elements - * Improvements in RTP payload/depayload and RTSP - * Support float input in wav, and require depth == width - * Support inverted RGB video in avi - * Compilation fixes and smarter format selection in V4L2 support - * Use libv4l when available - * Don't install static plugin libraries any more - * Matroska muxing: Add Dirac, fix AAC - * Improve qtdemux segment handling - * Add presets to equalizer - * OS/X video and audio output improvements - * Rework Pulseaudio audio output - * Support basic and digest auth in souphttpsrc - * Use libsoup-gnome instead of libsoup when available - * DV demuxer fixes - * New IIR and FIR base classes and echo filter in audiofx plugin - * Improved spectrum analysis plugin - * 8 bit greyscale support in v4l2src and videocrop - * New aspectratiocrop element - * Many other bug fixes and improvements - -Bugs fixed since 0.10.13: - - * 561502 : Not-negociated error in udpsrc - * 522183 : add preset suport to gstequalizer - * 523813 : [autodetect] add autovideosrc and autoaudiosrc - * 557709 : goom should have license headers in all source files - * 560155 : segfault when trying to set tag to NULL with avimux - * 527951 : [new element] aspectratiocrop - * 529379 : RTSP seeks when pipeline is in STATE_PAUSED - * 532409 : RTP payload/depayloader for G.729 - * 537539 : [pulse] Rhythmbox starts using 100% of CPU time when puls... - * 537540 : [pulse] Causes a deadlock when the pulseserver dies - * 537543 : [pulse] sink/src should have " volume " property (was GstMi... - * 545033 : [v4l2src] Add support for camera specific formats - * 552140 : [soup] use libsoup-gnome for proxy configuration if avail... - * 556019 : Add the ability to make souphttpsrc act as a live source - * 556484 : Implement getcaps in rtpL16pay - * 556641 : rtpL16depay doesn't support multichannel audio - * 556802 : Misspelled messages - * 556955 : [videocrop] fails to renegotiate - * 556986 : pulsesink deadlocks when raising an error - * 557260 : [equalizer] Calculates coefficients for every buffer - * 557293 : Argument type mismatch on Windows - * 557294 : cross mingw32 gcc: getaddrinfo is not in ws2_32.dll befor... - * 557710 : Memory leak related to matroskamux's request pads - * 558427 : rtpmpapay/depay are too wide - * 558638 : Compiler error on v4l2 - * 558711 : gst-plugins-good-0.10.11 compile fails - * 559288 : [qtdemux] deadly embrace! - * 559545 : rtspsrc could not receive data from RTSP server because o... - * 559547 : Seek bugs when playing rtsp video in m.youtube.com - * 560641 : rtp mp4 payloader doesn't flush the last frame upon EOS - * 560756 : New Plugin: JPEG RTP Payloader - * 561625 : Rtspsrc set segment's last_stop incorrectly - * 561775 : souphttpsrc patch to support basic and digest authentication - * 561802 : DLNA specific HTTP header missing - * 561990 : qtdemux build fails on mingw due to missing definition of... - * 562434 : [wavenc] Add support for a-law and mu-law encoded wav files - * 562572 : multiudpsink handles errors in _render() too aggressively - * 563414 : Fix for SunAudioMixer plugin - * 563504 : add libv4l2 support to v4l2 gst plugin - required for mos... - * 563509 : [rtp_data_test] Complains about negotiation errors with m... - * 563510 : [videocrop] 1x1 unit test fails - * 564437 : rtpjpegdepay was unable to handle frame dimensions greate... - * 564948 : Fix and clean up osxaudio - * 565850 : mov files can contain xvid, fmp4 and ac3 tracks - * 566616 : v4l2src: b/w support - * 566843 : [pulse] Terminating an audio stream hangs the application - * 567577 : [audiofx] Add generic IIR/FIR audio filter elements - * 567642 : spectrum element has undocumented arbitrary limitation on... - * 567746 : fix for 547227 created a ref loop - * 567794 : [PATCH] Rework pulse plugin - * 567800 : Mp4 created by Avidemux don't play. - * 567853 : osxaudiosrc does not build on 10.4 - * 567874 : [audiofx] Echo/Reverb filter - * 567955 : [spectrum] Need compensation for rounding errors - * 567992 : [videocrop] wrong mouse navigation commands while cropping - * 568395 : [audiofx] Rename audioreverb to audioecho - * 568780 : elements/videocrop check fails - * 568809 : Patch needed for building gst-plugins-good 0.10.13 on Sol... - * 569820 : In some cases v4l2src element does not return correct norm - * 570343 : equalizer bands != specified parameters - * 570435 : Read Title element of Matroska files - * 571038 : [osxvideosink] build fail - * 571150 : aspectratiocrop : Memory leak - * 571153 : [pulsemixer] compiler warnings (on ARM) - * 571204 : [pulsesink] PA assertion failure triggers abort - * 570581 : osxvideosink: non-embedded mode is badly broken and shoul... - * 341752 : [rtspsrc] 500 Internal Server Error response with tagessc... - * 420658 : gconfaudiosink is not behaving normally - * 558554 : [avidemux] avidemux not recognizing certain uncompressed ... - * 561580 : GStreamer does not play a specific WAV file - * 563056 : " rtpjpegdepay ! jpegdec " doesnt works - * 565441 : Smoke encoder doesn't set caps correctly - * 567952 : videocrop: add b/w support - -Changes since 0.10.12: - - * Fix bad autopoint substitution in the po subdir - -Changes since 0.10.11: - - * Fix for security advisory TKADV2009-0xx - -Changes since 0.10.10: - - * HDV capture support - * Port flactag element to 0.10 - * Support FLAC in alternate bit-depths and more samplerates - * Matroska muxing improvements - * Support Google RTSP variant - * Many other bug-fixes and improvements - -Bugs fixed since 0.10.10: - - * 545433 : [wavparse] support tempo tag - * 311586 : Matroska mux/demux don't support flac - * 350830 : [raw1394] Add HDV support - * 413841 : [flactag] needs porting to 0.10.x - * 536067 : [matroska] Add support for real audio/video - * 537361 : videomixer segment handler fail - * 543101 : The udpsrc/udpsink/multiudpsink/dynudpsink elements may l... - * 544956 : [videobox] segfault when changing properties at running p... - * 545463 : autodetect plugin links to gconf, unnecessarily - * 545710 : [rtspsrc] : create rtp/rtcp socket pair + same port for d... - * 546465 : can't play m.youtube.com rtsp streams - * 547075 : [speex] Encoder doesn't handle non-zero start timestamps ... - * 547217 : Implement GstPropertyProbe interface on pulsesrc for dete... - * 547227 : Implement GstPropertyProbe interface on pulsesink for det... - * 547518 : pulsemixer probe fails after device property is set - * 547519 : Add device-name property to pulsesrc - * 548530 : wavenc allows audio depth of 25 - * 548831 : matroska demuxer setting incorrect timestamps - * 549073 : buffer_alloc function from new basetransform sometimes fa... - * 549090 : v4l2src has no property named norm but notifies it - * 549551 : conversion of gst structure names to mime types in multip... - * 549784 : Memory Corruption Probing v4l2src with Video4Linux1 device - * 550015 : build failure: gstcmmlparser.c:115: error: format not a s... - * 550791 : [flacenc] files are too big, mid-side-stereo=true should ... - * 551048 : rtsp implementation sends PAUSE even when server doesn't ... - * 551570 : plugin ximagesrc is memory leaking... - * 551584 : Crash when modifying the videobox " top " and " left " live w... - * 552213 : [qtdemux] map tiff fourcc to image/tiff caps - * 553191 : udpsrc: bind() fails on OS X - * 554771 : totem spins CPU 100% while allocating (infinitely) becaus... - * 556010 : AVI muxer segfault - * 556381 : [icydemux] test fails with latest core - * 556424 : [avidemux] segmentation fault when creating indexes - * 557085 : [videobox] support dynamically changing properties - * 557610 : udpsrc fails to bind() on Mac OS X (IPv4 vs. IPv6 problem) - * 547842 : Vorbis RTP RFC 5215 is out - * 550288 : Sound not played - a quicktime file - -Changes since 0.10.9: - - * Move the libcdio cddasrc element to -ugly, because of the GPL license - -Bugs fixed since 0.10.9: - - * 413705 : [PLUGINS MOVE] gst-plugins-good contails GPL'ed libcdio p... - -Changes since 0.10.8: - - * Replaygain elements moved from Bad - * Interleave/Deinterleave elements moved from Bad - * Pulseaudio plugin http://pulseaudio.org is now integrated - * New simple Karaoke audio effect plugin - * Improvements in v4l2src - * Multi-channel FLAC file fixes - * AVI and Quicktime reverse playback support - * AVI and Matroska muxing improvements - * New element for rendering SMPTE transitions into alpha channels - * Many improvements in the Win32 directdraw elements - * Error out cleanly for encrypted streams - * RTP/UDP handling improvements - * RTSP digest authentatication implemented. - * New RTP Pay/Depay-loaders for Speex, G.729, DV & raw video/audio - * Error concealment for Speex - * Many other bug-fixes and enhancements - -Bugs fixed since 0.10.8: - - * 541787 : incorrect timestamp - * 413705 : [PLUGINS MOVE] gst-plugins-good contails GPL'ed libcdio p... - * 345393 : Missing documentation - * 400679 : [PLUGIN-MOVE] pulse-gst to -good - * 422917 : G729 payloader/depayloader - * 429322 : [matroska-demux] hangs if file starts at non-zero timestamp - * 465146 : Add more complete negotiation to gstrtpbasepayload - * 469917 : multiudpsink IPv6 and diffserv TOS/TC markup - * 499318 : [osxvideosink] warnings on build (ppc, 64bit, 10.4) - * 503288 : rtph264pay does not split multiple NAL units in incoming ... - * 511489 : avimux muxed audio and video out of sync - * 512345 : gstalpha: chroma-key should not set alpha to 0 if brightn... - * 515962 : [udp] add ipv6 support to multiudpsink and udpsrc, add mu... - * 516509 : gstid3v2mux.cc build failure on Solaris, CFLAGS not valid... - * 519301 : avimux fails when going from NULL to playing a second time - * 519460 : 8 bytes missing in AVI streamheader - * 520092 : v4l2src proposed patches - * 520885 : directdrawsink has some issues - * 527865 : [PATCH] [matroskademux] uses wrong colourspace for palett... - * 529454 : [udpsrc] generates false error on win32 due to ICMP dest-... - * 529692 : [goom] fails to build on Windows with mingw32 - * 529707 : [rtp] fails to build on Windows with mingw32 - * 530886 : Support more mpeg2 variants in .mov files - * 531532 : rtspsrc leaks filedescriptors when gst_rtspsrc_open fails - * 531672 : [qtdemux] does not handle files with edit lists correctly... - * 532295 : gconf setting default audio sink to video default visualizer - * 532393 : [dvdec] Shouldn't be GST_RANK_PRIMARY - * 532409 : RTP payload/depayloader for G.729 - * 532423 : RTP payload/depayloader for DV - * 533264 : Make v4l2 compile without X - * 533619 : udpsink dies when Linux fails (for no reason) sendto() wi... - * 535121 : [videomixer] proper seek/segment handling - * 535300 : [avidemux] missing support for reverse playback. - * 535935 : [qtdemux] Missing metadata - * 536228 : [PLUGIN-MOVE] Move interleave/deinterleave to gst-plugins... - * 536317 : [v4l2src] Doesn't compile with latest git kernel - * 536646 : v4l2src doesn't pick the optimal resolution - * 536831 : v4l2src == non-experimental - * 536903 : udpsrc now assumes one is using multicast - * 537021 : [cdio] does not extract album title from CD-TEXT - * 537031 : Enhancement to SunAudio mixer plugin - * 537361 : videomixer segment handler fail - * 537377 : Gstreamer avidemux fails on avi files with non-AV data st... - * 537622 : [matroskademux] Doesn't export covers (file attachments) - * 537675 : rtp vorbis/theora payloader static caps don't specify del... - * 537832 : rtsp is broken - * 539372 : udpsrc do not set port properly on anonymous binding - * 539548 : [udpsrc] Fails to bind with permission denied when trying... - * 540067 : souphttpsrc does not support http authentication - * 540300 : [souphttpsrc] souphttpsrc does not seek ahead in http stream - * 540940 : Quicktime demuxer does not handle dirac in QT files - * 541081 : [v4l2src] Doesn't compile with on old kernel - * 541384 : cross mingw32 gcc: making goom compile - * 541412 : cross mingw32 gcc: making libgstrtp plugin compile - * 541650 : udpsrc fails to parse URI with IPv6 address - * 541956 : v4l2src only requests interlaced video - * 542410 : qtdemux not recognizing pcm 8bit streams correctly - * 543054 : [osxvideosink] minor build issue - * 543255 : -Wno-attributes does not exist in every gcc version - * 543259 : warning in gstv4l2src.c due to an uninitialized variable - * 543300 : [qtdemux] [PATCH] wrong depth in RLE video caps and wrong... - * 544509 : [qtdemux] Regression in segment.stop - * 539482 : [avidemux] Doesn't parse vprp ODML header - * 544433 : Some -good plugins aren't buildable with MSVC - * 536994 : Improve v4l2src negotiation a bit more - * 329198 : GStreamer-CRITICAL: gst_pad_activate_pull: assertion `old... - * 532065 : Implement RTSP Digest authentication - * 533287 : Mapping of mime types to gst names in multipartdemux - * 538891 : G.726 pay/depayloader is missing - -Changes since 0.10.7: - - * The libsoup based http source moved from the -bad module and - was raised to primary rank - * GOOM visualisation plugin updated to Goom2k4 - * Fixes in UDP, RTSP, matroska, QT/mov, AVI, v4l2, OS/X, SunAudio, - mulaw and wavpack - * New gdkpixbuf output for snapshotting - * Various other bug-fixes - -Bugs fixed since 0.10.7: - - * 516509 : gstid3v2mux.cc build failure on Solaris, CFLAGS not valid... - * 515978 : [ladspa] Should be removed from -good until it's ready to... - * 516649 : [v4l2src] tries to VIDIOC_S_PARM without checking capabil... - * 517237 : [rtspsrc] Better error when bandwidth is too small - * 517933 : [tests] trivial C89 fix - * 518188 : [spectrum] " message " property documentation unclear - * 518213 : [goom2k4] artefacts on x86-64 - * 518564 : goom dies with illegal instruction - * 519088 : gst_mulawdec_chain() may call gst_util_uint64_scale_int()... - * 519417 : Unable to modify DEFAULT_VIDEOSRC in configure - * 520073 : [goom] (goom2k4) shows mostly black frames - * 520764 : double buffer unref in speexenc error handling - * 520880 : audiofx doesn't build on Windows/MSVC - * 520888 : udpsrc has some issues on Windows - * 521102 : h.263+ rtp depayloader crashes on short payloads - * 521875 : [osssrc] recording corrupts upon _get_caps - * 522278 : Problem with " movq " at file gst-plugins-good/gst/goom/xmmx.c - * 522767 : [goom] does not build on ppc - * 523124 : [PLUGIN-MOVE] move souphttpsrc from -bad to -good - * 523134 : osxvideosink does not stop when you control-C - * 524593 : [sunaudio] fix mixer track range - * 525359 : [alaw] [mulaw] Use gst_pad_alloc_buffer_and_set_caps to c... - * 525833 : [halaudiosrc] unable to get mic USB working with gnome-so... - * 525860 : [sunaudio] copyright fixes - * 525946 : [gdkpixbuf] add gdkpixbufsink element - * 526557 : [matroskademux] seeking regression in CVS - * 527848 : [souphttpsrc] Give souphttpsrc PRIMARY rank - * 527984 : Doesn't dist all m4 files needed by configure.ac - * 527999 : [goom] Doesn't dist goomsl.h - * 528143 : [goom] fails to build on 32-bit ppc - * 528615 : Hide goom2k4 logo - * 529268 : [goom] States unit test exposes some memory leaks - -Changes since 0.10.6: - - * 8 months of frenetic development - * Massive RTSP/RTP improvements - * Fixes in pngdec, gdkpixbufdec, wavpackparse, wavpackdec, smokeenc, - mulawdec, alwdec, id3demux - * More Fixes in matroskademux, udpsrc, apedemux, flacenc, avimux, - dv1394src - * V4L2 support improved - * Fixes for OS/X and Windows video/audio sources and sinks - * Support more formats in QT files - * Elements moved from gst-plugins-bad: equalizer, lpwsinc (now - audiowsinclimit), bpwsinc (now audiowsincband), spectrum, - multifilesrc/sink - * New audio effects: High/Low/Band-pass filters - * Many, many other fixes - -Bugs fixed since 0.10.6: - - * 415627 : [PLUGIN-MOVE] move equalizer to good - * 463624 : [PATCH] avimux: mismatch in ODML tag numbering - * 347848 : [id3v2mux] add support for DiscID tags - * 348085 : [PLUGIN-MOVE] move spectrum to good - * 351726 : [rtspsrc] Force to send on periodic time new rtsp play co... - * 358841 : [dv1394src] should have property probe - * 417420 : [autoaudiosink] add " caps " property to filter sinks by caps - * 427573 : [osxaudiosrc] segmentation fault - * 435435 : [alaw] use tables for ALAW (G.711) encoding and decoding - * 442034 : [avi] add support for subtitle streams (GAB2) - * 447000 : [id3demux] add support for reading license URL from WCOP tag - * 448278 : [v4l2src] several issues in cvs - * 449747 : Function parameter mismatch breaks build on Solaris. - * 450190 : [PATCH] v4l2src set_capture (parameters) fails - * 450878 : Missing files in po/POTFILES.in - * 451249 : Integer type mismatch in gstrtspsrc.c - * 451388 : [v4l2src] Could not negotiate format - * 453037 : rtpilbcpayloader encoding-name field mismatch - * 453417 : [matroskademux] support palette info for VobSub stream - * 453630 : Rtspsrc invokes GST_ELEMENT_ERROR in eos when streaming o... - * 455086 : [cairotextoverlay] ignores the size in font-desc property - * 455808 : rtspsrc deadlocks on pause - * 457097 : [faad] " setting caps on pad failed " with BMJ113 mov - * 461600 : Some files missing from POTFILES.in - * 464475 : the mode property if the caps of rtpilbc*pay should be of... - * 464800 : [audiofx] New elements: chebyshev low/highpass and bandpa... - * 465040 : [RTP] h263ppay should allow h263 caps on sink - * 465774 : qt video does not play, but can be seeked - * 467214 : Could not get buffers from device '/dev/video0' - * 467666 : [ELEMENT-MOVE] Move lpwsinc and bpwsinc to gst-plugins-good - * 470502 : Ricoh Webcam not working - * 471364 : [gconf] Internal GStreamer error: state change failed on ... - * 471823 : [v4l2src] Fails to negotiate capabilities with Macbook Pr... - * 473670 : [qtdemux] invalid utf8 in tags causes warnings - * 474616 : [rtph263pay] RTP headers are wrong for win32 - * 475424 : [v4l2] uvcvideo Macbook iSight webcam not working (regres... - * 477199 : Linux-UVC webcams not working - * 477456 : [v4l2src] my webcam is not working anymore - * 479960 : qtdemux is missing fourcc for mpeg2 HDV streams (HDV2. HDV3) - * 480557 : [v4l2src] Nasty segfault (with broken driver?) - * 482495 : avimux does not accept audio/aac - * 484998 : [mulawdec] not-negotiated error playing a sun audio (au) ... - * 485828 : [v4l2src] Fixates to lowest resolution on new kernels - * 487488 : udpsrc errors - * 487563 : Payloader for H264 not marking packets - * 488112 : [id3demux] extract ID3v2 WOAF frame - * 488844 : Free GstBuffer with gst_buffer_unref() in gst_rtp_mp4v_pa... - * 488879 : [videomixer] implement GstChildProxy interface - * 489940 : [gdkpixbufdec] gst_value_set_fraction: assertion 'denomin... - * 490034 : [v4l2src] " could not get buffers from device " - * 490283 : [multifilsrc] move to -good - * 491323 : Extend RTP MPEG-TS payloader to handle large RTP payload ... - * 492388 : Build issues on Windows/MSVC - * 496752 : [rtspsrc] leaks memory - * 496773 : [rtspsrc] leaks SDP messages - * 496983 : [PATCH] rtspsrc leaks pads - * 497007 : [PATCH] rtspsrc leaks RTSP messages in SETUP - * 497017 : [PATCH] H.264 RTP depayloader leaks memory in setcaps - * 497292 : gsttextoverlay compile problem in MSVC - * 497293 : gsttimeoverlay compile error in win32 - * 498181 : Recent change to gst-plugins-base breaks gst-plugins-good - * 498297 : [v4l2src] put real supported resolutions in caps instead ... - * 498395 : [pngenc] leaks buffer data memory - * 498715 : GStreamer fails to decode MPEG1 Video RTP streams when gs... - * 499178 : unexpected not negotiated and other weird beharviours - * 499239 : gstrtpmp4adepay - * 499383 : [rtph263depay] Doesn't read I-frame information from rtp ... - * 500403 : [PATCH] videobox element doesn't init liboil - * 501775 : [wavparse] regression in CVS: seeking is broken - * 502655 : [avimux] creates corrupt avi files (wrong stream numbering) - * 502814 : Adds profile (hex string), sps and pps (base64 encoded) i... - * 502966 : GStreamer segfaults when videobox is introduced into a sp... - * 503023 : Let multipartdemux work in live mode. - * 504018 : flacdec emits newsegment before being able to respond to ... - * 504081 : [matroskamux] support for live sources (calculate duratio... - * 504895 : Build fails: gst/check/gstcheck.h: No such file or direc... - * 505745 : [avidemux] warning: 'res' may be used uninitialized in th... - * 506025 : RTSPsrc doesn't handle redirects. - * 506715 : [PATCH] [flacdec] PICTURE blocks should be retrieved as m... - * 507642 : v4l2src Crash - Size 4156 is not a multiple of unit size ... - * 508644 : The clockrate for theora payloading should always be 90000 - * 509298 : Compilation errors in gstavisubtitle.c and gstrtspsrc.c w... - * 509301 : [flacdec] CVS does not compile against flac-1.1.2 - * 509531 : Make the auto-join/auto-leaving of a multicast group opti... - * 510505 : changes to make v4l plugin build on solaris - * 510592 : Race condition in WAVE parser - * 513628 : [flacdec] Decoding of PICTURE blocks is always disabled b... - * 514397 : matroskademux does not mark delta units - * 514573 : multipartmux memory leak - * 514889 : Bogus output from RTP data test - * 514965 : Possible buffer leaks if last_write_result != GST_FLOW_OK... - * 515457 : [audiofx] Element long descriptions are broken - * 515562 : [avidemux] Seeking broken in 0.10.6.2 - * 515697 : [multifile] Several memory leaks exposed by unit test - * 515701 : [smoke] Several valgrind warnings exposed by unit test - * 515703 : [avisubtitle] Several valgrind warnings with unit test (g... - * 515704 : [gconf] Memory leak when creation of pipeline fails - * 515706 : [ximagesrc] Memory leak when XDamage support is available - * 515905 : gst-error.m4 needs no%E_MACRO_REDEFINED on Solaris - * 515979 : [efence] Doesn't chain up finalize properly - * 515980 : [directdraw] Does not chain up finalize functions properly - * 515984 : [v4l] Does not chain up finalize functions properly - * 515985 : [ximagesrc] regression when using damage - * 516371 : does not build without xml usage - * 516524 : uninitialized variables - * 517386 : [alpha] Doesn't link with libgstbase - * 508291 : [id3demux] must check if language code in id3v2 COMM fram... - * 491811 : Rename audiochebyshevfreq* to audiocheb* - * 447961 : [rtsp] do not store a reference to the result from inet_n... - * 475784 : rtspsrc has race condition between loop_interleaved() and... - * 478244 : rtpamrdepay make no playable stream - * 480707 : Memory leak : gstrtpmp4vpay : config buffer is leaked - * 502187 : flacdec doesn't send newsegment from the streaming thread - * 509329 : [rtspsrc] use atoll when parsing rtptime - * 512544 : preallocate output buffer in pngenc - -Changes since 0.10.5: - - * Much improved RTSP/RTP and V4l2 support - * New plugins - audiopanorama, audioinvert, audiodynamic, audioamplify - * OSX and Windows video/audio support elements moved from Bad Plugins - * qtdemux, videocrop and wavpack elements moved from Bad Plugins - * Fixes in avi and matroska muxing - * Fixes in wavparse, sunaudio, AVI demuxing, ID3 tag handling - * gamma element ported to 0.10 - * Parallel installability with 0.8.x series - * Threadsafe design and API - -Bugs fixed since 0.10.5: - - * 392189 : [esdsink] pipeline hung in state change from PAUSED to PL... - * 407590 : crash using gconfaudiosink - * 439255 : [rtspsrc] crash on unsupported transport - * 441118 : Incorrect caps in G.711 RTP depayloaders - * 323471 : [PLUGIN-MOVE] osxaudio - * 407780 : avimux does not handle video/x-h264 - * 316203 : MinGW: udp and rtsp plugin should be disabled on windows - * 340362 : [PATCH] new plugin - hardlimiter - * 342463 : [ximagesrc] performance improvement - * 347806 : [v4l2src] try_capture(): Error getting buffer information... - * 350296 : [udpsrc] add property to remove extra headers from buffers - * 354007 : [PLUGIN-MOVE] videocrop should be moved to -good - * 356692 : wavparse drops final sample in most files - * 358040 : Fix speex rtp (de)payloader - * 362566 : [dv1394src] Random segfault and kernel oopses - * 374489 : rtspdec never sends out RTCP Receiver reports - * 377306 : [sunaudiomixer] mixer track labels not localized - * 379298 : [avimux] allow multiple audio streams - * 392620 : gnome-sound-record can not be started on sunray client on... - * 393427 : error/warnings when compiling with mingw - * 395688 : playbin is unable to play rtsp stream for 3gp from Darwin... - * 396057 : [audiofx] New audioinvert element - * 397162 : [audiofx] New element audioamplify - * 397946 : [audiopanorama] another trivial docs fix - * 398299 : [smpte] crashes if fed empty buffers from fakesrc - * 398325 : [smpte] Segfaults with big width/height - * 399338 : Hang in PREROLLING when trying to play a specially crafte... - * 399825 : Tags don't work properly for shout2send plugin - * 406042 : [v4l2src] fails with radio chips - * 407369 : [v4l2src] Wrong way of EIO error handling - * 407793 : memory leaks of sdpmessage.c - * 407797 : bug of rtsp_url_parse() in gst/rtsp/rtspurl.c - * 408544 : totem crashed with SIGSEGV to rtsp_ext_wms_configure_stre... - * 410997 : Fails to build with -z defs - * 412597 : Simplify GstSunAudioSrc - * 412608 : [avidemux] flow return aggregation can ignore errors - * 414168 : Mixes spaces and tabs in Makefile.am defs - * 416445 : [avidemux] seeking regressions - * 416727 : [v4l2src] typo in printf format string - * 416728 : [v4l2src] typo in translated strings - * 417729 : [autoaudiosink] plugs alsaspdifsink, breaking playbin - * 419338 : [wavparse] critical warning from plugin viewer - * 420208 : Probably typo - * 426044 : [flacenc] broken files when used with oggmux - * 427990 : [rtph264depay] sprop-parameter-set erros - * 428611 : [ximagesrc] segfaults when used from a non-X terminal - * 428901 : [icydemux] broken tags for non-UTF-8/ISO-8859-1-using ra... - * 429319 : [alphacolor] distorts png images without alpha channel - * 429666 : [goom] totem skips mp3 (while Rhythmbox doesn't) - * 430228 : [sunaudio] copyright bug - * 430632 : memory problem - * 430804 : [PATCH] navseek only seeks (sort-of) partially - * 431282 : broken RTP depayloaders - * 433119 : wavparse causes skipping for MPEG-encoded RIFF Wav files ... - * 433135 : [wavparse] regression in CVS with mp3-in-wav - * 433530 : udpsrc read of size 0 - * 434824 : rtp mp4 payloader doesn't handle newsegments and flush ev... - * 436910 : [videomixer] wrong strides with odd input width - * 437499 : [wavparse] can't handle WAV file with 'LIST' header chunk - * 437670 : Improvements for rtsptransport.[ch] - * 437692 : Some more fixes for the RTSP support - * 438926 : invalid comparison of pointer with string literal - * 438940 : [rtph263ppay] Support for Segment Fragmentation based on ... - * 440127 : Autoaudiosink does extra switching between null and ready... - * 440203 : Support multiple RTSP headers of the same type - * 440928 : Improved RTSP version support, and added Date header - * 441408 : speexdec plays incorrectly files made with nframes=4 - * 442535 : [wavenc] Doesn't handle width!=depth files with audio/x-r... - * 442677 : WideBand AMR payloaders - * 443081 : [wavparse] fails to post error on FLOW_NOT_LINKED - * 445905 : ximagesrc disregards display_name property - * 446981 : error during the compilation of rtspconnection.c - * 447210 : wrong length calculation for codec_data - * 447458 : [qtdemux] export AMRSpecificBox as codec_data - * 385887 : [flac] make work with libflac-1.1.3 - * 404646 : [audiofx] Compressor/Expander element - * 424527 : [auparse] don't convert non-native endianness floats in t... - * 387121 : [matroskamux] Can't mux raw audio - * 392855 : [matroska] plugin must link against zlib (error with MinGW) - * 394851 : [audiopanorama] Some trivial docs fixes - * 394859 : [audiopanorama] New simple method for adjusting the panorama - * 398086 : [smpte] crashes if input dimensions differ - * 406018 : 64bit uncleanness in gstavimux.c - * 407057 : [wavparse] leaks contents of every buffer pushed when in ... - * 407349 : [id3demux] wrongly interprets TDAT as year - * 350278 : [rtpmp2tdepay] Add support for proprietary headers - * 380895 : A couple of corrections and improvements for the RTSP sup... - * 380944 : [dvdec] Doesn't set pixel-aspect-ratio - * 394977 : multipartmux not honoring flow return - * 403956 : Add float32 support for " level " element - * 405213 : mp3 plays too fast in totem or rhythmbox - * 407006 : [goom] odd adapter behaviour - * 412704 : [PATCH] gamma filter ported to 0.10 - * 414887 : [gconf] gconfaudiosink doesn't set GST_ELEMENT_IS_SINK un... - * 415446 : [avidemux] fails parsing mjpeg file from digital camera - * 417792 : rtp depayloader for AAC - * 423304 : file descriptor closed in udpsrc and dynudpsink - * 423782 : Code for H264 payloader - * 428182 : Current CVS generates compiler warnings - * 429329 : [videobox] add support for AYUV input - * 442874 : Multipartmux assumes caps == mime - -Changes since 0.10.4: - - * Parallel installability with 0.8.x series - * Threadsafe design and API - * RTP/RTSP improvements - * Fixes in OSS support - * Addition of the audiopanorama element - * Improvements in AVI playback - * Annodex playback fixes - * Support FLAC in OGG and Matroska - * Fixes in the Speex decoder - * V4L2 source moved from Bad Plugins - * SMPTE element ported to 0.10 - * GStreamer Data Protocol (GDP) Payloader and Depayloader elements added - * Many other bug-fixes - -Bugs fixed since 0.10.4: - - * 336465 : [patch] Streaming support for avidemuxer - * 349207 : [PLUGIN-ADD] audiopanorama - * 341278 : [autoaudiosink] should fallback to fakesink - * 342950 : Implement device profiles in autoaudiosink/autoaudiosrc - * 348233 : dv1394src crashes with libavc1394 0.5.3 - cause known - * 349015 : [sunaudio] open source with O_NONBLOCK - * 349894 : RTSP Multicast - * 351347 : --disable-schemas-install now works too well - * 351794 : [id3demux] try harder to extract wrongly marked strings - * 352577 : [avidemux] regression in CVS with Elephant's Dream - * 355210 : Sample pipeline from the documentation doesn't work properly - * 356142 : GST Sun Audio Mixer doesn't set only Output Track as Mast... - * 356147 : [avimux] duration in header not correct for big avi ( > 2 ... - * 357592 : Avoid compiler warnings with uClibc and -Werror - * 361637 : h263 variant missing from RTP (de)payloaders' caps - * 361639 : MPA payloader's payload number is incorrect - * 362603 : Fixes compiling with forte: warning clean up (part 4) - * 362673 : Playback with 4Front OSS driver not working due to blocki... - * 366492 : add windows vs8 project files - * 369621 : [avidemux] Out-of-sync playback with VBR MP3 audio - * 372021 : flxdec has wrong classification - * 374213 : Seeking with LADSPA plug-ins fails - * 374479 : [PATCH] videomixer memleak fix and enhancement - * 374737 : [matroskademux] doesn't recognise opaque " A_AAC " codec ID - * 376594 : id3demux crashes when reading compressed ID3 frames - * 379433 : [PATCH] avidemux audio pad reports wrong position upon query - * 379792 : Remove memcpy in multipartmux and fix RFC compliance - * 379918 : Doesn't compile with newer libcaca versions (0.99.beta4+) - * 380199 : [matroskademux] Wrong framerate conversion - * 380825 : make avimux accept video/mpeg in versions 1, 2 and 4 - * 381857 : [id3v2mux] crashes trying to write empty frames - * 382179 : Videomixer shouldn't reset position to 0 when the caps ar... - * 382277 : multipartmux modifies buffer timestamp - * 382982 : [apedemux] Fails to read track gain or other doubles - * 383001 : [PATCH] if using multicast in udpsrc, bind to the multica... - * 383043 : Videomixer can crash when adding/removing pads while pla... - * 383596 : mixer doesnot work if set AUDIODEV on solaris - * 384587 : libcaca check breaks cross-compile - * 385031 : [id3demux] autoplug loop if first buffer has nonzero offs... - * 385623 : [quarktv] crash when plugged dynamically into a pipeline - * 343348 : [matroska] add support for vobsub subtitles - * 345449 : [icydemux] Internet radio hangs when connecting to radio.... - * 348762 : [ID3v2] comment frame extraction/writing doesn't retain d... - * 351116 : 'make check' tries to run annodex unit tests even if anno... - * 352110 : [flacdec] no support for ogg flac - * 366155 : [matroskademux] Several problems in encoding handling code - * 374658 : [matroskamux] add tag writing support and implement relea... - * 378184 : g-s-p crash due to incorrect free from do_toggle_element - * 360673 : [PATCH] Stuttering with SunAudio Sink - * 349068 : multipart demuxer improvements - * 350006 : [LADSPA] after changing state from PLAYING to READY/NULL,... - * 350340 : CMML test cases and small fixes - * 350785 : [ossmixer] provides no way to set mixer device - * 353908 : Error seeking at the beginning of a CMML file - * 356596 : [wavparse] Does not support GSM encoded audio - * 358156 : in udpsrc.c gst_udpsrc_create function read command could... - * 361252 : Memory leak in udpsrc - * 364958 : [avidemux] broken timestamping in streaming mode - * 367221 : [PATCH] videomixer does not mix for some framerate combin... - * 368162 : iLBc rtp payloaders and depayloaders not compiled - * 377792 : rtspsrc tries to stream application/x-wms-rtx - * 383323 : smpte doesn't handle sink1 and sink2 correctly - * 383726 : [audiopanorama] only transforms half of the samples in fl... - * 349901 : [LADSPA] gst_element_class_add_pad_template: assertion `g... - * 375476 : v4l2src cannot close /dev/video0 - -Changes since 0.10.3: - - * added apev2mux element - * use libiec61883 for Firewire - -Bugs fixed since 0.10.3: - - * 345930 : [id3demux] segfaults with file containing only ID3v1 tag - * 347529 : wavparse error - * 321191 : rtpamrdec isn't a subclass of GstBaseRtpDepayload - * 340027 : [patch] wavparse fails for several files - * 318563 : offer support for new raw1394_iso api in dv1394src - * 330623 : [avidemux] only the beginning of big avi files gets played - * 334375 : [id3demux] [id3v2mux] ID3 tag rewriting is lossy - * 337076 : Problem with broken matroska files containing non-UTF8 su... - * 339704 : [id3demux] read images from ID3 tags - * 340282 : Goom visualization is unusable at 'Normal' size and higher - * 340623 : [matroskademux] small memory leak - * 340699 : [flacdec] should not send EOS when doing segment seeking - * 340859 : [avimux] produces index with all frames marked as keyframes - * 340946 : raw1394 plugin uses deprecated functions - * 340979 : [id3demux] mp3 id3v2 TCON tag possible bug? - * 341489 : gst-plugins-good wavparse Cygwin fix - * 341774 : Fails to read tags in file - * 341818 : [matroskademux] poor concurrent performance - * 342029 : [id3demux] overflow of titlenumbers - * 342097 : [jpegdec] crash with attached JPEG file - * 342448 : [matroska] support for muxing/demuxing Theora video - * 342526 : [avimux] dml index support, codec_data support, cleanups - * 342592 : dvdemux doesn't post segment-done right - * 342734 : [matroskamux] might block on state-change - * 343051 : [autoaudiosink] doesn't try esdsink - * 343055 : README mentions 0.9.6 - * 343117 : jpegdec, mjpeg avi's and flush seeks - * 343122 : [taglib] new apev2mux element - * 343123 : [apedemux] add support for GST_TAG_LOCATION - * 343127 : [apedemux] extract track count, clean up parsing - * 343602 : configure --disable-external fails - * 343603 : need to add -lm to build tests/examples/level - * 343678 : configure.ac incorrectly uses $(SED) rather than $SED - * 343837 : [wavparse] can't handle WAV file with 'bext' header chunk - * 344100 : --disable-schemas-install not honored - * 344101 : SunAudio mixer fixes - * 344120 : dv1394src should now require libraw1394 > = 1.1.0 - * 344605 : [id3demux] set picture type on image buffers - * 345232 : [wavparse] reads beyond end-of-file (in pull mode) - * 345288 : [udp] make work on Windows - * 345713 : ximagesrc uses XFixesCursorImage incorrectly and will seg... - * 346066 : [sunaudiosink] don't override user setting and switch on ... - * 346259 : [sunaudio] move monitor to input tab in mixer - * 347234 : streaming UDP (MPEGTS) shows only one frame of video - * 347258 : [wavparse] internal stream error reading gnome-game gnibb... - * 347898 : [id3v2mux] write GST_TAG_ENCODER and GST_TAG_ENCODER_VERSION - * 347972 : [cdiocddasrc] core dumps if device is not found - * 348644 : [id3demux] Gets the wrong part of binary blob for ID3 v2.... - * 348752 : [udpsrc] add property to set buffer size for udp socket - * 348913 : [id3v2mux] tagging utf-8 text may be converted to iso-8869-1 - * 349155 : [smokeenc] does not set caps on it's buffers - * 349189 : LADSPA gstsignalprocessor.c: line 408: assertion failed: ... - * 349907 : multiudpsink messes up multicast addresses - * 350433 : [rtph263pdepay] h.263plus depayloader does not work - * 340492 : [flacdec] support push-based operation (and thus flac-ove... - * 345679 : fix to avoid goom core dumping - * 317470 : [GstCheck] gst_check_teardown_element asserts wrong refcount - * 340980 : [pixbuf,wavparse] fix build with gcc 2.95 - * 343661 : Jpeg image crashes gstreamer - * 344923 : New SunAudio source plugin, and mixer now supports stereo... - * 345301 : [PATCH] gst-plugins-good rtsp for Windows - * 346921 : gstmultiudpsink multicast support is broken - * 344136 : More accurate list of plugins which will/will not be buil... - -Changes since 0.10.2: - - * Annodex/CMML support - * RTSP and RTP enhancements - * HAL configured audio device support - * FLAC, Matroska, AVI, WAV, ID3, APE, DV and JPEG plugin improvements - * Recognise SSA/ASS and USF subtitles in Matroska files - * Fixes for ESD and SunAudio output plugins - * More uniform plugin descriptions - * IceCast metadata reading plugin added - * New plugins ported from 0.8: OSX audio, AVI muxer, X-Windows input, - WAV encoder, Gdk-Pixbuf image decoder, Smoke decoder, - Video colour balance - * Lots of bug fixes - -Bugs fixed since 0.10.2: - - * 335067 : RTSP src not working with WMServer servers - * 333657 : Replacing icy demuxing in gnomevfssrc - * 329106 : HAL sound device wrapper plugins - * 337749 : totem (gstreamer) crashes when playing an avi file - * 330885 : avidemux does not handle eos at end of seek-region - * 337364 : faulty GObject macros - * 337625 : [patch] Streaming support for wavparse - * 150363 : [pngdec] doesn't handle grayscale or paletted - * 154744 : Time slider does not work with avi videos from Cannon SD100 - * 161712 : [auparse] .au files don't play in playbin - * 313266 : [wavparse] will not play DTS stream in malformed WAV - * 319183 : rtspsrc filter sometimes uses an odd port for rtp - * 319986 : annodex decoding and encoding support - * 323721 : [id3demux] read in replaygain information from RVA2 frame... - * 323880 : " Seek in ready " for dvdemux - * 325191 : problem with auparse or mulawdec, choppy esd playback - * 326160 : videobalance not ported to new GstVideoFilter - * 327658 : " Seek in ready " support for wavparse plugin - * 328327 : gst-plugins-good fail to compile with gcc 4.1 - * 329107 : Profile support for gconfaudiosink - * 330239 : Crash playing any song from a particular album over rhyth... - * 330678 : Unable to play .fli files - * 331253 : Critical warnings when using cddacdiosrc - * 331368 : Gstreamer doesn't recognise tags - * 331385 : [alpha] state change function returns a constant - * 331672 : Another file that gstreamer can't read the tags on - * 331905 : [jpeg] smokedec not ported - * 331917 : [pngdec] does not support files with png streams - * 332031 : [PATCH] avimux ported to 0.10 - * 332547 : [wavparse] does not support multichannel wavs - * 333070 : [id3demux] reads unicode tags incorrectly where .8 did it... - * 333302 : [apedemux] some WavPack files with APE tags fail to play ... - * 333392 : [sunaudio] unused variables break CVS build with -Werror - * 333512 : [PATCH] Fix gst_pad_new_from_template (gst_static_pad_tem... - * 333624 : invalid get_times implementation in gstdynudpsink - * 333784 : [patch] unref the result of gst_pad_get_parent - * 334083 : [jpegdec] wrong durations set on buffers after seeking in... - * 334522 : avi of mpeg4 video and adpcm audio from digital camera re... - * 334732 : [id3demux] mp3 fails to play because typefinding thinks i... - * 334995 : [goom] zoom filter leaked - * 335231 : [wavparse] incorrect way to calculate seek position with ... - * 335755 : rhythmbox import crasher - png? - * 335858 : Video playback out of sync - * 335958 : [speexenc] doesn't work - * 336110 : move taglib-based ID3 muxer to -good - * 336602 : plugins need better/univied descriptions - * 336756 : move ximagesrc to gst-plugins-good - * 336889 : [avidemux] index creation might fail with some non-indexe... - * 336904 : Problem playing some AVI file when splitting large chunks... - * 337033 : [speex] can't seek in speex-encoded audio - * 337183 : [matroska] " caps not real subset " when playing audio files - * 337294 : AVI files downloaded from vidoe.google.com won't play - * 337421 : [sunaudiosink] some fixes - * 337609 : [flacdec] can't play .flac files where header says total_... - * 338290 : [flacdec] segment seek not supported - * 338713 : [id3demux] TCO genre tags (id3v2.2) don't get read by gst... - * 338715 : [shout2send] fix crash on error and tags received before ... - * 338716 : [wavenc] " not negotiated " error with CVS core - * 338810 : [matroskademux] blocks on segmenting seek (and other seek... - * 339446 : [matroska] can't play file if details come before type in... - * 339451 : [matroska] enhancement for VfW compatibility cases - * 339678 : [matroskamux] wrong timestamps of B-frames - * 340346 : [matroskamux] blocks upon muxing video and vorbis-audio - * 319884 : rtpamrdec discards non-transmitted frames - -Changes since 0.10.1: - * New libcdio based CDDA reading element - * APE tag reader ported - * ID3 tag reading fixes - * Sun Audio Sink fixes - * GOOM and gconf element fixes - * lots of bug and leak fixes - -Bugs fixed since 0.10.1: - * 328336 : silence warings which make dvdec / dvdemux unusable - * 315557 : Internal event problem with MP3s from vgmix.com - * 323327 : [cdio] port cddasrc to 0.10 - * 325148 : Bugs in G711 RTP packetization logic - * 325649 : apetag plugin needs porting to 0.10 - * 326446 : check that all elements in -good pass queries they can't ... - * 326602 : id3demux is not compiling without ZLIB - * 326683 : build problem caused by AS_LIBTOOL_TAGS([CXX]) - * 326736 : gconf(audio|video)sink response to key changes - * 326864 : [wavparse] time to bytes format conversion broken - * 327009 : [esdsink] won't compile with includes in non-standard prefix - * 327765 : [sunaudio] fixes for mixer and stuttering mp3 playback - * 327825 : [matroskamux] Matroska muxer deadlock - * 327871 : [videobox] crash when cropping - * 328241 : id3demux emits NULL date for year tags - * 328264 : Fix build with gcc 2.95 - * 328531 : [matroskamux] doesn't send newsegment event, critical war... - * 329181 : totem crash when using goom effect - * 329810 : Fails to read ID3 tag - * 330005 : Please use the autodetect sinks by default - * 317658 : [cdio] support for cd-text and cd-g - -Changes since 0.10.0: - - * new id3 demuxer (replaces the mad one in gst-plugins-ugly) - * memleak fixes in avidemux, wavparse, level, smoke - * ports of multipart, - * fixes in flacdec, flxdec, rtp - * documentation updates on videomixer - * added new sunaudiosink, gconfaudiosrc and gconfvideosrc elements - -Bugs fixed since 0.10.0: - - * 321269 : add sunaudio to 0.9 - * 322769 : The ID3 tag of this file is a segfaulter - * 323021 : sockfd property to udpsrc/dynudpsink elements - * 322975 : erroneous audio specs in flac plugin - * 323226 : block/crash on id3 v2 tags when using big blocksize - * 323717 : < netinet/in.h > inclusion necessary on some systems - * 323718 : [oss] does not build on OpenBSD 3.8 because of hardcoded ... - * 323896 : pngdec/videomixer negotation problem in 0.10 - * 324011 : Invalid payload type definition for some rtp payloaders - * 324012 : Invalid caps on rtpspeexpay element - * 325504 : [flacdec] gst_flac_dec_convert_src [mis]uses g_assert - * 325974 : [gst0.10] doesn't correctly gets the tags on a mp3 - * 326612 : Serious memory leak in level plugin - * 326618 : memleak fix in smokeenc - -API added since 0.10.0: - - * device-name property on ossmixer subclasses - * GstUDPSrc::sockfd property - -Changes since 0.9.6: - - * Parallel installability with 0.8.x series - * Threadsafe design and API - * effectv elements ported - * videoflip updated - * multipart ported - * dv seeking fixed - * rtp elements renamed - -Bugs fixed since 0.9.6: - - * 322377 : udpsrc leaks sockets - * 322643 : Incorrect matroska frame default duration - * 322645 : Matroska muxer: wrong pixel aspect ratio - * 322667 : [jpegenc] leaks input buffer - * 322794 : udp plugin linked against gstnet instead of gstnetbuffer - -Changes since 0.9.5: - - * added speex RTP payloader/depayloader - * ported cutter - * fractional framerates - * more video filters now use BaseTransform - -Bugs fixed since 0.9.5: - - * 319184 : rtspsrc: invalid read in sdp_message_parse_buffer () - * 321001 : [matroskademux] should seek to nearest preceding index en... - * 321430 : goom fails to register on amd64 - -Changes since 0.9.4: - - * matroskamux fixes - * wavenc fixes - * cairotextoverlay ported - -Bugs fixed since 0.9.4: - - * 315194 : Licence information inconsistency of gst-plugins-good/gst... - * 319731 : [matroska] SimpleBlock support for muxer and demuxer - * 320308 : [matroska] set timestamps for buffers with ebml elements - * 320920 : [osssink] tries to reuse a bad file descriptor - * 321136 : [matroska-mux] avoid reading from unref'ed buffer - -Changes since 0.9.3: - - * DV/Firewire fixes - * speexenc, cairotimeoverlay, matroska, pngdec, flxdec, videomixer, - alphacolor ported - -Bugs fixed since 0.9.3: - - * 316204 : MinGW compilation: smtpe plugin has undefined symbols fro... - * 316205 : Debug category for wavenc is not defined - * 318847 : Matroska muxer port to 0.9 - -Changes since 0.9.1: - - * Parallel installability with 0.8.x series - * Threadsafe design and API - -Bugs fixed since 0.9.1: - - * 316202 : MinGW compilation: undefined autoconf macro GST_DOC - * 317338 : [osssink] can't handle mono +i# GStreamer 1.12 Release Notes + +GStreamer 1.12.0 was originally released on 4th May 2017. +The latest bug-fix release in the 1.12 series is [1.12.2](#1.12.2) and was +released on 14 July 2017. + +The GStreamer team is proud to announce a new major feature release in the +stable 1.x API series of your favourite cross-platform multimedia framework! + +As always, this release is again packed with new features, bug fixes and other +improvements. + +See [https://gstreamer.freedesktop.org/releases/1.12/][latest] for the latest +version of this document. + +*Last updated: Friday 14 July 2017, 10:00 UTC [(log)][gitlog]* + +[latest]: https://gstreamer.freedesktop.org/releases/1.12/ +[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.12/release-notes-1.12.md + +## 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 new features, bug fixes and other +improvements. + +## Highlights + +- new `msdk` plugin for Intel's Media SDK for hardware-accelerated video + encoding and decoding on Intel graphics hardware on Windows or Linux. + +- `x264enc` can now use multiple x264 library versions compiled for different + bit depths at runtime, to transparently provide support for multiple bit + depths. + +- `videoscale` and `videoconvert` now support multi-threaded scaling and + conversion, which is particularly useful with higher resolution video. + +- `h264parse` will now automatically insert AU delimiters if needed when + outputting byte-stream format, which improves standard compliance and + is needed in particular for HLS playback on iOS/macOS. + +- `rtpbin` has acquired bundle support for incoming streams + +## Major new features and changes + +### Noteworthy new API + +- The video library gained support for a number of new video formats: + + - `GBR_12LE`, `GBR_12BE`, `GBRA_12LE`, `GBRA_12BE` (planar 4:4:4 RGB/RGBA, 12 bits per channel) + - `GBRA_10LE`, `GBRA_10BE` (planar 4:4:4:4 RGBA, 10 bits per channel) + - `GBRA` (planar 4:4:4:4 ARGB, 8 bits per channel) + - `I420_12BE`, `I420_12LE` (planar 4:2:0 YUV, 12 bits per channel) + - `I422_12BE`,`I422_12LE` (planar 4:2:2 YUV, 12 bits per channel) + - `Y444_12BE`, `Y444_12LE` (planar 4:4:4 YUV, 12 bits per channel) + - `VYUY` (another packed 4:2:2 YUV format) + +- The high-level `GstPlayer` API was extended with functions for taking video + snapshots and enabling accurate seeking. It can optionally also use the + still-experimental `playbin3` element now. + +### New Elements + +- msdk: new plugin for Intel's Media SDK for hardware-accelerated video encoding + and decoding on Intel graphics hardware on Windows or Linux. This includes + an H.264 encoder/decoder (`msdkh264dec`, `msdkh264enc`), + an H.265 encoder/decoder (`msdkh265dec`, `msdkh265enc`), + an MJPEG encoder/encoder (`msdkmjpegdec`, `msdkmjpegenc`), + an MPEG-2 video encoder (`msdkmpeg2enc`) and a VP8 encoder (`msdkvp8enc`). + +- `iqa` is a new Image Quality Assessment plugin based on [DSSIM][dssim], + similar to the old (unported) videomeasure element. + +- The `faceoverlay` element, which allows you to overlay SVG graphics over + a detected face in a video stream, has been ported from 0.10. + +- our `ffmpeg` wrapper plugin now exposes/maps the ffmpeg Opus audio decoder + (`avdec_opus`) as well as the GoPro CineForm HD / CFHD decoder (`avdec_cfhd`), + and also a parser/writer for the IVF format (`avdemux_ivf` and `avmux_ivf`). + +- `audiobuffersplit` is a new element that splits raw audio buffers into + equal-sized buffers + +- `audiomixmatrix` is a new element that mixes N:M audio channels according to + a configured mix matrix. + +- The `timecodewait` element got renamed to `avwait` and can operate in + different modes now. + +- The `opencv` video processing plugin has gained a new `dewarp` element that + dewarps fisheye images. + +- `ttml` is a new plugin for parsing and rendering subtitles in Timed Text + Markup Language (TTML) format. For the time being these elements will not + be autoplugged during media playback however, unless the `GST_TTML_AUTOPLUG=1` + environment variable is set. Only the EBU-TT-D profile is supported at this + point. + +[dssim]: https://github.com/pornel/dssim + +### New element features and additions + +- `x264enc` can now use multiple x264 library versions compiled for different + bit depths at runtime, to transparently provide support for multiple bit + depths. A new configure parameter `--with-x264-libraries` has been added to + specify additional paths to look for additional x264 libraries to load. + Background is that the libx264 library is always compile for one specific + bit depth and the `x264enc` element would simply support the depth supported + by the underlying library. Now we can support multiple depths. + +- `x264enc` also picks up the interlacing mode automatically from the input + caps now and passed interlacing/TFF information correctly to the library. + +- `videoscale` and `videoconvert` now support multi-threaded scaling and + conversion, which is particularly useful with higher resolution video. + This has to be enabled explicitly via the `"n-threads"` property. + +- `videorate`'s new `"rate"` property lets you set a speed factor + on the output stream + +- `splitmuxsink`'s buffer collection and scheduling was rewritten to make + processing and splitting deterministic; before it was possible for a buffer + to end up in a different file chunk in different runs. `splitmuxsink` also + gained a new `"format-location-full"` signal that works just like the existing + `"format-location"` signal only that it is also passed the primary stream's + first buffer as argument, so that it is possible to construct the file name + based on metadata such as the buffer timestamp or any GstMeta attached to + the buffer. The new `"max-size-timecode"` property allows for timecode-based + splitting. `splitmuxsink` will now also automatically start a new file if the + input caps change in an incompatible way. + +- `fakesink` has a new `"drop-out-of-segment"` property to not drop + out-of-segment buffers, which is useful for debugging purposes. + +- `identity` gained a `"ts-offset"` property. + +- both `fakesink` and `identity` now also print what kind of metas are attached + to buffers when printing buffer details via the `"last-message"` property + used by `gst-launch-1.0 -v`. + +- multiqueue: made `"min-interleave-time"` a configurable property. + +- video nerds will be thrilled to know that `videotestsrc`'s snow is now + deterministic. `videotestsrc` also gained some new properties to make the + ball pattern based on system time, and invert colours each second + (`"animation-mode"`, `"motion"`, and `"flip"` properties). + +- `oggdemux` reverse playback should work again now. You're welcome. + +- `playbin3` and `urisourcebin` now have buffering enabled by default, and + buffering message aggregation was fixed. + +- `tcpclientsrc` now has a `"timeout"` property + +- `appsink` has gained support for buffer lists. For backwards compatibility + reasons users need to enable this explicitly with `gst_app_sink_set_buffer_list_support()`, + however. Once activated, a pulled `GstSample` can contain either a buffer + list or a single buffer. + +- `splitmuxsrc` reverse playback was fixed and handling of sparse streams, such + as subtitle tracks or metadata tracks, was improved. + +- `matroskamux` has acquired support for muxing G722 audio; it also marks all + buffers as keyframes now when streaming only audio, so that `tcpserversink` + will behave properly with audio-only streams. + +- `qtmux` gained support for ProRes 4444 XQ, HEVC/H.265 and CineForm (GoPro) formats, + and generally writes more video stream-related metadata into the track headers. + It is also allows configuration of the maximum interleave size in bytes and + time now. For fragmented mp4 we always write the `tfdt` atom now as required + by the DASH spec. + +- `qtdemux` supports FLAC, xvid, mp2, S16L and CineForm (GoPro) tracks now, and + generally tries harder to extract more video-related information from track + headers, such as colorimetry or interlacing details. It also received a + couple of fixes for the scenario where upstream operates in TIME format and + feeds chunks to qtdemux (e.g. DASH or MSE). + +- `audioecho` has two new properties to apply a delay only to certain channels + to create a surround effect, rather than an echo on all channels. This is + useful when upmixing from stereo, for example. The `"surround-delay"` property + enables this, and the `"surround-mask"` property controls which channels + are considered surround sound channels in this case. + +- `webrtcdsp` gained various new properties for gain control and also exposes + voice activity detection now, in which case it will post `"voice-activity"` + messages on the bus whenever the voice detection status changes. + +- The `decklink` capture elements for Blackmagic Decklink cards have seen a + number of improvements: + + - `decklinkvideosrc` will post a warning message on "no signal" and an info + message when the signal lock has been (re)acquired. There is also a new + read-only `"signal"` property that can be used to query the signal lock + status. The `GAP` flag will be set on buffers that are captured without + a signal lock. The new `drop-no-signal-frames` will make `decklinkvideosrc` + drop all buffers that have been captured without an input signal. The + `"skip-first-time"` property will make the source drop the first few + buffers, which is handy since some devices will at first output buffers + with the wrong resolution before they manage to figure out the right input + format and decide on the actual output caps. + + - `decklinkaudiosrc` supports more than just 2 audio channels now. + + - The capture sources no longer use the "hardware" timestamps which turn + out to be useless and instead just use the pipeline clock directly. + +- `srtpdec` now also has a readonly `"stats"` property, just like `srtpenc`. + +- `rtpbin` gained RTP bundle support, as used by e.g. WebRTC. The first + rtpsession will have a `rtpssrcdemux` element inside splitting the streams + based on their SSRC and potentially dispatch to a different rtpsession. + Because retransmission SSRCs need to be merged with the corresponding media + stream the `::on-bundled-ssrc` signal is emitted on `rtpbin` so that the + application can find out to which session the SSRC belongs. + +- `rtprtxqueue` gained two new properties exposing retransmission + statistics (`"requests"` and `"fulfilled-requests"`) + +- `kmssink` will now use the preferred mode for the monitor and render to the + base plane if nothing else has set a mode yet. This can also be done forcibly + in any case via the new `"force-modesetting"` property. Furthermore, `kmssink` + now allows only the supported connector resolutions as input caps in order to + avoid scaling or positioning of the input stream, as `kmssink` can't know + whether scaling or positioning would be more appropriate for the use case at + hand. + +- `waylandsink` can now take DMAbuf buffers as input in the presence + of a compatible Wayland compositor. This enables zero-copy transfer + from a decoder or source that outputs DMAbuf. It will also set surface + opacity hint to allow better rendering optimization in the compositor. + +- `udpsrc` can be bound to more than one interface when joining a + multicast group, this is done by giving a comma separate list of + interfaces such as multicast-iface="eth0,eth1". + +### Plugin moves + +- `dataurisrc` moved from gst-plugins-bad to core + +- The `rawparse` plugin containing the `rawaudioparse` and `rawvideoparse` + elements moved from gst-plugins-bad to gst-plugins-base. These elements + supersede the old `videoparse` and `audioparse` elements. They work the + same, with just some minor API changes. The old legacy elements still + exist in gst-plugins-bad, but may be removed at some point in the future. + +- `timecodestamper` is an element that attaches time codes to video buffers + in form of `GstVideoTimeCodeMeta`s. It had a `"clock-source"` property + which has now been removed because it was fairly useless in practice. It + gained some new properties however: the `"first-timecode"` property can + be used to set the inital timecode; alternatively `"first-timecode-to-now"` + can be set, and then the current system time at the time the first buffer + arrives is used as base time for the time codes. + + +### Plugin removals + +- The `mad` mp1/mp2/mp3 decoder plugin was removed from gst-plugins-ugly, + as libmad is GPL licensed, has been unmaintained for a very long time, and + there are better alternatives available. Use the `mpg123audiodec` element + from the `mpg123` plugin in gst-plugins-ugly instead, or `avdec_mp3` from + the `gst-libav` module which wraps the ffmpeg library. We expect that we + will be able to move mp3 decoding to gst-plugins-good in the next cycle + seeing that most patents around mp3 have expired recently or are about to + expire. + +- The `mimic` plugin was removed from gst-plugins-bad. It contained a decoder + and encoder for a video codec used by MSN messenger many many years ago (in + a galaxy far far away). The underlying library is unmaintained and no one + really needs to use this codec any more. Recorded videos can still be played + back with the MIMIC decoder in gst-libav. + +## Miscellaneous API additions + +- Request pad name templates passed to `gst_element_request_pad()` may now + contain multiple specifiers, such as e.g. `src_%u_%u`. + +- [`gst_buffer_iterate_meta_filtered()`][buffer-iterate-meta-filtered] is a + variant of `gst_buffer_iterate_meta()` that only returns metas of the + requested type and skips all other metas. + +- [`gst_pad_task_get_state()`][pad-task-get-state] gets the current state of + a task in a thread-safe way. + +- [`gst_uri_get_media_fragment_table()`][uri-get-fragment-table] provides the + media fragments of an URI as a table of key=value pairs. + +- [`gst_print()`][print], [`gst_println()`][println], [`gst_printerr()`][printerr], + and [`gst_printerrln()`][printerrln] can be used to print to stdout or stderr. + These functions are similar to `g_print()` and `g_printerr()` but they also + support all the additional format specifiers provided by the GStreamer + logging system, such as e.g. `GST_PTR_FORMAT`. + +- a `GstParamSpecArray` has been added, for elements who want to have array + type properties, such as the `audiomixmatrix` element for example. There are + also two new functions to set and get properties of this type from bindings: + - gst_util_set_object_array() + - gst_util_get_object_array() + +- various helper functions have been added to make it easier to set or get + GstStructure fields containing caps-style array or list fields from language + bindings (which usually support GValueArray but don't know about the GStreamer + specific fundamental types): + - [`gst_structure_get_array()`][get-array] + - [`gst_structure_set_array()`][set-array] + - [`gst_structure_get_list()`][get-list] + - [`gst_structure_set_list()`][set-list] + +- a new ['dynamic type' registry factory type][dynamic-type] was added to + register dynamically loadable GType types. This is useful for automatically + loading enum/flags types that are used in caps, such as for example the + `GstVideoMultiviewFlagsSet` type used in multiview video caps. + +- there is a new [`GstProxyControlBinding`][proxy-control-binding] for use + with GstController. This allows proxying the control interface from one + property on one GstObject to another property (of the same type) in another + GstObject. So e.g. in parent-child relationship, one may need to call + `gst_object_sync_values()` on the child and have a binding (set elsewhere) + on the parent update the value. This is used in `glvideomixer` and `glsinkbin` + for example, where `sync_values()` on the child pad or element will call + `sync_values()` on the exposed bin pad or element. + + Note that this doesn't solve GObject property forwarding, that must + be taken care of by the implementation manually or using GBinding. + +- `gst_base_parse_drain()` has been made public for subclasses to use. + +- `gst_base_sink_set_drop_out_of_segment()' can be used by subclasses to + prevent GstBaseSink from dropping buffers that fall outside of the segment. + +- [`gst_calculate_linear_regression()`][calc-lin-regression] is a new utility + function to calculate a linear regression. + +- [`gst_debug_get_stack_trace`][get-stack-trace] is an easy way to retrieve a + stack trace, which can be useful in tracer plugins. + +- allocators: the dmabuf allocator is now sub-classable, and there is a new + `GST_CAPS_FEATURE_MEMORY_DMABUF` define. + +- video decoder subclasses can use the newly-added function + `gst_video_decoder_allocate_output_frame_with_params()` to + pass a `GstBufferPoolAcquireParams` to the buffer pool for + each buffer allocation. + +- the video time code API has gained a dedicated [`GstVideoTimeCodeInterval`][timecode-interval] + type plus related API, including functions to add intervals to timecodes. + +- There is a new `libgstbadallocators-1.0` library in gst-plugins-bad, which + may go away again in future releases once the `GstPhysMemoryAllocator` + interface API has been validated by more users and was moved to + `libgstallocators-1.0` from gst-plugins-base. + +[timecode-interval]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#gst-video-time-code-interval-new +[buffer-iterate-meta-filtered]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#gst-buffer-iterate-meta-filtered +[pad-task-get-state]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-task-get-state +[uri-get-fragment-table]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUri.html#gst-uri-get-media-fragment-table +[print]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-print +[println]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-println +[printerr]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-printerr +[printerrln]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-printerrln +[get-array]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html#gst-structure-get-array +[set-array]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html#gst-structure-set-array +[get-list]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html#gst-structure-get-list +[set-list]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html#gst-structure-set-list +[dynamic-type]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstDynamicTypeFactory.html +[proxy-control-binding]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/gstreamer-libs-GstProxyControlBinding.html +[calc-lin-regression]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUtils.html#gst-calculate-linear-regression +[get-stack-trace]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUtils.html#gst-debug-get-stack-trace + +### GstPlayer + +New API has been added to: + + - get the number of audio/video/subtitle streams: + - `gst_player_media_info_get_number_of_streams()` + - `gst_player_media_info_get_number_of_video_streams()` + - `gst_player_media_info_get_number_of_audio_streams()` + - `gst_player_media_info_get_number_of_subtitle_streams()` + + - enable accurate seeking: `gst_player_config_set_seek_accurate()` + and `gst_player_config_get_seek_accurate()` + + - get a snapshot image of the video in RGBx, BGRx, JPEG, PNG or + native format: [`gst_player_get_video_snapshot()`][snapshot] + + - selecting use of a specific video sink element + ([`gst_player_video_overlay_video_renderer_new_with_sink()`][renderer-with-vsink]) + + - If the environment variable `GST_PLAYER_USE_PLAYBIN3` is set, GstPlayer will + use the still-experimental `playbin3` element and the `GstStreams` API for + playback. + +[snapshot]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstplayer.html#gst-player-get-video-snapshot +[renderer-with-vsink]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html#gst-player-video-overlay-video-renderer-new-with-sink + +## Miscellaneous changes + +- video caps for interlaced video may contain an optional `"field-order"` field + now in the case of `interlaced-mode=interleaved` to signal that the field + order is always the same throughout the stream. This is useful to signal to + muxers such as mp4mux. The new field is parsed from/to `GstVideoInfo` of course. + +- video decoder and video encoder base classes try harder to proxy + interlacing, colorimetry and chroma-site related fields in caps properly. + +- The buffer stored in the `PROTECTION` events is now left unchanged. This is a + change of behaviour since 1.8, especially for the mssdemux element which used to + decode the base64 parsed data wrapped in the protection events emitted by the + demuxer. + +- `PROTECTION` events can now be injected into the pipeline from the application; + source elements deriving from GstBaseSrc will forward those downstream now. + +- The DASH demuxer is now correctly parsing the MSPR-2.0 ContentProtection nodes + and emits Protection events accordingly. Applications relying on those events + might need to decode the base64 data stored in the event buffer before using it. + +- The registry can now also be disabled by setting the environment variable + `GST_REGISTRY_DISABLE=yes`, with similar effect as the `GST_DISABLE_REGISTRY` + compile time switch. + +- Seeking performance with gstreamer-vaapi based decoders was improved. It would + recreate the decoder and surfaces on every seek which can be quite slow. + +- more robust handling of input caps changes in videoaggregator-based elements + such as `compositor`. + +- Lots of adaptive streaming-related fixes across the board (DASH, MSS, HLS). Also: + + - `mssdemux`, the Microsoft Smooth Streaming demuxer, has seen various + fixes for live streams, duration reporting and seeking. + + - The DASH manifest parser now extracts MS PlayReady ContentProtection objects + from manifests and sends them downstream as `PROTECTION` events. It also + supports multiple Period elements in external xml now. + +- gst-libav was updated to ffmpeg 3.3 but should still work with any 3.x + version. + +- GstEncodingProfile has been generally enhanced so it can, for + example, be used to get possible profiles for a given file + extension. It is now possible to define profiles based on element + factory names or using a path to a `.gep` file containing a + serialized profile. + +- `audioconvert` can now do endianness conversion in-place. All other + conversions still require a copy, but e.g. sign conversion and a few others + could also be implemented in-place now. + +- The new, experimental `playbin3` and `urisourcebin` elements got many + bugfixes and improvements and should generally be closer to a full + replacement of the old elements. + +- `interleave` now supports > 64 channels. + +- OpenCV elements, `grabcut` and `retinex` has been ported to use + `GstOpencvVideoFilter` base class, increasing code reuse and fixing buffer + map/unmap issues. Redundant copie of images has been removed in `edgedetect`, + `cvlaplace` and `cvsobel`. This comes with various cleanup and Meson support. + +### OpenGL integration + +- As usual the GStreamer OpenGL integration library has seen numerous + fixes and performance improvements all over the place, and is hopefully + ready now to become API stable and be moved to gst-plugins-base during the + 1.14 release cycle. + +- The GStreamer OpenGL integration layer has also gained support for the + Vivante EGL FB windowing system, which improves performance on platforms + such as Freescale iMX.6 for those who are stuck with the proprietary driver. + The `qmlglsink` element also supports this now if Qt is used with eglfs or + wayland backend, and it works in conjunction with [gstreamer-imx][gstreamer-imx] + of course. + +- various `qmlglsrc` improvements + +[gstreamer-imx]: https://github.com/Freescale/gstreamer-imx + +## Tracing framework and debugging improvements + +- New tracing hooks have been added to track GstMiniObject and GstObject + ref/unref operations. + +- The memory leaks tracer can optionally use this to retrieve stack traces if + enabled with e.g. `GST_TRACERS=leaks(filters="GstEvent,GstMessage",stack-traces-flags=full)` + +- The `GST_DEBUG_FILE` environment variable, which can be used to write the + debug log output to a file instead of printing it to stderr, can now contain + a name pattern, which is useful for automated testing and continuous + integration systems. The following format specifiers are supported: + + - `%p`: will be replaced with the PID + - `%r`: will be replaced with a random number, which is useful for instance + when running two processes with the same PID but in different containers. + +## Tools + +- `gst-inspect-1.0` can now list elements by type with the new `--types` + command-line option, e.g. `gst-inspect-1.0 --types=Audio/Encoder` will + show a list of audio encoders. + +- `gst-launch-1.0` and `gst_parse_launch()` have gained a new operator (`:`) + that allows linking all pads between two elements. This is useful in cases + where the exact number of pads or type of pads is not known beforehand, such + as in the `uridecodebin : encodebin` scenario, for example. In this case, + multiple links will be created if the encodebin has multiple profiles + compatible with the output of uridecodebin. + +- `gst-device-monitor-1.0` now shows a `gst-launch-1.0` snippet for each + device that shows how to make use of it in a `gst-launch-1.0` pipeline string. + +## GStreamer RTSP server + +- The RTSP server now also supports Digest authentication in addition to Basic + authentication. + +- The `GstRTSPClient` class has gained a `pre-*-request` signal and virtual + method for each client request type, emitted in the beginning of each rtsp + request. These signals or virtual methods let the application validate the + requests, configure the media/stream in a certain way and also generate error + status codes in case of an error or a bad request. + +## GStreamer VAAPI + +- GstVaapiDisplay now inherits from GstObject, thus the VA display logging + messages are better and tracing the context sharing is more readable. + +- When uploading raw images into a VA surfaces now VADeriveImages are tried + fist, improving the upload performance, if it is possible. + +- The decoders and the post-processor now can push dmabuf-based buffers to + downstream under certain conditions. For example: + + `GST_GL_PLATFORM=egl gst-play-1.0 video-sample.mkv --videosink=glimagesink` + +- Refactored the wrapping of VA surface into gstreamer memory, adding lock + when mapping and unmapping, and many other fixes. + +- Now `vaapidecodebin` loads `vaapipostproc` dynamically. It is possible to + avoid it usage with the environment variable `GST_VAAPI_DISABLE_VPP=1`. + +- Regarding encoders: they have primary rank again, since they can discover, + in run-time, the color formats they can use for upstream raw buffers and + caps renegotiation is now possible. Also the encoders push encoding info + downstream via tags. + +- About specific encoders: added constant bit-rate encoding mode for VP8 and + H265 encoder handles P010_10LE color format. + +- Regarding decoders, flush operation has been improved, now the internal VA + encoder is not recreated at each flush. Also there are several improvements + in the handling of H264 and H265 streams. + +- VAAPI plugins try to create their on GstGL context (when available) if they + cannot find it in the pipeline, to figure out what type of VA Display they + should create. + +- Regarding `vaapisink` for X11, if the backend reports that it is unable to + render correctly the current color format, an internal VA post-processor, is + instantiated (if available) and converts the color format. + +## GStreamer Editing Services and NLE + +- Enhanced auto transition behaviour + +- Fix some races in `nlecomposition` + +- Allow building with msvc + +- Added a UNIX manpage for `ges-launch` + +- API changes: + - Added ges_deinit (allowing the leak tracer to work properly) + - Added ges_layer_get_clips_in_interval + - Finally hide internal symbols that should never have been exposed + +## GStreamer validate + +- Port `gst-validate-launcher` to python 3 + +- `gst-validate-launcher` now checks if blacklisted bugs have been fixed on + bugzilla and errors out if it is the case + +- Allow building with msvc + +- Add ability for the launcher to run GStreamer unit tests + +- Added a way to activate the leaks tracer on our tests and fix leaks + +- Make the http server multithreaded + +- New testsuite for running various test scenarios on the DASH-IF test vectors + +## GStreamer Python Bindings + +- Overrides has been added for IntRange, Int64Range, DoubleRange, + FractionRange, Array and List. This finally enables Python programmers + to fully read and write GstCaps objects. + +## Build and Dependencies + +- Meson build files are now disted in tarballs, for jhbuild and so distro + packagers can start using it. Note that the Meson-based build system is not + 100% feature-equivalent with the autotools-based one yet. + +- Some plugin filenames have been changed to match the plugin names: for example + the file name of the `encoding` plugin in gst-plugins-base containing the + `encodebin` element was `libgstencodebin.so` and has been changed to + `libgstencoding.so`. This affects only a handful of plugins across modules. + + **Developers who install GStreamer from source and just do `make install`** + **after updating the source code, without doing `make uninstall` first, will** + **have to manually remove the old installed plugin files from the installation** + **prefix, or they will get 'Cannot register existing type' critical warnings.** + +- Most of the docbook-based documentation (FAQ, Application Development Manual, + Plugin Writer's Guide, design documents) has been converted to markdown and + moved into a new gst-docs module. The gtk-doc library API references and + the plugins documentation are still built as part of the source modules though. + +- GStreamer core now optionally uses libunwind and libdw to generate backtraces. + This is useful for tracer plugins used during debugging and development. + +- There is a new `libgstbadallocators-1.0` library in gst-plugins-bad (which + may go away again in future releases once the `GstPhysMemoryAllocator` + interface API has been validated by more users). + +- `gst-omx` and `gstreamer-vaapi` modules can now also be built using the + Meson build system. + +- The `qtkitvideosrc` element for macOS was removed. The API is deprecated + since 10.9 and it wasn't shipped in the binaries since a few releases. + +## Platform-specific improvements + +### Android + +- androidmedia: add support for VP9 video decoding/encoding and Opus audio + decoding (where supported) + +### OS/X and iOS + +- `avfvideosrc`, which represents an iPhone camera or, on a Mac, a screencapture + session, so far allowed you to select an input device by device index only. + New API adds the ability to select the position (front or back facing) and + device-type (wide angle, telephoto, etc.). Furthermore, you can now also + specify the orientation (portrait, landscape, etc.) of the videostream. + +### Windows + +- `dx9screencapsrc` can now optionally also capture the cursor. + +## Contributors + +Aleix Conchillo Flaque, Alejandro G. Castro, Aleksandr Slobodeniuk, Alexandru +Băluț, Alex Ashley, Andre McCurdy, Andrew, Anton Eliasson, Antonio Ospite, +Arnaud Vrac, Arun Raghavan, Aurélien Zanelli, Axel Menzel, Benjamin Otte, +Branko Subasic, Brendan Shanks, Carl Karsten, Carlos Rafael Giani, ChangBok +Chae, Chris Bass, Christian Schaller, christophecvr, Claudio Saavedra, +Corentin Noël, Dag Gullberg, Daniel Garbanzo, Daniel Shahaf, David Evans, +David Schleef, David Warman, Dominique Leuenberger, Dongil Park, Douglas +Bagnall, Edgard Lima, Edward Hervey, Emeric Grange, Enrico Jorns, Enrique +Ocaña González, Evan Nemerson, Fabian Orccon, Fabien Dessenne, Fabrice Bellet, +Florent Thiéry, Florian Zwoch, Francisco Velazquez, Frédéric Dalleau, Garima +Gaur, Gaurav Gupta, George Kiagiadakis, Georg Lippitsch, Göran Jönsson, Graham +Leggett, Guillaume Desmottes, Gurkirpal Singh, Haihua Hu, Hanno Boeck, Havard +Graff, Heekyoung Seo, hoonhee.lee, Hyunjun Ko, Imre Eörs, Iñaki García +Etxebarria, Jagadish, Jagyum Koo, Jan Alexander Steffens (heftig), Jan +Schmidt, Jean-Christophe Trotin, Jochen Henneberg, Jonas Holmberg, Joris +Valette, Josep Torra, Juan Pablo Ugarte, Julien Isorce, Jürgen Sachs, Koop +Mast, Kseniia Vasilchuk, Lars Wendler, leigh123linux@googlemail.com, Luis de +Bethencourt, Lyon Wang, Marcin Kolny, Marinus Schraal, Mark Nauwelaerts, +Mathieu Duponchelle, Matthew Waters, Matt Staples, Michael Dutka, Michael +Olbrich, Michael Smith, Michael Tretter, Miguel París Díaz, namanyadav12, Neha +Arora, Nick Kallen, Nicola Murino, Nicolas Dechesne, Nicolas Dufresne, Nicolas +Huet, Nirbheek Chauhan, Ole André Vadla Ravnås, Olivier Crête, Patricia +Muscalu, Peter Korsgaard, Peter Seiderer, Petr Kulhavy, Philippe Normand, +Philippe Renon, Philipp Zabel, Rahul Bedarkar, Reynaldo H. Verdejo Pinochet, +Ricardo Ribalda Delgado, Rico Tzschichholz, Руслан Ижбулатов, Samuel Maroy, +Santiago Carot-Nemesio, Scott D Phillips, Sean DuBois, Sebastian Dröge, Sergey +Borovkov, Seungha Yang, shakin chou, Song Bing, Søren Juul, Sreerenj +Balachandran, Stefan Kost, Stefan Sauer, Stepan Salenikovich, Stian Selnes, +Stuart Weaver, suhas2go, Thiago Santos, Thibault Saunier, Thomas Bluemel, +Thomas Petazzoni, Tim-Philipp Müller, Ting-Wei Lan, Tobias Mueller, Todor +Tomov, Tomasz Zajac, Ulf Olsson, Ursula Maplehurst, Víctor Manuel Jáquez Leal, +Victor Toso, Vincent Penquerc'h, Vineeth TM, Vinod Kesti, Vitor Massaru Iha, +Vivia Nikolaidou, WeiChungChang, William Manley, Wim Taymans, Wojciech +Przybyl, Wonchul Lee, Xavier Claessens, Yasushi SHOJI + +... and many others who have contributed bug reports, translations, sent +suggestions or helped testing. + +## Bugs fixed in 1.12 + +More than [635 bugs][bugs-fixed-in-1.12] have been fixed during +the development of 1.12. + +This list does not include issues that have been cherry-picked into the +stable 1.10 branch and fixed there as well, all fixes that ended up in the +1.10 branch are also included in 1.12. + +This list also does not include issues that have been fixed without a bug +report in bugzilla, so the actual number of fixes is much higher. + +[bugs-fixed-in-1.12]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=213265&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.1&target_milestone=1.10.2&target_milestone=1.10.3&target_milestone=1.10.4&target_milestone=1.11.1&target_milestone=1.11.2&target_milestone=1.11.3&target_milestone=1.11.4&target_milestone=1.11.90&target_milestone=1.11.91&target_milestone=1.12.0 + +## Stable 1.12 branch + +After the 1.12.0 release there will be several 1.12.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.12.x bug-fix releases will be made from the git 1.12 branch, which +is a stable branch. + +### 1.12.0 + +1.12.0 was released on 4th May 2017. + + + +### 1.12.1 + +The first 1.12 bug-fix release (1.12.1) was released on 20 June 2017. +This release only contains bugfixes and it should be safe to update from 1.12.x. + +#### Major bugfixes in 1.12.1 + + - Various fixes for crashes, assertions, deadlocks and memory leaks + - Fix for regression when seeking to the end of ASF files + - Fix for regression in (raw)videoparse that caused it to omit video metadata + - Fix for regression in discoverer that made it show more streams than + actually available + - Numerous bugfixes to the adaptive demuxer base class and the DASH demuxer + - Various playbin3/urisourcebin related bugfixes + - Vivante DirectVIV (imx6) texture uploader works with single-plane (e.g. + RGB) video formats now + - Intel Media SDK encoder now outputs valid PTS and keyframe flags + - OpenJPEG2000 plugin can be loaded again on MacOS and correctly displays + 8 bit RGB images now + - Fixes to DirectSound source/sink for high CPU usage and wrong + latency/buffer size calculations + - gst-libav was updated to ffmpeg n3.3.2 + - ... and many, many more! + +For a full list of bugfixes see [Bugzilla][buglist-1.12.1]. Note that this is +not the full list of changes. For the full list of changes please refer to the +GIT logs or ChangeLogs of the particular modules. + +[buglist-1.12.1]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=225693&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.12.1 + + + +### 1.12.2 + +The second 1.12 bug-fix release (1.12.2) was released on 14 July 2017. +This release only contains bugfixes and it should be safe to update from 1.12.x. + +#### Major bugfixes in 1.12.2 + + - Various fixes for crashes, assertions, deadlocks and memory leaks + - Regression fix for playback of live HLS streams + - Regression fix for crash when playing back a tunneled RTSP stream + - Regression fix for playback of RLE animations in MOV containers + - Regression fix for RTP GSM payloading producing corrupted output + - Major bugfixes to the MXF demuxer, mostly related to seeking and + fixes to the frame reordering handling in the MXF muxer and demuxer + - Fix for playback of mono streams on MacOS + - More fixes for index handling of ASF containers + - Various fixes to adaptivedemux, DASH and HLS demuxers + - Fix deadlock in gstreamer-editing-services during class initialization + - ... and many, many more! + +For a full list of bugfixes see [Bugzilla][buglist-1.12.2]. Note that this is +not the full list of changes. For the full list of changes please refer to the +GIT logs or ChangeLogs of the particular modules. + +[buglist-1.12.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=225693&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.12.2 + +## Known Issues + +- The `webrtcdsp` element is currently not shipped as part of the Windows + binary packages due to a [build system issue][bug-770264]. + +[bug-770264]: https://bugzilla.gnome.org/show_bug.cgi?id=770264 + +## Schedule for 1.14 + +Our next major feature release will be 1.14, and 1.13 will be the unstable +development version leading up to the stable 1.14 release. The development +of 1.13/1.14 will happen in the git master branch. + +The plan for the 1.14 development cycle is yet to be confirmed, but it is +expected that feature freeze will be around September 2017 +followed by several 1.13 pre-releases and the new 1.14 stable release +in October. + +1.14 will be backwards-compatible to the stable 1.12, 1.10, 1.8, 1.6, 1.4, +1.2 and 1.0 release series. + +- - - + +*These release notes have been prepared by Olivier Crête, Sebastian Dröge, +Nicolas Dufresne, Víctor Manuel Jáquez Leal, Tim-Philipp Müller, Philippe +Normand and Thibault Saunier.* + +*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*