-Release notes for GStreamer 0.10.36 "Harder"
-
-
+Release notes for GStreamer 1.5.1
-The GStreamer team is proud to announce a new release
-in the 0.10.x stable series of the
-core of the GStreamer streaming media framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.5 release series. The 1.5 release series is adding new features on top of
+the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.5 release series
+will lead to the stable 1.6 release series in the next weeks, and newly added
+API can still change until that point.
-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.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.5 release series.
-The 0.10.x series has been reworked for threadsafety. It also features
-various feature additions and enhancements.
This module, gstreamer, only contains core functionality.
For actual media playback, you will need other modules.
gst-plugins-base
-contains a basic set of well-supported plug-ins
+contains a basic set of well-supported plugins
gst-plugins-good
-contains a set of well-supported plug-ins under our preferred license
+contains a set of well-supported plugins under our preferred license
gst-plugins-ugly
-contains a set of well-supported plug-ins, but might pose problems for
+contains a set of well-supported plugins, but might pose problems for
distributors
gst-plugins-bad
-contains a set of less supported plug-ins that haven't passed the
- rigorous quality testing we expect
+contains a set of less supported plugins that haven't passed the
+ rigorous quality testing we expect, or are still missing documentation
+ and/or unit tests
+gst-libav
+contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
-Features of this release
-
- * bin: Don't interpret pipelines without sink elements as always being in EOS state
- * bin: Only post EOS messages after reaching the PLAYING state
- * buffer: add set/get_qdata() to attach arbitrary metadata to buffers
- * caps, structure, gstvalue: some optimisations and improvements
- * miniobject: add weak referencing functionality
- * gstobject: make gst_object_replace() atomic
- * pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps
- * pad: make public some ghostpad/proxypad API
- * preset: allow applications to specify an extra preset directory with application-specific presets
- * collectpads: add GstCollectPads2 API
- * basebarse: new detect vfunc so subclassed can do some format detection first
- * baseparse: new get_sink_caps vfunc so downstream caps restrictions can be propagated upstream
- * baseparse: answer position query in stream time and try upstream first
- * baseparse: send duration message when updating internal duration
- * baseparse: make baseparse-based elements is reusable
- * baseparse: provide latency query support
- * basesink: don't compensate for render-delay twice
- * basesink: try harder to arrange increasing position reporting
- * basesrc: allow for the size to change dynamically
- * basetransform: add query vfunc
- * basetransform: caps negotiation improvements
- * basetransform: delay serialized events when src caps are not set yet
- * filesrc: do not mistake short reads for EOS
- * filesrc/fdsrc: indicate dynamic size handling to basesrc
- * inputselector: add sync mode that syncs inactive pads to the running time of the active pad
- * queue2: add bufferlist support
- * queue2: adjust input data rate estimation
- * multiqueue: add mode to synchronize deactivated/not-linked streams by the running time
- * multiqueue: check filled state of queues even if another one is empty
- * outputselector: don't send last segment/buffer when no segment was configured yet
- * tools: teach gst-launch about missing-plugin messages
- * tools: make unversioned wrapper look for -0.10 tools only
-
Bugs fixed in this release
- * 647940 : [basesrc] - fails to send updated segment event when duration changes
- * 662777 : Caps negotiation got a lot slow since the last release
- * 647493 : Regression: gstbus: Not getting all messages posted on the bus
- * 415754 : [API] GstCollectPads2; muxing sparse/subtitle streams
- * 459466 : double memory usage for pluginfeature names
- * 546570 : gst_caps_append/merge should not require caps2 to be writable
- * 609473 : [miniobject] Add support for weak references
- * 619844 : [basetransform] transform_caps can ignore pass-through
- * 628021 : [baseaudiosink] position reporting not increasing
- * 629300 : gstructure: New API for comparing structures
- * 643269 : dot file flow direction
- * 645017 : [inputselector] Add mode to drop buffers only after the active sinkpad's running time is after the current buffer
- * 645107 : [multiqueue] Implement throttling based on stream's running time
- * 647756 : [bin] Posting EOS message although not reached PLAYING yet
- * 648025 : parse-launch: don't unescape inside quotes
- * 650002 : 'No space left on device' message logged continuously, filling /home slice
- * 650973 : check: add fail_unless_equals_int64
- * 652037 : basesrc: less persistent caching of size
- * 652577 : basesink: s/if/is/
- * 653137 : Warnings in Gstreamer (core) with Clang compiler
- * 653172 : Compilation fails when PR_SET_NAME is not defined in prctl.h
- * 655155 : Build failure for gstcontroller.c -- (-Wall) assignment discards qualifiers from pointer target type
- * 655204 : bad interaction between queue and adder
- * 655381 : GstBitReader and GstByteReader functions missing out argument annotations
- * 656193 : don't revalidate utf8 elementfactory metadata all the time
- * 656265 : Fix compiler warnings reported by ICC
- * 656557 : Add Farsight and Nice support to gst-uninstalled
- * 657316 : capsfilter is racy when changing the caps during initial pipeline startup
- * 657318 : basetranform dosn't allow query handlers to be overridden
- * 657421 : Fix compiler warnings reported by ICC
- * 658076 : setcaps function for ghost pads never called
- * 658449 : Fix typos in docs and code comments
- * 658517 : [ghostpad] Peer query does not work with empty GstPlaySinkVideoConvert
- * 658518 : basesink: Backport query override support
- * 658541 : [API change] caps negotiation failures
- * 658918 : [pad] set caps on pad before checking for peer
- * 659139 : gstpad: make some debug traces more useful
- * 659571 : basetransform: delay events we cannot send right away
- * 659606 : Remaining non-subset caps warnings
- * 660083 : Fix mingw compiler warnings
- * 660144 : [GstBaseParse] make start/stop methods optional
- * 660165 : basetransform: send delayed events earlier
- * 660760 : .prs presets needs to have a per-application option
- * 660778 : multiqueue: check filled state of queues even if another one is empty
- * 660955 : gst_type_register_static_full: guard against large instance sizes that don't fit into a guint16
- * 662091 : plugin loader: spawn new plugin loader helper after loading N plugins
- * 662199 : [capsfilter] behavior has changed
- * 662291 : basetransform: cache transformed caps where appropriate
- * 662664 : API: add gst_element_class_add_static_pad_template() and fix template pad ref leaks
- * 663333 : basetransfrom cache should be invalidated whenever there is any change in the peer caps
- * 663643 : gstvalue: consider lists and ranges equal if they hold the same set
- * 664221 : [baseparse] ::sink_get_caps() vfunc breaks API/ABI
- * 664720 : API: add gst_buffer_{set,get}_qdata()
- * 665921 : filesrc: Incorrect EOF detection in create_read
- * 666174 : [basetransform] causes segfaults because gst_pad_alloc_buffer_and_set_caps return a buffer with a size of 0
- * 667284 : registry: add missing #ifndef guard
- * 667286 : gstpoll: Include correct poll.h based on autoconf test
- * 667288 : plugins: Explicitly cast initialization values to the correct type.
- * 667290 : tools: Include locale.h before any i18n headers.
- * 667298 : basesink: don't compensate for render-delay twice
- * 667444 : baseparse: clear adapter in reset so no old data is read when re-using elements
- * 668289 : regression: playbin2: repeat mode only repeats twice in totem
- * 668764 : collectpads2: move private stuff into private struct
- * 669036 : Missing include in gstpreset.h causes build error
- * 669502 : [baseparse] duration msg spam when upstream knows avg bitrate
+ * 736655 : basesink: preroll issue for some clips which audio is shorter than video
+ * 601853 : identity: sync=true ignores pipeline latency and does not present itself as live element
+ * 688625 : gst-launch: incorrect parsing behaviour with spaces and quotes
+ * 707605 : streamiddemux: New " reverse-funnel " element
+ * 725221 : Add GstUri object for URI handling
+ * 727826 : check: update internal libcheck copy from 0.9.8 to 0.9.12
+ * 730053 : baseparse: allow skipping more data than currently available
+ * 731176 : filesrc: fails when using fifos
+ * 732284 : bufferlist: optimisation: pre-allocate buffer array in one go with the buffer list
+ * 733119 : utils: Unref/release pads in error cases when linking pads
+ * 733131 : gstvalue: failure to deserialize gsttaglist
+ * 733171 : baseparse: handling of EOS when no output produced
+ * 733351 : queue2: Process SEEKING query
+ * 733741 : docs: document caps parameter of gst_base_src_set_caps
+ * 733814 : gst-launch: On W32 gst-launch does not finish correctly after getting SIGINT
+ * 734342 : pad: allow probes to remove the data item whilst returning PROBE_OK
+ * 734345 : tests: Add missing unrefs of objects after use
+ * 734360 : [API] bytereader: add _get_sub_reader() and _peek_sub_reader()
+ * 734470 : concat: New element for concatenating streams
+ * 734716 : bus: signal watched added in a new thread-default context can't be removed
+ * 735195 : bus: Missing API to remove a bus watch
+ * 735357 : pad: should not allow flush-stop on inactive pads
+ * 735896 : typefind: Run the default have-type handler after all application handlers
+ * 736012 : dashdemux hlsdemux mssdemux: playback failing due to pad EOS state
+ * 736377 : inspect: Says there custom functions where there arent
+ * 736455 : valve: typo in drop property description
+ * 736477 : check: Add a function to check destruction of objects
+ * 736877 : gsturi: Remove unnecessary code
+ * 736891 : input-selector: Can't unblock after emitting a " block " signal
+ * 737584 : configure.ac: require GLib 2.34
+ * 737616 : timedvaluecontrolsource: Add some signals about values changes
+ * 737762 : baseparse: leaks caps in gst_base_parse_process_streamheader
+ * 738202 : funnel: Does not forward sticky events if no data was received
+ * 738612 : several typos in Plugin Writer's Guide
+ * 739002 : capsfilter: Add an optional delayed caps change mode
+ * 739165 : debugutils: Truncate parameter values that are too long
+ * 739514 : doc: Do not use deprecated gtk-doc 'Rename to' tag
+ * 739518 : gst-inspect: add G_PARAM_DEPRECATED to known flags
+ * 739580 : basesink: Answer the query position when receiving it from upstream
+ * 739620 : input-selector: _activate_sinkpad conflates two different functions
+ * 739662 : gstobject: Add gst_object_has_parent()
+ * 739765 : caps: Add gst_caps_foreach() and gst_caps_map_in_place()
+ * 739767 : gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
+ * 740003 : pad: fail drop queries
+ * 740949 : inputselector: sticky events haven't send out when active track reach EOS.
+ * 741359 : check.h distributed unnecessarily
+ * 741425 : debugutils: Add a gst_debug_bin_to_dot_data() method
+ * 741550 : Incorrect check version advertised
+ * 741893 : inputselector: Get the active sinkpad again after taking the lock when handling events
+ * 742057 : Add missing interface documentation
+ * 742877 : Incorrect version comparison in preset_get_keyfile ()
+ * 743195 : uri: Add parsing unit test based on GNet
+ * 743335 : Fix documentation of GST_CHECKS and GST_CHECKS_IGNORE
+ * 743795 : gtask: add thread name support on OS X and iOS
+ * 744034 : fdsrc: MinGW Compilation error: unknown conversion type character 'l' in format
+ * 744253 : multiqueue: Memory leak with DASH stream
+ * 744281 : printf: Add support for %I32
+ * 744442 : Clash between gst_element_get_clock() and gst_pipeline_get_clock()
+ * 744520 : gstutils: check uri before using it in gst_pad_create_stream_id_internal
+ * 744572 : flowcombiner regressions
+ * 744777 : check: cast element in ASSERT_SET_STATE.
+ * 744877 : tools: bash completion for gst-inspect and gst-launch
+ * 745042 : utils: Add gst_bin_sync_children_states()
+ * 745122 : gst-uninstalled: add adaptivedemux paths from -bad
+ * 745143 : baseparse: Don't emit errors on EOS if we saw GAP events
+ * 745144 : gstvalue: Make sure GST_FOURCC_ARGS produces printable characters
+ * 745197 : pad: Don't fail latency query on unlinked pads
+ * 745210 : win32: Unnecessary LibXml include directive
+ * 745213 : Shorten __FILE__ in gst_debug_log output on all platforms.
+ * 745287 : basesink: drain query doesn't fully work to release v4l2 buffers
+ * 745319 : queue: can lock up the pipeline on serialized queries when downstream returns errors
+ * 745377 : v4l2src: Camera restarts when used with decodebin
+ * 745858 : check: tempnam deprecated warning
+ * 745927 : baseparse: does not preserve discont flag
+ * 746096 : printf: handle unsigned modifier for long long
+ * 746373 : New fundamental type for caps - GstFlagSet
+ * 746430 : tests: clock: Wrong testclock's name for test clock example.
+ * 746436 : tee: Add property that allows having all source pads unlinked
+ * 746518 : input-selector: eos is always forwarded, even from unselected pads
+ * 746585 : pluginloader: Fix typos
+ * 746809 : debugutils: Plot GstCapsFeatures in dot files.
+ * 746871 : bus: Segmentation fault in function gst_bus_set_flushing() when called with bus==NULL
+ * 747095 : Disable g-ir-scanner cache on build
+ * 747100 : tests: filesink: add test for GstFileSink render_list implemention
+ * 747119 : gstpad: Fix a typo in a doc string
+ * 747223 : test: filesink: add test to verify rendering buffers with multiple memory blocks
+ * 747392 : memory: add check for memory writability in resize()
+ * 747438 : doc: bufferlist: Update document for return value of gst_buffer_list_get
+ * 747439 : bufferlist: add check for writable object in insert or remove
+ * 747610 : Inconsistent bin children state when a child fails to switch from NULL to READY
+ * 747611 : inputselector: fix leak in gst_selector_pad_chain()
+ * 747690 : gstvalue: failure to deserialize bitmask
+ * 747731 : basesrc: Always setting segment.start as DTS on first buffer
+ * 747775 : typefind: leak in gst_type_find_element_src_event
+ * 747852 : pad: idle probe doesn't block pad from pushing data
+ * 748101 : tests: input selector unit test often fails under valgrind
+ * 748119 : GstMetaTransformFunction returns gboolean but its retval is discarded
+ * 748277 : test: memory: add test for allocation params
+ * 748345 : basesrc: Remove unused assignment
+ * 748414 : Invalid read when printing debug output containing '%%'
+ * 748739 : gstevent: remove duplicated header
+ * 749233 : fdsrc: docs: fix and update documentation
+ * 749258 : basesink: fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs
+ * 749391 : PTP network clock support
+ * 749904 : Remove docs/code-reviews
+ * 750172 : miniobject double WRITE | EXCLUSIVE lock succeeds despite part-miniobject.txt forbidding it
+ * 750319 : memory: subclasses don't know map flags in unmap
+ * 750351 : gst-indent: Added support for gindent as executable name
+ * 750439 : playbin using fdsrc source hangs for with empty input
+ * 738237 : baseparse: parser is never marked as FLAG_LOST_SYNC on discont
+ * 747321 : basesrc: do not leak buffer pool in error case
+ * 737683 : fakesrc: the " pattern " property can be gotten but it is never set or used
-API changed in this release
-
-- API additions:
-
- * gst_base_parse_set_latency()
- * GstBaseParse::detect
- * GstBaseParse::get_sink_caps
- * gst_base_src_set_dynamic_size()
- * GstBaseTransform::query
- * gst_collect_pads2_add_pad()
- * gst_collect_pads2_add_pad_full()
- * gst_collect_pads2_available()
- * gst_collect_pads2()_collect
- * gst_collect_pads2_collect_range()
- * gst_collect_pads2_flush()
- * gst_collect_pads2_get_type()
- * gst_collect_pads2_is_active()
- * gst_collect_pads2_new()
- * gst_collect_pads2_peek()
- * gst_collect_pads2_pop()
- * gst_collect_pads2_read()
- * gst_collect_pads2_read_buffer()
- * gst_collect_pads2_remove_pad()
- * gst_collect_pads2_set_buffer_function()
- * gst_collect_pads2_set_clip_function()
- * gst_collect_pads2_set_compare_function()
- * gst_collect_pads2_set_event_function()
- * gst_collect_pads2_set_flushing()
- * gst_collect_pads2_set_function()
- * gst_collect_pads2_set_waiting()
- * gst_collect_pads2_start()
- * gst_collect_pads2_stop()
- * gst_collect_pads2_take_buffer()
- * gst_buffer_get_qdata()
- * gst_buffer_set_qdata()
- * gst_caps_is_strictly_equal()
- * gst_caps_is_subset_structure
- * gst_element_class_add_static_pad_template()
- * GstElement::state_changed
- * gst_ghost_pad_activate_pull_default()
- * gst_ghost_pad_activate_push_default()
- * gst_ghost_pad_internal_activate_pull_default()
- * gst_ghost_pad_internal_activate_push_default()
- * gst_ghost_pad_link_default()
- * gst_ghost_pad_setcaps_default()
- * gst_ghost_pad_unlink_default()
- * gst_mini_object_weak_ref()
- * gst_mini_object_weak_unref()
- * gst_preset_get_app_dir()
- * gst_preset_set_app_dir()
- * gst_proxy_pad_acceptcaps_default()
- * gst_proxy_pad_bufferalloc_default()
- * gst_proxy_pad_chain_default()
- * gst_proxy_pad_chain_list_default()
- * gst_proxy_pad_checkgetrange_default()
- * gst_proxy_pad_event_default()
- * gst_proxy_pad_fixatecaps_default()
- * gst_proxy_pad_get_internal()
- * gst_proxy_pad_getcaps_default()
- * gst_proxy_pad_getrange_default()
- * gst_proxy_pad_iterate_internal_links_default()
- * gst_proxy_pad_query_default()
- * gst_proxy_pad_query_type_default()
- * gst_proxy_pad_setcaps_default()
- * gst_proxy_pad_unlink_default()
- * gst_structure_can_intersect()
- * gst_structure_intersect()
- * gst_structure_is_equal()
- * gst_structure_is_subset()
- * gst_tag_list_is_equal()
- * gst_tag_list_new_from_string()
- * gst_tag_list_to_string()
- * fail_unless_equals_int64()
-- API deprecations:
-
- * gst_plugin_feature_type_name_filter()
- * GstTypeNameData
- * gst_filter_run()
- * GstFilterFunc
+==== Download ====
-Download
+You can find source releases of gstreamer in the download
+directory: http://gstreamer.freedesktop.org/src/gstreamer/
-You can find source releases of gstreamer in the download directory:
-http://gstreamer.freedesktop.org/src/gstreamer/
+The git repository and details how to clone it can be found at
+http://cgit.freedesktop.org/gstreamer/gstreamer/
-GStreamer Homepage
+==== Homepage ====
-More details can be found on the project's website:
-http://gstreamer.freedesktop.org/
+The project's website is http://gstreamer.freedesktop.org/
-Support and Bugs
+==== Support and Bugs ====
We use GNOME's bugzilla for bug reports and feature requests:
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
-Developers
+Please submit patches via bugzilla as well.
-GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
-Interested developers of the core library, plug-ins, and applications should
-subscribe to the gstreamer-devel list. If there is sufficient interest we
-will create more lists as necessary.
+For help and support, please subscribe to and send questions to the
+gstreamer-devel mailing list (see below for details).
-
-Applications
+There is also a #gstreamer IRC channel on the Freenode IRC network.
-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.
+==== Developers ====
-
+GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned
+from there (see link above).
+
+Interested developers of the core library, plugins, and applications should
+subscribe to the gstreamer-devel list.
+
+
Contributors to this release
- * Antoine Tremblay
- * David Schleef
+ * Aleix Conchillo Flaqué
+ * Alex Ashley
+ * Andrei Sarakeev
+ * Arnaud Vrac
+ * Arun Raghavan
+ * Aurélien Zanelli
+ * Changbok Chea
+ * David Waring
+ * Duncan Palmer
* Edward Hervey
- * Emmanuel Pacaud
- * Evan Nemerson
- * Fabrizio (Misto) Milo
+ * Felix Schwarz
+ * Frédéric Wang
* Guillaume Desmottes
- * Havard Graff
- * Idar Tollefsen
+ * Haakon Sporsheim
+ * Heinrich Fink
+ * HoonHee Lee
+ * Hyunjun Ko
+ * Ilya Konstantinov
+ * Jan Alexander Steffens (heftig)
* Jan Schmidt
- * Josep Torra
- * João Paulo Pizani Flor
+ * Jan Steffens
+ * Jason Litzinger
+ * Jian
+ * Jimmy Ohn
+ * Jonas Holmberg
+ * Jose Antonio Santos Cadenas
+ * Linus Svensson
+ * Lubosz Sarnecki
+ * Luis de Bethencourt
+ * Marcin Kolny
* Mark Nauwelaerts
+ * Matej Knopp
+ * Mathieu Duponchelle
+ * Matthew Waters
+ * Matthieu Bouron
+ * Michael Catanzaro
+ * Michał Dębski
+ * Mohammed Sameer
* Nicolas Dufresne
- * Peteris Krisjanis
- * Philip Jägenstedt
- * Piotr Fusik
- * Raimo Järvi
- * Raluca Elena Podiuc
- * René Stadler
+ * Nicolas Huet
+ * Nirbheek Chauhan
+ * Ognyan Tonchev
+ * Olivier Crête
+ * Peter Urbanec
+ * Philippe Normand
+ * Phillip Wood
+ * Prashant Gotarne
+ * Ramiro Polla
+ * Ravi Kiran K N
* Reynaldo H. Verdejo Pinochet
- * Robert Swain
+ * Rémi Lefèvre
* Sebastian Dröge
- * Shaun Hoopes
- * Sjoerd Simons
- * Stas Sergeev
- * Stefan Kost
+ * Sebastian Rasmussen
+ * Song Bing
+ * Srimanta Panda
* Stefan Sauer
+ * Suhwang Kim
* Thiago Santos
+ * Thibault Saunier
+ * Tiago
+ * Tiago Cesar Katcipis
* Tim-Philipp Müller
* Vincent Penquerc'h
+ * Vivia Nikolaidou
+ * Víctor Manuel Jáquez Leal
+ * William Manley
* Wim Taymans
+ * Wonchul Lee
+ * eunhae choi
+ * hoonhee.lee
+ * Руслан Ижбулатов
\ No newline at end of file