summaryrefslogtreecommitdiff
path: root/RELEASE
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2011-05-10 08:55:10 +0100
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2011-05-10 11:39:26 +0100
commitb6fe77c450df54605648a94f90fc3d329f6d5bca (patch)
treed66557848bdeca884398083aa767f6f63da94e78 /RELEASE
parentdccde2652fa50996877950f81ec70ea541010bdc (diff)
Release 0.10.33
Highlights: - new parser base class: GstBaseParse - new core element: funnel - OSX multi-arch fixes - new QoS type for QoS events - new progress message API to notify applications of asynchronous operations - countless other fixes and improvements
Diffstat (limited to 'RELEASE')
-rw-r--r--RELEASE255
1 files changed, 192 insertions, 63 deletions
diff --git a/RELEASE b/RELEASE
index 3cfb820dd..41ca358f4 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
-Release notes for GStreamer 0.10.32 "Take Me to the Bonus Level"
+Release notes for GStreamer 0.10.33 "Prior Spaceflight Experience is an Advantage"
@@ -9,6 +9,12 @@ core of the GStreamer streaming media framework.
The 0.10.x series is a stable series targeted at end users.
+It is not API or ABI compatible with the stable 0.8.x series.
+It is, however, parallel installable with the 0.8.x series.
+
+
+The 0.10.x series has been reworked for threadsafety. It also features
+various feature additions and enhancements.
This module, gstreamer, only contains core functionality.
@@ -31,64 +37,160 @@ contains a set of less supported plug-ins that haven't passed the
Features of this release
- * 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 (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
+ * atomicqueue: add an atomic/lock-free queue structure based
+ * bufferlist: improve _add*() performance
+ * bus: in _add_watch() honour any per-thread default main context set via g_main_thread_push_thread_default()
+ * caps: new gst_caps_intersect_full() to intersect in different modes
+ * clock: add functions to re-init existing periodic GstClockIDs
+ * event: add QoS type (overflow, underflow, throttle) for QoS events
+ * ghostpad: The internally linked pad of the proxypad is the ghostpad
+ * gstpoll: retry reading the control socket to release properly all wakeups
+ * message: new progress message API for asynchronous operations
+ * pad: unlock before freeing the pad cache to avoid deadlock
+ * pad: better handling for when parent goes away during data/query/event flow
+ * parse-launch: allow element names to begin with digits
+ * pluginloader: call gst-plugin-scanner with the right arch on OSX, fixing hangs with firefox
+ * registry: fixes elements (features) disappearing if a plugin or plugin file is renamed
+ * structure: Add "(date)" as a type abbreviation of GDate
+ * structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists
+ * taglist: add a new "encoded-by" tag
+ * uri: add gst_filename_to_uri() that takes relative filenames
+ * utils: add gst_element_factory_can_{src|sink}_{any|all}_caps() to replace can_{sink,src}_caps()
+ * baseparse: new GstBaseParse class for parsers
+ * basesink: improve rate, duration, and average duration calculation
+ * basesink: use new QoS types and add add "throttle-time" property
+ * basesrc: Handle tag and custom downstream events the same
+ * basesrc: keep downstream caps order when fixating, to honour downstream preferences when negotiating
+ * basesrc: Return FALSE if we don't handle an event
+ * basesrc: Send synchronized custom downstream/both events downstream from the streaming thread
+ * basetransform: Be smarter with pad allocs
+ * basetransform: Check for pad alloc caps when suggestion is not fixed
+ * basetransform: Retain caps order when getting caps, to honour downstream preferences when negotiating
+ * funnel: new N-to-1 pipe fitting element imported from farsight
+ * fakesink: print buffer flags
+ * filesink: Fix escaping of URIs
+ * file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
+ * filesrc, filesink: fix URI creation regression for non-absolute locations
+ * filesrc: Fix escaping of file uris
+ * inputselector: Hold the selector lock while reading properties of the active pad
+ * inputselector: Make sure that EOS is always sent downstream for the active pad
+ * inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
+ * inputselector: Stop waiting for a pad switch when the pad is flushing
+ * multiqueue: fix some potential corner-case deadlocks and some leaks
+ * multiqueue: handle arbitrary sink + source pad naming
+ * queue2: don't read beyond the end of file upstream in pull mode; leak fixes
+ * plugins: make query and event functions more thread-safe, protect against parent-pad disappearing
+ * gst-launch: add GstIndex support
Bugs fixed in this release
- * 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
+ * 642356 : [Index] review api and add an example
+ * 402141 : gst_element_factory_can_{sink,src}_caps seems to be broken
+ * 518857 : [API] GstBaseParse: new base class for parsers
+ * 604094 : registry: do not remove features when removing a cached plugin that no longer is present
+ * 615357 : [macosx] Handle multi-arch plugin-scanner
+ * 617045 : [caps] New method for intersecting caps while retaining order
+ * 639674 : parse-launch: improve parsing resilience (for escapes at end of string)
+ * 639962 : design docs: Fix a few typos and a think
+ * 640071 : pluginloader: do not leak the description string of blacklisted plugin
+ * 640437 : design docs: fix 2 typos in part-MT-refcounting
+ * 640502 : fix a few typos
+ * 640622 : gst_element_link_pads_full function return wrong error information
+ * 640675 : high cpu-load with 0.10.32 release
+ * 640850 : GstElement: Fix warning with GCC 4.6
+ * 641212 : gst-uninstalled: use $GST_PREFIX variable
+ * 641928 : gst_pad_push fast path races with pad deactivation
+ * 642071 : Incorrect comparing of number of source and sink links when parsing a launch string
+ * 642130 : [basetransform] Check for pad alloc caps when suggestion is not fixed
+ * 642271 : crash in gst_caps_structure_intersect, encoder_match_media_type
+ * 642373 : [basetransform] Avoid too may pad allocs
+ * 642393 : [filesrc] Fails setting the same uri it's setting in the uri queries.
+ * 642504 : [mingw/cygwin build] correctly export plugin description
+ * 642522 : gstvalue.c does not include a deserialize function for uchar
+ * 642869 : gst_index_new: documentation typo
+ * 643301 : Adding a buffer to a buffer list iterates the list
+ * 643455 : [regression] Lots of dropouts in Empathy voip calls
+ * 644935 : [inputselector] During switching of streams it can happen that all pads returned not-linked last
+ * 645022 : GstTask: typo in GST_TASK_BROADCAST - g_cond_breadcast should probably be g_cond_broadcast
+ * 645267 : build: fix build with -Werror with GCC 4.6.0
+ * 645595 : bytereader, bytewriter: fix warnings when using inline functions with g++
+ * 645746 : [gstpoll] Regression causes 100% cpu usage in multifdsink
+ * 645877 : commit 14d7db1 causes cpu spinning and other bus weirdness
+ * 645931 : [gstmultiqueue] fix arbitrary sink + source pad naming
+ * 646118 : [gstmultiqueue] if arbitrary sink number is specified by caller, use this as single queue id
+ * 646341 : [baseparse] Add a queued flow return so parsers can keep frames in a queue
+ * 646531 : GST_BOILERPLATE: don't use " type " as both a variable name and a macro argument
+ * 646566 : Protect against Pad-Parent disappearing
+ * 646569 : poll: don't call WSAWaitForMultipleEvents with no events
+ * 646624 : GstBin: regression: creating too many bins fails, exhausting allowed file descriptor limit
+ * 646811 : baseparse: deadlock in gst_base_parse_set_index
+ * 646971 : iterator: resync to avoid infinite loop
+ * 647005 : GstBus: Only create the socketpair for async message delivery if required
+ * 647131 : recent multiqueue changes break DVD playback (again)
+ * 647293 : Fix pad callbacks so they handle when parent goes away
+ * 647763 : [bus] Bus is leaked if a watch is installed in the default main context
+ * 647844 : baseparse: Remove unused but set variable
+ * 647922 : [introspection] Needs to call gst_init() before anything else
+ * 648199 : pad: potential deadlock / crash when freeing cache
+ * 648215 : basetransform: unref in wrong place
+ * 648220 : Regression: videoscale fails to negotiate for PAR transformation
+ * 648297 : [bus] regression: critical assertion failure
+ * 649195 : [miniobject] Fix dup_mini_object function to handle NULL gvalues
+ * 635718 : [basesrc] custom, non-OOB events aren't pushed downstream
+ * 625396 : gst_debug_remove_log_function doesn't remove default log handler
+ * 640771 : amarok doesn't start with new phonon gstreamer
+ * 646972 : queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read
+ * 640665 : basesink: drops too many buffers when there's no duration
API changed in this release
- API additions:
- * 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
+ * gst_atomic_queue_length()
+ * gst_atomic_queue_new()
+ * gst_atomic_queue_peek()
+ * gst_atomic_queue_pop()
+ * gst_atomic_queue_push()
+ * gst_atomic_queue_ref()
+ * gst_atomic_queue_unref()
+ * gst_buffer_list_iterator_get_type()
+ * gst_caps_intersect_full()
+ * gst_caps_intersect_mode_get_type()
+ * gst_clock_periodic_id_reinit()
+ * gst_element_factory_can_sink_all_caps()
+ * gst_element_factory_can_sink_any_caps()
+ * gst_element_factory_can_src_all_caps()
+ * gst_element_factory_can_src_any_caps()
+ * gst_event_new_qos_full()
+ * gst_event_parse_qos_full()
+ * gst_filename_to_uri()
+ * gst_message_new_progress()
+ * gst_message_parse_progress()
+ * gst_parse_context_get_type()
+ * gst_progress_type_get_type()
+ * gst_qos_type_get_type()
+ * GST_TAG_ENCODED_BY
+ * gst_base_parse_add_index_entry()
+ * gst_base_parse_convert_default()
+ * gst_base_parse_frame_free()
+ * gst_base_parse_frame_get_type()
+ * gst_base_parse_frame_init()
+ * gst_base_parse_frame_new()
+ * gst_base_parse_get_type()
+ * gst_base_parse_push_frame()
+ * gst_base_parse_set_average_bitrate()
+ * gst_base_parse_set_duration()
+ * gst_base_parse_set_frame_rate()
+ * gst_base_parse_set_has_timing_info()
+ * gst_base_parse_set_min_frame_size()
+ * gst_base_parse_set_passthrough()
+ * gst_base_parse_set_syncable()
+ * gst_base_sink_get_throttle_time()
+ * gst_base_sink_set_throttle_time()
+- API deprecations:
+
+ * gst_element_factory_can_src_caps()
+ * gst_element_factory_can_sink_caps()
Download
@@ -113,31 +215,58 @@ subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.
+Applications
+
+Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
+Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
+Let us know if you want to be added to this list.
+
+
Contributors to this release
+ * Alessandro Decina
* Andoni Morales Alastruey
- * Benjamin Gaignard
- * Benjamin Otte
- * David Hoyt
+ * Andreas Frisch
+ * Arun Raghavan
+ * Bastien Nocera
+ * Cai Yuanqing
+ * Chen Rui
+ * Daniel Macks
* David Schleef
* Edward Hervey
+ * Fraxinas
* Havard Graff
+ * Idar Tollefsen
* Jan Schmidt
- * Kipp Cannon
- * Koop Mast
- * Lasse Laukkanen
+ * Janne Grunau
+ * Jason D. Clinton
+ * Jonas Holmberg
+ * Jonathan Matthew
+ * Josep Torra
+ * Joshua M. Doe
+ * Julien Moutte
+ * Luis de Bethencourt
* Mark Nauwelaerts
+ * Mart Raudsepp
* Michael Smith
- * Olivier Crete
+ * Miguel Angel Cabrera Moya
+ * Ole André Vadla Ravnås
* Olivier Crête
- * Raimo Järvi
+ * Peter Collingbourne
+ * Philip Jägenstedt
+ * René Stadler
+ * Robert Swain
* Sebastian Dröge
+ * Sreerenj Balachandran
* Stefan Kost
+ * Stian Selnes
* Thiago Santos
+ * Thijs Vermeir
+ * Thomas Kristensen
* Tim-Philipp Müller
- * Tommi Myöhänen
+ * Vincent Penquerc'h
* Wim Taymans
+ * Yang Xichuan
+ * Zaheer Abbas Merali
* Zhang Wanming
- * Christian Schaller
- * Sjoerd Simons
+  \ No newline at end of file