mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-01 06:01:04 +00:00
376 lines
18 KiB
Text
376 lines
18 KiB
Text
|
||
Release notes for GStreamer Base Plug-ins 0.10.31 "Dance Like It's 1982"
|
||
|
||
|
||
|
||
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
|
||
sources: audiotestsrc, videotestsrc, gnomevfssrc, giosrc, appsrc
|
||
network: tcp
|
||
typefind functions
|
||
audio processing: audioconvert, adder, audiorate, audioresample, volume
|
||
visualisation: libvisual
|
||
video processing: ffmpegcolorspace
|
||
aggregate elements: uridecodebin, playbin2, decodebin2, decodebin, playbin
|
||
|
||
|
||
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
|
||
|
||
* adder: Make sure FLUSH_STOP is always sent after a flushing seek
|
||
* alsasrc, alsasink: add "card-name" property to get the card name in addition to the device name
|
||
* appsrc: don't override buffer caps if appsrc caps are NULL; fix element classification
|
||
* audioclock: add a function to invalidate the clock
|
||
* audioconvert: optimise remaining conversion code paths with Orc as well
|
||
* baseaudiosink,baseaudiosrc: post clock-provide and clock-lost messages when going from/to READY to/from PAUSED
|
||
* baseaudiosink: subtract the render_delay from our latency
|
||
* decodebin2: don't add non prerolled stream to topology
|
||
* ffmpegcolorspace: add support for A420 and fix support for 8 bit paletted RGB and IYU1
|
||
* gnomevfsrc: set GST_PARAM_MUTABLE_READY flag on the "handle" property
|
||
* libvisual: add latency query; only drop frames that are really too old
|
||
* multifdsink: gdp protocol is deprecated. People should use gdppay instead
|
||
* oggdemux: fix seeking with negative rate with skeleton; fix wrong flowreturn handling
|
||
* pbutils: AAC profile and level detection utility functions
|
||
* pbutils: H.264 and MPEG-4 profile and level extraction utility functions
|
||
* pbutils: new GstDiscoverer utility API for extracting metadata and tags
|
||
* playbin2, decodebin2: declare stable, deprecate the old playbin/decodebin
|
||
* playbin2, uridecodebin: add property to configure ring buffer size
|
||
* rtcpbuffer: add function to manipulation the data in RTCP feedback packets
|
||
* rtpbuffer: add functions to add RFC 5285 header extensions to GstBufferLists
|
||
* rtpbuffer: add function to add RTP header extensions with a two bytes header
|
||
* rtpbuffer: add function to append RFC 5285 one byte header extensions
|
||
* rtpbuffer: add function to parse RFC 5285 header extensions
|
||
* rtpbuffer: add function to read RFC 5285 header extensions from GstBufferLists
|
||
* rtpbuffer: add function to transform a GstBuffer into a GstBufferList
|
||
* rtsp: improve rtsp timeout calculation and handling
|
||
* sdp: add methods to convert between uri and message
|
||
* tags: try ISO-8859-1 as second fallback in case WINDOWS-1252 is not supported
|
||
* tags: add many more photography/capture tags
|
||
* tags: EXIF and XMP tag handling improvements
|
||
* textoverlay: add support for NV12, NV21 and AYUV; configurable text color and position
|
||
* theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
|
||
* theoraenc: add support for two-pass encoding; allow change of bitrate and quality on-the-fly
|
||
* tools: standalone gst-discoverer-0.10 tool for discovering media file properties
|
||
* typefinding: detect avc1 ftyp as video/quicktime
|
||
* typefinding: export 3gp profile in caps
|
||
* typefinding: detect enhanced AC-3
|
||
* typefinding: extend AAC typefinder to detect LOAS streams
|
||
* typefinding: fix ADTS caps stream-format detail
|
||
* typefinding: more reliable mpeg-ts typefinding
|
||
* uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
|
||
* video: add gst_video_convert_frame*() utility functions
|
||
* videorate: fixate the pixel-aspect-ratio if necessary
|
||
* videorate: mark duplicated frames with the GAP flag
|
||
* videoscale: add support for adding black borders to keep the DAR if necessary ("add-borders" property)
|
||
* videoscale: Fix caps fixating if the height is fixed but the width isn't
|
||
* videoscale: only set the PAR if the caps already had a PAR
|
||
* videoscale: refactor using more Orc code
|
||
* videotestsrc: new patterns: solid-color, ball, bar and smpte100
|
||
* videotestsrc: add "foreground-color" and "background-color" properties, deprecate "colorspec" property
|
||
* videotestsrc: add support for UYVP format, fix NV21 rendering
|
||
* volume: use Orc to optimise many code paths
|
||
* vorbisdec: decode pending buffers upon EOS when doing reverse playback
|
||
* xoverlay: add set_window_handle() with guintptr argument, deprecate set_xwindow_id() which doesn't work on some platforms
|
||
* xoverlay: allow render rectangle coordinates to be negative
|
||
|
||
Bugs fixed in this release
|
||
|
||
* 628028 : [uridecodebin] Don't enable progressive downloading for live streams
|
||
* 623846 : typefinding: add support for " enhanced ac3 " (eac3)
|
||
* 602437 : [playbin2] [gapless] Completely broken when switching between files with audio/video only
|
||
* 612264 : Notification needed when the first buffer is pushed by the basertppayloader
|
||
* 615471 : [videoscale] Interlaced handling makes output worse than no interlaced handling at all
|
||
* 616392 : videotestsrc colorspec=0/1 does not affect color-matrix in caps
|
||
* 617314 : pbutils: Add codec-specific utility functions for AAC, H.264, MPEG-4 video
|
||
* 617506 : [videoscale] Add support for adding black borders if necessary to keep the DAR
|
||
* 620291 : typefindfunctions: Export 3gp profile in caps
|
||
* 623663 : [typefinding] mpeg-ts file detected as audio/mpeg
|
||
* 623807 : [audioclock] Add gst_audio_clock_new_full() with GDestroyNotify for the user_data
|
||
* 623837 : typefind: only associate .webm with WebM
|
||
* 623918 : [typefind] Extend AAC typefinder to detect LOAS stream
|
||
* 624598 : [adder] crash in orc_sse_set_mxcsr()
|
||
* 624656 : [videoscale] UYVY scaling broken, introduces green lines
|
||
* 624919 : [videotestsrc] add solid color pattern
|
||
* 624920 : [textoverlay] configurable text color and position
|
||
* 624949 : [playbin2] declare playbin2 stable
|
||
* 625001 : [examples] Don't use GdkDraw/GdkGC
|
||
* 625118 : [playbin2] Race condition with EOS events in gapless mode
|
||
* 625944 : [pbutils] GstDiscoverer - API to discover metadata and stream information
|
||
* 626125 : [alsa] Conditional jump or move depends on uninitialised value(s)
|
||
* 626570 : [tag] Add resolution tags
|
||
* 626581 : [playbin2] regression: occasional deadlocks in streamsynchronizer
|
||
* 626621 : [playbin2] streamsynchronizer regressions
|
||
* 626629 : [ffmpegcolorspace] doesn't handle palettes any longer
|
||
* 626718 : playback: Delay usage of GstFactoryList
|
||
* 627203 : [alsa] alsasrc and alsasink should expose card name via property
|
||
* 627297 : [regression] build-failure
|
||
* 627565 : [xoverlay][win64] gulong can't hold a HANDLE
|
||
* 627768 : add NV12 support to textoverlay
|
||
* 627780 : GstClockOverlay re-renders string even if it hasn't changed, resulting in very high CPU usage.
|
||
* 627924 : riff: add support for 2vuy
|
||
* 628009 : [volume] Float processing with orc broken
|
||
* 628400 : [videorate] does not generate buffers to fill the duration of the last frame
|
||
* 628500 : videotestsrc: add moving color bars pattern
|
||
* 628747 : gst-plugins-base: unable to build because of compiler warning in libggsttag
|
||
* 629157 : Move video frame conversion from playback plugin to libgstvideo
|
||
* 629672 : gnomevfsrsrc: " handle " property should also have the GST_PARAM_MUTABLE_READY flag
|
||
* 629848 : build problem with current gtk+: implicit declaration of function 'gdk_draw_rectangle', GtkStyle' has no member named 'black_gc'
|
||
* 630303 : theoraenc: Make the bitrate/quality dynamically modifiable
|
||
* 630353 : [appsrc] Avoid losing buffers' caps
|
||
* 630440 : ringbuffer: use g_once for type-init
|
||
* 630443 : baseaudiosink: Add getter and setter for drift tolerance
|
||
* 630471 : [tag] ligatures " Œ " and " œ " are not supported in freeform strings
|
||
* 630496 : seek example: add new #define to set seek bar graininess
|
||
* 630802 : videotestsrc.c doesn't compile in Visual Studio 2008
|
||
* 631128 : Add methods to manipulate RFC 5285 header extensions
|
||
* 631312 : [streamsynchronizer] Advancing segments too much
|
||
* 631633 : [oggdemux] fix seeking with negative rate with skeleton
|
||
* 631703 : [oggdemux] sintel ogv delay when playing
|
||
* 631756 : Fix build with glib 2.21.3
|
||
* 631773 : [tags] Add new exif tags: sharpness, metering mode, file/capturing source
|
||
* 631774 : [xvimagesink] sets non-simple caps on pad_alloced buffer
|
||
* 632167 : [oggdemux] doesn't parse/push all headers in pull mode
|
||
* 632653 : [seek] Don't use deprecated combo box API
|
||
* 632656 : [uridecodebin] internal decodebin2 might fail to reach PLAYING in streaming case
|
||
* 632789 : [PATCH] tests/icles/: adapted test-colorkey.c and test-xoverlay.c to deprecation of gtk_widget_hide_all
|
||
* 632809 : [regression] build failure in 0.10.30.2 in tools/
|
||
* 632988 : [discoverer] gst_caps_ref() critical for substreams of unknown streams
|
||
* 633023 : [discoverer] Add versionized gst-discoverer tool
|
||
* 633203 : Regression: streamsynchroniser + disabled deinterlacing = no DVD menu highlights/subtitles
|
||
* 633311 : discoverer: use specific types in getters, rename some boolean getters
|
||
* 633336 : [discoverer] Move documentation into the correct section
|
||
* 633455 : [rtsp] don't let the rtsp connection timeout
|
||
* 634014 : GTK+3 is a moving target, lets not compile against it by default.
|
||
* 634584 : decodebin2 docs should mention that " new-decoded-pad " signal may be emitted after " no-more-pads "
|
||
* 635067 : [*decodebin*] pad template leaked
|
||
* 635392 : Missing information on exported packages from GIRs
|
||
* 621349 : [theoraenc] Implement two-pass encoding
|
||
* 628488 : [theoradec] add properties to enable telemetry overlay
|
||
* 629746 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
|
||
* 626869 : The RTP depayloader is sometimes sending partial frames down the pipeline without the DISCONT bit set
|
||
|
||
API changed in this release
|
||
|
||
- API additions:
|
||
|
||
* gst_audio_clock_invalidate()
|
||
* gst_audio_clock_new_full()
|
||
* gst_base_audio_sink_get_drift_tolerance()
|
||
* gst_base_audio_sink_set_drift_tolerance()
|
||
* gst_x_overlay_got_window_handle()
|
||
* gst_x_overlay_set_window_handle()
|
||
* GstXOverlay::set_window_handle()
|
||
* gst_codec_utils_aac_caps_set_level_and_profile()
|
||
* gst_codec_utils_aac_get_level()
|
||
* gst_codec_utils_aac_get_profile()
|
||
* gst_codec_utils_aac_get_sample_rate_from_index()
|
||
* gst_codec_utils_h264_caps_set_level_and_profile()
|
||
* gst_codec_utils_h264_get_level()
|
||
* gst_codec_utils_h264_get_profile()
|
||
* gst_codec_utils_mpeg4video_caps_set_level_and_profile()
|
||
* gst_codec_utils_mpeg4video_get_level()
|
||
* gst_codec_utils_mpeg4video_get_profile()
|
||
* gst_discoverer_audio_info_get_bitrate()
|
||
* gst_discoverer_audio_info_get_channels()
|
||
* gst_discoverer_audio_info_get_depth()
|
||
* gst_discoverer_audio_info_get_max_bitrate()
|
||
* gst_discoverer_audio_info_get_sample_rate()
|
||
* gst_discoverer_audio_info_get_type()
|
||
* gst_discoverer_container_info_get_streams()
|
||
* gst_discoverer_container_info_get_type()
|
||
* gst_discoverer_discover_uri()
|
||
* gst_discoverer_discover_uri_async()
|
||
* gst_discoverer_get_type()
|
||
* gst_discoverer_info_copy()
|
||
* gst_discoverer_info_get_audio_streams()
|
||
* gst_discoverer_info_get_container_streams()
|
||
* gst_discoverer_info_get_duration()
|
||
* gst_discoverer_info_get_misc()
|
||
* gst_discoverer_info_get_result()
|
||
* gst_discoverer_info_get_stream_info()
|
||
* gst_discoverer_info_get_stream_list()
|
||
* gst_discoverer_info_get_streams()
|
||
* gst_discoverer_info_get_tags()
|
||
* gst_discoverer_info_get_type()
|
||
* gst_discoverer_info_get_uri()
|
||
* gst_discoverer_info_get_video_streams()
|
||
* gst_discoverer_new()
|
||
* gst_discoverer_result_get_type()
|
||
* gst_discoverer_start()
|
||
* gst_discoverer_stop()
|
||
* gst_discoverer_stream_info_get_caps()
|
||
* gst_discoverer_stream_info_get_misc()
|
||
* gst_discoverer_stream_info_get_next()
|
||
* gst_discoverer_stream_info_get_previous()
|
||
* gst_discoverer_stream_info_get_stream_type_nick()
|
||
* gst_discoverer_stream_info_get_tags()
|
||
* gst_discoverer_stream_info_get_type()
|
||
* gst_discoverer_stream_info_list_free()
|
||
* gst_discoverer_video_info_get_bitrate()
|
||
* gst_discoverer_video_info_get_depth()
|
||
* gst_discoverer_video_info_get_framerate_denom()
|
||
* gst_discoverer_video_info_get_framerate_num()
|
||
* gst_discoverer_video_info_get_height()
|
||
* gst_discoverer_video_info_get_max_bitrate()
|
||
* gst_discoverer_video_info_get_par_denom()
|
||
* gst_discoverer_video_info_get_par_num()
|
||
* gst_discoverer_video_info_get_type()
|
||
* gst_discoverer_video_info_get_width()
|
||
* gst_discoverer_video_info_is_image()
|
||
* gst_discoverer_video_info_is_interlaced()
|
||
* GST_PLUGINS_BASE_VERSION_MAJOR
|
||
* GST_PLUGINS_BASE_VERSION_MINOR
|
||
* GST_PLUGINS_BASE_VERSION_MICRO
|
||
* GST_PLUGINS_BASE_VERSION_NANO
|
||
* GST_CHECK_PLUGINS_BASE_VERSION
|
||
* gst_plugins_base_version()
|
||
* gst_plugins_base_version_string()
|
||
* gst_rtcp_packet_fb_get_fci()
|
||
* gst_rtcp_packet_fb_get_fci_length()
|
||
* gst_rtcp_packet_fb_set_fci_length()
|
||
* gst_rtp_buffer_add_extension_onebyte_header()
|
||
* gst_rtp_buffer_add_extension_twobytes_header()
|
||
* gst_rtp_buffer_get_extension_onebyte_header()
|
||
* gst_rtp_buffer_get_extension_twobytes_header()
|
||
* gst_rtp_buffer_list_add_extension_onebyte_header()
|
||
* gst_rtp_buffer_list_add_extension_twobytes_header()
|
||
* gst_rtp_buffer_list_from_buffer()
|
||
* gst_rtp_buffer_list_get_extension_onebyte_header()
|
||
* gst_rtp_buffer_list_get_extension_twobytes_header()
|
||
* gst_sdp_message_as_uri()
|
||
* gst_sdp_message_parse_uri()
|
||
* GST_TAG_CAPTURING_SOURCE
|
||
* GST_TAG_CAPTURING_METERING_MODE
|
||
* GST_TAG_CAPTURING_SHARPNESS
|
||
* GST_TAG_IMAGE_HORIZONTAL_PPI
|
||
* GST_TAG_IMAGE_VERTICAL_PPI
|
||
* GST_TAG_CAPTURING_FLASH_FIRED
|
||
* GST_TAG_CAPTURING_FLASH_MODE
|
||
* GST_TAG_CAPTURING_EXPOSURE_PROGRAM
|
||
* GST_TAG_CAPTURING_EXPOSURE_MODE
|
||
* GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE
|
||
* GST_TAG_CAPTURING_GAIN_ADJUSTMENT
|
||
* GST_TAG_CAPTURING_WHITE_BALANCE
|
||
* GST_TAG_CAPTURING_CONTRAST
|
||
* GST_TAG_CAPTURING_SATURATION
|
||
* GST_TAG_CAPTURING_SHUTTER_SPEED
|
||
* GST_TAG_CAPTURING_FOCAL_RATIO
|
||
* GST_TAG_CAPTURING_FOCAL_LENGTH
|
||
* GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO
|
||
* GST_TAG_CAPTURING_ISO_SPEED
|
||
* GST_VIDEO_FORMAT_UYVP
|
||
* GST_VIDEO_FORMAT_A420
|
||
* gst_video_convert_frame()
|
||
* gst_video_convert_frame_async()
|
||
* GstTextOverlay:xpos
|
||
* GstTextOverlay:ypos
|
||
* GstTextOverlay:color
|
||
* GstVideoTestSrc:solid-color
|
||
* GstVideoTestSrc::foreground-color
|
||
* GstVideoTestSrc::background-color
|
||
|
||
- API deprecations:
|
||
|
||
* gst_x_overlay_set_xwindow_id()
|
||
* gst_x_overlay_got_xwindow_id()
|
||
* GstXOverlay::set_xwindow_id()
|
||
|
||
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
|
||
|
||
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
|
||
|
||
* Alessandro Decina
|
||
* Alexey Fisher
|
||
* American Dynamics
|
||
* Andrzej K. Haczewski
|
||
* Arun Raghavan
|
||
* Chris Shoemaker
|
||
* David Schleef
|
||
* Edward Hervey
|
||
* Evan Nemerson
|
||
* Guillaume Emont
|
||
* Harri Mähönen
|
||
* Havard Graff
|
||
* Jan Schmidt
|
||
* Leo Singer
|
||
* Mark Nauwelaerts
|
||
* Matthias Clasen
|
||
* Olivier Crête
|
||
* Parthasarathi Susarla
|
||
* Philip Jägenstedt
|
||
* Philippe Normand
|
||
* René Stadler
|
||
* Rob Clark
|
||
* Robert Swain
|
||
* Sebastian Dröge
|
||
* Sreerenj Balachandran
|
||
* Stefan Kost
|
||
* Thiago Santos
|
||
* Thijs Vermeir
|
||
* Tim-Philipp Müller
|
||
* Tristan Matthews
|
||
* Vincent Penquerc'h
|
||
* Vladimir
|
||
* Wim Taymans
|
||
* Zaheer Abbas Merali
|
||
|