blob: 1c40a3723fd7be225eb7fb31f489017c235cb919 [file] [log] [blame]
This is GStreamer 0.10.32 "Take Me to the Bonus Level"
Changes since 0.10.31:
* GLib requirement is now >= 2.22
* New core element: valve (moved from -bad)
* New core element: input-selector (N.B. without "select-all" property,
use fsfunnel instead) (moved from -bad)
* New core element: output-selector (N.B. with different negotiation
behaviour by default, set pad-negotiation-mode=active for previous
behaviour) (moved from -bad)
* Performance improvements for many heavily-used code paths: GstPad,
GstPoll, GstClock, GstTask, basesink, basesrc, queue2, multiqueue
* gobject-introspection: add annotations for most core API
* clock: make sync clock wait lockfree
* fdsrc/fdsink: reenable on MSVC
* registry: fix GStatBuf definition for win32 when building against older
glib (fixes unnecessary rescanning of plugins at start-up)
* element: add a more flexible way to get request pads from elements
* multiqueue: return upon input when already eos
* object: fix creation of default name (when creating more than 100000 elements)
* pluginloader: fix hangs on OSX
* poll: fixes for (p)select backend (used e.g. on OSX)
* poll: refactor and make more lockfree; fixes for win32 and OSX (pselect backend)
* registry: don't replace valid existing plugins by blacklisted ones
* tags: don't produce duplicated entries when merging same value twice
* basesink: preroll fixes for async=false case
* basesink: rework position reporting code
* basetransform: handle downstream giving a buffer with new caps but invalid size
Bugs fixed since 0.10.31:
* 635785 : basesrc: fix deadlock
* 638599 : GST_PTR_FORMAT causes crashes if GLib-internal printf is used but system provides register_printf_specifier
* 503592 : gstpad.c does many ref/unref of peer pad in dataflow
* 564056 : Protect against umask(0177)
* 607513 : input-selector segfaults in g_object_notify()
* 632168 : [gsttask] MSVC thread names for task debugging
* 632447 : reduce static memory allocated by the registry
* 632557 : [macros] Define restrict keyword if not available
* 632778 : Optimisations to GstBaseSink
* 632779 : gstdataqueue: Only emit g_cond_signal when needed
* 632780 : queue: Remove useless checks from e406f7
* 633918 : [fakesink] [PATCH] print sink-message events like a message and its structure
* 634965 : sinks render buffers in state PAUSED when async is FALSE
* 635001 : basesink: fix position reporting in PAUSED
* 636268 : configure test fails on FreeBSD
* 636455 : basesrc: Avoid taking object locks for just checking tag presence
* 637057 : [plugin-scanner] gstpoll fails with select backend
* 637300 : [API] request pad based on caps
* 637549 : build fails: ./.libs/libgstbase-0.10.so: undefined reference to `gst_clock_single_shot_id_reinit'
* 637776 : merging the same tag values again produces lists containing duplicates
* 638381 : {input,output}-selector: double-check API before release
* 638399 : a few typos in GStreamer
* 638900 : [GstPoll] Doesn't compile with MinGW
* 638941 : registry scan/loading race and inconsistency
API additions since 0.10.31:
* gst_clock_single_shot_id_reinit()
* gst_element_request_pad()
* GstElementClass::request_new_pad_full()
* gst_poll_get_read_gpollfd()
* gst_value_list_merge()
* GST_CLOCK_DONE
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
Changes since 0.10.29:
* GLib requirement was bumped to 2.20, automake requirement to 1.10
* bin: unlock gst_element_get_state() on error, instead of hanging forever if no timeout is given
* clock: fix refcounting bug in gst_clock_set_master
* caps: make sure _normalize() is applied on all structures
* info: add new TRACE log level and move refcounting there from LOG level
* pad: don't check twice for changed caps per push
* pad: fix iterator aggregation of all pads in the internal links fallback
* tagsetter: protect tagsetter operations with a lock
* value: support short fourccs (esp. serialisation/deserialisation)
* adapter: fix _try_to_merge_up(); optimize progressive masked scans
* basesink: implement percentage position and duration queries
* basesink: fix segment query return value
* basetransform: add accept_caps vmethod
* basetransform: re-evaluate proxy_alloc when reconfigured
* basetransform: assume in_size equals out_size if there's no transform_size/get_unit_size vfunc
* fdsink, filesink: make sync property work correctly
* typefind: make sure buffers' metadata is writable before setting caps on them
* queue2: fix merging of ranges
* queue2: don't wait for data when EOS
* queue2: don't ignore failure to open the temporary file location
* tools: make gst-launch print things correctly to stderr/stdout and make --quiet work correctly
* introspection: add many more gobject-introspection annotations
* xml: serialisation/deserialisation to/from XML has been deprecated, since it's always been broken
for all but the most trivial pipelines, and will likely never be fixed
Bugs fixed since 0.10.29:
* 623586 : gst/tagsetter check fails
* 463435 : Skip #include < libxml/parser.h > in gstconfig.h.in when not needed
* 505770 : gst_element_get_state() should unblock if element posts an error
* 615820 : implement percentage position and duration queries
* 615941 : [tags] Add GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL
* 616586 : Use GObject's boxed type for GError
* 617223 : [tags] Add tags for direction of capture and movement
* 617625 : Commandline utility wrappers (gst-run) don't work on Windows
* 618644 : gst_pad_get_caps() Return pad template if parent element is in GST_STATE_NULL
* 619508 : [tag] Add image orientation tag
* 619815 : GST_PLUGIN_LOADING_WHITELIST env var for unit tests
* 619828 : [API] adapter: add masked_scan_uint32_peek
* 620460 : info: add new TRACE log level and move refcounting there from LOG level
* 620490 : [basesink] segment query unconditionally returns FALSE
* 621006 : Deprecate unused gst_object_{get|set}_name_prefix()
* 621282 : Display of short fourccs is in hex instead of text
* 621332 : BaseTransform should disable proxy alloc if downstream changes caps
* 621334 : GstBaseTransform should not require a transform_size function
* 621505 : Disable memory poisoning by default for releases
* 621527 : gstcaps: New gst_caps_steal_structure() method
* 621530 : filesink ignores sync=true
* 621595 : --quiet doesnt make gst-launch be completely quiet, also messages should not go to stdout
* 621773 : Add introspection annotations
* 621867 : gst-launch: rename new --no-play command line option
* 621896 : [API][taglist] Add gst_tag_list_peek_string_index
* 622504 : [GstPad] Provide more fine-grained linking methods
* 622546 : distcheck fails in docs/plugins/
* 622685 : [GstXml] Deprecate GstXml
* 622967 : [queue2] Problems with progressive downloading
* 623301 : gst_caps_normalize : doesn't normalize completely
* 623589 : Fix races/refcounting bugs with slave clocks
* 624113 : [tags] wrong behaviour in merge function for strings
* 622025 : Can't build gstreamer due to Gst-0.10.gir: error: Can't resolve type 'PadIntLinkFunction' for field Gst.Pad.intlinkfunc
API additions since 0.10.29:
* gst_caps_steal_structure()
* gst_clock_id_wait_async_full()
* gst_element_link_pads_full()
* GstPadLinkCheck
* gst_pad_link_check_get_type()
* gst_pad_link_full()
* gst_structure_fixate_field_string()
* GST_TAG_DEVICE_MANUFACTURER
* GST_TAG_DEVICE_MODEL
* GST_TAG_IMAGE_ORIENTATION
* GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
* GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
* GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
* gst_tag_list_peek_string_index()
* GST_TRACE
* GST_TRACE_OBJECT
* GST_CAT_TRACE
* GST_CAT_TRACE_OBJECT
* GST_LEVEL_TRACE
* gst_adapter_masked_scan_uint32_peek
* GstBaseSink::enable-last-buffer
* gst_base_sink_is_last_buffer_enabled()
* gst_base_sink_set_last_buffer_enabled()
* GstBaseTransform::accept_caps()
API deprecated since 0.10.29:
* gst_object_get_name_prefix()
* gst_object_set_name_prefix()
* gst_caps_load_thyself()
* gst_caps_save_thyself()
* gst_class_signal_emit_by_name()
* gst_object_save_thyself()
* gst_object_restore_thyself()
* gst_pad_load_and_link()
* gst_xml_get_element()
* gst_xml_get_topelements()
* gst_xml_get_type()
* gst_xml_make_element()
* gst_xml_new()
* gst_xml_parse_doc()
* gst_xml_parse_file()
* gst_xml_parse_memory()
* gst_xml_write()
* gst_xml_write_file()
Changes since 0.10.28:
* improve plugin loading robustness: do not ever unload a plugin after
calling into it: should fix mystery crashers during registry loading
when a plugin init function returns FALSE (e.g. when some supporting
library fails to initialise or a wrapper plugin found no features to
wrap and wrongly returned FALSE)
* configurable memory alignment for GstBuffers
* add QoS message to inform apps of lost data, dropped frames etc.
* basesink, basetransform: add support for new QoS message
* basetransform: accept non-fixed caps suggestions
* basesrc: fix gst_base_src_new_seamless_segment()
* GstController fixes and optimisations
* set thread name for pad tasks on Linux
* pipeline, bin: fix refcount issue when removing elements during a state change
* queue2: implement seeking in download mode
* queue2: implement flushing in download buffering
* queue2: improve buffer level measurement in download mode
* fdsrc: allow specifying the size in bytes on the uri
* build fixes: better checks for uint128_t, inline assembly on OSX, compilation
if HAVE_REGISTER_PRINTF_SPECIFIER is undefined, gobject-introspection
* two symbols were removed that had been exported but never been used or been
declared in any header file: gst_element_default_error and gst_element_request_compatible_pad
Bugs fixed since 0.10.28:
* 576234 : [basetransform] Suggesting non-fixed caps or no size doesn't work for upstream negotiation
* 520697 : [API] Add GST_TAG_USER_RATING
* 590718 : docs build failures with -jN: cp: cannot create regular file `build/image.entities': File exists
* 595958 : Position not updated after a backwards gst_event_new_step()
* 596832 : configurable buffer alignment
* 600718 : autoconf fails with gobject-introspection
* 600877 : [uridecodebin] Needs to disable download buffering for non-fast-start files
* 603710 : Can't compile with introspection support
* 603831 : build with libtool 1.x.y only works if --disable-shave is used
* 609046 : basetransform now ignores suggestions from capsfilter
* 609170 : basesrc pushes two newsegment
* 610256 : Use G_VALUE_COLLECT_INIT if available
* 611075 : Typo in debug_dump_pad function
* 611911 : Set thread names on pipeline threads
* 612370 : gstutils.c inline asm typo, compilation fails
* 612410 : [API][tags] add new geo tags
* 612733 : Build fails because HAVE_REGISTER_PRINTF_SPECIFIER is undefined
* 612881 : [utils] gst_pad_proxy_setcaps() doesn't handler iterator resyncs
* 613215 : delayed set in gst-launch are not recursive
* 613593 : git-update.sh script does not work on fresh git repository clones
* 614167 : gstinfo: no previous prototype for 'xxx' when buildign with --disable-gst-debug
* 614629 : utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions
* 614767 : libgstreamer build failure on OS X x86_64
* 614833 : out of srcdir build fails for libs/gst/check
* 615698 : " warning: cast increases required alignment of target type " with gcc 4.2.1 on arm
* 615756 : [bin] refcount issue when removing element in error
* 615880 : Add some more custom flow returns
* 615881 : [LFOControlSource] Use correct setter for double GValues
* 616846 : Crash in gst_interpolation_control_source_find_control_point_iter
API additions since 0.10.28:
* GST_MESSAGE_QOS
* gst_message_new_qos()
* gst_message_parse_qos()
* gst_message_parse_qos_stats()
* gst_message_parse_qos_values()
* gst_message_set_qos_stats()
* gst_message_set_qos_values()
* GST_FLOW_CUSTOM_SUCCESS_1
* GST_FLOW_CUSTOM_SUCCESS_2
* GST_FLOW_CUSTOM_ERROR_1
* GST_FLOW_CUSTOM_ERROR_2
* GST_TAG_USER_RATING
* GST_TAG_GEO_LOCATION_COUNTRY
* GST_TAG_GEO_LOCATION_CITY
* GST_TAG_GEO_LOCATION_SUBLOCATION
API deprecated since 0.10.28:
* gst_element_class_set_details()
Changes since 0.10.27:
* parse "1/MAX" fraction strings
* no material changes compared to 0.10.27, this release is mostly to
keep core/base version numbers in sync
Changes since 0.10.26:
* basesrc: protect segment values from concurrent access from different threads
* typefind: protect internal fields from concurrent changes from different threads
* typefind: fix pad activation corner-case with have-type already having been emitted
* typefind: reset the working mode when going to READY/NULL, fixes re-use from
READY state as with decodebin2
* gstpoll: fix crash when logging is enabled for GST_POLL
* bytewriter: expose gst_byte_writer_put_{float32|float64}_*() properly in header
* basesink: fix emergency rendering timestamp tracking
* fdsink, fdsrc: fix compilation with MSVC
* memindex: avoid busy loop when doing EXACT lookup
Bugs fixed since 0.10.26:
* 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
* 605189 : gst_element_get_state has wrong introspection
* 607771 : [API] Add gst_byte_writer_fill
* 608036 : [typefind] deadlock when upstream puts caps on buffers on pull mode
* 608877 : [typefind] Access to internal fields not threadsafe
* 609941 : GStreamer-WARNING **: External plugin loader failed.
* 610210 : [PATCH] Fix compilation of fdsink and fdsrc with MSVC
* 610246 : [optimization] Speed up _get_range()
* 610367 : [memindex] might busy loop upon EXACT lookup
* 610444 : [controller] Interpolation control source passes NULL pointers to GSequence API
* 611087 : [basesink] emergency rendering of late buffers fails after resuming from PAUSE
* 611719 : GST_DEBUG_OBJECT macros not fed with GObject* in gstpoll.c
API additions since 0.10.26:
* gst_byte_writer_fill()
Changes since 0.10.25:
* registry: do plugin scanning (on *nix) using an external helper binary
* lots of performance improvements all over the place (ghostpads,
multiqueue, pad construction, superfluous type checks, registry loading)
* add GstByteWriter, a simple generic byte writer
* filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly.
* queue2: add option to remove the temp-file (enabled by default)
* it is now allowed to use gst_caps_set_simple() on non-simple caps
* queue2: move from gst-plugins-base into the coreelements plugin in core
(this means you may need to remove libgstqueue2.so manually if you
installed from source and don't do make uninstall before upgrading, or
combine an older -base with a newer core)
* multiqueue: add support for buffering mode where we post BUFFERING
messages based on the level of the queues
* typefind: speed up typefinding a lot by first trying the typefinder for
the file's extension
* buffer: remove private/internal subbuffer subclass and keep track of
the parent buffer directly in the GstBuffer structure (this removes
quite a bit of special-casing and will allow for future improvements/
extensions that are harder to do if there's a separate subbuffer class.
* collectpads: add ability to install clipping functions
* new tags for TV/Radio shows/episodes, lyrics, composer sortname and
grouping
* miniobject: avoid race when recycling buffers
* basesrc: fix race in PLAYING->PAUSED->PLAYING
Bugs fixed since 0.10.25:
* 476514 : [multiqueue] Doesn't forward EOS event in all cases
* 590941 : API: add gst_pad_get_caps() variant that avoids unneeded caps copies
* 595602 : g_child_proxy_get_valist doesn't initialize GValue correctly
* 535069 : basesrc no longer support non-flushing seeks on itself
* 560442 : GNOME Goal: Remove deprecated GLib symbols
* 595511 : Annotations for gst_element_query_{position,duration}
* 595886 : gst_pad_fixate_caps() does not return fixed caps in case of multiple structures
* 595964 : [multiqueue] can hang pipeline during startup
* 596366 : proxy_getcaps reverses direction of getcaps
* 597407 : GstPipeline calculates base_time incorrectly when a new clock appears during PAUSED state
* 597550 : basesrc: sometimes no buffers produced after PLAYING - PAUSED - PLAYING
* 597690 : Improve caps setters API
* 598297 : make check fails when any --disable option which changes the API has been used
* 598526 : bytewriter: fails to compile with gcc 4.2.4 on Ubuntu Hardy 64 bits
* 598700 : scripts: Parallelise git-update.sh build script
* 598895 : [GstRegistry] Use hash table for feature lookups
* 598896 : [GstRegistry] Cache lists of ElementFactory and TypeFindFactory
* 599147 : typefind : Avoid having to re-sort the typefind factory list
* 599759 : [qtdemux] Add support for more tags
* 600313 : Visualisations stop updating after seek
* 600922 : gst-launch: wake up less often to check for Ctrl-C
* 601587 : MiniObject race condition
* 601668 : [gstregistry] gstregistry.c uses a variable from gst.c
* 601669 : [tests] tests/examples/manual depends on libgstcheck
* 602093 : libgstcheck fails to export some symbols when built under et_EE locale
* 602275 : [API] Add new sink-message event
* 602419 : [basesink] Regression with position reporting
* 603059 : Totem crashes when DVD is encrypted but libdvdcss isn't available
* 603787 : [registry] Doesn't use GMappedFile
* 604091 : tee: cleanup requestpads in dispose
* 604093 : gst-inspect/launch: move gst_tools_print_version to avoid glib warning
* 605251 : tee causes segfault if there is no source pad
* 605930 : [shave] common/shave not existing yet when configure checks need it
* 606435 : gsttee not threadsafe
* 607283 : segfaults and/or miniobject warnings with GLib > = 2.23.2
* 607317 : [PATCH] fix unaligned detection for x86-64 when cross compiling
* 607431 : update common modules before freeze
* 607481 : Should define G_THREADS_MANDATORY everywhere
* 607739 : [queue2] Temporary file is removed although code claims the opposite
* 607842 : Audio comes out with short breaks after resume pipeline (paused- > playing)
* 608136 : multiqueue handles UNEXPECTED flowreturn wrongly
* 608398 : Initializing the glib thread system seems not to work
* 608442 : [filesrc] typo in warning message
* 608726 : bytewriter: mistake in .h/.c function naming
* 609166 : Buffer list docs ascii art
* 590669 : [API] need GstByteWriter or GstChunkWriter
* 601698 : Rename new plugin-scanner helper executable before release
* 604565 : [gstcheck] Update check to 0.9.8
* 596877 : New internal libcheck breaks the Solaris build
API additions since 0.10.25:
* GST_DEBUG_REGISTER_FUNCPTR()
* gst_base_src_new_seamless_segment()
* gst_event_new_sink_message()
* gst_event_parse_sink_message()
* gst_util_fraction_add()
* gst_util_fraction_multiply()
* gst_util_greatest_common_divisor()
* gst_util_double_to_fraction()
* gst_util_fraction_to_double()
* gst_registry_get_feature_list_cookie()
* gst_default_registry_get_feature_list_cookie()
* gst_pad_get_caps_reffed()
* gst_pad_peer_get_caps_reffed()
* gst_structure_id_has_field()
* gst_structure_id_has_field_typed()
* gst_plugin_feature_list_copy()
* gst_caps_set_value()
* gst_byte_writer_ensure_free_space()
* gst_byte_writer_free()
* gst_byte_writer_free_and_get_buffer()
* gst_byte_writer_free_and_get_data()
* gst_byte_writer_get_remaining()
* gst_byte_writer_init()
* gst_byte_writer_init_with_buffer()
* gst_byte_writer_init_with_data()
* gst_byte_writer_init_with_size()
* gst_byte_writer_new()
* gst_byte_writer_new_with_buffer()
* gst_byte_writer_new_with_data()
* gst_byte_writer_new_with_size()
* gst_byte_writer_put_data()
* gst_byte_writer_put_float32_be()
* gst_byte_writer_put_float32_le()
* gst_byte_writer_put_float64_be()
* gst_byte_writer_put_float64_le()
* gst_byte_writer_put_int16_be()
* gst_byte_writer_put_int16_le()
* gst_byte_writer_put_int24_be()
* gst_byte_writer_put_int24_le()
* gst_byte_writer_put_int32_be()
* gst_byte_writer_put_int32_le()
* gst_byte_writer_put_int64_be()
* gst_byte_writer_put_int64_le()
* gst_byte_writer_put_int8()
* gst_byte_writer_put_string_utf16()
* gst_byte_writer_put_string_utf32()
* gst_byte_writer_put_string_utf8()
* gst_byte_writer_put_uint16_be()
* gst_byte_writer_put_uint16_le()
* gst_byte_writer_put_uint24_be()
* gst_byte_writer_put_uint24_le()
* gst_byte_writer_put_uint32_be()
* gst_byte_writer_put_uint32_le()
* gst_byte_writer_put_uint64_be()
* gst_byte_writer_put_uint64_le()
* gst_byte_writer_put_uint8()
* gst_byte_writer_reset()
* gst_byte_writer_reset_and_get_buffer()
* gst_byte_writer_reset_and_get_data()
* gst_bit_reader_get_size()
* gst_byte_reader_get_size()
* gst_data_queue_new_full()
* gst_collect_pads_set_clip_function()
* gst_type_find_helper_get_range_ext()
Changes since 0.10.24:
* Improve the byte-reader API
* GObject introspection support
* Improve clock accuracy on win32
* Optimisations in capabilities checking
* Optimisations and fixes in the basetransform base class
* new 64-bit scaling utility function variants
* Various bug-fixes and improvements (see ChangeLog and bugs list below)
Bugs fixed since 0.10.24:
* 583999 : [basetransform] caps refcounting problem causing GST_IS_CAPS assertion failures
* 566881 : [GstIndex] support/caching in GstBin
* 588472 : [basetransform] problems in reverse-negotiating
* 589173 : macros cause spurious semicolon warnings
* 589314 : [basetransform] clears GAP flag in passthrough mode
* 589524 : gst_base_transform_acceptcaps() could provide more verbose debugging output
* 589849 : [segment] Clipping fails to handle start=stop < segment_start correctly
* 589991 : [queue] limited error handling might cause pipeline appearing to hang
* 590045 : Query position fails when pipeline is paused and format is not time
* 590430 : Add support for " album artist " tags
* 590841 : configure script check for libxml2 is incorrect
* 590919 : gst_util_uint64_scale_int() and friends don't round
* 591045 : [basesrc] Leaking GstTask instances
* 591318 : ghostpad : core dump : on_src_target_notify called with an invalid ghostpad
* 591441 : append mode for filesink
* 592209 : [GstPad] Deprecated markers missing in the header for internal links function related things
* 592314 : core/tests/examples/streams/ does not link to pthread
* 593460 : Broken win32-specific systemclock code
* 593719 : regression: segfault when using gstrtpbin and certain video codecs
* 594107 : [gstbin] : use of freed message : valgrind Invalid read
* 594225 : [API] [bytereader] add _unchecked() variants and inline most common functions
* 594990 : [introspection] pkg-config file madness and another bug
* 595130 : checks fail
* 595133 : gst/gstutils check fails
* 595209 : Fix out-of-tree build
* 368536 : bin_change_state makes children go through unnecessary state changes
API additions since 0.10.24:
* gst_caps_can_intersect()
* gst_util_uint64_scale_int_round()
* gst_util_uint64_scale_int_ceil()
* gst_util_uint64_scale_round()
* gst_util_uint64_scale_ceil()
* gst_iterator_new_single()
* gst_byte_reader_skip_unchecked()
* gst_byte_reader_peek_*_unchecked()
* gst_byte_reader_get_*_unchecked()
* gst_byte_reader_{peek,get,dup}_data_unchecked()
* gst_byte_reader_get_float*_unchecked()
Changes since 0.10.23:
* Fully support nested structures in caps
* Support frame-by-frame stepping in sinks
* Add support for buffer-lists to pass around groups of buffers
* Use TaskPools for managing worker threads
* New stream-status API for finer thread control
* Code optimisations
* Many other bug-fixes and enhancements
Bugs fixed since 0.10.23:
* 580579 : crash in Volume Control: aucunes idées désolé.
* 527488 : [GstXML] can't load elements with request pads from XML
* 570233 : allow plugins caching data in the registry
* 584389 : don't recreate plugin feature and element factories on fi...
* 534208 : [API] add gst_structure_get()
* 545787 : [API] add gst_plugin_register_static_full() for bindings
* 554460 : thumbnailer crash in gst_fake_sink_event() on FLUSH_START...
* 559643 : Don't allow empty or NULL strings in taglists
* 560345 : gst_tag_list_get_string() may return NULL or empty string
* 560442 : GNOME Goal: Remove deprecated GLib symbols
* 572285 : Buffer Lists
* 577926 : Remove old xml registry
* 578908 : [fdsink] implement seeking on seekable fds
* 580177 : glibc 2.10 deprecates register_printf_function
* 580716 : race condition in gst_element_lost_state
* 581198 : [tags] Add gst_tag_setter_add_tag_value() and gst_tag_lis...
* 581281 : [GstURIHandler] Doesn't use get_type_full() at all
* 582010 : audiotestsrc is-live=1 ! pulsesink unreliable
* 582564 : [controller] Use ordered GSequence instead of GList in th...
* 582588 : [API] Add a way to get the pad corresponding to a taglist
* 582878 : [GstClock] ABI breakage in GIT on x86
* 583187 : [API] add gst_adapter_masked_scan_uint32() and gst_adapte...
* 583419 : Bad translatable string in gst-launch.c
* 583456 : framestep functionality
* 583554 : Slow down or lock if date time is changed to the past
* 584835 : MSVC compiler fails with 'static inline' function
* 584838 : basesrc: confusing QUERY_SEEKING handling
* 585039 : rtpool-test can't find pthreads
* 585075 : Compilation with MSVC fails for files including config.h ...
* 585137 : gst_xml_write_file() fails serialising GstStructure property
* 585592 : [API] add gst_byte_reader_masked_scan_uint32()
* 585733 : Wrong #include order in gstsegment.c
* 585748 : [API] add gst_tag_list_new_full() to create taglist with ...
* 586566 : Add GAP Flag support to gstcapsfilter
* 586568 : [bytereader] add misc. string functions and gst_byte_read...
* 587973 : use G_DIR_SEPARATOR_S instead of " /' "
* 587976 : Fix for gst-inspect and gst-launch when option parsing is...
* 588744 : [check] Stream consistency checker utility
* 588745 : [basesrc] Serialize tags in the dataflow
* 589127 : gsttask leaks the pool
* 590056 : [collectpads] race resulting in double flush-stop being o...
* 590622 : [bytereader] buffer size checks subject to wrap-around ov...
* 579177 : GstInfo: maintain ABI compatibility
* 581321 : typefind element leaks force-caps property
* 584118 : [gstadapter][doc] Improve documentation of gst_adapter_ma...
* 585433 : [queue] Can lock down if min-threshold conflicts with max...
* 585569 : rtsp/rtp streaming fails when skipping explicit PAUSED st...
* 585834 : Support for GstBufferList in ghostpads
* 585960 : Support for GstBufferList in gstbasesink
* 587052 : [filesink.c] Support for files > 4GB on windows makes file...
API added since 0.10.23:
* GST_DEBUG_CATEGORY_GET() macro
* gst_byte_reader_dup_data
* gst_byte_reader_dup_string
* gst_byte_reader_dup_string_utf8
* gst_byte_reader_dup_string_utf16
* gst_byte_reader_dup_string_utf32
* gst_byte_reader_skip_string
* gst_byte_reader_skip_string_utf8
* gst_byte_reader_skip_string_utf16
* gst_byte_reader_skip_string_utf32
* gst_byte_reader_peek_string
* gst_byte_reader_peek_string_utf8
* gst_byte_reader_get_string
* gst_byte_reader_get_string_utf8
* add gst_tag_list_new_full()
* add gst_tag_list_new_full_valist()
* add gst_byte_reader_masked_scan_uint32()
* add gst_plugin_get_cache_data, gst_plugin_set_cache_data
* gst_structure_get()
* gst_structure_id_get()
* gst_structure_get_valist()
* gst_structure_id_get_valist()
* GstSegment::gst_segment_set_running_time()
* Add GST_MESSAGE_SRC_NAME() macro
* GstSegment::gst_segment_to_position()
* GstEvent::gst_event_new_step()
* GstEvent::gst_event_parse_step()
* GstMessage::gst_message_new_step_done()
* GstMessage::gst_message_parse_step_done()
* gst_structure_id_new()
* Add gst_message_{new,parse}_tag_full() to get/set the source pad
* GstAdapter::gst_adapter_masked_scan_uint32()
* GstElement::gst_element_lost_state_full()
* GstAdapter::gst_adapter_prev_timestamp()
* gst_plugin_register_static_full()
* gst_tag_list_add_value()
* gst_tag_setter_add_tag_value()
* add GST_TAG_CONTAINER_FORMAT tag
* GstTask::gst_task_set_state()
* GstObject::gst_object_ref_sink()
Changes since 0.10.22:
* Support files > 4GB on Windows
* Controller interpolation fixes
* Add timer support to GstPoll and use it for clocking
* Attempt to typefind contents from the file extension if all else fails
* GStreamer revision control switched to Git
* Many other bug fixes and improvements
Bugs fixed since 0.10.22:
* 579177 : GstInfo: maintain ABI compatibility
* 163577 : [RFC] Interlaced/progressive media support in GStreamer.
* 574160 : collectpads does not reliably eos when last pad is removed
* 575598 : hierarchical pipelines accumulate segment-done wrongly
* 575922 : disabling subsystems cause API break
* 576842 : loading a broken registry file can crash
* 555978 : [ladspa] no elements exposed/found on Cygwin
* 565607 : Broken macros in gsturi.h and gstinterface.h
* 566936 : [ghostpads] unlink function wrongly called on target
* 567692 : gstinfo.h header not compatible with C++
* 567725 : [qtdemux] stopping at a time sometimes shows a different ...
* 568289 : gst_pad_template_new() leaks caps it's supposed to take o...
* 568438 : gst_poll_wait calling read() on control socket
* 568481 : GStreamer linking failures.
* 568632 : __MSVCRT_VERSION__ not defined with mingw, causing " stora...
* 568678 : filesrc doesn't logs offsets
* 570910 : Removing the target of a ghostpad does not re-target the ...
* 571227 : Add home page tag
* 571559 : [API] add GST_PARAM_MUTABLE_PLAYING etc. to indicate vali...
* 572480 : unref and copy functions should not be macros
* 573623 : [API] Array binary search utility function
* 574024 : [GstAdapter] gst_adapter_push should not accept empty buf...
* 574211 : gst_poll_*_control always returns FALSE on Windows
* 574213 : [gstcheck] fix for libcheck > 0.9.6
* 574241 : gst_tag_list_add and gst_tag_list_add_values behave incon...
* 574484 : [patch] Make caps in DOT debug graphs more readable
* 574623 : [dot_file_with_ts] ':' not a valid character for a filename
* 574805 : [capsfilter] Doesn't reset the internal suggestion with A...
* 575695 : build fails on OpenSolaris due to incorrect header file i...
* 575814 : flag for EOS on gst-launch when exiting with ctrl-c
* 576381 : [basesink] QoS: emergency rendering not always done
* 576563 : pidgin crashes on exit in gst_plugin_ext_dep_free()
* 576582 : A patch to enable the use of 'name' in Enum parameters
* 577887 : Missing GST_DISABLE_GST_DEBUG in gstregistrybinary.c
* 577891 : add alloc-pad property on tee
* 578114 : API: add two new log levels: FIXME and MEMDUMP
* 578201 : _gst_plugin_fault_handler_is_setup undefined under HAVE_W...
* 579127 : gst-launch: disable CLOCK_LOST message handling
* 580121 : race condition in GStreamer state changes causes problems...
* 361155 : Add monotonic clock
* 517231 : threadsafe/colored windows logging
* 572591 : Another batch of " differs in signedness " warnings
* 573823 : pad block callback if it is re-blocked while the previous...
* 574163 : Fix gst_pad_activate_pull deactivation with unlinked element
* 575682 : Add gst_pad_is_compatible()
* 575988 : On Windows filesink can't write files longer than 2-4 GiB...
API additions since 0.10.22:
* New FIXME and MEMDUMP debug levels
* gst_tag_list_get_buffer() and gst_tag_list_get_buffer_index()
* New tags: GST_TAG_SUBTITLE_CODEC, GST_TAG_HOMEPAGE
* gst_util_array_binary_search()
* gst_message_new_request_state(), gst_message_parse_request_state(), GST_MESSAGE_REQUEST_STATE
* GstPoll::gst_poll_new_timer()
* GstPoll::gst_poll_write_control()
* GstPoll::gst_poll_read_control()
Changes since 0.10.21:
* GstController improvements
* Extensions to the latency setting behaviours
* Ability for plugins to register dependencies to trigger re-scanning
* Optimisations in some common operations on caps and values and elsewhere
* Add sequence numbers to events so dependent events can be associated with
the event that caused them
* New macros for reading and writing float values
* Many improvements in the basesink base class
* Support non-default main contexts for GstBus watches
* Improvements in pull-mode scheduling of sinks
* Fixes for alignment issues on sparc
* Ghost pad fixes
* New bit-reader assistance API
* Many other bug fixes and improvements
Bugs fixed since 0.10.21:
* 567002 : --gst-disable-registry-update also skips registry creation
* 350477 : [Registry] Provide a way for plugins to delegate the 'cha...
* 510354 : post GST_MESSAGE_STRUCTURE_CHANGE when linking and unlink...
* 526044 : Crash if there is more than one watcher for a GstBus
* 539108 : gst_ghost_pad_new() does more than call g_object_new()
* 544003 : [parse] Links to wrong pad if no padtemplate name is given
* 544293 : rtspsrc / gstpoll regression
* 545714 : GST_READ_UINT_* and GST_WRITE_UINT_* are not always safe ...
* 548786 : [win32] search for plugins based on location of DLL
* 551676 : Small Memleak fix in gst_pad_link_check_compatible_unlocked
* 552778 : add free_func in gstbuffer instances
* 553554 : [base] Add a generic bit reader
* 553874 : query_position broken during seek
* 555196 : Move floating point endian conversion macros into core
* 555307 : Need to push latency event into the pipeline
* 555631 : Banshee crashes; gstreamer GST_CAPS GST_IS_CAPS warnings
* 556091 : libtool-2.2 and old gettext don't mix
* 556900 : a copy & paste bug in helloworld example
* 557154 : Allow totem to run without write-access to home directory
* 557300 : libgstnet needs to link against $(WIN32_LIBS)
* 557438 : Gstreamer crashes when Banshee supposed to change track
* 557649 : GstBaseTransform can cause ivalid memory references
* 559250 : segments need identifiers.
* 560301 : Add --plugin to gst-inspect
* 560360 : Excessive statting when reading binary cache
* 560399 : Unnecessary CRC checksum for binary registry cache
* 560442 : GNOME Goal: Remove deprecated GLib symbols
* 561501 : g_type_class_ref without unref
* 562170 : GstBus watch doesn't work with non-default main context
* 562949 : [API] Add an URI query type for querying the source/sink URI
* 564863 : Caps are not propagated from a ghostpad's target to the g...
* 567225 : volatile gonce_data in BOILERPLATE not initialized to 0
* 566393 : [deadlock] Setting index on a pipeline
API added since 0.10.21:
* Add bit reader and byte reader classes.
* gst_message_new_structure_change()
* gst_message_parse_structure_change()
* GST_BUFFER_FREE_FUNC()
* Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
* GstBaseSrc::gst_base_src_set_blocksize()
* GstBaseSrc::gst_base_src_get_blocksize()
* GstBaseSink::gst_base_sink_set_blocksize()
* GstBaseSink::gst_base_sink_get_blocksize()
* GstBaseSink::blocksize
* GstBaseSink::gst_base_sink_do_preroll()
* Add gst_byte_reader_get_data and gst_byte_reader_peek_data
* Move float endianness conversion macros from libgstfloatcast to core
* gst_util_seqnum_next, gst_util_seqnum_compare
* gst_event_get_seqnum, gst_event_set_seqnum
* gst_message_get_seqnum, gst_message_set_seqnum
* GstSeekFlags::GST_SEEK_FLAG_SKIP
* gst_bin_recalculate_latency()
* GstBin::do-latency
* gst_tag_setter_reset_tags()
* gst_query_new_uri, gst_query_set_uri, gst_query_parse_uri
* add gst_plugin_add_dependency()
* add gst_plugin_add_dependency_simple()
Changes since 0.10.20:
* Basetransform rework
* Basesink synchronisation extensions
* New documentation
* Many bug fixes, enhancements and optimisations
Bugs fixed since 0.10.20:
* 481169 : [tag] add support for geo tags (gps location etc.)
* 520694 : adding GST_TAG_KEYWORDS
* 538201 : deleting the control point at ts=0 does not lower the con...
* 544855 : fakesrc and fakesink should call super::event()
* 339795 : [GstBaseTransform] Reverse negotiation issues in passthro...
* 348114 : [PPC64?] [gcc-4.1.2?] GST_BUFFER_IN_CAPS flag should have...
* 361718 : [basetransform] needs API to force renegotiation
* 533856 : gst_buffer_join() documentation is unclear
* 536978 : GTKDOC_CFLAGS should include CFLAGS
* 537804 : [multiqueue] wrongly reporting that the queue is full.
* 537812 : [check] add api to setup a pad by name
* 538568 : Add GST_TAG_ATTACHMENT
* 539772 : gst_pad_template_new() does more than call g_object_new()
* 542175 : gst-inspect --gst-plugins-path fails with multiple direct...
* 543444 : gst_base_sink_get_position can return 0 unexpectedly
* 543853 : Bison version check failure on OSX 10.4 Tiger
* 544174 : [basesrc] allow dynamic value of the seekable value.
* 544776 : [win32] binary registry may fail if glib is using a diffe...
* 545352 : gsturi is too restrictive
* 545603 : gst-inspect: don't print uri handler when compiled withou...
* 545605 : gstelementfactory: don't use uri handler code without uri...
* 545607 : gst: include gstconfig when using macros defined therein
* 545853 : [basetransform] rewrite
* 546328 : fractions with G_MAXINT cause failure for fixation
* 546822 : gstreamer doesn't tell gettext to output its translations...
* 547277 : filesrc detect if a file is seekable using SEEK_SET and n...
* 547728 : [basetransform] fail on buffer_alloc
* 548394 : basesink should ignore EOS during flushing
* 548652 : [Inconsistency] GST_TAG_LOCATION is used for different me...
* 549504 : Thread-safe version of gst_pad_get_internal_links()
* 551952 : Need 'check' package when compile
* 551978 : Memleak in gst_element_sync_state_with_paren
* 547835 : tee release_request_pad while buffer_alloc racyness
* 538628 : Patch: added a timeout property to fdsrc used in gst_poll...
* 546883 : [basetransform] ximagesink fails when resizing video window
* 551509 : gst_base_transform_prepare_output_buffer: assertion faile...
API added since 0.10.20:
* Add GST_TAG_ATTACHMENT for generic file attachments to streams.
* Add gst_base_sink_set_render_delay()
* Add gst_base_sink_get_render_delay()
* Add gst_check_setup_src_pad_by_name
* Add gst_check_setup_sink_pad_by_name
* Add gst_check_teardown_pad_by_name
* Add GstBaseTransform::gst_base_transform_suggest()
* GstBaseTransform::gst_base_transform_reconfigure()
* GstPad::gst_pad_set_iterate_internal_links_function()
* GstPad::GstPadIterIntLinkFunction
* GstPad::gst_pad_iterate_internal_links()
* GstPad::gst_pad_iterate_internal_links_default()
API deprecated since 0.10.20:
* gst_pad_get_internal_links()
* gst_pad_set_internal_link_function()
* gst_pad_get_internal_links_default()
Changes since 0.10.19:
* Add the Presets interface
* Use the binary registry by default
* Deprecate gst_element_get_pad and don't use it anywhere any more.
* Reverse playback fixes
* API to get missing element messages from parse_launch parsing.
* Fixes in latency calculations
* BaseTransform negotiation fixes
* New Buffering query and messages
* Fix multiqueue deadlocks when changing limits
* Remove pre-generated parser hacks and require newer flex/bison
* Use GSlice in more places
* Use static strings in property declarations everywhere to save memory
allocations
* Fix unaligned memory accesses with the binary registry and add CRC
checks
* Lots of other bug fixes
Bugs fixed since 0.10.19:
* 535069 : basesrc no longer support non-flushing seeks on itself
* 522882 : Add a configure option to enable/disable OPTION_PARSING i...
* 396779 : Preset interface for elements
* 359653 : GStreamer Binary Registry patch
* 401456 : [API] Rename gst_bin_find_unconnected_pad to gst_bin_find...
* 446763 : [identity] leaks events in single segment mode
* 459862 : typefinding coud be more efficient
* 461253 : Crash when gst_base_transform_prepare_output_buffer is se...
* 489269 : valgrind option parameter invalid for valgrind 2.2
* 508070 : gstreamer crashes whilst trying to read .so files in .deb...
* 512577 : GstTagMergeMode doc has slightly incorrect explanation
* 512578 : gst_tag_setter_merge_tags can mess up with KEEP_ALL merge...
* 514507 : gst-xmlinspect outputs text instead of xml for plugins
* 518022 : [libgstnet] MSVC 6.0 compile error due to socklen_t
* 518932 : Expose gst_segment_copy() to facilitate wrapping of GstSe...
* 520468 : Add a Env to enable/disable scan_and_update_registry for ...
* 522326 : use of 'char*' instead of 'const char*' in gst_caps_set_s...
* 523798 : [API] Some GstMiniObject enhancements
* 523806 : Should use G_PARAM_STATIC_(NAME|NICK|BLURB) when possible
* 523978 : Documentation fixes.
* 523985 : [PATCH] [identity] meta-writes buffers without meta-writa...
* 524659 : Add specific error code for encrypted streams (e.g. WMA/A...
* 525532 : [fakesink/fakesrc/identity] Uses GObject marshallers for ...
* 526042 : [identity] check-imperfect-timestamp doesn't handle new s...
* 526236 : mingw32 gstpoll compilation fix
* 526247 : Actually build dlls when cross-compiling with mingw32
* 526705 : GstIndexResolver uses nickname field as description field
* 526768 : Basetransform bufferalloc passing through too easily
* 526814 : [API] add gst_pad_add_{data,event,buffer}_probe_full() wi...
* 527967 : gst_gerror_get_type is not thread safe
* 528187 : Get missing elements from gst_parse_launch()
* 528868 : URI schemes/protocols should be handled case insensitive
* 529148 : Make gstqueue give the right min latency
* 530317 : GType registration error - race condition when parallel c...
* 530637 : queue leak on capacity change
* 531538 : Race between gst_bus_set_flushing and async bus watches
* 533490 : gst_message_new_warning() should take const gchar*
* 533635 : gst_event_new_tag() documentation should say it takes own...
* 533740 : [API] add gst_typefind_suggest_simple()
* 533865 : gst_element_get_pad() should really be deprecated
* 534258 : basesink not accumulated time in some cases.
* 535218 : gst_base_src_send_event will block if basesrc is blocking...
* 536723 : Misspelled word in error string
* 536744 : Must link to libdl if dladdr() is used
* 536780 : gcc 4.3.0 compile warnings
* 536857 : DATADIR definition conflicts with windows headers
* 525961 : Build fails on darwin
* 535285 : Correct reference to GST_URI_UNKNOWN in gst_element_facto...
API added since 0.10.19:
* Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object
* typefind::force-caps
* gst_message_set_buffering_stats()
* gst_message_parse_buffering_stats()
* GST_QUERY_BUFFERING
* GstBufferingMode
* gst_query_new_buffering()
* gst_query_set_buffering_percent()
* gst_query_parse_buffering_percent()
* gst_query_set_buffering_stats()
* gst_query_parse_buffering_stats()
* gst_query_set_buffering_range()
* gst_query_parse_buffering_range()
* GST_STREAM_ERROR_DECRYPT
* GST_STREAM_ERROR_DECRYPT_NOKEY
* gst_segment_copy()
* gst_pad_add_data_probe_full()
* gst_pad_add_buffer_probe_full()
* gst_pad_add_event_probe_full()
* GstEvent::gst_event_has_name()
* GstFakeSrc:format
* gst_type_find_suggest_simple()
* GstBaseSink::gst_base_sink_wait_clock()
* gst_parse_launch_full()
* gst_parse_launchv_full()
* gst_parse_bin_from_description_full()
* gst_parse_context_new()
* gst_parse_context_free()
* gst_parse_context_get_missing_elements()
* gst_bin_find_unlinked_pad()
* GstPreset interface
API deprecated since 0.10.19:
* gst_element_get_pad -
use gst_element_get_static_pad or gst_element_get_request_pad
* gst_atomic_int_set() - g_atomic_int_set from GLib
* gst_bin_find_unconnected_pad()
Changes since 0.10.18:
* Fix a regression in raw fd handling
Bugs fixed since 0.10.18:
* 524041 : gstfdsrc broken in 0.10.18
Changes since 0.10.17:
* New GstPoll abstraction simplifies operations on multiple fd's/sockets
* Various bug fixes and corrections
Bugs fixed since 0.10.17:
* 516187 : adding gst_collect_pads_read_buffer () collectpads
* 516395 : gst_buffer_create_sub does not copy flags
* 520756 : different registry backend configurations cause build errors
* 498222 : configure improvements
* 499127 : [multiqueue] has no documentation
* 505417 : Add GstPoll to core
* 509559 : [gstinfo]_gst_debug_init() memory leak
* 510194 : segmentation fault when trying to link elements.
* 511783 : [API] [check] add gst_check_element_push_buffer_list() etc.
* 513964 : [GstPad] gst_pad_get_caps don't return a copy of the caps
* 515469 : patch to add gst_index_set_resolver_full
* 519584 : gst_element_implements_interface() segfaults with 'filesr...
* 519698 : g_free/xmlFree mismatches in gstregistryxml
* 520152 : Core uses non-portable size_t and ssize_t
* 520671 : GstPoll needs to be ported to Windows
* 520808 : GstPoll's API could need some changes for Windows
* 520877 : registrybinary.c doesn't build cleanly on Windows/MSVC
* 521740 : libgstreamer.def exports not up to date
* 522741 : regression: gst_index_entry_free() frees string it does n...
Changes since 0.10.16:
* Fix compilation on environments that have POSIX timers but not
monotonic clocks
Bugs fixed since 0.10.16:
* 512715 : gst/gstutils.c and HAVE_MONOTONIC_CLOCK
Changes since 0.10.15:
* Monotonic/Posix clock support
* Dumping of dot-file graph descriptions for debugging
* Clean-up of exported symbols
* Many bug-fixes and enhancements
Bugs fixed since 0.10.15:
* 497859 : --disable-gst-debug option fails compilation
* 339279 : [gst.URIHandler] interfaces with class-global virtual met...
* 498694 : Patches to avoid g_signal_emit(SIGNAL_HANDOFF) on identit...
* 498746 : basesink is forwarding downstream events
* 498767 : Hangs after end of tracks since 0.10.15
* 498924 : deprecate GST_PLUGIN_DEFINE_STATIC because it's not portable
* 499007 : [gst-plot-timeline] more options
* 499140 : Add check to ensure .def files are kept up-to-date
* 500143 : Some small improvements (limiting realloc and CPU usage )
* 500150 : [filesink] add property to enable buffering via setvbuf()
* 501560 : gst_(caps|structure)_from_string() crash if structure nam...
* 503131 : g_intern_string SUSE 10.2
* 503231 : Change to GST_BUFFER_FLAG_GAP meaning can break with base...
* 503417 : Build failure due uninitialized variable in function 'gst...
* 503590 : gstreamer-0.10.15 fails tests on ppc64
* 503675 : broken registry files written to disk
* 504499 : Messages from check no longer contain the test case name
* 505799 : iSight camera does not work in gstreamer
* 506643 : crash in fixate_value/gst_value_init_and_copy on empty li...
* 507957 : clean-up incomplete function declarations
* 508175 : GST_TIMEVAL_TO_TIME() and GST_TIMESPEC_TO_TIME() need to ...
* 510187 : gst_plugin_register_static() API review and GST_PLUGIN_DE...
* 510747 : Use $(MAKE) instead of make to fix the build if GNU make ...
* 511750 : Configure of prereleases 15.2-15.4 fail in OpenEmbedded M...
API additions since 0.10.15:
* GstIdentity::signal-handoffs
* gst_util_get_timestamp()
* gst_base_transform_set_gap_aware()
* GstFileSink::buffer-mode
* GstFileSink::buffer-size
* gst_plugin_register_static()
API deprecated since 0.10.15:
* GST_PLUGIN_DEFINE_STATIC()
Changes since 0.10.14:
* Changes for asynchronous sink management
* New ts-offset property on basesink for adjusting clock synchronisation
* New GstController LFO feature
* Fixes and improvements in latency measurement for live pipelines
* Additional documentation and docs fixes
* Faster typefinding
* More tag types added
* Improvements in various core elements and parent classes
* New unit tests
* Allow dumping pipelines as dot graphs
* GstStructures now support nesting
* URIHandler interface can now be implemented in bindings
* Many other bug-fixes and improvements
Bugs fixed since 0.10.14:
* 496722 : DSP/DSW files in win32/vs6 directory are in unix format
* 476514 : [queue] Doesn't forward EOS event in all cases
* 456573 : allow dumping pipelines as dot graphs
* 475723 : cleanup static caps correctly
* 480341 : Memory leak at fakesink (regression in cvs)
* 349410 : Problems with type handling
* 414539 : [API] Support more GST_TAG*_SORTNAME and remove MusicBrai...
* 459717 : [Controller] Add GstLFOControlSource that provides values...
* 459809 : [API] add GST_TAG_COMPOSER
* 461598 : Commit Hungarian translations from TP
* 461599 : Some files missing from POTFILES.in
* 464366 : program including gst/gstbuffer.h does not compile with -...
* 466595 : gst_index_add_association generates corrupted entries
* 469402 : File uri handling on windows broken
* 473846 : Deadlock if sink is unable to send first buffer
* 474371 : Can't build libsgtcontroller with VS6
* 474823 : tee unit test failure
* 478347 : GST_STATIC_PAD_TEMPLATE macro causes warnings with g++-4.2
* 478401 : gstbasesrc.c ref count bug
* 479784 : GST_PLUGIN_DEFINE() doesn't accept BSD and MIT/X11 licences
* 485343 : Implement a wait_eos function in basesink
* 487969 : allow nested GstStructures
* 492077 : Build issues on Windows/MSVC
* 493134 : Wrong GstObject signals registration
* 493983 : Build issues on Windows
* 494343 : pre-release vs6 patch
* 480858 : gstqueue code cleaning
* 486758 : queue element fails to re-negotiate caps upstream when si...
* 488201 : gst_segment_set_newsegment does not accumulate correctly
* 492729 : PAUSED- > PLAYING returns ASYNC when triggered from bus han...
* 494245 : [basesink] doesn't sync correctly if segment is in BYTES ...
API added since 0.10.14:
* gst_base_sink_get_last_buffer()
* GstBaseSink::last-buffer
* GstURIHandlerInterface::get_type_full
* GstURIHandlerInterface::get_protocols_full
* New tag: GST_TAG_ARTIST_SORTNAME
* New tag: GST_TAG_ALBUM_SORTNAME
* New tag: GST_TAG_TITLE_SORTNAME
* New tag: GST_TAG_COMPOSER
* gst_value_set_structure()
* gst_value_get_structure()
* GST_VALUE_HOLDS_STRUCTURE macro
* gst_bus_pop_filtered()
* gst_bus_timed_pop_filtered()
* gst_base_sink_wait_eos()
* gst_pad_peer_query()
* GstBaseSrc::do-timestamp
* gst_base_src_set_do_timestamp()
* gst_base_src_get_do_timestamp()
* GstBaseSink::ts-offset property
* gst_base_sink_set_ts_offset()
* gst_base_sink_get_ts_offset()
* GstBaseSink::async property
* gst_base_sink_set_async_enabled()
* gst_base_sink_is_async_enabled()
* gst_structure_get_uint()
* GstLFOControlSource and functions
Changes since 0.10.13:
* State change handling improvements
* New improved GstController API
* Multi-queue fixes and enhancements
* Fewer dynamic library relocations
* Various other fixes and improvements
* Parallel installability with 0.8.x series
* Threadsafe design and API
Bugs fixed since 0.10.13:
* 457322 : registry is read twice on startup
* 406632 : pkgconfigify the check for Check in configure.ac
* 423700 : [multiqueue] leaks memory when flushing
* 437457 : saving relocations for GstElementDetails
* 444648 : [API] add GstParamSpecFraction
* 444820 : build error with grammar.tab.c
* 448794 : state changes are racy with decodebin after rewrite for 0...
* 449197 : [capsfilter] Should set src pad caps on buffer
* 449226 : Incomplete ghostpads in xml session save
* 449493 : minor quoting fix in gst-feature.m4 macro
* 450711 : [GstController] Improve extensibility by providing a GstC...
* 451939 : [API] add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI
* 459501 : gst_registry_lookup_feature_locked is slow
* 462558 : Regression in async state change handling
* 462752 : make gst_element_class_set_details_simple args const
* 430682 : multiqueue doesn't output data on unlinked pads properly
* 462085 : registry feature hash can access invalid memory
* 357959 : buffer_alloc is not proxied through tee
* 374639 : GstTee doesn't handle pad list resyncs properly
* 449414 : [capsfilter] Copy of passed GstCaps taken instead of refe...
* 453732 : [PATCH] multiqueue returns wrong internally linked pads
API added since 0.10.13:
* Add GstParamSpecFraction, so elements can have fraction
properties without lots of painful string parsing (#444648).
* Add fail_unless_equals_float() and assert_equals_float()
* Add gst_type_register_static_full
* Add gst_element_class_set_details_simple
* Refactor GstController into the core controller which can take
a GstControlSource for providing actual values for timestamps.
* add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939)
* gst_element_factory_has_interface()
Changes since 0.10.12:
* Latency handling infrastructure for live playback scenarios
* State change handling changes
* GstController property handling improved
* Various bug fixes and improvements
* Parallel installability with 0.8.x series
* Threadsafe design and API
Bugs fixed since 0.10.12:
* 440682 : gst/gstsystemclock unit test occasionally fails
* 342564 : Configure options causing compilation to fail
* 378255 : Swedish translation updated
* 392804 : [API] add GST_CORE_ERROR_DISABLED
* 412648 : [filesink] reports wrong (byte) position after seeking
* 413123 : No XML dependency patch
* 415394 : [identity] post message for imperfect streams if check-pe...
* 417992 : Quickly playing/pausing messes up synchronization
* 420106 : [basetransform] race on shutdown: setcaps func called aft...
* 420206 : Collectpads causes a segv. when stopping after a pad remove
* 421480 : Make it possible to build without libxml2 with --disable-...
* 421543 : [GstPad] Doesn't check if pad accepts caps after caps change
* 422295 : GstController crashes with quadratic and cubic interpolat...
* 425400 : Multiqueue leaks memory when releasing sink pads
* 431150 : compilation fails with flex 2.5.4
* 431940 : [API] add gst_buffer_try_new_and_alloc()
* 432876 : current time level in queue
* 434926 : Multilib conflicts with gst-launch-0.10 man page
* 435880 : [GstBin] Property to allow bins to handle child async cha...
* 437563 : URIs with upper-case protocol don't play
* 440463 : gstbin unit test sometimes hangs waiting for ASYNC_DONE m...
* 441159 : Regression in state change handling
* 349180 : gst_parse_launch is not reentrant (or recursively callable)
* 414986 : Don't start the async thread for the system clock until n...
* 393099 : GstBuffer copy vfunc broken?
* 419851 : pad-added and pad-removed signals parameter type incorrect
* 420133 : gst_element_sync_state_with_parent should look at pending...
* 421177 : Possible deadlock if pad eventfunc is not specified
API additions since 0.10.12:
* gst_element_change_state()
* GST_STATE_TARGET
* GST_BASE_TRANSFORM_LOCK/UNLOCK
* GstClock::gst_clock_unadjust_unlocked()
* fakesink::num-buffers property
* GST_CORE_ERROR_DISABLED
* basesrc::prepare_seek_segment vmethod
* gst_buffer_try_new_and_alloc()
* gst_buffer_copy_metadata()
* GstBufferCopyFlags enum
* GST_BUFFER_COPY_ALL flag
* gst_uri_protocol_is_supported()
* gst_base_src_query_latency()
* GstQueue::pushing
* gst_controller_suggest_next_sync()
* gst_object_suggest_next_sync()
* basesrc::unlock_stop
* basesink::unlock_stop
* GstBin::async-handling property
* gst_message_new_async_start()
* gst_message_parse_async_start()
* gst_message_new_async_done()
* GST_MESSAGE_ASYNC_START
* GST_MESSAGE_ASYNC_DONE
Changes since 0.10.11:
* Add a warning if GLib threading support is not properly initialised
* Add support for binary registry serialisation
* Preliminary support for pull-mode scheduling of entire chains
* Add support for HPPA
* Collectpads fixes
* Lots of bug fixes
Bugs fixed since 0.10.11:
* 378931 : Bison version check doesn't work on Solaris 9
* 399875 : [multiqueue] dynamic growth not implemented.
* 339326 : pads not set to FLUSHING when created
* 380129 : gst_plugin_feature_load doesn't consistently ref a return...
* 381301 : [patch] Make GstBus watch work with any GMainContext
* 383382 : Removing pads from collectpads not threadsafe
* 383506 : Disallow CLOCK_TIME_NONE as periodic clock id interval
* 387073 : gst-launch videotestsrc ! ffmpegcolorspace ! ximagesink d...
* 387866 : [docs] Small fix for GstCollectPads docs
* 391278 : g_thread_init() called too late, possibly causing memory ...
* 391296 : [API] add gst_update_registry() to rescan registry at run...
* 391777 : GStreamer does not reset SEGV trap handler
* 391909 : Fix compilation with MinGW
* 399094 : gst_pad_start_task: small doc typo
* 401381 : GstRegistry signals documentation is missing
* 401781 : [API] add GST_ROUND_DOWN_* macros
* 402393 : [API][GstCollectPads] Allow elements to specify destroy n...
* 405284 : Changing state of pipeline can lock up with preroll queue...
* 400656 : [PATCH] filesrc seekability detection fix (NFS and 2GB+ f...
* 403172 : [filesrc] doesn't handle localhost file locations
* 404569 : [filesrc] Unexpected end of file
* 161922 : script to provide plugin installation info
* 391915 : adapter test doesn't compile with mingw
* 395554 : gst_tag_setter_merge_tags works at most once
* 403597 : [API] Add ReplayGain reference level tag
* 405288 : Configure checks use pkg-config directly
* 381492 : [SystemClock] ClockID wait_async notification broken
* 382592 : Multiple wait()ers break periodic clock ids
* 385084 : endless ghost pad pull/push activate recursion until crash
* 388201 : [API] add gst_adapter_copy()
API additions since 0.10.11:
* gst_update_registry()
* gst_adapter_copy()
* GST_ROUND_DOWN_* macros
* GstCollectDataDestroyNotify
* gst_query_new_latency()
* gst_query_set_latency()
* gst_query_parse_latency()
* gst_message_new_lost_preroll()
* gst_message_parse_lost_preroll()
* gst_message_new_prerolled()
* gst_message_new_latency()
* gst_event_new_latency()
* gst_event_parse_latency()
* GST_TAG_REFERENCE_LEVEL
* gst_base_sink_query_latency()
* gst_base_sink_get_latency()
* gst_bus_timed_pop()
* gst_message_new_info()
* gst_message_parse_info()
Bugs fixed since 0.10.10:
* 363095 : [BaseTransform] Outputs empty buffers
* 353301 : aborts in _get_element_by_uri(), probably due to buggy el...
* 344639 : Separate threadsafe queuing functionnality in a separate ...
* 347785 : [multiqueue] New multiple input-output queue
* 352827 : re-negotiation issues with dynamic pipelines and level or...
* 357180 : [libs] gst_controller_new* functions don't increase refco...
* 318031 : gstreamer should use gmodule-no-export in its .pc file
* 340878 : Registry doesn't discard removed plugin features
* 345496 : No GstPadDirection in files created by GstXml
* 356910 : Basesrc gst_base_src_activate_push not calling base_src_s...
* 357593 : Generated gst-element-check.m4 installed from $(srcdir)
* 358436 : #include is missing in gstghostpad.c and gstquery.c
* 358999 : [PATCH] [GstPad] Flushing on blocked pads not handled cor...
* 359850 : Compiling issues on sparc with Forte
* 360151 : Fixes compiling with forte: disable warning as error for ...
* 360173 : Fixes compiling with forte: warning clean up (part 1)
* 360467 : [API] add gst_tag_list_is_empty ()
* 360860 : Fixes compiling with forte: warning clean up (part 2)
* 361675 : Allow applications to use libxml2 and GStreamer even if ...
* 361720 : grammar project: error generating gstmarshal.c and gstmar...
* 361730 : wrong source file list in VC8 project
* 361732 : " win32\common\libgstreamer.def " lacks 'gst_caps_merge' entry
* 361769 : Deadlock in gstpad.c
* 364388 : size variable is not always initialized in gst_base_src_s...
* 366321 : GST_SEGMENT_FORMAT not defined on windows
* 370865 : [basesrc] update segment duration in gst_base_src_update_...
* 371493 : Incomplete change of printf conversion specifiers in gstr...
* 374475 : [PATCH] minor doc typo
* 377332 : [PATCH] Warning with check > = 0.9.4
* 357617 : [libs] gst_controller_set_from_list can return without un...
* 358737 : _gst_event_copy sets the wrong parent_refcount on the chi...
* 366212 : Fix some misspellings in gstreamer core
* 369366 : MacOSX printf fixes for CVS
* 371894 : tests/examples/typefind is broken
* 355499 : ensure_current_registry_forking() fails if zombie alread...
* 352345 : Small race condition in the queue element
* 357432 : [libs] GstController needs to keep controlled objects alive
* 358613 : sink- > file is never reset for filesink elements, even tho...
* 366286 : [PATCH] fix compilation on Windows
* 366572 : Bad declaration in headerfile
* 367677 : [fdsrc] skips the first byte
* 369942 : [PATCH] unblocking blocked pad does not release all block...
API added since 0.10.10:
* gst_element_state_change_return_get_name
* gst_tag_list_is_empty
* gst_pad_is_blocking()
* GST_PAD_IS_BLOCKING() macro
* GST_PAD_BLOCKING GstPadFlag
* gst_base_src_wait_playing
* gst_base_sink_wait_preroll
* gst_message_new_buffering
* gst_message_parse_buffering
Bugs fixed since 0.10.9:
* 349180 : gst_parse_launch is not reentrant (or recursively callable)
* 348455 : [filesrc] should not use mmap() by default, since it migh...
* 340674 : marry gst-debugs & plot-timeline.py
* 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
* 352580 : implement proper caps merging
* 345444 : Linking to an audioconvert (pad-added callback) multiple ...
* 347293 : GstValueList comparison is flawed
* 347311 : element_unlink leaks its iterator wich will leak the src ...
* 348179 : gst_parse_lauch is not reentrant
* 348354 : failure in bison version detection breaks build
* 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
* 350879 : [init] Mark gstreamer as being initialized during registr...
* 350935 : API: add GST_TAG_EXTENDED_COMMENT
* 353976 : asssertion about element sanity in gst_registry_xml_write...
* 350432 : micro-optimising quarks
* 341029 : Ghostpads internal and target should be linked from the b...
* 345295 : [PATCH] gstreamer/libs/gst/net for Windows
* 347756 : Allow --disable-trace without --disable-parse
* 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
* 348918 : application should decide whether or not to use fork() to...
* 349943 : [QOS] documentation/code mismatch
* 351768 : Unwanted concurent buffer modifications
* 352958 : pad_alloc_buffer and stream lock
* 353121 : gst_query_new_segment should initialize all structure fields
* 353122 : gst_element_get_bus refs the bus unconditionally
* 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
* 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
API added since 0.10.9:
* gst_segtrap_is_enabled
* gst_segtrap_set_enabled
* gst_registry_fork_is_enabled
* gst_registry_fork_set_enabled
* gst_ghost_pad_new_from_template
* gst_ghost_pad_new_no_target_from_template
* gst_caps_merge
* GST_TAG_EXTENDED_COMMENT
* GstClockCLass:wait_jitter
* GST_SEGMENT_FORMAT
* gst_structure_id_set
* gst_structure_id_set_valist
Changes since 0.10.8:
* The testsuite can now generate coverage information
* Better support for non-linear editing
* Removed Glib 2.6 compatibility
* Performance improvements on cpus that support branch hints
* Bug fixes
Bugs fixed since 0.10.8:
* 346730 : some warnings about enums and macros
* 341029 : Ghostpads internal and target should be linked from the b...
* 346192 : [PATCH] Pad blocking on events
* 347384 : [ghostpad] padtemplates shouldn't be set automatically
* 344115 : [patch] make more internal data const
* 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
* 330379 : Bogus commits to basesink, basetransform, collectpads
* 341667 : restore_from_xml breaks pad links again after creating them
* 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
* 344748 : Fails with non-writable registry
* 344849 : GstController doesn't handle float properties correct
* 345086 : [gst-feedback] calls un-versioned tools
* 346097 : SIGSEGV when using --gst-plugin-load
* 347337 : GDP does not correctly deserialize events without a struc...
* 347408 : basesrc causes regressions in pull with 0 bytes
* 345720 : Bad performance playing files off CD
* 331727 : make probes and Ghostpads more elegant
* 343196 : basetransform not handles ro/rw buffer flagging for trans...
* 346663 : Segmentation error with fakesrc, fakesink and a filter
Changes since 0.10.7:
* Important fix for registry update causing applets not to load
Bugs fixed since 0.10.7:
* 344474 : Gnome Mixer Applet doesn't want to load
Changes since 0.10.6:
* Registry cache updating is now done in a fork, so no plugins are left
opened
* New version of data protocol now serializes events
* queue fixes
* win32 fixes
Bugs fixed since 0.10.6:
* 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
* 343598 : undefined symbol in coreindexers when using --disable-loa...
* 336929 : GstCollectPads does not clear/reset segment info after fl...
* 337100 : [fakesink] add " preroll-handoff " signal
* 339918 : GstTagSetter merge-mode description unclear, and implemen...
* 340501 : [filesrc] give primary rank
* 341662 : gst-launch print_tags() fix
* 342238 : API: gst_element_seek_simple
* 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
* 342777 : rebuilding the registry leaves all plugins in memory
* 342820 : gstnetclientclock.c(453): servaddr used before set
* 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
* 343341 : [API] add GST_TAG_PREVIEW_IMAGE
* 343827 : leak in gst_index_gtype_resolver
* 343929 : Use of // in public header
* 343988 : data protocol needs extending to handle events better
* 341479 : Too many plugins loaded even for up-to-date registry
* 343334 : GstCollectPads testsuite and fixes
* 343538 : GstCollectPads doesn't reset EOS fields when stopped
API added since 0.10.6:
* gst_element_seek_simple()
* GST_FLOW_CUSTOM_SUCCESS
* GST_FLOW_CUSTOM_ERROR
* GST_FLOW_IS_SUCCESS
* gst_collect_pads_set_flushing()
* GST_TAG_PREVIEW_IMAGE
* gst_dp_crc()
* GstDPPacketizer
* GstDPVersion
* GstFakeSink::preroll-handoff
* GstFakeSink::use-mmap
Changes since 0.10.5:
* Fixes for the collectpads helper
* Support for proper time recording on server-trickmode streams
via the applied_rate parameter of the NewSegment event
* Many bug fixes
Bugs fixed since 0.10.5:
* 339808 : [patch] mem-leak of bin in gstbin.c
* 338339 : [patch] registry cache is always written
* 339843 : [patch] fdsink should not handle short writes and non fat...
* 340016 : does not build on opensolaris, must always include config...
* 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
* 340174 : locking problem in gstbasesink
* 340460 : gst-launch no longer supports --version
* 340508 : remove glib pre 2.8 hacks and compat stuff
* 340604 : gst_mini_object_ref () docs make no mention of writeability
* 340608 : leaking caps in padtemplate
* 340697 : gstsystemclock hangs when outputting to stdout via fdsink
* 340721 : API: add GST_TAG_IMAGE
* 340772 : [qtdemux] bails out on Meet The Robinsons trailer
* 341556 : gst-launch: print image tags in a human readable form
* 339821 : [patch] serializing a GValue with a NULL buffer crashes
API added since 0.10.5:
* gst_adapter_take_buffer()
* GST_TAG_IMAGE tag added.
* gst_event_new_new_segment_full()
* gst_event_parse_new_segment_full()
* GstSegment::applied_rate field
* gst_segment_set_newsegment_full()
Changes since 0.10.4:
* QoS in BaseTransform
* gcc 4.1 fixes
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.10.4:
* 131079 : [PATCH] [api] loading a class leaves elementfactory blank
* 317048 : gstreamer Cygwin build fixes
* 325599 : Build fails with GCC 4.1
* 327315 : GStreamer CVS head files to build with GCC 4.1
* 331248 : [basesink] filesink spews warnings when used with flacenc
* 332151 : xml registry loader should use mmap() where possible
* 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
* 332986 : Something wrong in caps checking...
* 334109 : pkg-config files must link with the same check library th...
* 334303 : Stale libgnomeui check in configure
* 334434 : Missing functions in def files for dlls
* 335195 : GST_BOILERPLATE_FULL etc isn' optimised
* 335480 : start with debugging disabled
* 335513 : totem goes (and stays) out of sync when running bittorrent
* 336336 : [queue] Queue might block in EOS
* 336945 : [filesink] throws error when writing 0 bytes
* 337103 : small cleanup in gstplugin.c
* 337386 : Pipeline bus is not initially flushing
* 338711 : Internal data flow error with latest updates for FC5 with...
* 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
* 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
API added since 0.10.4:
* gst_controller_unset_all()
* gst_pad_query_peer_position()
* gst_pad_query_peer_duration()
* gst_pad_query_peer_convert()
* GstBaseSink::async_play()
* GstBaseSrc::qos
* gst_base_sink_set_qos_enabled()
* gst_base_sink_is_qos_enabled()
* gst_base_transform_update_qos()
* gst_base_transform_set_qos_enabled()
* gst_base_transform_is_qos_enabled()
* gst_pipeline_get_delay()
* gst_pipeline_set_delay()
Changes since 0.10.3:
* Parallel installability with 0.8.x series
* Threadsafe design and API
* 33% of library size removed by parse change
* (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
Bugs fixed since 0.10.3:
* 323542 : GStreamer 0.10 hangs at EOS for all songs
* 320340 : triggering a gst_task_join from the streaming task can de...
* 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
* 324186 : Smarter (deterministic!) typefind decisions
* 324398 : varargs/valist functions aren't bindable
* 328873 : only one gst_bin_recalc_state allowed at a time
* 330899 : CVS directory in make dist tarball
* 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
* 330996 : basesrc emits EOS unconditionally when going to READY
* 331255 : Shrinking gst_parse_launch bloat
* 331898 : Basetranform is not reusable
* 332045 : API: GstPipeline needs API to disable flushing of its bu...
* 332277 : [filesrc] seek does not correct read position in non-mmap...
* 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
* 332723 : New API: gst_type_find_helper_for_buffer
* 333042 : New API: gst_type_find_helper_get_range
* 333266 : Registry file writing rewrite
* 333272 : tests should set G_SLICE=always-malloc now
* 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
* 333669 : Add pad accessor defines for GstBaseTransform
* 333779 : New API: add gst_uri_has_protocol
* 324818 : gst_registry_get_default doesn't sink newly created registry
* 330125 : _pad_send_event does not check flushing correctly
* 330684 : Add ability to emit sync-message without messing with the...
API added since 0.10.3:
* gst_pipeline_set_auto_flush_bus()
* gst_pipeline_get_auto_flush_bus()
* gst_uri_has_protocol()
* gst_pipeline_set_max_lateness()
* gst_pipeline_get_max_lateness()
* gst_pipeline_get_sync()
* gst_pipeline_do_sync()
* GST_BASE_TRANSFORM_SRC_PAD()
* GST_BASE_TRANSFORM_SINK_PAD()
* GstBaseSrc::check_get_range()
* GstBaseSink::max-lateness
* gst_type_find_helper_get_range()
* gst_type_find_helper_for_buffer()
* GST_MESSAGE_TYPE_NAME()
* GST_QUERY_TYPE_NAME()
* gst_bus_enable_sync_message_emission()
* gst_bus_disable_sync_message_emission()
Changes since 0.10.2:
* Documentation updates
* Bug fixes
* Base class improvements
* Extra utility API
* More elements ported from 0.8
* Fixes for win32 build.
Changes since 0.10.1:
* documentation updates
* bug fixes
Bugs fixed since 0.10.1:
* 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
* 316086 : MinGW compilation: fileindexer depends on mmap
Changes since 0.10.0:
* element factory leak fixes
* tests cleanup
* BaseSrc seeking in other format than BYTES
* collectpad fixes
Bugs fixed since 0.10.0:
* 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
* 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
* 323870 : [tools] gst-feedback needs updating for 0.9/0.10
* 323882 : gst-launch manpage needs updates
* 323905 : use return val of g_list_append
API added since 0.10.0:
* GST_TYPE_STATIC_CAPS
* GST_TYPE_STATIC_PAD_TEMPLATE
* GstNetTimeProvider::active
* gst_base_src_set_format
Changes from the 0.8 series to 0.10 series:
* Refcounting and API revised for thread safety, see rules in
docs/design/part-MT-refcounting.txt
* Scheduling is now done by the elements, they start/stop
processing threads themselves. This removes the need for
a separate scheduler.
* State changes now happen from sink to source. This makes sure
that downstream elements are ready to process data when upstream
starts producing.
* EOS/ERROR/... does not change the state of elements anymore. This
means that when the application sets the state on an element, it
remains in this state.
* GMainLoop integration. Information on the state of the pipeline
is now received in the mainloop via the GstBus.
* Events move separate from the datastream, this allows for both
in and out of sync delivery of events.
* Generic _pull() replaced by _pull_region() so that random access
can be made faster.
* data passing happens from PAUSED, called the preroll phase. In this
state no data is rendered but it is queued in the sinks.
* negotiation simplified. Caps are now attached to buffers and travel
along with the datastream.
* GstBuffer is now subclassable.
* Ghostpads now look and feel like real pads.
* New Seeking/flushing policy.
* Addition of base classes and helper functions in the core to abstract
away the harder parts of plugin development.
Changes since 0.9.7:
* added Traditional Chinese translation
Bugs fixed since 0.9.7:
* 322874 : [PAD] pad_alloc_buffer should not call set_caps
* 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
* 323250 : [collectpads] debug category should be called 'collectpad...
Changes since 0.9.6:
* bumped major/minor to 0.10
* API cleanup
* PluginFeature and TypeFind leak fixes
* cleaned up source tree
* added plugin documentation for core elements
* fixes for stripped core
Bugs fixed since 0.9.6:
* 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
* 321917 : quicktime with two video tracks and extra foo, makes tote...
* 322257 : Fix gstnet library name
* 322427 : gst-compprep aborts with 'double free or corruption'
* 322429 : Filesink seeking problem
* 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
* 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
* 322751 : gst_ghost_pad_get_target borks on pads without target
* 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
Changes since 0.9.5:
* API changes and clean-up
* Extensive documentation updates
* remove GLib 2.4 compatibility
* added clock selection
* added network clocking
* added fd:// URI handler
* added more fraction functionality
Bugs fixed since 0.9.5:
* 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
* 156633 : [API] don't use same API for arrays as for normal lists
* 164168 : circular pipeline fails to negotiate
* 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
* 168438 : [API] GstIndexFilter doesn't receive user_data
* 168494 : [API] gst_index_add_object() does nothing
* 305291 : Obnoxious bug-filing request
* 311489 : Possible gstghostpad locking problems
* 319178 : [API] finish filler events and support them in GstCollect...
* 319388 : 0.9 API changes tracker
* 319389 : state change updates obsolete some functions
* 319392 : GstEventType is not bindings-friendly
* 319395 : Macro name/visibility API bugs
* 319940 : Use GLIB macros for GCC extensions
* 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
* 320097 : GST_BUFFER_FLAG_ORIGINAL should die
* 320113 : [API] duration message changes
* 320299 : gst_pad_send_event should take stream lock for serialized...
* 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
* 320423 : [API] padding for GstCollectData
* 320766 : [API] collect pads API changes
* 321061 : GstURI not used
* 321235 : [API] GST_PAD_IS_USABLE should be removed
* 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
* 321452 : GstPad's " template " property is b0rked
* 321528 : capsfilter: assertion `caps != NULL' failed
* 321595 : GstBin doesn't clean the message queue when changing stat...
* 321638 : Don't use // style comments in headers
* 321648 : Wrong type check in gst_message_parse_clock_lost
* 321710 : GstClock resolution functions should take a GstClockTime
* 321712 : GstClock adjust function changes
* 321875 : gst_plugin_check_file disappeared
* 321950 : gst_registry_scan_paths lacks implementation
* 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
* 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
* 322034 : Elements should be updated not to take the stream lock in...
* 322069 : Names of GstTagSetter methods should be more descriptive
* 322134 : API master/slave clocks
* 322139 : our elements are confused about GEnumValue and which is t...
Changes since 0.9.4:
* gst_bus_poll and signal watch now see the same messages
* clock sync in BaseSrc class
* API documentation updates
* Bus reworked; signal API added
Bugs fixed since 0.9.4:
* 317341 : after linking ghost pads, one target pad does not have a ...
* 320774 : basesrc commit broke typefinding
Changes since 0.9.3:
* state lock redefined
* Extensive documentation updates
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.9.3:
* 111146 : new GstThread fails on pipeline with errors
* 169772 : [PATCH] GOption command-line parsing
* 170777 : use GST_TYPE_DATE for GST_TAG_DATE
* 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
* 315126 : filesrc + forced caps should be possible
* 315383 : gst-launch shouldn't run broken pipelines
* 317041 : GstObject flags should be made real flags
* 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
Changes since 0.9.2:
* gst-register has been removed
* Extensive documentation updates
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.9.2:
* 102980 : support incremental gst-register/compprep updates
* 313897 : [0.9] registry rewrite
* 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
* 315895 : gst_pad_query_convert src_val check
* 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
* 316157 : MinGW compilation: Plugin exports
This is GStreamer 0.9.2, "South".
Bugs fixed since 0.9.1:
* 121015 : [api] gst_clock_entry_new() seems broken
* 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
* 142209 : [build] Large file support broken
* 154785 : Clock does not run if audio stream lacks data for a short...
* 305256 : [API] Change gst_element_seek to not mix enum/flags types
* 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
* 311004 : ghostpad bugginess
* 311009 : valgrind shows undesired messages
* 311848 : Renegotiation broken
* 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...