rtp: Add Full Intra Request (FIR) packets to statistics
[platform/upstream/gst-plugins-good.git] / NEWS
diff --git a/NEWS b/NEWS
index c5615c5..96e2b98 100644 (file)
--- a/NEWS
+++ b/NEWS
-This is GStreamer Good Plug-ins 0.10.3, "Desplazado"
-
-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
+This is GStreamer Good Plugins 1.4.0
+
+Changes since 1.2:
+
+New API:
+ • GstMessageType has GST_MESSAGE_EXTENDED added. All types before
+   that can be used together as a flags type as before, but from
+   that message onwards the types are just counted incrementally.
+   This was necessary to be able to add more message types.
+   In 2.0 GstMessageType will just become an enum and not a flags
+   type anymore.
+ • GstDeviceMonitor for device probing, e.g. to list all available
+   audio or video capture devices. This is the replacement for
+   GstPropertyProbe from 0.10.
+ • Events accumulate the running-time offset now when travelling
+   through pads, as set by the gst_pad_set_offset() function. This
+   allows to compensate for this in the QOS event for example.
+ • GstBuffer has a new flag "tag-memory" that is set automatically
+   when memory is added or removed to a buffer. This allows buffer
+   pools to detect if they can recycle a buffer or need to reset
+   it first.
+ • GstToc has new API to mark GstTocEntries as loops.
+ • A not-authorized resource error has been defined to notify
+   applications that accessing the resource has failed because
+   of missing authorization and to distinguish this case from others.
+   This change is actually already in 1.2.4.
+ • GstPad has a new flag "accept-intersect", that will let the default
+   ACCEPT_CAPS query handler do an intersection instead of subset check.
+   This is interesting for parser elements that can handle incomplete
+   caps.
+ • GstCollectPads has support for flushing and a default handler for
+   SEEK events now.
+ • New GstFlowAggregator helper object that simplifies handling of
+   flow returns in elements with multiple source pads. Additionally
+   GstPad now always stores the last flow return and provides an
+   API to retrieve it.
+ • GstSegment has new API to offset the running time by a specific
+   value and this is used in GstPad to allow positive and negative
+   offsets in gst_pad_set_offset() in all situations.
+ • Support for h265/HEVC and VP8 has been added to the codec utils and codec
+   parsers library, and was integrated into various elements.
+ • API for adjusting the TLS validation of RTSP connection has been added.
+ • The RTSP and SDP library has MIKEY (RFC 3830) support now, and
+   there is API to distinguish between the different RTSP profiles.
+ • API to access RTP time information and statistics.
+ • Support for auxiliary streams was added to rtpbin.
+ • Support for tiled, raw video formats has been added.
+ • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
+   events and merge custom tags into them consistently.
+ • GstBufferPool has support for flushing now.
+ • playbin/playsink has support for application provided audio and video
+   filters.
+ • GstDiscoverer has new and simplified API to get details about missing
+   plugins and information to pass to the plugin installer.
+ • The GL library was merged from gst-plugins-gl to gst-plugins-bad,
+   providing a generic infrastructure for handling GL inside GStreamer
+   pipelines and a plugin with some elements using these, especially
+   a video sink. Supported platforms currently are Android, Cocoa (OS X),
+   DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
+   Wayland and EGL platforms.
+   This replaces eglglessink and also is supposed to replace osxvideosink.
+ • New GstAggregator base class in gst-plugins-bad. This is supposed to
+   replace GstCollectPads in the future and fix long-known shortcomings
+   in its API. Together with the base class some elements are provided
+   already, like a videomixer (compositor).
+
+
+Major changes:
+ • New plugins and elements:
+   ∘ v4l2videodec element for accessing hardware codecs on
+     platforms that make them accessible via V4L2, e.g.
+     Samsung Exynos. This comes together with major refactoring
+     of the existing V4L2 elements and the corresponding
+     infrastructure.
+     The v4l2videodec element replaces the mfcdec element.
+   ∘ New downloadbuffer element that replaces the download
+     buffering feature of queue2. Compared to queue2's code
+     it is much simpler and only for this single use case.
+     A noteworthy new feature is that it's downloading gaps
+     in the already downloaded stream parts when nothing else
+     is to be downloaded.
+     This is now used by playbin when download buffering is
+     enabled.
+   ∘ rtpstreampay and rtpstreamdepay elements for transmitting
+     RTP packets over a stream API (e.g. TCP) according to
+     RFC 4571.
+   ∘ rtprtx elements for standard compliant implementation of
+     retransmissions, integrated into the rtpmanager plugin.
+   ∘ audiomixer element that mixes multiple audio streams together
+     into a single one while keeping synchronization. This is
+     planned to become the replacement of the adder element.
+   ∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
+   ∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
+   ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
+   ∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
+   ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
+     are available on OS X and iOS now.
+
+ • Other changes:
+   ∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
+   ∘ Support for hardware codecs and special memory types has been
+     improved with bugfixes and feature additions in various plugins
+     and base classes.
+   ∘ Various bugfixes and improvements to buffering in queue2 and
+     multiqueue elements.
+   ∘ dvbsrc supports more delivery mechanisms and other features
+     now, including DVB S2 and T2 support.
+   ∘ The MPEGTS library has support for many more descriptors.
+   ∘ Major improvements to tsdemux and tsparse, especially time and
+     seeking related.
+   ∘ souphttpsrc now has support for keep-alive connections,
+     compression, configurable number of retries and configuration
+     for SSL certificate validation.
+   ∘ hlsdemux has undergone major refactoring and works more
+     reliable now and supports more HLS features like trick modes.
+     Also fragments are pushed downstream while they're downloaded
+     now instead of waiting for each fragment to finish.
+   ∘ dashdemux and mssdemux are now also pushing fragments downstream
+     while they're downloaded instead of waiting for each fragment to
+     finish.
+   ∘ videoflip can automatically flip based on the orientation tag.
+   ∘ openjpeg supports the OpenJPEG2 API.
+   ∘ waylandsink was refactored and should be more useful now. It also
+     includes a small library which most likely is going to be removed
+     in the future and will result in extensions to the GstVideoOverlay
+     interface.
+   ∘ gst-rtsp-server supports SRTP and MIKEY now.
+   ∘ gst-libav encoders are now negotiating any profile/level settings
+     with downstream via caps.
+   ∘ Lots of fixes for coverity warnings all over the place.
+   ∘ Negotiation related performance improvements.
+   ∘ 800+ fixed bug reports, and many other bug fixes and other
+     improvements everywhere that had no bug report.
+
+Things to look out for:
+ • The eglglessink element was removed and replaced by the glimagesink
+   element.
+ • The mfcdec element was removed and replaced by v4l2videodec.
+ • osxvideosink is only available in OS X 10.6 or newer.
+ • On Android the namespace of the automatically generated Java class
+   for initialization of GStreamer has changed from com.gstreamer to
+   org.freedesktop.gstreamer to prevent namespace pollution.
+ • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
+   your projects from the one included in the binaries if you used the
+   GnuTLS GIO module before. The loading mechanism has slightly changed.