gstreamer/RELEASE

464 lines
23 KiB
Text
Raw Normal View History

2012-02-23 12:06:15 +00:00
Release notes for GStreamer Base Plug-ins 0.10.36 "Better"
The GStreamer team is proud to announce a new release
in the 0.10.x stable series of the
GStreamer Base Plug-ins.
The 0.10.x series is a stable series targeted at end users.
It is not API or ABI compatible with the stable 0.8.x series.
It is, however, parallel installable with the 0.8.x series.
This module contains a set of reference plugins, base classes for other
plugins, and helper libraries.
This module is kept up-to-date together with the core developments. Element
writers should look at the elements in this module as a reference for
their development.
This module contains elements for, among others:
device plugins: x(v)imagesink, alsa, v4lsrc, cdparanoia
containers: ogg
codecs: vorbis, theora
text: textoverlay, subparse
2011-01-21 10:50:06 +00:00
sources: audiotestsrc, videotestsrc, gnomevfssrc, giosrc
network: tcp
2010-07-15 00:20:54 +00:00
typefind functions
2010-03-06 00:09:29 +00:00
audio processing: audioconvert, adder, audiorate, audioresample, volume
visualisation: libvisual
video processing: ffmpegcolorspace
2011-01-21 10:50:06 +00:00
aggregate elements: uridecodebin, playbin2, decodebin2, decodebin, playbin, encodebin
libraries: app, audio, cdda, fft, interfaces, netbuffer, pbutils, riff, rtp, rtsp, sdp, tag, video
Other modules containing plug-ins are:
gst-plugins-good
contains a set of well-supported plug-ins under our preferred license
gst-plugins-ugly
contains a set of well-supported plug-ins, but might pose problems for
distributors
gst-plugins-bad
contains a set of less supported plug-ins that haven't passed the
rigorous quality testing we expect
Features of this release
2012-02-23 12:06:15 +00:00
* audio: new IEC 61937 payloading library
* audio: new GstAudioFormat, GstAudioFormatInfo and GstAudioInfo API
* audio: new GstAudioDecoder and GstAudioEncoder base classes
* audio: baseaudiosink: allow subclasses to provide payloaders
* audio: baseaudiosink: fix latency calculation for live elements
* audio: baseaudiosink: make discont-wait configurable
* audio: baseaudiosink: split "drift-tolerance" into "alignment-threshold"
* codec-utils: Add method to convert H.264 text level in a level_idc
* discoverer: add support for subtitles; try harder to extract language and duration
* encoding-profile: add function to create a profile from a discoverer info
* ringbuffer: add support for AAC, DTS, E-AC3 and MPEG audio buffers
* rtcpbuffer: Add feedback message types from RFC 510
* rtcpbuffer: prevent overflow of 16bit header length
* rtspconnection: make hostname lookup thread-safe; OSX portability fixes
* rtspconnection: only send new data immediately if there are no queued messages
* tags: add new GstTagMux base class
* tags: add convenience API to handle creative commons licenses
* tags: add API to parse ID3v2 tags
* tags: various exif and xmp tag writing fixes
* tags: xmp: add Iptc4xmpExt schema support
* tags: gstvorbistag: map ENCODER Vorbis comment to application-name
* video: add video overlay composition API for subtitles
* video: fix a RGB ordering mixup in colorspace conversion code
* alsasink: fix high sample rates being rejected, and negotiation to "nearest" rate
* audioresample: don't emit DISCONT buffers if no discontinuity happened
* audioresample: fix quality setting being ignored; use SSE/SSE2 when possible
* audiotestsrc: add red (brownian) and blue/violet noise generator
* cdparanoiasrc: fix build issue on OSX (caused by broken cdparanoia port and broken system headers)
* decodebin2: improve handling of multi-stream chains (e.g. mpeg-ts)
* decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits
* decodebin2: add support for autoplugging parsers and parser-converters, and negotiate stream-format conversions properly as needed
* decodebin2: link elements before testing if they can reach the READY state, so allow hw-accelerated elements can query the video context
* decodebin2: use a TIME limit for pre-rolling in live streams and not in non-live streams
* decodebin2: fix preroll for HLS streams at low bitrates
* decodebin2: add source pads to stream-topology element messages
* decodebin, decodebin2: don't plug the same parser multiple times in a row, so we can make parsers accept parsed input as well (and use them to convert to different stream formats)
* encodebin: add flags to disable conversion elements
* encodebin: autoplug formatters; re-enable parsers
* gnomevfssrc: add support for cancelling read operations
* oggdemux, oggmux: add support for new Opus audio codec
* oggdemux: implement push mode seeking (e.g. for http)
* oggdemux: assume input is live stream if byte size cannot be determined
* oggdemux: fix hang on small truncated files
* oggmux: add skeleton write support
* oggmux: sync input streams and select input buffers based on running time
* oggmux: headers should always have granpos 0
* oggmux: refactor how EOS is determined
* oggmux: support sparse streams as input (e.g. kate subtitle streams)
* playbin2: fix decoder-sink compatibility check for raw audio/video formats
* playbin2: make sure that the decoders we plug are compatible with the fixed sink
* playsink: Add audio and video converter convenience bins
* playbin2: improve stream switching
* playbin2/playsink: Decide if A/V caps are raw only inside playsink
* playbin2/playsink: better support for raw + compressed streams (audio passthrough)
* playbin2/playsink: improve handling of "non-raw" formats (for hw-accelerated video decoding)
* playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
* subparse: subtitle format typefinding improvements
* subtitleoverlay: handle non raw video streams (add suport for hardware accelerated videos)
* textoverlay: support more video formats
* textoverlay: add "outline-color" and "shadow" properties
* textoverlay: attach GstVideoOverlayComposition to buffers if input is not raw video
* theoraenc: do not automatically override quality when using target bitrate
* theoraenc: proxy downstream caps restrictions upstream
* typefinding: extract SOF marker in jpeg typefinder (to distinguish lossless JPEG)
* typefinding: add typefinder for WAP WBMP bitmaps (mostly to avoid false positives)
* typefinding: typefind UTF-16 and UTF-32 with BOMs (to avoid false positives)
* typefinding: recognize Asylum modules
* videorate: add a "max-rate" property; optionally ensure maximum average output frame rate
* videorate: add "force-fps" property to force an output framerate or change it on the fly
* videorate: optionally only drop frames to ensure maximum frame rate
* videoscale: add modified Lanczos scaling method
* volume: Fix handling of volume>=4.0 for 8 and 16 bit integer formats
* vorbisenc: relax overly tight jitter tolerances (make it work better with non-perfect input streams)
* xvimagesink, ximagesink: fall back to non-XShm mode if allocating the XShm image failed
Bugs fixed in this release
2012-02-23 12:06:15 +00:00
* 643202 : [encodebin] streamcombiner not completely implemented
* 654270 : oggmux unit test fails after latest changes
* 658984 : Fix typos in gst-plugins-base
* 555437 : [tag] add GstTagMux base class
* 556648 : [typefind] detect lossless jpeg
* 563251 : oggmux should have option to create Ogg Skeleton stream
* 584811 : playbin2's get-text-tags sometimes fails in text stream 0
* 607619 : [typefind] utf-16 text file mistakenly identified as layer 1 mpeg audio
* 607742 : API: add gst_event_new_{upstream,downstream}_force_key_unit() etc.
* 609918 : [OS X] configure: cdda_interface.h: present but cannot be compiled (if VERSION is defined)
* 610443 : baseaudiosink: clock can jump on setcaps
* 612443 : oggdemux: only use information from skeleton if we have nothing better
* 615131 : playing an ogg over http does not report duration correctly
* 615342 : [gstalsamixer] leaks
* 621897 : [oggdemux] reports wrong duration, and push mode seeking support
* 628337 : [gnomevfssrc] Add support for cancelling read operations
* 628764 : [videorate] add new option for max frame rate
* 629212 : [oggdemux] Improve support for push mode (seeking, duration)
* 630322 : make seek example work with windows
* 630442 : xvimagesink, ximagesink: fallback to X*CreateImage() if X*ShmCreateImage() fails
* 630497 : [seek] sprinkle GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS to dump pipeline to dot file
* 632788 : [playbin2] Doesn't support files with a streams that are supported compressed by a sink and streams that need decoding
* 635556 : [oggdemux] bad duration estimate in streaming mode with vertical-overview.ogg
* 637812 : vorbisenc: choppy sound due to input timestamp jitter
* 638897 : [textrender] allow setting the canvas size using peer caps + bugfixes
* 639055 : discoverer: add support for subtitle streams
* 640041 : textoverlay: Added parameters to control text outline color and whether shadowing is enabled
* 640564 : Remuxing a Theora stream generates a stream that oggz-validate complains about
* 640859 : basesink incorrectly categorizes timestamp jitter as drift
* 642690 : [baseaudio] GstBaseAudioEncoder and GstBaseAudioDecoder class
* 642878 : encoding-profile: add a function to create a profile from a discoverer info
* 643578 : [encodebin] - broken remuxing
* 644284 : Suspicious max_latency computation in gstbaseaudiosink.c
* 647648 : videorate: support for caps modifications in a running pipeline
* 647769 : [decodebin2] Fix preroll for streams at low bitrate
* 649319 : Add boiler plate code to xvimagesink
* 649642 : [volume] Overflows with volume > =4.0 and 8/16 bit integer formats
* 649969 : [audiotestsrc] Add more noise variants
* 650406 : vorbisdec does not handle headers in caps
* 651089 : [xvimagesink/ximagesink] Remove g_assert from Interface query
* 651294 : WBMP images are not supported by typefind
* 651496 : encodebin seems to fail to pick up container variant
* 651615 : [vorbisenc] Too small jitter tolerance
* 651788 : [theoraenc] separate encode and push block in theora_enc_chain
* 651855 : elements/volume unit test fails
* 652342 : encoding-target: set name on audio and video profiles when reading from keyfile
* 652642 : typefind: NULL check in degas_type_find
* 652838 : gst_discoverer_discover_uri Allow NULL GError* argument
* 653461 : [theoraenc] element causes encoder to drop frames?
* 654295 : [typefind] audio/x-sap detection doesn't work
* 654434 : [basertppayload] RTP timestamps not longer reproducible
* 654959 : textoverlay would flicker if it receives not timestampes text on input
* 655244 : encodebin has to provide the downstream possible caps to h264parse
* 655268 : decodebin2: deadlock after multi-stream chains change
* 655279 : [playbin2] Don't reset sinks when not needed
* 655347 : theoradec: segfault on 0-byte ogg_packet in _chain_reverse
* 655503 : pbutils: Add MPEG-4 SP levels 4a, 5 and 6
* 655574 : ogg: crash determining duration of empty vorbis packet
* 656022 : volume: fix sample depth typo
* 656034 : gstvorbistag: map ENCODER Vorbis comment to application-name
* 656392 : audioresample: add FFT based checks
* 656715 : playbin2, playsink: reference count ts_offset to avoid crashes
* 656775 : oggmux: various cleanups
* 656781 : resample.c has warnings treated as errors that prevent compilation
* 657049 : textoverlay: buffer leaks
* 657062 : oggdemux: do not skip sparse streams when determining start times
* 657151 : ogg: another cleanup round
* 657257 : discoverer: retrieve audio track language from tags too
* 657261 : resindvd: regression in git: no more button highlights in menus
* 657319 : videorate should use basetransform
* 657333 : theoraenc: fix caps leak
* 657504 : gtk-doc distcheck failure: files left in build directory after distclean:
* 657872 : [subparse] Doesn't detect some SRT subtitle files
* 658294 : gst-inspect videorate hangs
* 658416 : decodebin2: refcounting bugs causing criticals
* 658443 : theoraenc: do not automatically override quality when using target bitrate
* 658514 : typefinding: recognize .amf (Asylum Music File) files for modplug
* 658609 : Handle subtitles with non raw caps video streams in subtitle overlay
* 658846 : Playbin2 pipeline stuck while prerolling if decoder is missing
* 658901 : textoverlay: crash when the video sink pad has no parent
* 659562 : videorate: gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed
* 660150 : baseaudio: compiler warnings if debugging system is disabled
* 660170 : alsasrc: broken timestamps lead to alsasrc ! audiorate endless loop
* 660301 : playbin2: Fix mingw compiler warnings
* 660304 : videotestsrc: Fix mingw compiler warning
* 660598 : playbin2: Make sure that elements that are plugged are compatible with the fixed sink
* 660604 : textoverlay: add YV12 support
* 660816 : dvd menus got broken
* 661105 : audiotestsrc: add missing break
* 661106 : tests: actually test what we said we would
* 661122 : videotestsrc does not build on Solaris
* 661202 : decodebin2: fire drained signal where appropriate
* 661738 : Deadlock between threads in gstaudiosink and gstringbuffer
* 661897 : oggdemux: do not retry seeking indefinitely
* 661983 : Regression: Reverse playback does not work for vorbis
* 662049 : oggdemux/oggmux in push mode cause preroll to wedge
* 662108 : Assertion in base audio decoder when decoding vorbis
* 662330 : [decodebin2] Should link and add elements to the bin before checking if they can reach READY state
* 662475 : oggdemux: Improvements on the push mode seeking algorithm.
* 662829 : [textoverlay] - silent property looks not well implemented
* 663174 : oggmux: set collectpads2 not to wait on sparse streams
* 663312 : decodebin2: Post all source pads in stream-topology messages as " element-srcpad " values
* 663390 : theoraenc: fix speed level failure test
* 663391 : theoraenc: misc small tweaks
* 663465 : baseaudiosink: fix late buffers leaking
* 663766 : [0.11] oggmux: split request pad templates into audio/video/subtitle
* 663892 : [playbin2] visualisation leads to not-negotiated error
* 663893 : playbin2: g_object_set_valist: construct property " use-volume " for object `GstPlaySinkAudioConvert' can't be set after construction
* 664818 : Autoplugger sink bin receives strange caps while it gets the correct ones in 0.10.35 and earlier
* 665004 : audioresample emits spurious disconts
* 665074 : [gstfft] headers are not bracketed
* 665080 : API: subtitle overlays for raw and non-raw video buffers
* 665120 : playbin2: decoder not selected for audio-sink=autoaudiosink
* 666395 : playbin2: set uri to a non-existed file in " about-to-finish " causes a CRITICAL warning
* 667210 : videotestsrc/generate_sine_table needs to link against glib
* 667306 : discoverer: don't use unportable vararg macro
* 667311 : fix various unlikely, but still potential memoryleaks
* 667312 : appsrc: implement get_caps
* 667313 : rtcpbuffer: prevent overflow of 16bit header length.
* 667315 : videotestsrc: keep the calculation fixed-point
* 667316 : pango: Changes includes from brackets to quotes for local files
* 667917 : alsasink: Rate doesn't match (requested 88200Hz, get 0Hz)
* 668097 : [subtitleoverlay] fix state change stall on PAUSED- > READY- > PAUSED (patch)
* 669039 : gstrtspconnection: new data may get sent even-though there is a queued message in the GstRTSPWatch
* 669164 : oggdemux generates invalid granpos which causes asserts in theoraparse
* 669167 : vorbisparse drops certain data buffers on the floor mistakenly thinking they're headers
* 669203 : playbin2: totem segfaults in gst_stream_get_other_pad_from_pad()
* 646868 : tag: Provide Creative Commons helper functions
* 654388 : [tags] API: move id3 parsing from id3demux to tag lib
* 311486 : [oggmux] theora bos must come before any audio bos pages
API changed in this release
- API additions:
* gst_audio_decoder_finish_frame()
* gst_audio_decoder_get_audio_info()
* gst_audio_decoder_get_byte_time()
* gst_audio_decoder_get_delay()
* gst_audio_decoder_get_drainable()
* gst_audio_decoder_get_latency()
* gst_audio_decoder_get_max_errors()
* gst_audio_decoder_get_min_latency()
* gst_audio_decoder_get_needs_format()
* gst_audio_decoder_get_parse_state()
* gst_audio_decoder_get_plc()
* gst_audio_decoder_get_plc_aware()
* gst_audio_decoder_get_tolerance()
* gst_audio_decoder_get_type()
* gst_audio_decoder_set_byte_time()
* gst_audio_decoder_set_drainable()
* gst_audio_decoder_set_latency()
* gst_audio_decoder_set_max_errors()
* gst_audio_decoder_set_min_latency()
* gst_audio_decoder_set_needs_format()
* gst_audio_decoder_set_plc()
* gst_audio_decoder_set_plc_aware()
* gst_audio_decoder_set_tolerance()
* gst_audio_encoder_finish_frame()
* gst_audio_encoder_get_audio_info()
* gst_audio_encoder_get_drainable()
* gst_audio_encoder_get_frame_max()
* gst_audio_encoder_get_frame_samples_max()
* gst_audio_encoder_get_frame_samples_min()
* gst_audio_encoder_get_hard_min()
* gst_audio_encoder_get_hard_resync()
* gst_audio_encoder_get_latency()
* gst_audio_encoder_get_lookahead()
* gst_audio_encoder_get_mark_granule()
* gst_audio_encoder_get_perfect_timestamp()
* gst_audio_encoder_get_tolerance()
* gst_audio_encoder_get_type()
* gst_audio_encoder_merge_tags()
* gst_audio_encoder_proxy_getcaps()
* gst_audio_encoder_set_drainable()
* gst_audio_encoder_set_frame_max()
* gst_audio_encoder_set_frame_samples_max()
* gst_audio_encoder_set_frame_samples_min()
* gst_audio_encoder_set_hard_min()
* gst_audio_encoder_set_hard_resync()
* gst_audio_encoder_set_latency()
* gst_audio_encoder_set_lookahead()
* gst_audio_encoder_set_mark_granule()
* gst_audio_encoder_set_perfect_timestamp()
* gst_audio_encoder_set_tolerance()
* gst_audio_iec61937_frame_size()
* gst_audio_iec61937_payload()
* gst_audio_info_clear()
* gst_audio_info_convert()
* gst_audio_info_copy()
* gst_audio_info_free()
* gst_audio_info_from_caps()
* gst_audio_info_init()
* gst_audio_info_to_caps()
* gst_base_audio_sink_get_alignment_threshold()
* gst_base_audio_sink_get_discont_wait()
* gst_base_audio_sink_set_alignment_threshold()
* gst_base_audio_sink_set_discont_wait()
* gst_codec_utils_h264_get_level_idc()
* gst_discoverer_audio_info_get_language()
* gst_discoverer_info_get_subtitle_streams()
* gst_discoverer_subtitle_info_get_language()
* gst_discoverer_subtitle_info_get_type()
* gst_encoding_profile_from_discoverer()
* gst_tag_get_license_description()
* gst_tag_get_license_flags()
* gst_tag_get_license_jurisdiction()
* gst_tag_get_license_nick()
* gst_tag_get_license_title()
* gst_tag_get_license_version()
* gst_tag_get_licenses()
* gst_tag_license_flags_get_type()
* gst_tag_get_id3v2_tag_size()
* gst_tag_list_from_id3v2_tag()
* gst_tag_mux_get_type()
* gst_video_buffer_get_overlay_composition()
* gst_video_buffer_set_overlay_composition()
* gst_video_event_is_force_key_unit()
* gst_video_event_new_downstream_force_key_unit()
* gst_video_event_new_upstream_force_key_unit()
* gst_video_event_parse_downstream_force_key_unit()
* gst_video_event_parse_upstream_force_key_unit()
* gst_video_get_size_from_caps()
* gst_video_overlay_composition_add_rectangle()
* gst_video_overlay_composition_blend()
* gst_video_overlay_composition_copy()
* gst_video_overlay_composition_get_rectangle()
* gst_video_overlay_composition_get_seqnum()
* gst_video_overlay_composition_get_type()
* gst_video_overlay_composition_make_writable()
* gst_video_overlay_composition_n_rectangles()
* gst_video_overlay_composition_new()
* gst_video_overlay_rectangle_copy()
* gst_video_overlay_rectangle_get_pixels_argb()
* gst_video_overlay_rectangle_get_pixels_unscaled_argb()
* gst_video_overlay_rectangle_get_render_rectangle()
* gst_video_overlay_rectangle_get_seqnum()
* gst_video_overlay_rectangle_get_type()
* gst_video_overlay_rectangle_new_argb()
* gst_video_overlay_rectangle_set_render_rectangle()
Download
You can find source releases of gst-plugins-base in the download directory:
http://gstreamer.freedesktop.org/src/gst-plugins-base/
GStreamer Homepage
More details can be found on the project's website:
http://gstreamer.freedesktop.org/
Support and Bugs
We use GNOME's bugzilla for bug reports and feature requests:
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
Developers
2009-05-10 22:57:01 +00:00
GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
Interested developers of the core library, plug-ins, and applications should
subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.
Applications
Contributors to this release
2012-02-23 12:06:15 +00:00
* Age Bosma
* Alessandro Decina
* Alex Lancaster
* Alexey Fisher
* Andoni Morales Alastruey
* Anssi Hannula
* Benjamin Otte
* Brian Cameron
* Christian Fredrik Kalager Schaller
* Christophe Fergeau
* Colin Walters
* David Schleef
2012-02-23 12:06:15 +00:00
* Edward Hervey
* Erich Schubert
* Felipe Contreras
* Havard Graff
* Iago Toral
* Idar Tollefsen
* James "Doc" Livingston
* James Doc Livingston
* Jan Schmidt
* Jason Kivlighn
* Jens Georg
* Jonathan Liu
* Jonathan Matthew
* Josep Torra
* Julien Moutte
* Kipp Cannon
* LoneStar
* Luis de Bethencourt
* Mark Nauwelaerts
2012-02-23 12:06:15 +00:00
* Mart Raudsepp
* Mersad Jelacic
* Michael Smith
* Monty Montgomery
* Nicolas Dufresne
* Ognyan Tonchev
* Olivier Crête
* Pascal Buhler
* Philip Jägenstedt
* Philippe Normand
* Piotr Fusik
* Raimo Järvi
* René Stadler
* Reynaldo H. Verdejo Pinochet
* Robert Swain
* Sebastian Dröge
2012-02-23 12:06:15 +00:00
* Sergey Scobich
* Sergey Scobich)
* Sjoerd Simons
* Stefan Kost
2012-02-23 12:06:15 +00:00
* Stefan Sauer
* Sébastien Moutte
* Thiago Santos
* Thibault Saunier
* Thomas Vander Stichele
* Tim-Philipp Müller
2012-02-23 12:06:15 +00:00
* Tommi Myöhänen
* Vincent Penquerc'h
* Wim Taymans
* Youness Alaoui
2011-01-21 10:50:06 +00:00