This is GStreamer 0.10.31 "Safety Pins" Changes since 0.10.30: * 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 since 0.10.30: * 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 additions since 0.10.30: * 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_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 deprecated since 0.10.30: * GST_FLOW_IS_FATAL * GST_FLOW_IS_SUCCESS