rtp: Add Full Intra Request (FIR) packets to statistics
[platform/upstream/gst-plugins-good.git] / NEWS
diff --git a/NEWS b/NEWS
index 5b310e9..96e2b98 100644 (file)
--- a/NEWS
+++ b/NEWS
-This is GStreamer Plugins 0.8.4
-
-Changes since 0.8.3:
-
-      * New translation in this release: Albanian
-      * licensing corrections
-      * fixes for compiling with G_DISABLE_ASSERT
-      * pixel aspect ratio conversion fixes
-      * tcpserversink fixes and additions
-      * multifdsink can use poll now as well
-      * interleave fixes
-      * audioscale fixes
-      * videotestsrc fixes
-      * v4lsrc fixes
-      * theoradec, theoraenc fixes
-      * lame fixes
-      * flac fixes
-      * ximagesink, xvimagesink fixes
-      * sunaudio fixes
-
-Bugs fixed since 0.8.3:
-
-      * 135407 : [xviddec] shows green frames when decoding packed bitstre...
-      * 140432 : Osssink and alsasink broken on nforce2 (intel8x0) soundcard
-      * 140897 : Incorrect segment duration in files created with matroska...
-      * 140898 : No writing application specified in matroska files create...
-      * 141554 : vorbis in matroska files makes the vorbisdec plugin segfault
-      * 144091 : [Solaris] audio mixer element
-      * 144616 : Infinite loop in wavparse.
-      * 148711 : typefind function for TTA audio files
-      * 148950 : matroskademux doesn't set buffer duration
-      * 148951 : matroskademux misses the tta codec in its codec list
-      * 151232 : [lame] doesn't build with lame-3.90
-      * 151236 : [v4l] compile failure
-      * 151410 : Memory leaks in multifdsink
-      * 151462 : theora plugin Makefile broken
-
-Changes since 0.8.2:
-
-      * New translation in this release: Czech
-      * New translation in this release: Hungarian
-      * pixel aspect ratio conversion
-      * tcpserversink fixes and additions
-      * oggdemux fixes
-      * theoraenc and theoradec fixes
-      * ximagesink and xvimagesink fixes
-      * ladspa fixes
-      * videoscale and ffmpegcolorspace fixes for stride
-      * mpeg and dvd fixes
-      * win32 project file additions
-      * new elements: playbin and decodebin
-      * new element: multifdsink
-      * new element: pngdec
-      * new element: alpha
-      * new element: multifilesink
-
-Bugs fixed since 0.8.2:
-
-      * 141906 : hang on removing ximagesink from a pipeline
-      * 142432 : Wrong sink MIME type in shout2send
-      * 143222 : [oggdemux] Optimize tag reading
-      * 143548 : Please update libtool to fix build on arm
-      * 143703 : duration always 0 for some (gst produced) .ogg files
-      * 144624 : wavenc doesn't close file properly
-      * 144753 : libgstinterfaces should be split, or: 'volume' should not...
-      * 144815 : [alsasink] gst_element_set_time_delay() assertion failure...
-      * 144866 : [flac] seeking broken, duration not set on buffers [PATCH]
-      * 144941 : alsasink assertion failure on ctrl+z and fg
-      * 145031 : totem CVS won't compile because of gst-play ...
-      * 145088 : gnome-volume-control has unlocalized volume names.
-      * 145118 : Compile error (gcc 2.95, alsa)
-      * 145336 : pipeline broke-stonecold
-      * 147969 : LADSPA plugin should sanitize the info from the .so's to ...
-      * 148021 : Bug in lib-riff
-      * 148023 : [ximagesink] doesn't work with Xnest
-      * 148043 : audioconvert
-      * 148289 : mad plugin crashes on Sun
-      * 148505 : [level] for silence peak is reported wrongly
-      * 148986 : [lame] bug in negotiation
-
-Changes since 0.8.1:
-
-      * New translations in this release: Ukrainian, British
-      * id3 fixes
-      * asf fixes
-      * qt demux fixes
-      * dv fixes
-      * auparse fixes
-      * wavparse seeking/querying fixes
-      * alsa fixes for mixing and device releasing
-      * categorisation fixes
-      * v4lsrc fixes for webcams
-      * streamheader fixes
-      * Portability fixes
-      * new element: DTS decoder
-      * new element: libvisual
-      * new element: theoraenc
-      * new element: oggmuxer
-      * new element: rawvorbisenc
-      * new elements: audiorate and videorate
-      * new elements: TCP server/client src/sink
-      * new element: pixbufscale
-      * new element: osxaudiosink
-      * new element: sunaudiosink
-      * new element: videomixer
-      * new elements: multipartmux/multipartdemux
-      * new elements: smokeenc/smokedec
-      * new element: vorbisparse
-
-Bugs fixed since 0.8.1:
-
-      * 132440 : configure botches DVDNAV_CFLAGS
-      * 133002 : configure should check for dvdnav header
-      * 134007 : [alsasink] assertion failure in alsalib snd_pcm_plug_hw_p...
-      * 135145 : [asfdemux] Can't play randomfile.wma
-      * 135862 : [wavparse] add ADPCM support
-      * 135989 : v4l-conf called even when not present
-      * 136392 : [v4lsrc] buggy wit qc-usb driver
-      * 136572 : [esdsink] blocks other esd apps in PAUSED state
-      * 137711 : [oggdemux] jump or move depends on uninitialised value
-      * 137724 : [qtdemux/ffdec_mpeg4/faad] MPEG-4 video/audio esds atoms
-      * 137750 : Gst-player not able to seek in wav file
-      * 138251 : [mad] Can't play bad1.mp3, bad2.mp3
-      * 139524 : ogg muxer needed
-      * 139658 : [alsasrc] probes inexistant playback device on capture on...
-      * 140064 : [speed] can't negotiate
-      * 140138 : media file makes totem-gst go nuts
-      * 140265 : ffmpegcolorspace and gnomevfs fail to build buildable
-      * 140268 : ximagesink and xvimagesink do not build under FreeBSD
-      * 140384 : Incorrect library dependency in SDL plugin
-      * 140640 : [asfdemux] segfault
-      * 140668 : gst-plugins-0.8.1 does not compile
-      * 140844 : icecastsend (shout) doesnt even try to connect to server
-      * 140878 : ima adpcm encoded wavs are not supported
-      * 141176 : [mad] Can't play ...Faithfulness.mp3
-      * 141188 : monoscope plugin doesnt work as intended
-      * 141258 : mp3 file seek problem
-      * 141318 : ffmpegcolorspace doesn't compile on Solaris
-      * 141821 : kdemacros.h
-      * 142044 : m4a typefinds to x-m4a instead of quicktime
-      * 142084 : mad and level plugins dont like each other (caps related ...
-      * 142107 : build error under mdk 10.0
-      * 142127 : GstPlay's time_tick event does not return the right time ...
-      * 142193 : Patch for plugins Codecs klassifications
-      * 142205 : return type of gst_audio_clock_id_wait_async is wrong
-      * 142211 : alsasink broken due to mixer device
-      * 142262 : shout2send not compiling or working (fix attached)
-      * 142272 : qtdemux doesn't work with sources that cannot seek
-      * 142286 : The au plugin cannot play au files encoded with ulaw
-      * 142320 : [ffmpeg - ima-adpcm-ws/wsaud] scheduler issues
-      * 142493 : default fragment size in osssink is too small
-      * 142507 : [PATCH] id3tag plugin does not correctly set buffer offset
-      * 142555 : wavparse doesn't handle truncated files gracefully
-      * 142566 : Certain mp3s don't get played correctly
-      * 142585 : gstresample makes wrong assumption about buffer sizes (se...
-      * 142586 : alsasink resync is broken
-      * 142664 : v4l2_buffer redeclaration : won't compile with -Werror
-      * 142764 : ogg that caueses error
-      * 142797 : Mac OS X Audio Sink and Src
-      * 142851 : gstid3tag sends wrong offset on discont events
-      * 142954 : [patch] adding a connection problem signal to shout2send
-      * 142962 : Error converting wav file to ogg/vorbis
-      * 143032 : [adder] crash on certain errors
-      * 143130 : [mixmatrix] returns garbage pointer as request pad
-      * 143146 : [patch] gst/tcp plugin doesnt compile on OSX
-      * 143153 : [patch] osxaudio - fix warnings
-      * 143262 : rifflib does not know several fourccs
-      * 143283 : [PATCH] Property accessors for the mixer interface
-      * 143454 : [alsasink] outputs silence on sync problem
-      * 143749 : tcp plugin dosn't compile on FreeBSD
-      * 143861 : OSS elements portability on BSD (soundcard.h location)
-      * 144240 : [cdparanoia] sets wrong timestamps on buffers [patch]
-      * 144425 : Invalid read of size 4in riff-read.c [patch]
-
-This is GStreamer Plugins 0.8.1
-
-Bugs fixed since 0.8.0:
-      * 120883 : osssink advertises more rates than it handles
-      * 125732 : v4l2src don't support all YUV formats
-      * 134301 : gst-plugins should depend on X
-      * 135919 : Mandrake 10
-      * 136477 : [PATCH] gst-launch-ext does not support .mov
-      * 136527 : gdk_pixbuf makefile tried to execute targets contrains in...
-      * 137348 : media-info .pc file lacks a 'Version:' line
-      * 137448 : mpegaudioparse: crash (bus error)
-      * 137504 : mpeg2dec fails on 422 encoded material
-      * 137556 : Ogg Vorbis playback has poor spatialization
-      * 137588 : ffmpegcolorspace gives critical when it should throw error
-      * 137722 : Quicktime audio parsing is broken
-      * 138105 : [mpeg1videoparse] Hangs while decoding everest.m1v
-      * 138168 : id3tag using gst_event_new_discontinuous incorrectly?
-      * 138169 : matroska-demux using gst_event_new_discontinuous without ...
-      * 138635 : two GLib-GObject-CRITICAL Messages when running gst-regis...
-      * 138846 : all of the ladspa-wrapped source-plugins fail to go to pl...
-      * 138914 : gstgdkanimation.h is missing from gst-plugins-0.8.0
-      * 139034 : Non-standard test(1) operator used in configure script
-      * 139035 : Non-standard regex used as libtool argument
-      * 139382 : mad decoder can resync wrongly after seek and does explic...
-      * 139532 : gstcolorspace crashes when after v4lsrc (ffmpegcolorspace...
-      * 139926 : id3tag's caps cause it to be plugged more than once by sp...
-      * 139958 : Leak in avidemux
-      * 140058 : [msmpeg4] file with broken qscale/header does not play
-
-Changes since 0.8.0:
-
-      * New translations in this release: Swedish, Afrikaans, Azerbeaijani
-      * Updated osssink: now does probing of possible output properties
-      * Updated qtdemux: fixes for MACE audio
-      * New debug element: quasirandom byte changes
-      * New element: dvddemux
-      * New element: kiosrc, a KIO-slaves source
-      * Various memleak and buffer overflow fixes
-
-Bugs fixed since 0.7.6:
-                                                                                
-      * 126999 : [API]: "gstreamer-libs-0.7.pc" should be renamed
-      * 129299 : complied errors in alsa-lib-1.0.0-0.rc2
-      * 131270 : pkg-config-ification patch (alsa, esd, shout2, ogg, speex, .
-      * 135921 : speexenc support won't compile with 1.1.x
-      * 136590 : mod plugins doesn't work atm
-      * 137044 : GConf schemas unreadable
-
-Changes since 0.7.5:
-
-      * uses 0.8 as the major/minor number
-      * dist fixes for generated files
-      * MPEG video playback fixed
-      * error call fixes
-      * videodrop fixes
-      * alsa oss emulation mixer fixes
-      * audioconvert fixes
-      * gconf versioning fixes
-      * mad xing header fixes
-      * vorbisdec fixes
-      * mad leak and stream reporting fixes
-      * media-info fixed
-      * buffer leak fixes
-      * osssink timing fixes
-      * NAS fixes
-      * cdparanoia error
-
-Bugs fixed since 0.7.5:
-                                                                                
-      * 114560 : rfc2250enc produces empty buffers
-      * 122279 : goom's first timestamp is broken
-      * 131128 : aasink and sdlvideosink are broken
-      * 133541 : int2float and int2floatnew conflict should be resolved
-      * 133783 : remove deprecated plugins
-      * 135597 : make gstosselement properly deal with symlinks
-      * 136334 : udpsrc pads / caps error
-                                                                                
-Changes since 0.7.4: 
-    
-      * Compatible with gstreamer 0.7.5
-      * ffmpeg plugin moved to gst-ffmpeg module
-      * DV fixes
-      * mikmod fixes
-      * OSX build fixes
-      * jpeg fixes
-      * gdk_pixbuf fixes
-      * automake 1.8 underquotedness fixes
-      * rfb server/port addition
-      * colorspace fixes
-      * liboil usage in videofilter and videotestsrc
-      * better LADSPA classification
-      * ALSA xrun recovery fixes
-      * switch fixes
-      * xvimagesink fixes
-      * moved out MAS sink
-      * experimental xine lib plugin
-      * intfloat and oneton removed in favour of audioconvert and interleave
-      * only export gst_* from plugins
-      * lame tag writing fixed
-      * added reporting of codecs used
-      * version gconf schemas and install locations
-      * qtdemux fixes
-      * gamma correction fixes
-
-Bugs fixed since 0.7.4:
-    
-      * 129740 : MP4/M4A files not recognized properly
-      * 130507 : Silence/sine don't have a sync property
-      * 131050 : avi-demux plays audio, but funky colors as video
-      * 131534 : jhbuild build failure with Debian sid
-      * 131948 : xoverlay and gstplay sample fails to build - missing include
-      * 133219 : missing include in ./gst/effectv/gstedge.c
-      * 133316 : gst/vbidec/vbiscreen missing cast
-      * 133410 : gstid3tag doesnt handle track-count
-      * 133508 : [oggdemux] Can't play files with multiple streams
-      * 133528 : sincesrc seems not to register its dparams correctly
-      * 133562 : Build breaks on dvdec
-      * 133663 : ext/ladspa categorises all plugins as Filter/Effect
-      * 133886 : libtool error while compiling alsamixer plug-in
-      * 134255 : vbidec won't compile
-      * 134318 : GConf schemas should be in versioned files, and install in v
-      * 134322 : gst/intfloat/gstint2float.c forgets to include "inttypes.h"
-      * 134612 : ext/gdk_pixbuf/Makefile: error in target install-loaderLTLIB
-      * 134750 : Problem building gst-plugins on Solaris
-      * 134894 : vorbisdec signals tags with bitrate < 1 (ie not set)
-      * 135038 : port gst-shorten to the new caps system
-      * 135042 : fix tag writing in lame
-      * 135116 : gstflacenc.c fails to build in NetBSD
+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.