-Release notes for GStreamer 0.10.33 "Prior Spaceflight Experience is an Advantage"
+Release notes for GStreamer 0.11.2 "A Shiny White Tooth"
The GStreamer team is proud to announce a new release
-in the 0.10.x stable series of the
+in the 0.11.x unstable series of the
core of the GStreamer streaming media framework.
-The 0.10.x series is a stable series targeted at end users.
-It is not API or ABI compatible with the stable 0.8.x series.
-It is, however, parallel installable with the 0.8.x series.
+The 0.11.x series is an unstable series targeted at developers and will
+eventually lead up to the stable 1.0 series.
+It is not API or ABI compatible with the stable 0.10.x series.
+It is, however, parallel installable with the 0.10.x series.
-The 0.10.x series has been reworked for threadsafety. It also features
-various feature additions and enhancements.
+The 0.11.x series has improved memory management and features
+various cleanups and enhancements.
This module, gstreamer, only contains core functionality.
Features of this release
- * 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
+ * Added pts/dts to buffers
+ * Moved controller into core
+ * Pad probe rewrite
+ * AcceptCaps and GetCaps made as queries
+ * Added parent to pad functions
+ * Sticky events rewrite
+ * New GstSample object
+ * Asynchronous state change support for basesrc
+ * Added new bitmask type
+ * GstMemory updates
+ * Port to gio
+ * Port to newest glib
+ * Add stepped ranges
+ * Do typefind in separate thread
+ * Rework alloc tracing
+ * Added STREAM_CONFIG, GAP and STREAM_START events
+ * Various cleanups and leak fixes
Bugs fixed in this release
- * 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_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()
+ * 664491 : compiler warnings on OS X 64bit
+ * 402562 : [gst_parse_launch] Requesting pads but not releasing them
+ * 383102 : [0.11] Rethink pad_blocking
+ * 610338 : [0.11] [controller] Triggers should be moved into their own control source
+ * 660300 : gst_memory_alignment undefined if HAVE_POSIX_MEMALIGN isn't defined
+ * 662207 : gst: Fix a lot of GLib deprecations and errors
+ * 664099 : 0.11 new to use new floating ref annotation
+ * 664880 : [0.11] GstBaseParse default caps query implementation broken
+ * 664927 : GST_STATIC_CAPS missing initializer
+ * 666096 : [0.11] encodebin bindings failing to accept None
+ * 666154 : [0.11] Python - query_caps fails to accept 'None'
+ * 666351 : [0.11] Get rid of GST_TYPE_DATE
+ * 666890 : [0.11] controller compiler warning: gsttriggercontrolsource.c:82: control reaches end of non-void function
Download
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.
+Various applications have early ports to GStreamer 0.11 including Totem, RhythmBox,
+Webkit, Jokosher, Transmageddon and others. We're working on porting more applications.
Contributors to this release
- * Alessandro Decina
* Andoni Morales Alastruey
- * Andreas Frisch
- * Arun Raghavan
- * Bastien Nocera
- * Cai Yuanqing
- * Chen Rui
- * Daniel Macks
+ * Antoine Tremblay
+ * Christian Fredrik Kalager Schaller
+ * Colin Walters
* David Schleef
* Edward Hervey
- * Fraxinas
* Havard Graff
* Idar Tollefsen
* Jan Schmidt
- * Janne Grunau
- * Jason D. Clinton
- * Jonas Holmberg
- * Jonathan Matthew
- * Josep Torra
- * Joshua M. Doe
- * Julien Moutte
- * Luis de Bethencourt
+ * Jason DeRose
+ * Johan Boulé
+ * Johan Dahlin
* Mark Nauwelaerts
- * Mart Raudsepp
- * Michael Smith
- * Miguel Angel Cabrera Moya
- * Ole André Vadla Ravnås
+ * Matej Knopp
+ * Nicolas Dufresne
* Olivier Crête
- * Peter Collingbourne
- * Philip Jägenstedt
+ * Peteris Krisjanis
+ * Philippe Normand
* René Stadler
+ * Reynaldo H. Verdejo Pinochet
* Robert Swain
* Sebastian Dröge
- * Sreerenj Balachandran
- * Stefan Kost
- * Stian Selnes
+ * Sjoerd Simons
+ * Stas Sergeev
+ * Stefan Sauer
* Thiago Santos
- * Thijs Vermeir
- * Thomas Kristensen
+ * Thomas Vander Stichele
* Tim-Philipp Müller
* Vincent Penquerc'h
* Wim Taymans
- * Yang Xichuan
- * Zaheer Abbas Merali
- * Zhang Wanming
-
\ No newline at end of file
+