X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=98dc512e6aafede7faddab9906783b2f32fbff87;hb=ee3cf7366c1a1f9ce520edd71f2e7f1476297baf;hp=788cde7c6792644142e9c7ae5bb3bdf0b490c9f0;hpb=d0c5b86727b9b632ccfac5ceb5481fe7faf5fcab;p=platform%2Fupstream%2Fgstreamer.git diff --git a/NEWS b/NEWS index 788cde7..98dc512 100644 --- a/NEWS +++ b/NEWS @@ -1,1901 +1,1913 @@ -This is GStreamer Good Plug-ins 0.10.28, "Inconvenienced by the Solar System" - -Changes since 0.10.27: - - * Fix build issue with new kernels (with the old video4linux1 interface header removed) - -Bugs fixed since 0.10.27: - - * 643716 : v4l2src: fails to build with newer kernels: ./v4l2_calls.h:33: fatal error: linux/videodev.h: No such file or directory - -Changes since 0.10.26: - - * avidemux: add workaround for buggy list size; extract datetime tags - * cacasink: fix masks and strides - * deinterlace: change the default to linear - * deinterlace: avoid infinite loop draining - * deinterlace: rewrite/fix how neighboring scan lines are calculated - * flvdemux: use aac codec-data to adjust samplerate if needed - * flvmux: Fix for nellymoser codecid setting - * icydemux: Add 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag - * id3demux: fix parsing of ID3v2.4 genre frames with multiple genres - * imagefreeze: pass along eos if received before buffer arrives - * jpegdec: add "max-errors" property to ignore decoding errors - * jpegdec: avoid infinite loop when resyncing; discard incomplete image - * matroskademux: add stream-format and alignment properties for h264 - * matroskademux: assume matroska if no doctype is specified - * matroskademux: increase allowed max. block size for push mode from 10M to 15M - * matroskademux: normalize empty Cues to no Cues - * matroskamux: add support for DTS and E-AC3 audio - * matroskamux: try to write timestamps in all the outgoing buffers - * multifilesink: send stream headers in key-frame mode - * multiudpsink: add buffer-size property - * navseek: add basic support to change playback rate - * pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS - * pulsesink: flush remaining buffered samples on EOS - * pulsesink: make corking during pause synchronous; don't uncork in _start - * pulsesink: Uncork stream while flushing the ringbuffer - * pulsesrc: add "client" property - * qtdemux: add support for fragmented mp4 - * qtdemux: add support for (E)AC-3, WMA and VC-1 audio - * qtdemux: allow pulling atoms with unknown size - * qtdemux: fix flow return aggregation and handling of near end-of-file corner cases - * qtdemux: parse and use creation time tag from mvhd - * rtpbin: copy buffering stats - * rtpbin: correctly calculate RTCP packet size - * rtp: fix rank of payloaders and depayloaders - * rtp: flush state on flush-stop for seek handling for many (de)payloaders - * rtp ac3pay: add AC3 payloader - * rtp h264depay: determine output h264 layout using caps negotiation - * rtp h264pay: implement full bytestream scan mode - * rtp j2kdepay: add support for buffer lists; make depayloader more resilient - * rtp j2kpay: use buffer lists for better performance - * rtp j2kpay: handle EOC correctly; stop scanning when we reached the end - * rtp j2kpay: use SOP markers to split bitstream - * rtp jitterbuffer: provide a clock; get better buffering level - * rtp jpegdepay: fix framerate parsing for locales that use a comma as floating point - * rtp mp4adepay: improve timestamps on outgoing packets - * rtpsession: also emit RTCP activity on SR - * rtpsession: remember last sent RB values - * rtspsrc: add and use auto buffering mode - * rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response - * rtspsrc: include range request for all streams with non-aggregate control - * rtspsrc: increase udp buffer size - * rtspsrc: reset session manager base time when flushing - * rtspsrc: select multicast transports in a smarter way - * souphttpsrc: don't send seeks behind the end of file to the server - * v4l2sink: add navigation support; properties to control crop - * vrawdepay: fix length check - * wavparse: detect DTS advertised as PCM correctly in some more cases - * ximagesrc: change from XGetImage to XGetSubImage dependant on a property - -Bugs fixed since 0.10.26: - - * 596321 : qtdemux: add support for fragmented MP4 and " mfra " boxes - * 618389 : [pulsemixer] Should implement MIXER_FLAG_AUTO_NOTIFICATIONS interface - * 618652 : [effectv] Use of uninitialised value in unit test - * 620283 : Support for Adobe's F4F missing - * 621929 : [PLUGIN-MOVE] move jack plugin from -bad to -good - * 623178 : [matroskademux] error message for unrecognised FOURCC codes should be improved - * 625825 : cannot link rtpmp4adepay ! aacparse - * 629418 : progressreport: add support for determining stream position from buffer timestamps instead of using queries - * 631516 : [navseek] Add support to change playback rate - * 632654 : [matroskamux] try to write timestamps in most of the outgoing buffers - * 632897 : flvmux does not set the correct nellymoser codec id - * 633280 : [icydemux][PATCH] icydemux: Send 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag - * 634314 : pngdec hangs on faulty pngs - * 634391 : [v4l2src] add interlaced field to caps - * 634393 : v4l2src: Set top field first for interlaced captures - * 634910 : [rtph264pay] Implement bytestream scan mode - * 634928 : [qtdemux] report creation/modification time via metadata tag - * 635734 : jpegdec: infinite loop when playing back motion jpeg stream - * 636049 : ximagesrc: fix remote X and off by ones - * 636172 : imagefreeze: eos is not passed before a buffer arrives - * 636234 : [wavparse] dts 6ch played as stereo 16 bit pcm if DTS frame starts at non-zero offset - * 636621 : flvdemux: doesn't set the right sample rate for aac audio - * 636784 : [qtdemux] GST_QUERY_CONVERT implementation for qtdemux - * 637060 : matroskademux: errors out on 13MB blocks when streaming - * 637686 : [jpegenc] Improve sinkpad getcaps results - * 638019 : [matroskademux] some matroska files are not specifying DocType - * 638072 : build failure: rtpsource.c: error: 'have_rb' may be used uninitialized in this function - * 638535 : id3demux: multiple genres as per ID3v2.4 not supported correctly - * 638569 : cacasink crashes when given 15-bit video. - * 639240 : pulsesink: PLAYING- > PAUSED- > PLAYING transition causes dropout - * 639321 : deinterlace: field{1,3} scanline pointers seem to be off by one field line - * 639339 : v4l2: fails to build with older kernels due to missing V4L_FIELD_INTERLACED_{TB,BT} - * 639516 : muxers: fix setting src pad caps - * 639740 : [pulsesink] doesn't uncork in some cases during reverse playback - * 640028 : [qtdemux] crash on malformed mov stream - * 640063 : rtph264depay: leaks codec data buffer in byte-stream=false mode - * 640064 : rtspsrc memory leak - * 640080 : rtspsrc: fails to error out properly on network failure - * 623063 : [jpegdec] add " max-errors " property - -Changes since 0.10.25: - - * alphacolor: make passthrough work - * avidemux: reverse playback fixes; prevent overlap of subsequent fragments - * deinterlace: remove assembly code in favor of orc - * dvdemux: parse SMPTE time codes - * flvdemux: parse and use cts (fixes jittery H.264 playback in some cases) - * flvmux: resend onMetada tag when tags changes in streamable mode - * g729pay: extend from right parent - * gconf: Don't install schemas when GConf is disabled - * goom, goom2k1: add latency compensation code, report latency correctly - * gstrtpjpegpay: Added Define Restart Interval (DRI) Marker - * h264depay: always mark the codec_data as keyframe - * icydemux: forward tag events - * id3v2mux: Add mapping for album artist - * imagefreeze: generate a perfectly timestamped stream - * level: avoid division by zero on silence - * matroskademux: more robustness for parse errors and corner-cases - * matroskademux: extract H.264 profile and level and set on caps - * matroskamux: reduce newsegment event spam and set discont flag where needed - * pulse: allow setting of pulse stream properties - * pulse: fix device_description in READY - * pulsesink: Add "client" property to set the PA client name - * pulsesink: share the PA context between all clients with the same name - * qtdemux: export AAC/MPEG-4/H.264 profile and level in caps - * rtp: add G722 payloader and depayloader elements - * rtpamr(de)pay: support AMR-WB SID frame - * rtpamrpay: proper duration for multiple frame payload; properly support perfect-rtptime - * rtpbin: add "ntp-sync" property and "use-pipeline-clock" properties - * rtpg729pay: properly support perfect-rtptime - * rtph264depay: only set delta unit on all-non-key units - * rtpmanager: provide additional statistics - * rtpmp4adepay: grab the sampling rate and put into caps - * rtpmparobustdepay: properly insert dummy buffers; use valid bitrate for dummy frame - * rtpmpvpay: fix timestamping of rtp buffers - * rtpsession: Add the option to auto-discover the RTP bandwidth - * rtpsession: Calculate RTCP bandwidth as a fraction of the RTP bandwidth - * rtpsession: Count sent RTCP packets after they have been finished - * rtpsession: relax third-party collision detection - * rtpstats: Rectify description of current_time in RTPArrivalStats - * rtspext: stop configuration on first failure - * rtspsrc: Add property to configure udpsrc buffer size - * rtspsrc: add rtsp-sdp protocol support - * rtspsrc: don't add /UDP in the transport, it's the default - * rtspsrc: fix duration reporting - * rtspsrc: handle stale digest authentication session data - * rtspsrc: use sdp uri parse method - * shapewipe: add optional border parameter and slowdown animation - * shapewipe: Force format to AYUV in the example pipeline for the same reason - * shapewipe: Force the input to AYUV to prevent negotiation failures in videomixer - * spectrum: only aggregate magnitude/phase if user asks for it, performance fixes - * v4l2src: add controllable colorbalance parameters, add decimate property - * v4l2src: fix using mpegts via the mmap interface; use GstBaseSrc::block-size as fallback size - * videomixer2: new videomixer2 element that behaves better than videomixer - * vrawdepay: handle invalid payload better - -Bugs fixed since 0.10.25: - - * 625825 : cannot link rtpmp4adepay ! aacparse - * 629047 : segfault in seek matroskademux - * 537544 : [pulse] allow setting pa context properties - * 628996 : pulsesink broken after shared context patch (bug #624338) - * 529672 : Big latency and bad framerate while mixing multiple live streams - * 581294 : rtspext: extensions configure_stream methods conflict - * 598915 : qtdemux: propagate jpeg2000 header data in image/x-j2c - * 612313 : qtdemux: Post AAC profile/level in caps - * 616521 : qtdemux: Export MPEG-4 video profile and level in stream caps - * 617318 : matroskademux, qtdemux: Use pbutils for H.264 profile/level extraction - * 620790 : [matroskademux] general stream error when trying to play certain .mkv file - * 622390 : [v4l2] add controllable color balance properties / programmable camera - * 624338 : [pulsesink] Handle pulse context separate from the ringbuffers and share them - * 625547 : imagefreeze unit test fails occasionally - * 626048 : [videomixer] needs mode that syncs streams based on timestamps - * 626518 : [imagefreeze] better caps negotiation - * 627162 : [pulse] better fallback return value for gst_pulse_client_name() - * 627174 : [pulsesink] new property to tune the PA client name - * 627289 : souphttpsrc: tweak error messages - * 627341 : wavparse: strange handling of files less than 12 bytes - * 627796 : rtpbin: add ntp clock sync - * 628020 : [pulsesink] assertion failure in change_state NULL- > READY - * 628058 : Need a way to set the SO_RCVBUF property on rtsp-based sockets. - * 628127 : jpeg rtp payloader crashes when there is corruption in the jpeg byte stream. - * 628214 : Add support to RTSP initiation through SDP files - * 628349 : [v4l2src] Doesn't support capturing mpegts using mmap - * 628454 : Matroska demuxer doesn't handle DATE tag if it contains only a year number - * 628608 : [alphacolor] element classification is wrong - * 629018 : rtpjpegpay: unable to build because of uninitialized variable warning - * 629522 : [rtpjpegpay] add support for Define Restart Interval (DRI) - * 629839 : [qtdemux] Update xmp tags parsing - * 629896 : Error compiling raw1394 (without iec61883) - * 630088 : [flvdemux] jerky h.264 video playback - * 630205 : [icydemux] Forward tag events downstrem - * 630256 : rtph264-pay/depay: doesn't respect timestamps from incomming buffers - * 630317 : Getting pulsesink device names doesn't work like for alsasink - * 630378 : speexenc/speexdec crash with MSVC - * 630446 : rtpmanager: provide additional statistics - * 630447 : rtpsession: relax third-party collision detection - * 630449 : rtpbin: Unlock before adding pad in new_payload_found - * 630451 : rtpbin: Handle rysnc of iterator when looking for free pad name - * 630452 : rtpbin: Make cleaning up sources in rtp_session_on_timeout MT safe - * 630457 : rtpmanager: packet lost should not be a warning. - * 630458 : level: avoid division by zero on silence - * 630500 : [rtspsrc] does rtsp setup message always need " /UDP " string? - * 630888 : v4l2sink does not cope with v4l2loopback kernel module - * 631082 : rtpjitterbuffer: improve document reference - * 631303 : [goom] qos warnings if source is GstAudioSrc - * 631330 : [flvmux][PATCH] Resend updated onMetada tag when tags changes in streamable mode - * 631996 : [h264depay] regression: rtsp://stream.zoovision.com/KibaEp1n900.3gp - * 632548 : [rtspsrc] regression; fails to report duration - * 632553 : --disable-gconf still tries to install schemas - * 632682 : [matroskademux] Handle missing CodecPrivate for Vorbis/Theora - * 632945 : rtph264depay in access-unit=true mode does not aggregate the delta unit flag correctly - * 633205 : Fix for navigation events in videoflip - * 633212 : [goom] Return not-negotiated when bps is unknown - * 633970 : [icydemux] broken taglist handling - * 635532 : rtspsrc: unexpected eos when using authentication (regression) - * 635843 : [rtph264depay] segfault on empty payload - * 636179 : [deinterlace] Fields in wrong order - * 626463 : [matroskademux] " reading large block of size 14688496 not supported " - * 628894 : [matroskademux] sloppy reverse playback - * 633294 : deinterlace breaks some DVD menu scenarios - -Changes since 0.10.24: - - * v4l2src: massive performance improvement in many cases - * streaming mode fixes for avi and matroska/webm - * seeking in matroska and webm files that don't have an index - * new cpureport element for debugging - * avidemux: improve VBR audio stream handling - * avidemux: streaming mode fixes: use proper offset for movi-based index, handle 0-size data chunks - * debugutils: new element cpureport, posts "cpu-report" element messages on bus - * flacdec, rtspsrc, rtph264pay, rtpmp4vdepay: memory leak fixes - * gconfvideosrc: use correct GConf key (ie. not the audiosrc key) - * gdkpixbuf: remove gdkpixbuf3 plugin again, gdk-pixbuf was split out of gtk+ and will stay at 2.x - * id3v2mux: write beats-per-minute tag using TBPM frame - * jpegdec: fix markers parsing regression - * matroskademux: do not error out on a block with unknown tracknumber - * matroskademux: fix streaming in case where the size in bytes is unknown - * matroskademux: handle bogus files storing ADTS AAC data - * matroskademux: support seeking in local files even if they don't have an index - * matroskamux: don't try to seek back and fix up headers if streamable=TRUE - * pulsesink: fix race when creating multiple pulsesinks at the same time - * qtdemux: also calculate PAR using track width and height for QT files - * qtdemux: fix the max/avg in btrt atom reading - * qtdemux: improve reverse playback - * qtdemux: parse 64-bit version of mvhd atom as well instead of erroring out - * qtdemux: prevent reading past avc1 atom when parsing - * rtpg729pay: avoid basertppayload perfect-rtptime mode - * rtph263pdepay: allow more clock-rates as input - * rtpL16depay: also parse encoding-params for the number of channels - * rtpL16depay: default to 1 channel if number of channels not specified - * rtpmp4gpay: implement perfect timestamps - * rtspsrc: add "port-range" property, useful for setups with firewall/ipsec - * rtspsrc: don't reuse udp sockets (avoids odd errors when data from previous streams is received) - * udpsrc: add "reuse" property to enable or disable port reuse (enabled by default, but disabled in rtspsrc) - * v4l2: sort formats in the right order so that non-emulated formats are prefered - * videobalance: fix wrong locking order that could lead to a deadlock - * videomixer: only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad - -Bugs fixed since 0.10.24: - - * 626463 : [matroskademux] " reading large block of size 14688496 not supported " - * 593117 : [avidemux] Support AVF files - * 618535 : [avidemux] fails to stream eva_2010_2.22_promo1.avi - * 621520 : [id3v2mux] write beats-per-minute tag - * 622017 : [GstRtpMP4GDepay] Packet payload was too short. - * 622577 : rtspsrc has confusing error messages - * 623209 : bug in rtpL16depay - * 623357 : avidemux: push mode doesn't work for some http streaming avi files - * 623629 : Reverse Playback Issue in QtDemux - * 624173 : [qtdemux] qt file with dimension data in tkhd does not get pixel-aspect-ratio in caps - * 624331 : videobalance: deadlocks/freezes when changing " brightness " property - * 624455 : The matroska muxer seeks even when used with streamable=TRUE - * 624770 : rtspsrc: memory leak in gst_rtspsrc_handle_request - * 625002 : [examples] Don't use GdkDraw - * 625153 : rtspsrc: add property to set client port range - * 625302 : [qtdemux] Set the pixel-aspect-ratio field also for par=1/1 - * 625371 : [matroskademux] critical warnings when playing live webm with progressive download enabled - * 625442 : pulsesink: crash - pa_threaded_mainloop_stop is called from the pa thread - * 625452 : [videomixer] Pipeline from the docs doesn't work anymore - * 626467 : matroskademux: CRITICAL **: file matroska-demux.c: line 578 (gst_matroska_demux_get_length): should not be reached - * 626609 : [qtdemux] segfault when parsing avc1 atom - * 626619 : [imagefreeze] Incorrect seek behaviour - * 627689 : [deinterlace] Broken timestamps - * 617368 : [matroska] Implement push-mode seeking and non-cue seeking - -Changes since 0.10.23: - - * Use Orc (Optimized Inner Loops Runtime Compiler) for SIMD and - other optimisations, and remove liboil dependency. The main goal - for this release was to make the transition from liboil to liborc. - Performance improvements should not be expected and will be the - focus of future versions. liborc is an optional dependency for - the time being, to make it possible to test and develop the very - latest GStreamer versions on systems that don't have orc yet. - However, without orc slow unoptimised backup code will be used - for many performance critical code paths. Distributors are urged - to package and ship the latest version of liborc and compile - GStreamer modules with --enable-orc. Please do not distribute - GStreamer packages that are not orc enabled. More information on - the orc integration can be found in the docs/design/ directory. - * alpha: add "prefer-passthrough" property to allow passthrough mode - * avidemux: improve audio vbr detection - * cmmlenc: Remove hack to let oggmux start a new page for every CMML buffer - * deinterlace: add mmx implementations of greedyh for UYVY; orcify some deinterlacing methods - * dv1394: fix the internal clock even more - * flvmux: add "streamable" property - * flvmux: write duration at the correct position - * gdkpixbuf: Add a gdkpixbuf3 plugin that uses gdkpixbuf3 - * jpegdec: improved parsing, and better buffer handling that minimises memcpys - * jpegdec, jpegenc: add grayscale support - * matroskademux: QoS fixes and improvements; reverse playback improvements - * matroskademux: handle zero-sized numbers correctly - * matroskamux: add "streamable" property; set streamheaders on output caps - * matroskamux: try harder to make sure clusters start with a key frame - * matroskamux: mark output buffers properly as keyframe or delta unit - * matroskamux: do some write caching to avoid newsegment events before each output buffer - * matroskamux: fix some timestamp drift caused by rounding errors - * pngenc: Support 8 bit grayscale - * pulsesink: optimize communication with PulseAudio using pa_stream_begin_write - * pulsesink: Post provide-clock message on the bus if the clock appears/disappears - * rtph264depay: consider SPS, PPS and IDR as keyframe, all others as DELTA_UNIT - * rtph264pay: handle short startcodes in the h264 bytestream - * rtpjitterbuffer: stop buffering and emit EOS at the end of a stream - * rtpmparobustdepay: add mpa-robust depayloader - * rtpmp4gdepay: calculate the frame duration correctly - * rtptheorapay: keep announcing the delivery-method in the capabilities, restores - compatibility with older farsight versions again - * rtspsrc: respect aggregate control attributes; try all ranges from the sdp - * spectrum: support 24-bit width and arbitrary bit depth - * udp: make url parsing compatible with VLC syntax - * udpsrc: fix multicast support on windows - * v4l2sink: destroy buffer pool when changing state to NULL - * videobox: fix negotiation for I420/YV12 - * videomixer: don't mix input with different pixel aspect ratios; negotiation fixes - * wavparse: proper closing segment construction when doing non-flushing seeks - * wavparse: use typefind functions to check if PCM data contains dts stream - -Bugs fixed since 0.10.23: - - * 619045 : [spectrum] Add support for 24-bit width and all depth combinations - * 555967 : [oss4] clarify some translation strings - * 570761 : [goom] crash in plugin_info_init allocating 260kB struct on stack - * 583047 : [jpegdec] optimise buffer handling when parsing frames - * 589997 : [rtp] need mpa-robust depayloader for helix-style MP3-DRAFT-00 - * 595978 : [udpsrc] failed to play a multicast stream - * 597695 : [udpsrc] support VLC-style udp://239.255.11.11:1234 uri with bind address - * 611117 : [matroskademux] can't handle unknown cluster sizes - * 613066 : [flvmux] re-enable renamed/fixed is-live property - * 615461 : dv1394src clock continues to be broken - * 617339 : pulsesink doesn't make use of pa_stream_begin_write - * 618530 : [videomixer] Doesn't handle pixel-aspect-ratio correctly - * 618871 : 1394: remove useless last_time - * 618982 : [wavparse] wrong closing segment when doing non-flushing seek - * 619198 : [matroskademux] GstEbmlRead cleanup - * 619273 : [matroskamux] reduce downstream spam - * 619293 : [avimux] clean up avi header creation code - * 619531 : [rtspsrc] embedded asx streams' rtsp server doesn't like gstreamer request - * 619717 : unit tests fail if older -good plugins are present in system plugin directory - * 619824 : Use glib for checksumming - * 619848 : [deinterlace] can't switch properties on running pipeline - * 620148 : [videomixer] Doesn't negotiate format with downstream - * 620154 : [rtph264depay] Seeking with RTP payloaders corrupts images sometimes - * 620162 : [gdkpixbufdec] Bump rank to SECONDARY - * 620277 : [pulsesink] custom clock is still used after NULL state change - * 620358 : [matroskademux] Sorenson Squish WebM output seeking issues - * 620390 : rtph264pay doesn't understand short startcodes - * 620494 : [rtsp] stuttery audio with some h264/aac streams - * 620540 : [pulsesink] pa_stream_write() failed: Invalid argument - * 620591 : rtpceltpay doesn't handle stereo celt audio - * 620743 : matroskademux: refactor delta unit handling - * 620929 : Required libraw1394 version is not high enough - * 621510 : GNOME Goal: Remove deprecated glib symbols - * 621566 : [pulsesink] since upgrading plugins sound is garbled via Amarok - * 621723 : v4l2src crashes on PLAYING- > READY- > PLAYING - * 622498 : [avidemux] Doesn't reset all state when going back to READY - * 622500 : [v4l2sink] destroy open buffers when changing to NULL - * 622501 : [videobox] may negotiate input/output format combinations it can't actually handle - * 622816 : Make demos -DSEAL safe - * 623103 : matroskamux dispose error - * 623172 : [jpegdec] leak in unit test - * 623196 : rtpptdemux: don't send custom downstream event twice - * 623366 : [qtdemux] strip out bogus tags from XMP - * 623379 : [flvmux] Writing duration outside the allocated memory area in streaming mode - * 623585 : jpegdec: fails to skip extra 0xff markers at start - * 623654 : qtdemux: Fix order of bitrates in 'btrt' atom - * 619817 : [matroskademux] Reverse playback doesn't work - * 617512 : [alpha] should work in passthrough in all formats if alpha == 1.0 - * 619485 : matroskademux: skip buffers before a late keyframe (QoS) - * 413942 : [wavparse] undetected dts-in-wav - -Changes since 0.10.22: - - * alpha: add support for YUY2, YVYU, UYVY and YV12; YUV->RGB conversion fixes - * avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time - * avimux, matroskamux: add support for On2 VP8 - * capssetter: element moved from gst-plugins-bad - * deinterlace: add support for most YUV and RGB formats for some methods - * deinterlace: make automatic detection of interlacing the default - * gamma: add support for more YUV/RGB formats, make gamma property controllable - * jpegdec, jpegenc: support more colour spaces and pixel formats - * matroskademux: implement push mode seeking - * matroskademux: add support for WebM - * imagefreeze: plugin moved from gst-plugins-bad - * oss4: plugin moved from gst-plugins-bad - * osxvideosink: implement the xoverlay interface, allow switching views at runtime - * qcelpdepay: add a QCELP depayloader - * qtdemux: add support for VP8; push-mode seeking and ctts table parsing fixes - * rtph263depay: use Picture Start Code to detect packet loss and frame start - * rtph263pay: use found GOBs to apply Mode A payloading - * rtph264depay: DELTA_UNIT marking of output buffers - * rtph264pay: extract SPS and PPS from property provided parameter set - * rtph264pay: add config-interval property to re-send SPS/PPS in stream - * rtpmp4vpay: add config-interval property to re-insert config in stream - * rtptheoradepay: fix in-band configuration parsing - * rtptheorapay: add config-interval parameter to re-insert config in stream - * rtpvorbisdepay, rtptheoradepay: also accept in-line configuration - * rtsp: configure bandwidth properties in the session - * rtspsrc: fall back to SDP ports instead of server_port - * rtspsrc: use the SDP connection info in multicast - * rtspsrc: handle SEEKING queries - * smptealpha: add support for all 4 ARGB formats and YV12 (converted to AYUV) - * videobalance: add support for all RGB formats, Y41B, Y42B and Y444, YUY2, UYVY, AYUV and YVYU - * videobox: add support for Y444, Y42B, Y41B, YUY2, UYUV, and YVYU - * videobox: fix floating point to integer conversion for the alpha values - * videobox: handle ranges/lists of width or height when transforming caps - * videobox: translate navigation events to make sense again upstream - * videofilter: merge gamma, videobalance, and videoflip plugin into single plu - * videoflip: add support for all RGB formats and AYUV, Y41B, Y42B and Y444 - * videoflip: also flip the pixel-aspect-ratio if width/height are exchanged - * videomixer: add support for Y444, Y42B, Y41B, YV12, YUY2, YVYU, UYVY - * webmmux: Add new webmmux element that only supports muxing of WebM - * y4menc: add 4:2:2, 4:1:1, and 4:4:4 output support - -Bugs fixed since 0.10.22: - - * 619485 : matroskademux: skip buffers before a late keyframe (QoS) - * 576286 : [videomixer] Should accept/output non-alpha streams - * 618349 : osxvideosink: implement the XOverlay interface - * 574416 : rtp{theora,vorbis}depay should accept in-line configuration (too) - * 590662 : [pulse] Allocates and starts pulse main loops in instance_init - * 592270 : Cannot catch 'have-ns-view' on pipeline for playbin and playbin2 - * 599585 : gstrtph263pay does not fragment frame with limited GOBs - * 600553 : [jpegdec] crashes on a fuzzed jpeg - * 606689 : Re-send codec data on GstForceKeyUnit - * 607452 : Failure to sync on rtpmp4vpay stream; sender;receiver mismatch - * 609405 : [qtdemux] Issues when seeking with file with lots of tracks and edit lists - * 609658 : [rtph264depay] doesn't mark output frames as keyframes correctly - * 610172 : inconsistent h263pay/h263depay behaviour - * 610902 : y4menc only supports 4:2:0 - * 613786 : [PLUGIN-MOVE] Move imagefreeze to gst-plugins-good - * 614305 : [PLUGIN-MOVE] oss4 should be moved to good - * 614765 : racy stream status leave implementation - * 615798 : [smptealpha] Need ability to reverse transition direction - * 616516 : [qtdemux] h264 playback gets skippy after a seek - * 616700 : [rtspsrc] gst_query_new_seeking() fails on rtspsrc - * 617164 : [rtph264pay] SPS/PPS in provided sprop-parameter-sets never sent on timeout - * 617537 : rtspsrc always falls back to unicast instead of using the announced multicast - * 617733 : [wavparse] handle gst_pad_pull_range() returning less data than requested - * 617739 : [PLUGIN-MOVE] Move capssetter to gst-plugins-good - * 618305 : [flvmux] last timestamp is stored even if it's invalid - * 618351 : avimux crashes when fed from filesrc - * 618386 : rtptheoradepay: make delivery-method parameter optional - * 618419 : gstrtpbin-Description maybe exist error - * 618733 : [efence] Configure check is broken - * 618874 : [pulse] regression: broken mainloop locking - * 618940 : rtptheorapay/depay wrongly claims to do delivery-method=inline - * 619018 : Speex encoder latency should depend on rate - * 619103 : WebM demuxer - * 619105 : [qtdemux] misalignment between index and sample while looking for frame - * 619219 : [matroska] Move webm muxer into a separate element with restrictions - * 619835 : [videobox] Either makes video completely opaque or completely transparent - * 619943 : [jpegenc] Crash if playing - > setcaps - > ready - > setcaps - * 620002 : [flvdemux] Typo in position query handling makes all position queries fail - * 605231 : [deinterlace] Support AYUV, RGB colorspaces - * 619533 : [avimux, matroskamux, flvmux] crash when receiving tags on multiple pads at the same time - -Changes since 0.10.21: - - * alpha: add support for different color matrixes - * alpha: add support for generating ARGB output - * alpha: add support for ARGB, RGB and xRGB input - * alphacolor: support inplace and on-the-fly conversions from AYUV to ARGB - * alphacolor: Implement color-matrix support and use integer arithmetic only - * videobox: add support for most common RGB(A), (A)YUV, and grayscale formats - * videobox: add support for on-the-fly conversions for some formats - * videobox: add support for filling the background with red, yellow and white - * videobox: add support for YV12, including conversion support for I420/AYUV - * videomixer: add support for ABGR and RGBA - * shapewipe: add support for the remaining ARGB formats - * qtdemux, matroska: export h.264 profile and level in caps - * multifilesink: Add key-frame option to next-file - * directsoundsink: Implement SPDIF support for AC3 - * h264depay: handle STAPs properly - * speexdec: adapt to new oggdemux - * flvdemux: mark delta frames properly - * flvdemux: improve index building and scaning in pull mode - * flvdemux: add support for backwards playback (when operating in pull mode) - * avidemux: fix offset handling in push mode seeking - * matroskademux: prefer index of video track to perform seeking - * matroskademux: add support for backwards playback (when operating in pull mode) - * matroskademux: push correctly sized flac header buffers - * matroskademux: restrict resyncing to subtitle tracks - * rtpsession: Make it possible to favor new sources in case of SSRC conflict - * rtspsrc: send keep alive when paused - * rtspsrc: handle ipv6 listening ports when needed - * rtspsrc: require a destination for multicast - * rtspsrc: parse connection information - * qtdemux: Set stream-format=raw on AAC caps - * qtdemux: add XMP parsing support - * qtdemux: Read replaygain peak/gain tags - * qtdemux: extract stream language in more cases - * id3demux: fix parsing of unsynced frames with data length indicator - * jpegdec: don't crash if jpeg image contains more than three components - * ximagesrc: send new segment event in TIME format - * mp4gdepay: improve constantDuration guessing - * h264pay: fix config-interval property - * rtspsrc: add property to control the buffering method - * png: make work with libpng 1.4 - -Bugs fixed since 0.10.21: - - * 517588 : [avidemux] Allow seeking in push mode - * 593910 : [dv1394src] live streaming / clock issues - * 597739 : Test suite not slow-machine-safe(?) - * 601236 : [flvmux] script tag with index gets written at end of file, contains all tags - * 601617 : matroska-demuxer triggers an assert in gststructure.c - * 604870 : [udpsink] Can't set TTL socket option - * 607615 : Make it possible to favor new sources in case of SSRC conflict - * 610447 : [flvdemux] Be more flexible in script tag (metadata) parsing - * 611659 : [ximagesrc] should send new_segment with GST_FORMAT_TIME format - * 612397 : [multiudpsink] [PATCH] Fix print of socket's error code on Windows - * 612411 : [rtspsrc] lock/performance problem - * 612553 : Segfault in rtspsrc (tcp interleaved and local gst-rtsp-server) - * 612657 : [rtph264depay] refuse caps without profile-level-id when byte-stream is unset - * 612696 : rtspsrc with tcp timeouts after recent commit - * 612700 : pngenc can't be built against libpng 1.4.x anymore - * 612751 : [udpsink] regression when external sockfd is used - * 612777 : Deprecated macro in gstspeexdec.c causes compile error in MSVC - * 613002 : [flvmux] always put duration in metadata tag - * 613003 : [flvmux] EOS after supposedly reaching FLV timestamp limit, but real limit is lower - * 613013 : rtph264pay does not insert config parameters anymore in the stream - * 613094 : [flvmux] put more info (like width and height) in the metadata - * 613206 : [rtph264depay] wrong timestamp for gst_base_rtp_depayload_push_ts? - * 613663 : New warnings in osx plugins - * 613789 : [jpegenc] Updating caps is not supported - * 614158 : [id3demux] doesn't read tags from file correctly (tag with unsynced frames, data length indicator) - * 614353 : matroskademux: can't correctly demux flac-in-MKV - * 614354 : fix small compile break if $(top_srcdir) != $(top_builddir) - * 614460 : matroskademux: wrong H.264 demux in some file - * 614466 : videomixer makes some formats grayscale - * 614471 : [qtdemux] Gstreamer not reading replaygain tags from m4a files - * 614651 : Export h.264 profile and level in caps - * 614765 : racy stream status leave implementation - * 614842 : [jpegenc] sink pad returns ANY (not subset of its template) when connected to a filesink - * 614843 : [alphacolor] unneeded variable - * 614927 : qtdemux: Post avg/max bitrate tags for H.264 - * 615051 : h264depay: STAP are handled the wrong way - * 615143 : [videobox] I420- > AYUV conversion broken - * 615161 : Remove -Wundef from CFLAGS - * 615460 : [deinterlace] broken ... - * 615996 : doesn't detect HAVE_CPU_I386 or HAVE_CPU_X86_64 properly on Solaris - * 615998 : GOOM plugin crashes on Solaris when built with MMX code enabled - * 616166 : [videobox] Use correct order for RGB filling - * 616409 : [videomixer] AYUV blending broken - * 611986 : [cairotextoverlay] Out-of-range deltas give SIGSEGV or other funkyness - * 604106 : [jpegdec] Crash in jpeg_idct_ifast if more than 3 components - * 614001 : [qtdemux] parse Macintosh language codes - * 615793 : [flactag] when used after flacenc: gst_adapter_take_buffer: assertion `nbytes > 0' - -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 + + +GSTREAMER 1.16 RELEASE NOTES + + +GStreamer 1.16.0 was originally released on 19 April 2019. + +The latest bug-fix release in the 1.16 series is 1.16.2 and was released +on 3 December 2019. + +See https://gstreamer.freedesktop.org/releases/1.16/ for the latest +version of this document. + +_Last updated: Tuesday 03 December 2019, 08:00 UTC (log)_ + + +Introduction + +The GStreamer team is proud to announce a new major feature release in +the stable 1.x API series of your favourite cross-platform multimedia +framework! + +As always, this release is again packed with many new features, bug +fixes and other improvements. + + +Highlights + +- GStreamer WebRTC stack gained support for data channels for + peer-to-peer communication based on SCTP, BUNDLE support, as well as + support for multiple TURN servers. + +- AV1 video codec support for Matroska and QuickTime/MP4 containers + and more configuration options and supported input formats for the + AOMedia AV1 encoder + +- Support for Closed Captions and other Ancillary Data in video + +- Support for planar (non-interleaved) raw audio + +- GstVideoAggregator, compositor and OpenGL mixer elements are now in + -base + +- New alternate fields interlace mode where each buffer carries a + single field + +- WebM and Matroska ContentEncryption support in the Matroska demuxer + +- new WebKit WPE-based web browser source element + +- Video4Linux: HEVC encoding and decoding, JPEG encoding, and improved + dmabuf import/export + +- Hardware-accelerated Nvidia video decoder gained support for VP8/VP9 + decoding, whilst the encoder gained support for H.265/HEVC encoding. + +- Many improvements to the Intel Media SDK based hardware-accelerated + video decoder and encoder plugin (msdk): dmabuf import/export for + zero-copy integration with other components; VP9 decoding; 10-bit + HEVC encoding; video post-processing (vpp) support including + deinterlacing; and the video decoder now handles dynamic resolution + changes. + +- The ASS/SSA subtitle overlay renderer can now handle multiple + subtitles that overlap in time and will show them on screen + simultaneously + +- The Meson build is now feature-complete (*) and it is now the + recommended build system on all platforms. The Autotools build is + scheduled to be removed in the next cycle. + +- The GStreamer Rust bindings and Rust plugins module are now + officially part of upstream GStreamer. + +- The GStreamer Editing Services gained a gesdemux element that allows + directly playing back serialized edit list with playbin or + (uri)decodebin + +- Many performance improvements + + +Major new features and changes + +Noteworthy new API + +- GstAggregator has a new "min-upstream-latency" property that forces + a minimum aggregate latency for the input branches of an aggregator. + This is useful for dynamic pipelines where branches with a higher + latency might be added later after the pipeline is already up and + running and where a change in the latency would be disruptive. This + only applies to the case where at least one of the input branches is + live though, it won’t force the aggregator into live mode in the + absence of any live inputs. + +- GstBaseSink gained a "processing-deadline" property and + setter/getter API to configure a processing deadline for live + pipelines. The processing deadline is the acceptable amount of time + to process the media in a live pipeline before it reaches the sink. + This is on top of the systemic latency that is normally reported by + the latency query. This defaults to 20ms and should make pipelines + such as v4l2src ! xvimagesink not claim that all frames are late in + the QoS events. Ideally, this should replace the "max-lateness" + property for most applications. + +- RTCP Extended Reports (XR) parsing according to RFC 3611: + Loss/Duplicate RLE, Packet Receipt Times, Receiver Reference Time, + Delay since the last Receiver (DLRR), Statistics Summary, and VoIP + Metrics reports. This only provides the ability to parse such + packets, generation of XR packets is not supported yet and XR + packets are not automatically parsed by rtpbin / rtpsession but must + be actively handled by the application. + +- a new mode for interlaced video was added where each buffer carries + a single field of interlaced video, with buffer flags indicating + whether the field is the top field or bottom field. Top and bottom + fields are expected to alternate in this mode. Caps for this + interlace mode must also carry a format:Interlaced caps feature to + ensure backwards compatibility. + +- The video library has gained support for three new raw pixel + formats: + + - Y410: packed 4:4:4 YUV, 10 bits per channel + - Y210: packed 4:2:2 YUV, 10 bits per channel + - NV12_10LE40: fully-packed 10-bit variant of NV12_10LE32, + i.e. without the padding bits + +- GstRTPSourceMeta is a new meta that can be used to transport + information about the origin of depayloaded or decoded RTP buffers, + e.g. when mixing audio from multiple sources into a single stream. A + new "source-info" property on the RTP depayloader base class + determines whether depayloaders should put this meta on outgoing + buffers. Similarly, the same property on RTP payloaders determines + whether they should use the information from this meta to construct + the CSRCs list on outgoing RTP buffers. + +- gst_sdp_message_from_text() is a convenience constructor to parse + SDPs from a string which is particularly useful for language + bindings. + +Support for Planar (Non-Interleaved) Raw Audio + +Raw audio samples are usually passed around in interleaved form in +GStreamer, which means that if there are multiple audio channels the +samples for each channel are interleaved in memory, +e.g. |LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT| for stereo audio. A +non-interleaved or planar arrangement in memory would look like +|LEFT|LEFT|LEFT|RIGHT|RIGHT|RIGHT| instead, possibly with +|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory +chunks or separated by some padding. + +GStreamer has always had signalling for non-interleaved audio since +version 1.0, but it was never actually properly implemented in any +elements. audioconvert would advertise support for it, but wasn’t +actually able to handle it correctly. + +With this release we now have full support for non-interleaved audio as +well, which means more efficient integration with external APIs that +handle audio this way, but also more efficient processing of certain +operations like interleaving multiple 1-channel streams into a +multi-channel stream which can be done without memory copies now. + +New API to support this has been added to the GStreamer Audio support +library: There is now a new GstAudioMeta which describes how data is +laid out inside the buffer, and buffers with non-interleaved audio must +always carry this meta. To access the non-interleaved audio samples you +must map such buffers with gst_audio_buffer_map() which works much like +gst_buffer_map() or gst_video_frame_map() in that it will populate a +little GstAudioBuffer helper structure passed to it with the number of +samples, the number of planes and pointers to the start of each plane in +memory. This function can also be used to map interleaved audio buffers +in which case there will be only one plane of interleaved samples. + +Of course support for this has also been implemented in the various +audio helper and conversion APIs, base classes, and in elements such as +audioconvert, audioresample, audiotestsrc, audiorate. + +Support for Closed Captions and Other Ancillary Data in Video + +The video support library has gained support for detecting and +extracting Ancillary Data from videos as per the SMPTE S291M +specification, including: + +- a VBI (Vertical Blanking Interval) parser that can detect and + extract Ancillary Data from Vertical Blanking Interval lines of + component signals. This is currently supported for videos in v210 + and UYVY format. + +- a new GstMeta for closed captions: GstVideoCaptionMeta. This + supports the two types of closed captions, CEA-608 and CEA-708, + along with the four different ways they can be transported (other + systems are a superset of those). + +- a VBI (Vertical Blanking Interval) encoder for writing ancillary + data to the Vertical Blanking Interval lines of component signals. + +The new closedcaption plugin in gst-plugins-bad then makes use of all +this new infrastructure and provides the following elements: + +- cccombiner: a closed caption combiner that takes a closed captions + stream and another stream and adds the closed captions as + GstVideoCaptionMeta to the buffers of the other stream. + +- ccextractor: a closed caption extractor which will take + GstVideoCaptionMeta from input buffers and output them as a separate + closed captions stream. + +- ccconverter: a closed caption converter that can convert between + different formats + +- line21encoder, line21decoder: inject/extract line21 closed captions + to/from SD video streams + +- cc708overlay: decodes CEA 608/708 captions and overlays them on + video + +Additionally, the following elements have also gained Closed Caption +support: + +- qtdemux and qtmux support CEA 608/708 Closed Caption tracks + +- mpegvideoparse, h264parse extracts Closed Captions from MPEG-2/H.264 + video streams + +- avviddec, avvidenc, x264enc got support for extracting/injecting + Closed Captions + +- decklinkvideosink can output closed captions and decklinkvideosrc + can extract closed captions + +- playbin and playbin3 learned how to autoplug CEA 608/708 CC overlay + elements + +- the externally maintained ajavideosrc element for AJA capture cards + has support for extracting closed captions + +The rsclosedcaption plugin in the Rust plugins collection includes a +MacCaption (MCC) file parser and encoder. + +New Elements + +- overlaycomposition: New element that allows applications to draw + GstVideoOverlayCompositions on a stream. The element will emit the + "draw" signal for each video buffer, and the application then + generates an overlay for that frame (or not). This is much more + performant than e.g. cairooverlay for many use cases, e.g. because + pixel format conversions can be avoided or the blitting of the + overlay can be delegated to downstream elements (such as + gloverlaycompositor). It’s particularly useful for cases where only + a small section of the video frame should be drawn on. + +- gloverlaycompositor: New OpenGL-based compositor element that + flattens any overlays from GstVideoOverlayCompositionMetas into the + video stream. This element is also always part of glimagesink. + +- glalpha: New element that adds an alpha channel to a video stream. + The values of the alpha channel can either be set to a constant or + can be dynamically calculated via chroma keying. It is similar to + the existing alpha element but based on OpenGL. Calculations are + done in floating point so results may not be identical to the output + of the existing alpha element. + +- rtpfunnel funnels together RTP streams into a single session. Use + cases include multiplexing and bundle. webrtcbin uses it to + implement BUNDLE support. + +- testsrcbin is a source element that provides an audio and/or video + stream and also announces them using the recently-introduced + GstStream API. This is useful for testing elements such as playbin3 + or uridecodebin3 etc. + +- New closed caption elements: cccombiner, ccextractor, ccconverter, + line21encoder, line21decoder and cc708overlay (see above) + +- wpesrc: new source element acting as a Web Browser based on WebKit + WPE + +- Two new OpenCV-based elements: cameracalibrate and cameraundistort + that can communicate to figure out distortion correction parameters + for a camera and correct for the distortion. + +- New sctp plugin based on usrsctp with sctpenc and sctpdec elements. + These elements are used inside webrtcbin for implementing data + channels. + +New element features and additions + +- playbin3, playbin and playsink have gained a new "text-offset" + property to adjust the positioning of the selected subtitle stream + vis-a-vis the audio and video streams. This uses subtitleoverlay’s + new "subtitle-ts-offset" property. GstPlayer has gained matching API + for this, namely gst_player_get_text_video_offset(). + +- playbin3 buffering improvements: in network playback scenarios there + may be multiple inputs to decodebin3, and buffering will be done + before decodebin3 using queue2 or downloadbuffer elements inside + urisourcebin. Since this is before any parsers or demuxers there may + not be any bitrate information available for the various streams, so + it was difficult to configure the buffering there smartly within + global constraints. This was improved now: The queue2 elements + inside urisourcebin will now use the new bitrate query to figure out + a bitrate estimate for the stream if no bitrate was provided by + upstream, and urisourcebin will use the bitrates of the individual + queues to distribute the globally-set "buffer-size" budget in bytes + to the various queues. urisourcebin also gained "low-watermark" and + "high-watermark" properties which will be proxied to the internal + queues, as well as a read-only "statistics" property which allows + querying of the minimum/maximum/average byte and time levels of the + queues inside the urisourcebin in question. + +- splitmuxsink has gained a couple of new features: + + - new "async-finalize" mode: This mode is useful for muxers or + outputs that can take a long time to finalize a file. Instead of + blocking the whole upstream pipeline while the muxer is doing + its stuff, we can unlink it and spawn a new muxer + sink + combination to continue running normally. This requires us to + receive the muxer and sink (if needed) as factories via the new + "muxer-factory" and "sink-factory" properties, optionally + accompanied by their respective properties structures (set via + the new "muxer-properties" and "sink-properties" properties). + There are also new "muxer-added" and "sink-added" signals in + case custom code has to be called for them to configure them. + + - "split-at-running-time" action signal: When called by the user, + this action signal ends the current file (and starts a new one) + as soon as the given running time is reached. If called multiple + times, running times are queued up and processed in the order + they were given. + + - "split-after" action signal to finish outputting the current GOP + to the current file and then start a new file as soon as the GOP + is finished and a new GOP is opened (unlike the existing + "split-now" which immediately finishes the current file and + writes the current GOP into the next newly-started file). + + - "reset-muxer" property: when unset, the muxer is reset using + flush events instead of setting its state to NULL and back. This + means the muxer can keep state across resets, e.g. mpegtsmux + will keep the continuity counter continuous across segments as + required by hlssink2. + +- qtdemux gained PIFF track encryption box support in addition to the + already-existing PIFF sample encryption support, and also allows + applications to select which encryption system to use via a + "drm-preferred-decryption-system-id" context in case there are + multiple options. + +- qtmux: the "start-gap-threshold" property determines now whether an + edit list will be created to account for small gaps or offsets at + the beginning of a stream in case the start timestamps of tracks + don’t line up perfectly. Previously the threshold was hard-coded to + 1% of the (video) frame duration, now it is 0 by default (so edit + list will be created even for small differences), but fully + configurable. + +- rtpjitterbuffer has improved end-of-stream handling + +- rtpmp4vpay will be preferred over rtpmp4gpay for MPEG-4 video in + autoplugging scenarios now + +- rtspsrc now allows applications to send RTSP SET_PARAMETER and + GET_PARAMETER requests using action signals. + +- rtspsrc has a small (100ms) configurable teardown delay by default + to try and make sure an RTSP TEARDOWN request gets sent out when the + source element shuts down. This will block the downward PAUSED to + READY state change for a short time, but can be disabled where it’s + a problem. Some servers only allow a limited number of concurrent + clients, so if no proper TEARDOWN is sent new clients may have + problems connecting to the server for a while. + +- souphttpsrc behaves better with low bitrate streams now. Before it + would increase the read block size too quickly which could lead to + it not reading any data from the socket for a very long time with + low bitrate streams that are output live downstream. This could lead + to servers kicking off the client. + +- filesink: do internal buffering to avoid performance regression with + small writes since we bypass libc buffering by using writev() + instead of fwrite() + +- identity: add "eos-after" property and fix "error-after" property + when the element is reused + +- input-selector: lets context queries pass through, so that + e.g. upstream OpenGL elements can use contexts and displays + advertised by downstream elements + +- queue2: avoid ping-pong between 0% and 100% buffering messages if + upstream is pushing buffers larger than one of its limits, plus + performance optimisations + +- opusdec: new "phase-inversion" property to control phase inversion. + When enabled, this will slightly increase stereo quality, but + produces a stream that when downmixed to mono will suffer audio + distortions. + +- The x265enc HEVC encoder also exposes a "key-int-max" property to + configure the maximum allowed GOP size now. + +- decklinkvideosink has seen stability improvements for long-running + pipelines (potential crash due to overflow of leaked clock refcount) + and clock-slaving improvements when performing flushing seeks + (causing stalls in the output timeline), pausing and/or buffering. + +- srtpdec, srtpenc: add support for MKIs which allow multiple keys to + be used with a single SRTP stream + +- srtpdec, srtpenc: add support for AES-GCM and also add support for + it in gst-rtsp-server and rtspsrc. + +- The srt Secure Reliable Transport plugin has integrated server and + client elements srt{client,server}{src,sink} into one (srtsrc and + srtsink), since SRT connection mode can be changed by uri + parameters. + +- h264parse and h265parse will handle SEI recovery point messages and + mark recovery points as keyframes as well (in addition to IDR + frames) + +- webrtcbin: "add-turn-server" action signal to pass multiple ICE + relays (TURN servers). + +- The removesilence element has received various new features and + properties, such as a "threshold" property, detecting silence only + after minimum silence time/buffers, a "silent" property to control + bus message notifications as well as a "squash" property. + +- AOMedia AV1 decoder gained support for 10/12bit decoding whilst the + AV1 encoder supports more image formats and subsamplings now and + acquired support for rate control and profile related configuration. + +- The Fraunhofer fdkaac plugin can now be built against the 2.0.0 + version API and has improved multichannel support + +- kmssink now supports unpadded 24-bit RGB and can configure mode + setting from video info, which enables display of multi-planar + formats such as I420 or NV12 with modesetting. It has also gained a + number of new properties: The "restore-crtc" property does what it + says on the tin and is enabled by default. "plane-properties" and + "connector-properties" can be used to pass custom properties to the + DRM. + +- waylandsink has a "fullscreen" property now and supports the + XDG-Shell protocol. + +- decklinkvideosink, decklinkvideosrc support selecting between + half/full duplex + +- The vulkan plugin gained support for macOS and iOS via MoltenVK in + addition to the existing support for X11 and Wayland + +- imagefreeze has a new num-buffers property to limit the number of + buffers that are produced and to send an EOS event afterwards + +- webrtcbin has a new, introspectable get-transceiver signal in + addition to the old get-transceivers signal that couldn’t be used + from bindings + +- Support for per-element latency information was added to the latency + tracer + +Plugin and library moves + +- The stereo element was moved from -bad into the existing audiofx + plugin in -good. If you get duplicate type registration warnings + when upgrading, check that you don’t have a stale stereoplugin lying + about somewhere. + +GstVideoAggregator, compositor, and OpenGL mixer elements moved from -bad to -base + +GstVideoAggregator is a new base class for raw video mixers and muxers +and is based on GstAggregator. It provides defined-latency mixing of raw +video inputs and ensures that the pipeline won’t stall even if one of +the input streams stops producing data. + +As part of the move to stabilise the API there were some last-minute API +changes and clean-ups, but those should mostly affect internal elements. +Most notably, the "ignore-eos" pad property was renamed to +"repeat-after-eos" and the conversion code was moved to a +GstVideoAggregatorConvertPad subclass to avoid code duplication, make +things less awkward for subclasses like the OpenGL-based video mixer, +and make the API more consistent with the audio aggregator API. + +It is used by the compositor element, which is a replacement for +‘videomixer’ which did not handle live inputs very well. compositor +should behave much better in that respect and generally behave as one +would expected in most scenarios. + +The compositor element has gained support for per-pad blending mode +operators (SOURCE, OVER, ADD) which determines what operator to use for +blending this pad over the previous ones. This can be used to implement +crossfading and the available operators can be extended in the future as +needed. + +A number of OpenGL-based video mixer elements (glvideomixer, glmixerbin, +glvideomixerelement, glstereomix, glmosaic) which are built on top of +GstVideoAggregator have also been moved from -bad to -base now. These +elements have been merged into the existing OpenGL plugin, so if you get +duplicate type registration warnings when upgrading, check that you +don’t have a stale openglmixers plugin lying about somewhere. + +Plugin removals + +The following plugins have been removed from gst-plugins-bad: + +- The experimental daala plugin has been removed, since it’s not so + useful now that all effort is focused on AV1 instead, and it had to + be enabled explicitly with --enable-experimental anyway. + +- The spc plugin has been removed. It has been replaced by the gme + plugin. + +- The acmmp3dec and acmenc plugins for Windows have been removed. ACM + is an ancient legacy API and there was no point in keeping the + plugins around for a licensed MP3 decoder now that the MP3 patents + have expired and we have a decoder in -good. We also didn’t ship + these in our cerbero-built Windows packages, so it’s unlikely that + they’ll be missed. + + +Miscellaneous API additions + +- GstBitwriter: new generic bit writer API to complement the existing + bit reader + +- gst_buffer_new_wrapped_bytes() creates a wrap buffer from a GBytes + +- gst_caps_set_features_simple() sets a caps feature on all the + structures of a GstCaps + +- New GST_QUERY_BITRATE query: This allows determining from downstream + what the expected bitrate of a stream may be which is useful in + queue2 for setting time based limits when upstream does not provide + timing information. tsdemux, qtdemux and matroskademux have basic + support for this query on their sink pads. + +- elements: there is a new “Hardware” class specifier. Elements + interacting with hardware devices should specify this classifier in + their element factory class metadata. This is useful to advertise as + one might need to put such elements into READY state to test if the + hardware is present in the system for example. + +- protection: Add a new definition for unspecified system protection, + GST_PROTECTION_UNSPECIFIED_SYSTEM_ID + +- take functions for various mini objects that didn’t have them yet: + gst_query_take(), gst_message_take(), gst_tag_list_take(), + gst_buffer_list_take(). Unlike the various _replace() functions + _take() does not increase the reference count but takes ownership of + the mini object passed. + +- clear functions for various mini object types and GstObject which + unrefs the object or mini object (if non-NULL) and sets the variable + pointed to to NULL: gst_clear_structure(), gst_clear_tag_list(), + gst_clear_query(), gst_clear_message(), gst_clear_event(), + gst_clear_caps(), gst_clear_buffer_list(), gst_clear_buffer(), + gst_clear_mini_object(), gst_clear_object() + +- miniobject: new API gst_mini_object_add_parent() and + gst_mini_object_remove_parent() to set parent pointers on mini + objects to ensure correct writability: Every container of + miniobjects now needs to store itself as parent in the child object, + and remove itself again later. A mini object is then only writable + if there is at most one parent, that parent is writable itself, and + the reference count of the mini object is 1. GstBuffer (for + memories), GstBufferList (for buffers), GstSample (for caps, buffer, + bufferlist), and GstVideoOverlayComposition were updated + accordingly. Without this it was possible to have e.g. a buffer list + with a refcount of 2 used in two places at once that both modify the + same buffer with refcount 1 at the same time wrongly thinking it is + writable even though it’s really not. + +- poll: add API to watch for POLLPRI and stop treating POLLPRI as a + read. This is useful to wait for video4linux events which are + signalled via POLLPRI. + +- sample: new API to update the contents of a GstSample and make it + writable: gst_sample_set_buffer(), gst_sample_set_caps(), + gst_sample_set_segment(), gst_sample_set_info(), plus + gst_sample_is_writable() and gst_sample_make_writable(). This makes + it possible to reuse a sample object and avoid unnecessary memory + allocations, for example in appsink. + +- ClockIDs now keep a weak reference to underlying clock to avoid + crashes in basesink in corner cases where a clock goes away while + the ClockID is still in use, plus some new API + (gst_clock_id_get_clock(), gst_clock_id_uses_clock()) to check the + clock a ClockID is linked to. + +- The GstCheck unit test library gained a + fail_unless_equals_clocktime() convenience macro as well as some new + GstHarness API for for proposing meta APIs from the allocation + query: gst_harness_add_propose_allocation_meta(). ASSERT_CRITICAL() + checks in unit tests are now skipped if GStreamer was compiled with + GST_DISABLE_GLIB_CHECKS. + +- gst_audio_buffer_truncate() convenience function to truncate a raw + audio buffer + +- GstDiscoverer has support for caching the results of discovery in + the default cache directory. This can be enabled with the use-cache + property and is disabled by default. + +- GstMeta that are attached to GstBuffers are now always stored in the + order in which they were added. + +- Additional support for signalling ONVIF specific features were + added: the SEEK event can store a trickmode-interval now and support + for the Rate-Control and Frames RTSP headers was added to the RTSP + library. + + +Miscellaneous performance and memory optimisations + +As always there have been many performance and memory usage improvements +across all components and modules. Some of them (such as dmabuf +import/export) have already been mentioned elsewhere so won’t be +repeated here. + +The following list is only a small snapshot of some of the more +interesting optimisations that haven’t been mentioned in other contexts +yet: + +- The GstVideoEncoder and GstVideoDecoder base classes now release the + STREAM_LOCK when pushing out buffers, which means (multi-threaded) + encoders and decoders can now receive and continue to process input + buffers whilst waiting for downstream elements in the pipeline to + process the buffer that was pushed out. This increases throughput + and reduces processing latency, also and especially for + hardware-accelerated encoder/decoder elements. + +- GstQueueArray has seen a few API additions + (gst_queue_array_peek_nth(), gst_queue_array_set_clear_func(), + gst_queue_array_clear()) so that it can be used in other places like + GstAdapter instead of a GList, which reduces allocations and + improves performance. + +- appsink now reuses the sample object in pull_sample() if possible + +- rtpsession only starts the RTCP thread when it’s actually needed now + +- udpsrc uses a buffer pool now and the GstUdpSrc object structure was + optimised for better cache performance + +GstPlayer + +- API was added to fine-tune the synchronisation offset between + subtitles and video + + +Miscellaneous changes + +- As a result of moving to newer FFmpeg APIs, encoder and decoder + elements exposed by the GStreamer FFmpeg wrapper plugin (gst-libav) + may have seen possibly incompatible changes to property names and/or + types, and not all properties exposed might be functional. We are + still reviewing the new properties and aim to minimise breaking + changes at least for the most commonly-used properties, so please + report any issues you run into! + +OpenGL integration + +- The OpenGL mixer elements have been moved from -bad to + gst-plugins-base (see above) + +- The Mesa GBM backend now supports headless mode + +- gloverlaycompositor: New OpenGL-based compositor element that + flattens any overlays from GstVideoOverlayCompositionMetas into the + video stream. + +- glalpha: New element that adds an alpha channel to a video stream. + The values of the alpha channel can either be set to a constant or + can be dynamically calculated via chroma keying. It is similar to + the existing alpha element but based on OpenGL. Calculations are + done in floating point so results may not be identical to the output + of the existing alpha element. + +- glupload: Implement direct dmabuf uploader, the idea being that some + GPUs (like the Vivante series) can actually perform the YUV->RGB + conversion internally, so no custom conversion shaders are needed. + To make use of this feature, we need an additional uploader that can + import DMABUF FDs and also directly pass the pixel format, relying + on the GPU to do the conversion. + +- The OpenGL library no longer restores the OpenGL viewport. This is a + performance optimization to not require performing multiple + expensive glGet*() function calls per frame. This affects any + application or plugin use of the following functions and objects: + - glcolorconvert library object (not the element) + - glviewconvert library object (not the element) + - gst_gl_framebuffer_draw_to_texture() + - custom GstGLWindow implementations + + +Tracing framework and debugging improvements + +- There is now a GDB PRETTY PRINTER FOR VARIOUS GSTREAMER TYPES: For + GstObject pointers the type and name is added, e.g. + 0x5555557e4110 [GstDecodeBin|decodebin0]. For GstMiniObject pointers + the object type is added, e.g. 0x7fffe001fc50 [GstBuffer]. For + GstClockTime and GstClockTimeDiff the time is also printed in human + readable form, e.g. 150116219955 [+0:02:30.116219955]. + +- GDB EXTENSION WITH TWO CUSTOM GDB COMMANDS gst-dot AND gst-print: + + - gst-dot creates dot files that a very close to what + GST_DEBUG_BIN_TO_DOT_FILE() produces, but object properties and + buffer contents such as codec-data in caps are not available. + + - gst-print produces high-level information about a GStreamer + object. This is currently limited to pads for GstElements and + events for the pads. The output may look like this: + +- gst_structure_to_string() now serialises the actual value of + pointers when serialising GstStructures instead of claiming they’re + NULL. This makes debug logging in various places less confusing, + because it’s clear now that structure fields actually hold valid + objects. Such object pointer values will never be deserialised + however. + + +Tools + +- gst-inspect-1.0 has coloured output now and will automatically use a + pager if the output does not fit on a page. This only works in a + UNIX environment and if the output is not piped, and on Windows 10 + build 16257 or newer. If you don’t like the colours you can disable + them by setting the GST_INSPECT_NO_COLORS=1 environment variable or + passing the --no-color command line option. + + +GStreamer RTSP server + +- Improved backlog handling when using TCP interleaved for data + transport. Before there was a fixed maximum size for backlog + messages, which was prone to deadlocks and made it difficult to + control memory usage with the watch backlog. The RTSP server now + limits queued TCP data messages to one per stream, moving queuing of + the data into the pipeline and leaving the RTSP connection + responsive to RTSP messages in both directions, preventing all those + problems. + +- Initial ULP Forward Error Correction support in rtspclientsink and + for RECORD mode in the server. + +- API to explicitly enable retransmission requests (RTX) + +- Lots of multicast-related fixes + +- rtsp-auth: Add support for parsing .htdigest files + + +GStreamer VAAPI + +- Support Wayland’s display for context sharing, so the application + can pass its own wl_display in order to be used for the VAAPI + display creation. + +- A lot of work to support new Intel hardware using media-driver as VA + backend. + +- For non-x86 devices, VAAPI display can instantiate, through DRM, + with no PCI bus. This enables the usage of libva-v4l2-request + driver. + +- Added support for XDG-shell protocol as wl_shell replacement which + is currently deprecated. This change add as dependency + wayland-protocol. + +- GstVaapiFilter, GstVaapiWindow, and GstVaapiDecoder classes now + inherit from GstObject, gaining all the GStreamer’s instrumentation + support. + +- The metadata now specifies the plugin as Hardware class. + +- H264 decoder is more stable with problematic streams. + +- In H265 decoder added support for profiles main-422-10 (P010_10LE), + main-444 (AYUV) and main-444-10 (Y410) + +- JPEG decoder handles dynamic resolution changes. + +- More specification adherence in H264 and H265 encoders. + + +GStreamer OMX + +- Add support of NV16 format to video encoders input. + +- Video decoders now handle the ALLOCATION query to tell upstream + about the number of buffers they require. Video encoders will also + use this query to adjust their number of allocated buffers + preventing starvation when using dynamic buffer mode. + +- The OMX_PERFORMANCE debug category has been renamed to OMX_API_TRACE + and can now be used to track a widder variety of interactions + between OMX and GStreamer. + +- Video encoders will now detect frame rate only changes and will + inform OMX about it rather than doing a full format reset. + +- Various Zynq UltraScale+ specific improvements: + - Video encoders are now able to import dmabuf from upstream. + - Support for HEVC range extension profiles and more AVC profiles. + - We can now request video encoders to generate an IDR using the + force key unit event. + + +GStreamer Editing Services and NLE + +- Added a gesdemux element, it is an auto pluggable element that + allows decoding edit list like files supported by GES + +- Added gessrc which wraps a GESTimeline as a standard source element + (implementing the ges protocol handler) + +- Added basic support for videorate::rate property potentially + allowing changing playback speed + +- Layer priority is now fully automatic and they should be moved with + the new ges_timeline_move_layer method, ges_layer_set_priority is + now deprecated. + +- Added a ges_timeline_element_get_layer_priority so we can simply get + all information about GESTimelineElement position in the timeline + +- GESVideoSource now auto orientates the images if it is defined in a + meta (overridable). + +- Added some PyGObject overrides to make the API more pythonic + +- The threading model has been made more explicit with safe guard to + make sure not thread safe APIs are not used from the wrong threads. + It is also now possible to properly handle in what thread the API + should be used. + +- Optimized GESClip and GESTrackElement creation + +- Added a way to compile out the old, unused and deprecated + GESPitiviFormatter + +- Re implemented the timeline editing API making it faster and making + the code much more maintainable + +- Simplified usage of nlecomposition outside GES by removing quirks in + it API usage and removing the need to treat it specially from an + application perspective. + +- ges-launch-1.0: + + - Added support to add titles to the timeline + - Enhance the help auto generating it from the code + +- Deprecate ges_timeline_load_from_uri as loading the timeline should + be done through a project now + +- MANY leaks have been plugged and the unit testsuite is now “leak + free” + + +GStreamer validate + +- Added an action type to verify the checksum of the sink last-sample + +- Added an include keyword to validate scenarios + +- Added the notion of variable in scenarios, with the set-vars keyword + +- Started adding support for “performance” like tests by allowing to + define the number of dropped buffers or the minimum buffer frequency + on a specific pad + +- Added a validateflow plugin which allows defining the data flow to + be seen on a particular pad and verifying that following runs match + the expectations + +- Added support for appsrc based test definition so we can instrument + the data pushed into the pipeline from scenarios + +- Added a mockdecryptor allowing adding tests with on encrypted files, + the element will potentially be instrumented with a validate + scenario + +- gst-validate-launcher: + + - Cleaned up output + + - Changed the default for “muting” tests as user doesn’t expect + hundreds of windows to show up when running the testsuite + + - Fixed the outputted xunit files to be compatible with GitLab + + - Added support to run tests on media files in push mode (using + pushfile://) + + - Added support for running inside gst-build + + - Added support for running ssim tests on rendered files + + - Added a way to simply define tests on pipelines through a simple + .json file + + - Added a python app to easily run python testsuite reusing all + the launcher features + + - Added flatpak knowledge so we can print backtrace even when + running from within flatpak + + - Added a way to automatically generated “known issues” + suppressions lines + + - Added a way to rerun tests to check if they are flaky and added + a way to tolerate tests known to be flaky + + - Add a way to output html log files + + +GStreamer Python Bindings + +- add binding for gst_pad_set_caps() + +- pygobject dependency requirement was bumped to >= 3.8 + +- new audiotestsrc, audioplot, and mixer plugin examples, and a + dynamic pipeline example + + +GStreamer C# Bindings + +- bindings for the GstWebRTC library + + +GStreamer Rust Bindings + +The GStreamer Rust bindings are now officially part of the GStreamer +project and are also maintained in the GStreamer GitLab. + +The releases will generally not be synchronized with the releases of +other GStreamer parts due to dependencies on other projects. + +Also unlike the other GStreamer libraries, the bindings will not commit +to full API stability but instead will follow the approach that is +generally taken by Rust projects, e.g.: + +1) 0.12.X will be completely API compatible with all other 0.12.Y + versions. +2) 0.12.X+1 will contain bugfixes and compatible new feature additions. +3) 0.13.0 will _not_ be backwards compatible with 0.12.X but projects + will be able to stay at 0.12.X without any problems as long as they + don’t need newer features. + +The current stable release is 0.12.2 and the next release series will be +0.13, probably around March 2019. + +At this point the bindings cover most of GStreamer core (except for most +notably GstAllocator and GstMemory), and most parts of the app, audio, +base, check, editing-services, gl, net. pbutils, player, rtsp, +rtsp-server, sdp, video and webrtc libraries. + +Also included is support for creating subclasses of the following types +and writing GStreamer plugins: + +- gst::Element +- gst::Bin and gst::Pipeline +- gst::URIHandler and gst::ChildProxy +- gst::Pad, gst::GhostPad +- gst_base::Aggregator and gst_base::AggregatorPad +- gst_base::BaseSrc and gst_base::BaseSink +- gst_base::BaseTransform + +Changes to 0.12.X since 0.12.0 + +Fixed + +- PTP clock constructor actually creates a PTP instead of NTP clock + +Added + +- Bindings for GStreamer Editing Services +- Bindings for GStreamer Check testing library +- Bindings for the encoding profile API (encodebin) + +- VideoFrame, VideoInfo, AudioInfo, StructureRef implements Send and + Sync now +- VideoFrame has a function to get the raw FFI pointer +- From impls from the Error/Success enums to the combined enums like + FlowReturn +- Bin-to-dot file functions were added to the Bin trait +- gst_base::Adapter implements SendUnique now +- More complete bindings for the gst_video::VideoOverlay interface, + especially + gst_video::is_video_overlay_prepare_window_handle_message() + +Changed + +- All references were updated from GitHub to freedesktop.org GitLab +- Fix various links in the README.md +- Link to the correct location for the documentation +- Remove GitLab badge as that only works with gitlab.com currently + +Changes in git master for 0.13 + +Fixed + +- gst::tag::Album is the album tag now instead of artist sortname + +Added + +- Subclassing infrastructure was moved directly into the bindings, + making the gst-plugin crate deprecated. This involves many API + changes but generally cleans up code and makes it more flexible. + Take a look at the gst-plugins-rs crate for various examples. + +- Bindings for CapsFeatures and Meta +- Bindings for + ParentBufferMeta,VideoMetaandVideoOverlayCompositionMeta` +- Bindings for VideoOverlayComposition and VideoOverlayRectangle +- Bindings for VideoTimeCode + +- UniqueFlowCombiner and UniqueAdapter wrappers that make use of the + Rust compile-time mutability checks and expose more API in a safe + way, and as a side-effect implement Sync and Send now + +- More complete bindings for Allocation Query +- pbutils functions for codec descriptions +- TagList::iter() for iterating over all tags while getting a single + value per tag. The old ::iter_tag_list() function was renamed to + ::iter_generic() and still provides access to each value for a tag +- Bus::iter() and Bus::iter_timed() iterators around the corresponding + ::pop\*() functions + +- serde serialization of Value can also handle Buffer now + +- Extensive comments to all examples with explanations +- Transmuxing example showing how to use typefind, multiqueue and + dynamic pads +- basic-tutorial-12 was ported and added + +Changed + +- Rust 1.31 is the minimum supported Rust version now +- Update to latest gir code generator and glib bindings + +- Functions returning e.g. gst::FlowReturn or other “combined” enums + were changed to return split enums like + Result to allow usage of the + standard Rust error handling. + +- MiniObject subclasses are now newtype wrappers around the underlying + GstRc wrapper. This does not change the API in any breaking + way for the current usages, but allows MiniObjects to also be + implemented in other crates and makes sure rustdoc places the + documentation in the right places. + +- BinExt extension trait was renamed to GstBinExt to prevent conflicts + with gtk::Bin if both are imported + +- Buffer::from_slice() can’t possible return None + +- Various clippy warnings + + +GStreamer Rust Plugins + +Like the GStreamer Rust bindings, the Rust plugins are now officially +part of the GStreamer project and are also maintained in the GStreamer +GitLab. + +In the 0.3.x versions this contained infrastructure for writing +GStreamer plugins in Rust, and a set of plugins. + +In git master that infrastructure was moved to the GLib and GStreamer +bindings directly, together with many other improvements that were made +possible by this, so the gst-plugins-rs repository only contains +GStreamer elements now. + +Elements included are: + +- Tutorials plugin: identity, rgb2gray and sinesrc with extensive + comments + +- rsaudioecho, a port of the audiofx element + +- rsfilesrc, rsfilesink + +- rsflvdemux, a FLV demuxer. Not feature-equivalent with flvdemux yet + +- threadshare plugin: ts-appsrc, ts-proxysrc/sink, ts-queue, ts-udpsrc + and ts-tcpclientsrc elements that use a fixed number of threads and + share them between instances. For more background about these + elements see Sebastian’s talk “When adding more threads adds more + problems - Thread-sharing between elements in GStreamer” at the + GStreamer Conference 2017. + +- rshttpsrc, a HTTP source around the hyper/reqwest Rust libraries. + Not feature-equivalent with souphttpsrc yet. + +- togglerecord, an element that allows to start/stop recording at any + time and keeps all audio/video streams in sync. + +- mccparse and mccenc, parsers and encoders for the MCC closed caption + file format. + +Changes to 0.3.X since 0.3.0 + +- All references were updated from GitHub to freedesktop.org GitLab +- Fix various links in the README.md +- Link to the correct location for the documentation + +Changes in git master for 0.4 + +- togglerecord: Switch to parking_lot crate for mutexes/condition + variables for lower overhead +- Merge threadshare plugin here +- New closedcaption plugin with mccparse and mccenc elements +- New identity element for the tutorials plugin + +- Register plugins statically in tests instead of relying on the + plugin loader to find the shared library in a specific place + +- Update to the latest API changes in the GLib and GStreamer bindings +- Update to the latest versions of all crates + + +Build and Dependencies + +- The MESON BUILD SYSTEM BUILD IS NOW FEATURE-COMPLETE (*) and it is + now the recommended build system on all platforms and also used by + Cerbero to build GStreamer on all platforms. The Autotools build is + scheduled to be removed in the next cycle. Developers who currently + use gst-uninstalled should move to gst-build. The build option + naming has been cleaned up and made consistent and there are now + feature options to enable/disable plugins and various other features + on a case-by-case basis. (*) with the exception of plugin docs which + will be handled differently in future + +- Symbol export in libraries is now controlled via explicit exports + using symbol visibility or export defines where supported, to ensure + consistency across all platforms. This also allows libraries to have + exports that vary based on detected platform features and configure + options as is the case with the GStreamer OpenGL integration library + for example. A few symbols that had been exported by accident in + earlier versions may no longer be exported. These symbols will not + have had declarations in any public header files then though and + would not have been usable. + +- The GStreamer FFmpeg wrapper plugin (gst-libav) now depends on + FFmpeg 4.x and uses the new FFmpeg 4.x API and stopped relying on + ancient API that was removed with the FFmpeg 4.x release. This means + that it is no longer possible to build this module against an older + system-provided FFmpeg 3.x version. Use the internal FFmpeg 4.x copy + instead if you build using autotools, or use gst-libav 1.14.x + instead which targets the FFmpeg 3.x API and _should_ work fine in + combination with a newer GStreamer. It’s difficult for us to support + both old and new FFmpeg APIs at the same time, apologies for any + inconvenience caused. + +- Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and + nvenc can be built against CUDA Toolkit versions 9 and 10.0 now. The + dynlink interface has been dropped since it’s deprecated in 10.0. + +- The (optional) OpenCV requirement has been bumped to >= 3.0.0 and + the plugin can also be built against OpenCV 4.x now. + +- New sctp plugin based on usrsctp (for WebRTC data channels) + +Cerbero + +Cerbero is a meta build system used to build GStreamer plus dependencies +on platforms where dependencies are not readily available, such as +Windows, Android, iOS and macOS. + +Cerbero has seen a number of improvements: + +- Cerbero has been ported to Python 3 and requires Python 3.5 or newer + now + +- Source tarballs are now protected by checksums in the recipes to + guard against download errors and malicious takeover of projects or + websites. In addition, downloads are only allowed via secure + transports now and plain HTTP, FTP and git:// transports are not + allowed anymore. + +- There is now a new fetch-bootstrap command which downloads sources + required for bootstrapping, with an optional --build-tools-only + argument to match the bootstrap --build-tools-only command. + +- The bootstrap, build, package and bundle-source commands gained a + new --offline switch that ensures that only sources from the cache + are used and never downloaded via the network. This is useful in + combination with the fetch and fetch-bootstrap commands that acquire + sources ahead of time before any build steps are executed. This + allows more control over the sources used and when sources are + updated, and is particularly useful for build environments that + don’t have network access. + +- bootstrap --assume-yes will automatically say ‘yes’ to any + interactive prompts during the bootstrap stage, such as those from + apt-get or yum. + +- bootstrap --system-only will only bootstrap the system without build + tools. + +- Manifest support: The build manifest can be used in continuous + integration (CI) systems to fixate the Git revision of certain + projects so that all builds of a pipeline are on the same reference. + This is used in GStreamer’s gitlab CI for example. It can also be + used in order to re-produce a specific build. To set a manifest, you + can set manifest = 'my_manifest.xml' in your configuration file, or + use the --manifest command line option. The command line option will + take precedence over anything specific in the configuration file. + +- The new build-deps command can be used to build only the + dependencies of a recipe, without the recipe itself. + +- new --list-variants command to list available variants + +- variants can now be set on the command line via the -v option as a + comma-separated list. This overrides any variants set in any + configuration files. + +- new qt5, intelmsdk and nvidia variants for enabling Qt5 and hardware + codec support. See the Enabling Optional Features with Variants + section in the Cerbero documentation for more details how to enable + and use these variants. + +- When building on Windows, Cerbero can now build GStreamer recipes + and core dependencies such as glib with Visual Studio. This is + controlled by the visualstudio variant. Visual Studio 2015, 2017, + and 2019 are supported. Currently, only 64-bit x86 is supported due + to a known bug which will be fixed for the next release. + +- A new -t / --timestamp command line switch makes commands print + timestamps + + +Platform-specific changes and improvements + +Android + +- toolchain: update compiler to clang and NDKr18. NDK r18 removed the + armv5 target and only has Android platforms that target at least + armv7 so the armv5 target is not useful anymore. + +- The way that GIO modules are named has changed due to upstream GLib + natively adding support for loading static GIO modules. This means + that any GStreamer application using gnutls for SSL/TLS on the + Android or iOS platforms (or any other setup using static libraries) + will fail to link looking for the g_io_module_gnutls_load_static() + function. The new function name is now + g_io_gnutls_load(gpointer data). data can be NULL for a static + library. Look at this commit for the necessary change in the + examples. + +- various build issues on Android have been fixed. + +macOS and iOS + +- various build issues on iOS have been fixed. + +- the minimum required iOS version is now 9.0. The difference in + adoption between 8.0 and 9.0 is 0.1% and the bump to 9.0 fixes some + build issues. + +- The way that GIO modules are named has changed due to upstream GLib + natively adding support for loading static GIO modules. This means + that any GStreamer application using gnutls for SSL/TLS on the + Android or iOS platforms (or any other setup using static libraries) + will fail to link looking for the g_io_module_gnutls_load_static() + function. The new function name is now + g_io_gnutls_load(gpointer data). data can be NULL for a static + library. Look at this commit for the necessary change in the + examples. + +Windows + +- The webrtcdsp element is shipped again as part of the Windows binary + packages, the build system issue has been resolved. + +- ‘Inconsistent DLL linkage’ warnings when building with MSVC have + been fixed + +- Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and + nvenc build on Windows now, also with MSVC and using Meson. + +- The ksvideosrc camera capture plugin supports 16-bit grayscale video + now + +- The wasapisrc audio capture element implements loopback recording + from another output device or sink + +- wasapisink recover from low buffer levels in shared mode and some + exclusive mode fixes + +- dshowsrc now implements the GstDeviceMonitor interface + + +Contributors + +Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț, +Alex Ashley, Alexey Chernov, Alicia Boya García, Amit Pandya, Andoni +Morales Alastruey, Andreas Frisch, Andre McCurdy, Andy Green, Anthony +Violo, Antoine Jacoutot, Antonio Ospite, Arun Raghavan, Aurelien Jarno, +Aurélien Zanelli, ayaka, Bananahemic, Bastian Köcher, Branko Subasic, +Brendan Shanks, Carlos Rafael Giani, Charlie Turner, Christoph Reiter, +Corentin Noël, Daeseok Youn, Damian Vicino, Dan Kegel, Daniel Drake, +Daniel Klamt, Danilo Spinella, Dardo D Kleiner, David Ing, David +Svensson Fors, Devarsh Thakkar, Dimitrios Katsaros, Edward Hervey, +Emilio Pozuelo Monfort, Enrique Ocaña González, Erlend Eriksen, Ezequiel +Garcia, Fabien Dessenne, Fabrizio Gennari, Florent Thiéry, Francisco +Velazquez, Freyr666, Garima Gaur, Gary Bisson, George Kiagiadakis, Georg +Lippitsch, Georg Ottinger, Geunsik Lim, Göran Jönsson, Guillaume +Desmottes, H1Gdev, Haihao Xiang, Haihua Hu, Harshad Khedkar, Havard +Graff, He Junyan, Hoonhee Lee, Hosang Lee, Hyunjun Ko, Ilya Smelykh, +Ingo Randolf, Iñigo Huguet, Jakub Adam, James Stevenson, Jan Alexander +Steffens, Jan Schmidt, Jerome Laheurte, Jimmy Ohn, Joakim Johansson, +Jochen Henneberg, Johan Bjäreholt, John-Mark Bell, John Bassett, John +Nikolaides, Jonathan Karlsson, Jonny Lamb, Jordan Petridis, Josep Torra, +Joshua M. Doe, Jos van Egmond, Juan Navarro, Julian Bouzas, Jun Xie, +Junyan He, Justin Kim, Kai Kang, Kim Tae Soo, Kirill Marinushkin, Kyrylo +Polezhaiev, Lars Petter Endresen, Linus Svensson, Louis-Francis +Ratté-Boulianne, Lucas Stach, Luis de Bethencourt, Luz Paz, Lyon Wang, +Maciej Wolny, Marc-André Lureau, Marc Leeman, Marco Trevisan (Treviño), +Marcos Kintschner, Marian Mihailescu, Marinus Schraal, Mark Nauwelaerts, +Marouen Ghodhbane, Martin Kelly, Matej Knopp, Mathieu Duponchelle, +Matteo Valdina, Matthew Waters, Matthias Fend, memeka, Michael Drake, +Michael Gruner, Michael Olbrich, Michael Tretter, Miguel Paris, Mike +Wey, Mikhail Fludkov, Naveen Cherukuri, Nicola Murino, Nicolas Dufresne, +Niels De Graef, Nirbheek Chauhan, Norbert Wesp, Ognyan Tonchev, Olivier +Crête, Omar Akkila, Pat DeSantis, Patricia Muscalu, Patrick Radizi, +Patrik Nilsson, Paul Kocialkowski, Per Forlin, Peter Körner, Peter +Seiderer, Petr Kulhavy, Philippe Normand, Philippe Renon, Philipp Zabel, +Pierre Labastie, Piotr Drąg, Roland Jon, Roman Sivriver, Roman Shpuntov, +Rosen Penev, Russel Winder, Sam Gigliotti, Santiago Carot-Nemesio, +Sean-Der, Sebastian Dröge, Seungha Yang, Shi Yan, Sjoerd Simons, Snir +Sheriber, Song Bing, Soon, Thean Siew, Sreerenj Balachandran, Stefan +Ringel, Stephane Cerveau, Stian Selnes, Suhas Nayak, Takeshi Sato, +Thiago Santos, Thibault Saunier, Thomas Bluemel, Tianhao Liu, +Tim-Philipp Müller, Tobias Ronge, Tomasz Andrzejak, Tomislav Tustonić, +U. Artie Eoff, Ulf Olsson, Varunkumar Allagadapa, Víctor Guzmán, Víctor +Manuel Jáquez Leal, Vincenzo Bono, Vineeth T M, Vivia Nikolaidou, Wang +Fei, wangzq, Whoopie, Wim Taymans, Wind Yuan, Wonchul Lee, Xabier +Rodriguez Calvar, Xavier Claessens, Haihao Xiang, Yacine Bandou, +Yeongjin Jeong, Yuji Kuwabara, Zeeshan Ali, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. + + +Stable 1.16 branch + +After the 1.16.0 release there will be several 1.16.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.16.x bug-fix releases will be made from +the git 1.16 branch, which is a stable branch. + +1.16.0 + +1.16.0 was released on 19 April 2019. + +1.16.1 + +The first 1.16 bug-fix release (1.16.1) was released on 23 September +2019. + +This release only contains bugfixes and it _should_ be safe to update +from 1.16.0. + +Highlighted bugfixes in 1.16.1 + +- GStreamer-vaapi: fix green frames and decoding artefacts in some + cases +- OpenGL: fix wayland event source burning CPU in certain + circumstances +- Memory leak fixes and memory footprint improvements +- Performance improvements +- Stability and security fixes +- Fix enum for GST_MESSAGE_DEVICE_CHANGED which is technically an API + break, but this is only used internally in GStreamer and duplicated + another message enum +- hls: Make crypto dependency optional when hls-crypto is auto +- player: fix switching back and forth between forward and reverse + playback +- decklinkaudiosink: Drop late buffers +- openh264enc: Fix compilation with openh264 v2.0 +- wasapisrc: fix segtotal value being always 2 +- android: Fix gnutls issue causing a FORTIFY crash on Android Q +- windows: Fix two crashes due to cross-CRT free when using MSVC + +gstreamer core + +- device: gst_device_create_element() is transfer floating, not + transfer full +- filesink, fdsink: respect IOV_MAX for the writev iovec array + (Solaris) +- miniobject: free qdata array when the last qdata is removed (reduces + memory footprint) +- bin: Fix minor race when adding to a bin +- aggregator: Actually handle NEED_DATA return from update_src_caps() +- aggregator: Ensure that the source pad is created as a + GstAggregatorPad if no type is given in the pad template +- latency: fix custom event leaks +- registry: Use plugin directory from the build system for + relocateable Windows builds +- message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED +- info: Fix deadlock in gst_ring_buffer_logger_log() +- downloadbuffer: Check for flush after seek +- identity: Non-live upstream have no max latency +- identity: Fix the ts-offset property getter +- aggregator: Make parsing of explicit sink pad names more robust +- bufferpool: Fix the buffer size reset code +- fakesink, fakesrc, identity: sync gst_buffer_get_flags_string() with + new flags +- multiqueue: never unref queries we do not own +- concat: Reset last_stop on FLUSH_STOP too +- aggregator: fix flow-return boolean return type mismatch +- gstpad: Handle probes that reset the data field +- gst: Add support for g_autoptr(GstPromise) +- gst-inspect: fix unused-const-variable error in windows +- base: Include gstbitwriter.h in the single-include header +- Add various Since: 1.16 markers +- GST_MESSAGE_DEVICE_CHANGED duplicates GST_MESSAGE_REDIRECT +- Targetting wrong meson version +- meson: Make get_flex_version.py script executable +- meson: Link to objects instead of static helper library +- meson: set correct install path for gdb helper +- meson: fix warning about configure_file() install kwarg + +gst-plugins-base + +- video-info: parse field-order for all interleaved formats +- tests: fix up valgrind suppressions for glibc getaddrinfo leaks +- meson: Reenable NEON support (in audio resampler) +- audio-resampler: Update NEON to handle remainders not multiples of 4 +- eglimage: Fix memory leak +- audiodecoder: Set output caps with negotiated caps to avoid critical + info printed +- video-frame: Take TFF flag from the video info if it was set in + there +- glcolorconvert: Fix external-oes shader +- video-anc: Fix ADF detection when trying to extract data from vanc +- gl/wayland: fix wayland event source burning CPU +- configure: add used attribute in order to make NEON detection + working with -flto. +- audioaggregator: Return a valid rate range from caps query if + downstream supports a whole range +- rtspconnection: data-offset increase not set +- rtpsconnection: Fix number of n_vectors +- video-color: Add compile-time assert for ColorimetryInfo enum +- audiodecoder: Fix leak on failed audio gaps +- glupload: Keep track of cached EGLImage texture format +- playsink: Set ts-offset to text sink. +- meson.build: use join_paths() on prefix +- compositor: copy frames as-is when possible +- compositor: Skip background when a pad obscures it completely +- rtspconnection: Start CSeq at 1 (some servers don’t cope well with + seqnum 0) +- viv-fb: fix build break for GST_GL_API +- gl/tests: fix shader creation tests part 2 +- gl/tests: fix shader creation tests +- wayland: set the event queue also for the xdg_wm_base object +- video: Added GI annotation for gstvideoaffinetransformationmeta + apply_matrix +- compositor: Remove unneeded left shift for ARGB/AYUV SOURCE operator +- Colorimetry fixes +- alsasrc: Don’t use driver timestamp if it’s zero +- gloverlaycompositor: fix crash if buffer doesn’t have video meta +- meson: Don’t try to find gio-unix on Windows +- glshader: fix default external-oes shaders +- subparse: fix pushing WebVTT cue with no newline at the end +- meson: Missing “android” choice in gl_winsys +- video test: Keep BE test inline with LE test +- id3tag: Correctly validate the year from v1 tags before passing to + GstDateTime +- gl/wayland: Don’t prefix wl_shell struct field +- eglimage: Add compatibility define for DRM_FORMAT_NV24 +- Add various Since: 1.16 markers +- video-anc: Handle SD formats correctly +- Docs: add GL_CFLAGS to GTK_DOC_CFLAGS +- GL: using vaapi and showing on glimagesink on wayland loads one core + for 100% on 1.16 +- GL: external-oes shader places precision qualifier before #extension + (was: androidmedia amcviddec fail after 1.15.90 1.16.0 update) + +gst-plugins-good + +- alpha: Fix one_over_kc calculation on arm/aarch64 +- souphttpsrc: Fix incompatible type build warning +- rtpjitterbuffer: limit max-dropout-time to maxint32 +- rtpjitterbuffer: Clear clock master before unreffing +- qtdemux: Use empty-array safe way to cleanup GPtrArray +- v4l2: Fix type compatibility issue with glibc 2.30 +- valgrind: suppress Cond error coming from gnutls and Ignore leaks + caused by shout/sethostent +- rtpfunnel: forward correct segment when switching pad +- gtkglsink: fix crash when widget is resized after element + destruction +- jpegdec: Don’t dereference NULL input state if we have no caps in + TIME segments +- rtp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps +- v4l2videodec: return right type for drain. +- rtpssrcdemux: Avoid taking streamlock out-of-band +- Support v4l2src buffer orphaning +- splitmuxsink: Only set running time on finalizing sink element when + in async-finalize mode +- rtpsession: Always keep at least one NACK on early RTCP +- rtspsrc: do not try to send EOS with invalid seqnum +- rtpsession: Call on-new-ssrc earlier +- rtprawdepay: Don’t get rid of the buffer pool on FLUSH_STOP +- rtpbin: Free storage when freeing session +- scaletempo: Advertise interleaved layout in caps templates +- Support v4l2src buffer orphaning + +gst-plugins-bad + +- hls: Make crypto dependency optional when hls-crypto is auto +- player: fix switching back and forth between forward and reverse + playback +- decklinkaudiosink: Drop late buffers +- srt: Add stats property, include sender-side statistics and fix a + crash +- dshowsrcwrapper: fix regression on device selection +- tsdemux: Limit the maximum PES payload size +- wayland: Define libdrm_dep in meson.build to fix meson configure + error when kms is disabled +- sctp: Fix crash on free() when using the MSVC binaries +- webrtc: Fix signals documentation +- h264parse: don’t critical on VUI parameters > 2^31 +- rtmp: Fix crash inside free() with MSVC on Windows +- iqa: fix leak of map_meta.data +- d3dvideosink: Fix crash on WinProc handler +- amc: Fix crash when a sync_meta survives its sink +- pitch: Fix race between putSamples() and setting soundtouch + parameters +- webrtc: fix type of max-retransmits, make it work +- mxfdemux: Also allow picture essence element type 0x05 for VC-3 +- wasapi: fix symbol redefinition build error +- decklinkvideosrc: Retrieve mode of the ancillary data from the frame +- decklinkaudiosrc/decklinkvideosrc: Do nothing in + BaseSrc::negotiate() and… +- adaptivedemux: do not retry downloads during shutdown. +- webrtcbin: fix GInetAddress leak +- dtls: fix dtls connection object leak +- siren: fix a global buffer overflow spotted by asan +- kmssink: Fix implicit declaration build error +- Fix -Werror=return-type error in configure. +- aiff: Fix infinite loop in header parsing. +- nvdec: Fix possible frame drop on EOS +- srtserversrc: yields malformed rtp payloads +- srtsink: Fix crash in case no URI +- dtlsagent: Fix leaked dtlscertificate +- meson: bluez: Early terminate configure on Windows +- decklink: Correctly ensure >=16 byte alignment for the buffers we + allocate +- webrtcbin: fix DTLS when receivebin is set to DROP +- zbar: Include running-time, stream-time and duration in the messages +- uvch264src: Make sure we set our segment +- avwait: Allow start and end timecode to be set back to NULL +- avwait: Don’t print warnings for every buffer passed +- hls/meson: fix dependency logic +- Waylandsink gnome shell workaround +- avwait: Allow setting start timecode after end timecode; protect + propeties with mutex +- wayland/wlbuffer: just return if used_by_compositor is true when + attach +- proxy: Set SOURCE flag on the source and SINK flag on the sink +- ivfparse: Check the data size against IVF_FRAME_HEADER_SIZE +- webrtc: Add various Since markers to new types after 1.14.0 +- msdk: fix the typo in debug category +- dtlsagent: Do not overwrite openssl locking callbacks +- meson: Fix typo in gsm header file name +- srt: handle races in state change +- webrtc: Add g_autoptr() support for public types +- openh264enc: Fix compilation with openh264 v2.0 +- meson: Allow CUDA_PATH fallback on linux +- meson: fix build with opencv=enabled and opencv4. Fixes #964 +- meson: Add support for the colormanagement plugin +- autotools: gstsctp: set LDFLAGS +- nvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS +- h264parse: Fix typo when setting multiview mode and flags +- Add various Since: 1.16 markers +- opencv: allow compilation against 4.1.x +- Backport of some minor srt commits without MR into 1.16 +- meson: fix build with opencv=enabled and opencv4 +- wasapisrc: fix segtotal value being always 2 due to an unused + variable +- meson: colormanagement missing +- androidmedia amcviddec fail after 1.15.90 1.16.0 update + +gst-plugins-ugly + +- meson: Always require the gmodule dependency + +gst-libav + +- docs: don’t include the type hierarchy, fixing build with gtk-doc + 1.30 +- avvidenc: Correctly signal interlaced input to ffmpeg when the input + caps are interlaced +- autotools: add bcrypt to win32 libs +- gstav: Use libavcodec util function for version check +- API documentation fails to build with gtk-doc 1.30 + +gst-rtsp-server + +- rtsp-client: RTP Info must exist in PLAY response +- onvif-media: fix “void function returning a value” compiler warning +- Add various Since: 1.16 markers + +gstreamer-vaapi + +- fix egl context leak and display creation race +- pluginutil: Remove Mesa from drivers white list +- Classify vaapidecodebin as a hardware decoder +- Fix two leak +- vaapivideomemory: demote error message to info +- encoder: vp8,vp9: reset frame_counter when input frame’s format + changes +- encoder: mpeg2: No packed header for SPS and PPS +- decoder: vp9: clear parser pointer after release +- encoder: Fixes deadlock in change state function +- encoder: h265: reset num_ref_idx_l1_active_minus1 when low delay B. +- encoder: not call ensure_num_slices inside g_assert() +- encoder: continue if roi meta is NULL +- decoder: vp9: Set chroma_ ype by VP9 bit_depth +- vaapipostproc: don’t do any color conversion when GL_TEXTURE_UPLOAD +- libs: surface: fix double free when dmabuf export fails +- h264 colors and artifacts upon upgrade to GStreamer Core Library + version 1.15.90 + +gst-editing-services + +- element: Properly handle the fact that pasting can return NULL +- Add various missing Since markers +- launch: Fix caps restriction short names +- python: Avoid warning about using deprecated methods +- video-transition: When using non crossfade effect use ‘over’ + operations +- meson: Generate a pkgconfig file for the GES plugin + +gst-devtools + +- launcher: testsuites: skip systemclock stress tests +- validate: fix build on macOS + +gst-build + +- Update win flex bison binaries +- Update the flexmeson windows binary version +- Don’t allow people to run meson inside the uninstalled env + +Cerbero build tool and packaging changes in 1.16.1 + +- cerbero: Add enums for Fedora 30, Fedora 31 and Debian bullseye +- gnutls.recipe: Fix crash when running on Android Q +- recipes: Upgrade openssl to 1.1.1c +- Fix some typos +- add support for vs build tools 2019, fixes #183 +- android: Adjust gstreamer-1.0.mk for NDK r20 +- Fix license enums +- bootstrap: Fix dnf usage on CentOS +- Make _add_system_libs reentrant +- meson.recipe: Fix setting of bitcode compiler options +- cerbero: support Ubuntu disco dingo +- cerbero: Set utf-8 to execution character set also on MSVC +- git: simplify the reset of the source branch. +- FORTIFY: %n not allowed on Android Q +- Fails to build if there’s no license file for the given license + (GPL/LGPL without Plus, Proprietary, …) + +Contributors to 1.16.1 + +Aaron Boxer, Adam Duskett, Alicia Boya García, Andoni Morales Alastruey, +Antonio Ospite, Arun Raghavan, Askar Safin, A. Wilcox, Charlie Turner, +Christoph Reiter, Damian Hobson-Garcia, Daniel Klamt, Danny Smith, David +Gunzinger, David Ing, David Svensson Fors, Doug Nazar, Edward Hervey, +Eike Hein, Fabrice Bellet, Fernando Herrrera, Georg Lippitsch, Göran +Jönsson, Guillaume Desmottes, Haihao Xiang, Haihua Hu, Håvard Graff, Hou +Qi, Ignacio Casal Quinteiro, Ilya Smelykh, Jan Schmidt, Javier Celaya, +Jim Mason, Jonas Larsson, Jordan Petridis, Jose Antonio Santos Cadenas, +Juan Navarro, Knut Andre Tidemann, Kristofer Björkström, Lucas Stach, +Marco Felsch, Marcos Kintschner, Mark Nauwelaerts, Martin Liska, Martin +Theriault, Mathieu Duponchelle, Matthew Waters, Michael Olbrich, Mike +Gorse, Nicola Murino, Nicolas Dufresne, Niels De Graef, Niklas +Hambüchen, Nirbheek Chauhan, Olivier Crête, Philippe Normand, Ross +Burton, Sebastian Dröge, Seungha Yang, Song Bing, Thiago Santos, +Thibault Saunier, Thomas Coldrick, Tim-Philipp Müller, Víctor Manuel +Jáquez Leal, Vivia Nikolaidou, Xavier Claessens, Yeongjin Jeong, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.16.1 + +- List of Merge Requests applied in 1.16 +- List of Issues fixed in 1.16.1 + +1.16.2 + +The second 1.16 bug-fix release (1.16.2) was released on 03 December +2019. + +This release only contains bugfixes and it _should_ be safe to update +from 1.16.1. + +Highlighted bugfixes in 1.16.2 + +- Interlaced video scaling fixes +- CineForm video support in AVI +- audioresample: avoid glitches due to rounding errors after changing + rate +- Command line tool output printing improvements on Windows +- various performance improvements, memory leak fixes and security + fixes +- VP9 decoding fixes +- avfvideosrc: Explicitly request video permission on macOS 10.14+ +- wasapi: bug fixes and stability improvements +- webrtc-audio-processing: fix segmentation fault on 32-bit windows +- tsdemux: improved handling of certain discontinuities +- vaapi h265 decoder: wait for I-frame before trying to decode + +gstreamer + +- gst-launch: Fix ugly stdout on Windows +- tee: Make sure to actually deactivate pads that are released +- bin: Drop need-context messages without source instead of crashing +- gst: Don’t pass miniobjects to GST_DEBUG_OBJECT() and similar macros +- tracers: Don’t leak temporary GstStructure + +gst-plugins-base + +- xvimagepool: Update size, stride, and offset with allocated XvImage +- video-converter: Fix RGB-XYZ-RGB conversion +- audiorate: Update next_offset on rate change +- audioringbuffer: Reset reorder flag before check +- audio-buffer: Don’t fail to map buffers with zero samples +- videorate: Fix max-duplication-time handling +- gl/gbm: ensure we call the resize callback before attempting to draw +- video-converter: Various fixes for interlaced scaling +- gstrtspconnection: messages_bytes not decreased +- check: Don’t use real audio devices for tests +- riff: add CineForm mapping +- glfilters: Don’t use static variables for storing per-element state +- glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers +- streamsynchronizer: avoid pad release race during logging. +- gst-play: Use gst_print* to avoid broken stdout string on Windows + +gst-plugins-good + +- vp9dec: Fix broken 4:4:4 8bits decoding +- rtpsession: add locking for clear-pt-map +- rtpL16depay: don’t crash if data is not modulo channels*width +- wavparse: Fix push mode ignoring audio with a size smaller than + segment buffer +- wavparse: Fix push mode ignoring last audio payload chunk +- aacparse: fix wrong offset of the channel number in adts header +- jpegdec: Fix incorrect logic in EOI tag detection +- videocrop: Also update the coordinate when in-place +- jpegdec: don’t overwrite the last valid line +- vpx: Error out if enabled and no features found +- v4l2videodec: ensure pool exists before orphaning it +- v4l2videoenc: fix type conversion errors +- v4l2bufferpool: Queue number of allocated buffers to capture +- v4l2object: fix mpegversion number typo +- v4l2object: Work around bad TRY_FMT colorimetry implementations + +gst-plugins-bad + +- avfvideosrc: Explicitly request video permission on macOS 10.14+ +- wasapi: Various fixes and a workaround for a specific driver bug +- wasapi: Move to CoInitializeEx for COM initialization +- wasapi: Fix runtime/build warnings +- waylandsink: Commit the parent after creating subsurface +- msdkdec: fix surface leak in msdkdec_handle_frame +- tsmux: Fix copying of buffer region +- tsdemux: Handle continuity mismatch in more cases +- tsdemux: Always issue a DTS even when it’s equal to PTS +- openexr: Fix build with OpenEXR 2.4 (and also OpenEXR 2.2 on Ubuntu + 18.04) +- ccextractor: Always forward all sticky events to the caption pad +- pnmdec: Return early on ::finish() if we have no actual data to + parse +- ass: avoid infinite unref loop with bad data +- fluidsynth: add sf3 to soundfont search path +- webrtcdsp/webrtcechoprobe segmentation fault on windows (1.16.0 x86) + +gst-libav + +- avvidenc: Fix error propagation +- avdemux: Fix segmentation fault if long_name is NULL +- avviddec: Fix huge leak caused by circular reference +- avviddec: Enforce allocate new AVFrame per input frame +- avdec_mpeg2video (and probably more): Huge memory leak in git master + +gst-rtsp-server + +- rtsp-media: Use lock in gst_rtsp_media_is_receive_only +- rtsp-client: RTP Info when completed_sender +- rtsp-client: fix location uri-format by getting uri directly from + context instead + +gstreamer-vaapi + +- meson build: halt configuration if no renderer API +- libs: decoder: h265: skip all pictures prior the first I-frame +- libs: window: x11: Avoid usage of deprecated API + +gst-editing-services + +- Initialize debug categories before usage + +gst-build + +- gst-env: Use locally built GStreamer utility programs + +Cerbero build tool and packaging changes in 1.16.2 + +General + +- openssl: Update to 1.1.1d +- Updated ffmpeg, expat, flac, freetype, croco, ogg, xml2, mpg123, + openjpeg, opus, pixman, speex, tiff recipes +- Fix setting of git credentials in local source repos + +Windows + +- webrtc-audio-processing: fix segmentation fault on 32-bit windows + with webrtcdsp/webrtcechoprobe elemens +- vpx plugin has no features when built with Visual Studio 2019 +- libvpx: Add support for Visual Studio 2019 +- mingw-runtime.recipe: Correctly package pkg-config in the MSI +- GIO doesn’t load any modules on Windows with MSVC, which breaks TLS + support since glib-networking’s giognutls module isn’t loaded +- Make the instructions for running Cerbero the same on all platforms + +macOS + iOS + +- Add support for macOS 10.15 Catalina +- Updates for Xcode 11 +- macos/ios: expose objc++ compilers in env variables +- srt.recipe: Fix crash in constructor on iOS +- osx-framework.recipe: Dynamically generate the list of libraries and + ship pkg-config +- macos: add -mmacosx-version-min for framework +- gstreamer-1.0-osx-framework.recipe contains an outdated hard-coded + list of libraries +- We need to ship pkg-config with macOS + +Linux + +- Fix filesprovider.find_shlib_regex when a lib_suffix is used in the + cerbero config file + +Contributors to 1.16.2 + +Adam Nilsson, Amr Mahdi, Angus Ao, Charlie Turner, Edward Hervey, Fabian +Greffrath, Fuwei Tang, Havard Graff, Hu Qian, James Cowgill, Jan +Alexander Steffens (heftig), Jeffy Chen, Jeremy Lempereur, Joakim +Johansson, Jochen Henneberg, Julien Isorce, Kevin Joly, Kristofer +Bjorkstrom, Kyrylo Polezhaiev, Matthew Waters, Michael Olbrich, Muhammet +Ilendemli, Nicolas Dufresne, Nirbheek Chauhan, Pablo Marcos Oltra, Roman +Shpuntov, Ruben Gonzalez, Scott Kanowitz, Sebastian Dröge, Seungha Yang, +Thibault Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal, Vivia +Nikolaidou, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.16.2 + +- List of Merge Requests applied in 1.16 +- List of Issues fixed in 1.16.2 + + +Known Issues + +- possibly breaking/incompatible changes to properties of wrapped + FFmpeg decoders and encoders (see above). + +- The way that GIO modules are named has changed due to upstream GLib + natively adding support for loading static GIO modules. This means + that any GStreamer application using gnutls for SSL/TLS on the + Android or iOS platforms (or any other setup using static libraries) + will fail to link looking for the g_io_module_gnutls_load_static() + function. The new function name is now + g_io_gnutls_load(gpointer data). See Android/iOS sections above for + further details. + + +Schedule for 1.18 + +Our next major feature release will be 1.18, and 1.17 will be the +unstable development version leading up to the stable 1.18 release. The +development of 1.17/1.18 will happen in the git master branch. + +The plan for the 1.18 development cycle is yet to be confirmed, but it +is now expected that feature freeze will take place in December 2019, +with the first 1.18 stable release ready in late January or February. + +1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10, +1.8, 1.6, 1.4, 1.2 and 1.0 release series. + +------------------------------------------------------------------------ + +_These release notes have been prepared by Tim-Philipp Müller with_ +_contributions from Sebastian Dröge, Guillaume Desmottes, Matthew +Waters, _ _Thibault Saunier, and Víctor Manuel Jáquez Leal._ + +_License: CC BY-SA 4.0_