mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
330 lines
No EOL
14 KiB
Text
330 lines
No EOL
14 KiB
Text
|
||
Release notes for GStreamer 0.10.31 "Safety Pins"
|
||
|
||
|
||
|
||
The GStreamer team is proud to announce a new release
|
||
in the 0.10.x stable series of the
|
||
core of the GStreamer streaming media framework.
|
||
|
||
|
||
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.
|
||
|
||
|
||
The 0.10.x series has been reworked for threadsafety. It also features
|
||
various feature additions and enhancements.
|
||
|
||
|
||
This module, gstreamer, only contains core functionality.
|
||
For actual media playback, you will need other modules.
|
||
|
||
gst-plugins-base
|
||
contains a basic set of well-supported plug-ins
|
||
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
|
||
|
||
* bin: add "message-forward" property to force forwarding of messages that would usually be filtered such as ASYNC_DONE or EOS
|
||
* bin: improve tracking of source elements for more efficient event dispatch
|
||
* bufferlist: add function to add a list of buffers
|
||
* clock: fix racy shutdown clock id leak
|
||
* element: add support for arbitrary element class / factory details
|
||
* element: link_many should activate pads if needed
|
||
* gst: add math-compat.h header
|
||
* datetime: add GstDateTime API
|
||
* elementfactory: add utility functions to filter features by type
|
||
* plugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY
|
||
* query: add buffering ranges API to retrieve informations about the areas of the stream currently buffered
|
||
* value: add int64 range type
|
||
* info: write debugging output to file if GST_DEBUG_FILE environment variable is set
|
||
* pad: use more efficient g_object_notify_by_pspec() for caps notifies if compiling against new-enough GLib
|
||
* pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing
|
||
* plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
|
||
* utils: speed up pad linking utility functions by not trying pads that will never work
|
||
* adapter: add function to get a list of buffers; support 0-sized buffers
|
||
* adapter: optimize gst_adapter_take() and gst_adapter_peek() a little
|
||
* basesink: only answer the SEGMENT query in pull mode
|
||
* basesrc: return values in stream time for the POSITION query
|
||
* basetransform: allow the subclass to add new fields to caps when getting new caps from downstream
|
||
* basetransform: avoid useless memcpy
|
||
* basetransform: upstream caps-renegotiation fixes
|
||
* bitreader: add inlined and unchecked versions of the most important functions
|
||
* bytewriter: add inline and unchecked variants of all important functions
|
||
* bytewriter: fix possible infinite loop caused by an overflow
|
||
* queue: add "silent" property to suppress signal emission (for better performance)
|
||
* queue: avoid unnecessary g_cond_signal() (for better performance)
|
||
* queue: push newsegment event when linking in PLAYING
|
||
* queue2: extend ring buffer to support RAM mode
|
||
* queue2: in download mode, prevent range corruption due to race
|
||
* queue2: don't send seeks beyond the end of the file upstream in pull mode (fixes apple trailers and youtube/html5 playback in webkit)
|
||
* multiqueue: flush the data queue if downstream return WRONG_STATE too
|
||
* gst-inspect: print GST_PARAM_MUTABLE_* property flags
|
||
|
||
Bugs fixed in this release
|
||
|
||
* 396774 : Make GstElementDetails extensible
|
||
* 482147 : [queue] Issue with current time level if source task is not started
|
||
* 579127 : gst-launch: disable CLOCK_LOST message handling
|
||
* 594504 : Need a GType of " Date AND Time AND Timezone "
|
||
* 600004 : underrun signal emits when i tested queue overrun test case from file /gstreamerXXXX/tests/check/element/queue.c
|
||
* 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
|
||
* 611918 : leaky queue might not push newsegment event
|
||
* 618919 : Registry/Plugin Loading Memory Leak
|
||
* 619522 : basetransform fix for upstream caps-renegotiation
|
||
* 621299 : make simple queues faster
|
||
* 621332 : BaseTransform should disable proxy alloc if downstream changes caps
|
||
* 622740 : GstPad: Do not call gst_pad_accept_caps() when caps change
|
||
* 623040 : Add release_datetime field to GstPluginDesc
|
||
* 623121 : [queue2] downloaded areas of the media are not exposed
|
||
* 623491 : make *_get_type() thread safe
|
||
* 623541 : [basetransform] Implement POSITION query
|
||
* 623622 : [basesink/basesrc] Should return values in stream time for POSITION query
|
||
* 623806 : [pipeline] Doesn't update the clock if the currently used one gets lost and the start time did not change
|
||
* 623875 : gstregistrybinary.c compatibility with glib > = 2.25.0
|
||
* 624203 : gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
|
||
* 625239 : FTBFS: ./gstreamer-decl.txt:9461: warning: GstTagList has multiple definitions.
|
||
* 625295 : [info] regression: doesn't flush output stream after every debug print any longer
|
||
* 625368 : gstdatetime.c doesn't compile in VS 2008
|
||
* 625862 : [docs] unused symbol GST_CAT_LEVEL_LOG_valist breaks the build
|
||
* 626027 : [tag] Add GST_TAG_APPLICATION_NAME
|
||
* 626181 : GstElementFactory: add listing/filtering API
|
||
* 626651 : [tag] Photography/capture settings tags
|
||
* 626784 : element: link_many might assert elements are in paused or playing
|
||
* 627438 : gst: Add a gst_is_initialized() API
|
||
* 627826 : GstInt64Range type
|
||
* 627910 : Warnings emitted when -Wcast-qual used
|
||
* 627959 : [queue2] on-disk buffering failing for AVI container
|
||
* 628014 : Deprecate GST_FLOW_IS_FATAL/GST_FLOW_IS_SUCCESS
|
||
* 628174 : New gstvalue checks cause trouble in thoggen
|
||
* 628176 : [basetransform] Problems with buffer handling in inplace mode
|
||
* 628408 : Use GDateTime that has been released
|
||
* 629241 : Build broken with introspection using gobject-introspection from master
|
||
* 629410 : GstBaseTransform: position query refers to sink pad, not source pad
|
||
* 629494 : Latest gst-launch.c doesn't build in Visual Studio 2008
|
||
* 629553 : GstAdapter: timestamp not updated when empty buffer is pushed
|
||
* 629831 : [API] add gst_structure_take_value() and gst_structure_id_take_value()
|
||
* 629946 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
|
||
* 630257 : GST_DEBUG_DUMP_DOT_DIR not working anymore
|
||
* 630436 : basesink: renderdelay needs to be subtracted in adjust_time()
|
||
* 630437 : basetransform: Make a WARNING into a DEBUG statement
|
||
* 630439 : clock: fix racy shutdown clock id leak
|
||
* 631755 : Fix build with glib 2.21.3
|
||
* 631853 : [queue2] deadlock when using temp-location and dispatch-properties
|
||
* 632236 : [gst-inspect] unhelpful uri handler output
|
||
* 632433 : [basesink] hangs/drops going to PLAYING following flushing step in PAUSED
|
||
* 632977 : [queue2] qtdemux causes soup to request seeks past the end of the range
|
||
* 633147 : Simple reverse negotiation pipeline is broken.
|
||
* 633886 : Visual Studio emits warnings about double defined _USE_MATH_DEFINES
|
||
* 635031 : [datetime] Fix unix epoch handling
|
||
* 635389 : Include information on exported packages in GIRs
|
||
* 635869 : GST_BOILERPLATE_FULL causes warnings in user C++ code
|
||
* 633176 : recent multiqueue changes break DVD playback
|
||
|
||
API changed in this release
|
||
|
||
- API additions:
|
||
|
||
* gst_is_initialized
|
||
* gst_buffer_list_iterator_add_list
|
||
* GstBin:message-forward
|
||
* GST_TYPE_DATE_TIME
|
||
* gst_date_time_get_day
|
||
* gst_date_time_get_hour
|
||
* gst_date_time_get_microsecond
|
||
* gst_date_time_get_minute
|
||
* gst_date_time_get_month
|
||
* gst_date_time_get_second
|
||
* gst_date_time_get_time_zone_offset
|
||
* gst_date_time_get_type
|
||
* gst_date_time_get_year
|
||
* gst_date_time_new
|
||
* gst_date_time_new_from_unix_epoch_local_time
|
||
* gst_date_time_new_from_unix_epoch_utc
|
||
* gst_date_time_new_local_time
|
||
* gst_date_time_new_now_local_time
|
||
* gst_date_time_new_now_utc
|
||
* gst_date_time_ref
|
||
* gst_date_time_unref
|
||
* gst_tag_list_get_date_time
|
||
* gst_tag_list_get_date_time_index
|
||
* GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
|
||
* GST_TAG_APPLICATION_DATA
|
||
* GST_TAG_APPLICATION_NAME
|
||
* GST_TAG_DATE_TIME
|
||
* GST_ELEMENT_IS_SOURCE
|
||
* gst_element_class_set_documentation_uri
|
||
* gst_element_class_set_icon_name
|
||
* gst_element_factory_get_documentation_uri
|
||
* gst_element_factory_get_icon_name
|
||
* gst_element_factory_list_filter
|
||
* gst_element_factory_list_get_elements
|
||
* gst_element_factory_list_is_type
|
||
* GstElementFactoryListType
|
||
* GST_ELEMENT_FACTORY_TYPE_ANY
|
||
* GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
|
||
* GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
|
||
* GST_ELEMENT_FACTORY_TYPE_DECODABLE
|
||
* GST_ELEMENT_FACTORY_TYPE_DECODER
|
||
* GST_ELEMENT_FACTORY_TYPE_DEMUXER
|
||
* GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
|
||
* GST_ELEMENT_FACTORY_TYPE_ENCODER
|
||
* GST_ELEMENT_FACTORY_TYPE_FORMATTER
|
||
* GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
|
||
* GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
|
||
* GST_ELEMENT_FACTORY_TYPE_MUXER
|
||
* GST_ELEMENT_FACTORY_TYPE_PARSER
|
||
* GST_ELEMENT_FACTORY_TYPE_PAYLOADER
|
||
* GST_ELEMENT_FACTORY_TYPE_SINK
|
||
* GST_ELEMENT_FACTORY_TYPE_SRC
|
||
* GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
|
||
* GST_ELEMENT_FACTORY_KLASS_DECODER
|
||
* GST_ELEMENT_FACTORY_KLASS_ENCODER
|
||
* GST_ELEMENT_FACTORY_KLASS_SINK
|
||
* GST_ELEMENT_FACTORY_KLASS_SRC
|
||
* GST_ELEMENT_FACTORY_KLASS_MUXER
|
||
* GST_ELEMENT_FACTORY_KLASS_DEMUXER
|
||
* GST_ELEMENT_FACTORY_KLASS_PARSER
|
||
* GST_ELEMENT_FACTORY_KLASS_PAYLOADER
|
||
* GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER
|
||
* GST_ELEMENT_FACTORY_KLASS_FORMATTER
|
||
* GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO
|
||
* GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO
|
||
* GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE
|
||
* GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE
|
||
* GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA
|
||
* gst_plugin_feature_list_debug
|
||
* gst_plugin_feature_rank_compare_func
|
||
* gst_query_add_buffering_range
|
||
* gst_query_get_n_buffering_ranges
|
||
* gst_query_parse_nth_buffering_range
|
||
* gst_structure_get_date_time
|
||
* gst_structure_id_take_value
|
||
* gst_structure_take_value
|
||
* GST_TYPE_INT64_RANGE
|
||
* gst_int64_range_get_type
|
||
* gst_util_fraction_compare
|
||
* gst_value_get_int64_range_max
|
||
* gst_value_get_int64_range_min
|
||
* gst_value_set_int64_range
|
||
* GST_VALUE_HOLDS_DATE_TIME
|
||
* gst_adapter_take_list
|
||
* gst_bit_reader_skip_unchecked
|
||
* gst_bit_reader_skip_to_byte_unchecked
|
||
* gst_bit_reader_get_bits_uint16_unchecked
|
||
* gst_bit_reader_get_bits_uint32_unchecked
|
||
* gst_bit_reader_get_bits_uint64_unchecked
|
||
* gst_bit_reader_get_bits_uint8_unchecked
|
||
* gst_bit_reader_peek_bits_uint16_unchecked
|
||
* gst_bit_reader_peek_bits_uint32_unchecked
|
||
* gst_bit_reader_peek_bits_uint64_unchecked
|
||
* gst_bit_reader_peek_bits_uint8_unchecked
|
||
* gst_byte_writer_put_int8_unchecked
|
||
* gst_byte_writer_put_int16_be_unchecked
|
||
* gst_byte_writer_put_int16_le_unchecked
|
||
* gst_byte_writer_put_int24_be_unchecked
|
||
* gst_byte_writer_put_int24_le_unchecked
|
||
* gst_byte_writer_put_int32_be_unchecked
|
||
* gst_byte_writer_put_int32_le_unchecked
|
||
* gst_byte_writer_put_int64_be_unchecked
|
||
* gst_byte_writer_put_int64_le_unchecked
|
||
* gst_byte_writer_put_uint8_unchecked
|
||
* gst_byte_writer_put_uint16_be_unchecked
|
||
* gst_byte_writer_put_uint16_le_unchecked
|
||
* gst_byte_writer_put_uint24_be_unchecked
|
||
* gst_byte_writer_put_uint24_le_unchecked
|
||
* gst_byte_writer_put_uint32_be_unchecked
|
||
* gst_byte_writer_put_uint32_le_unchecked
|
||
* gst_byte_writer_put_uint64_be_unchecked
|
||
* gst_byte_writer_put_uint64_le_unchecked
|
||
* gst_byte_writer_put_float32_be_unchecked
|
||
* gst_byte_writer_put_float32_le_unchecked
|
||
* gst_byte_writer_put_float64_be_unchecked
|
||
* gst_byte_writer_put_float64_le_unchecked
|
||
* gst_byte_writer_put_data_unchecked
|
||
* gst_byte_writer_fill_unchecked
|
||
- API deprecations:
|
||
|
||
* GST_FLOW_IS_FATAL
|
||
* GST_FLOW_IS_SUCCESS
|
||
|
||
Download
|
||
|
||
You can find source releases of gstreamer in the download directory:
|
||
http://gstreamer.freedesktop.org/src/gstreamer/
|
||
|
||
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
|
||
|
||
Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
|
||
Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
|
||
Let us know if you want to be added to this list.
|
||
|
||
|
||
Contributors to this release
|
||
|
||
* Alessandro Decina
|
||
* Arun Raghavan
|
||
* Colin Walters
|
||
* David Hoyt
|
||
* David Schleef
|
||
* Edward Hervey
|
||
* Evan Nemerson
|
||
* Havard Graff
|
||
* Jan Schmidt
|
||
* Jeffrey S. Smith
|
||
* Jonas Holmberg
|
||
* Jonathan Matthew
|
||
* Mark Nauwelaerts
|
||
* Michael Bunk
|
||
* Ognyan Tonchev
|
||
* Olivier Crête
|
||
* Philippe Normand
|
||
* Rob Clark
|
||
* Robert Swain
|
||
* Sebastian Dröge
|
||
* Shixin Zeng
|
||
* Stefan Kost
|
||
* Thiago Santos
|
||
* Thijs Vermeir
|
||
* Tim-Philipp Müller
|
||
* Trond Andersen
|
||
* Vincent Penquerc'h
|
||
* Vladimir Eremeev
|
||
* Wim Taymans
|
||
* reynaldo
|
||
|