42e1db02dc0d56096761d2fdf1c677997e5d143e
[glsdk/gstreamer0-10.git] / RELEASE
2 Release notes for GStreamer 0.10.30 "Safety First"
3         
6 The GStreamer team is proud to announce a new release
7 in the 0.10.x stable series of the
8 core of the GStreamer streaming media framework.
11 The 0.10.x series is a stable series targeted at end users.
12 It is not API or ABI compatible with the stable 0.8.x series.
13 It is, however, parallel installable with the 0.8.x series.
16 The 0.10.x series has been reworked for threadsafety.  It also features
17 various feature additions and enhancements.
20 This module, gstreamer, only contains core functionality.
21 For actual media playback, you will need other modules.
23 gst-plugins-base
24 contains a basic set of well-supported plug-ins
25 gst-plugins-good
26 contains a set of well-supported plug-ins under our preferred license
27 gst-plugins-ugly
28 contains a set of well-supported plug-ins, but might pose problems for
29     distributors
30 gst-plugins-bad
31 contains a set of less supported plug-ins that haven't passed the
32     rigorous quality testing we expect
36   
38 Features of this release
39     
40       * GLib requirement was bumped to 2.20, automake requirement to 1.10
41       * bin: unlock gst_element_get_state() on error, instead of hanging forever if no timeout is given
42       * clock: fix refcounting bug in gst_clock_set_master
43       * caps: make sure _normalize() is applied on all structures
44       * info: add new TRACE log level and move refcounting there from LOG level
45       * pad: don't check twice for changed caps per push
46       * pad: fix iterator aggregation of all pads in the internal links fallback
47       * tagsetter: protect tagsetter operations with a lock
48       * value: support short fourccs (esp. serialisation/deserialisation)
49       * adapter: fix _try_to_merge_up(); optimize progressive masked scans
50       * basesink: implement percentage position and duration queries
51       * basesink: fix segment query return value
52       * basetransform: add accept_caps vmethod
53       * basetransform: re-evaluate proxy_alloc when reconfigured
54       * basetransform: assume in_size equals out_size if there's no transform_size/get_unit_size vfunc
55       * fdsink, filesink: make sync property work correctly
56       * typefind: make sure buffers' metadata is writable before setting caps on them
57       * queue2: fix merging of ranges
58       * queue2: don't wait for data when EOS
59       * queue2: don't ignore failure to open the temporary file location
60       * tools: make gst-launch print things correctly to stderr/stdout and make --quiet work correctly
61       * introspection: add many more gobject-introspection annotations
62       * xml: serialisation/deserialisation to/from XML has been deprecated, since it's always been broken
63              for all but the most trivial pipelines, and will likely never be fixed
65 Bugs fixed in this release
66      
67       * 623586 : gst/tagsetter check fails
68       * 463435 : Skip #include < libxml/parser.h > in gstconfig.h.in when  not needed
69       * 505770 : gst_element_get_state() should unblock if element posts an error
70       * 615820 : implement percentage position and duration queries
71       * 615941 : [tags] Add GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL
72       * 616586 : Use GObject's boxed type for GError
73       * 617223 : [tags] Add tags for direction of capture and movement
74       * 617625 : Commandline utility wrappers (gst-run) don't work on Windows
75       * 618644 : gst_pad_get_caps() Return pad template if parent element is in GST_STATE_NULL
76       * 619508 : [tag] Add image orientation tag
77       * 619815 : GST_PLUGIN_LOADING_WHITELIST env var for unit tests
78       * 619828 : [API] adapter: add masked_scan_uint32_peek
79       * 620460 : info: add new TRACE log level and move refcounting there from LOG level
80       * 620490 : [basesink] segment query unconditionally returns FALSE
81       * 621006 : Deprecate unused gst_object_{get|set}_name_prefix()
82       * 621282 : Display of short fourccs is in hex instead of text
83       * 621332 : BaseTransform should disable proxy alloc if downstream changes caps
84       * 621334 : GstBaseTransform should not require a transform_size function
85       * 621505 : Disable memory poisoning by default for releases
86       * 621527 : gstcaps: New gst_caps_steal_structure() method
87       * 621530 : filesink ignores sync=true
88       * 621595 : --quiet doesnt make gst-launch be completely quiet, also messages should not go to stdout
89       * 621773 : Add introspection annotations
90       * 621867 : gst-launch: rename new --no-play command line option
91       * 621896 : [API][taglist] Add gst_tag_list_peek_string_index
92       * 622504 : [GstPad] Provide more fine-grained linking methods
93       * 622546 : distcheck fails in docs/plugins/
94       * 622685 : [GstXml] Deprecate GstXml
95       * 622967 : [queue2] Problems with progressive downloading
96       * 623301 : gst_caps_normalize : doesn't normalize completely
97       * 623589 : Fix races/refcounting bugs with slave clocks
98       * 624113 : [tags] wrong behaviour in merge function for strings
99       * 622025 : Can't build gstreamer due to Gst-0.10.gir: error: Can't resolve type 'PadIntLinkFunction' for field Gst.Pad.intlinkfunc
101 API changed in this release
102      
103 - API additions:
104     
105 * gst_caps_steal_structure()
106 * gst_clock_id_wait_async_full()
107 * gst_element_link_pads_full()
108 * GstPadLinkCheck
109 * gst_pad_link_check_get_type()
110 * gst_pad_link_full()
111 * gst_structure_fixate_field_string()
112 * GST_TAG_DEVICE_MANUFACTURER
113 * GST_TAG_DEVICE_MODEL
114 * GST_TAG_IMAGE_ORIENTATION
115 * GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
116 * GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
117 * GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
118 * gst_tag_list_peek_string_index()
119 * GST_TRACE
120 * GST_TRACE_OBJECT
121 * GST_CAT_TRACE
122 * GST_CAT_TRACE_OBJECT
123 * GST_LEVEL_TRACE
124 * gst_adapter_masked_scan_uint32_peek
125 * GstBaseSink::enable-last-buffer
126 * gst_base_sink_is_last_buffer_enabled()
127 * gst_base_sink_set_last_buffer_enabled()
128 * GstBaseTransform::accept_caps()
129 - API deprecations:
130     
131 * gst_object_get_name_prefix()
132 * gst_object_set_name_prefix()
133 * gst_caps_load_thyself()
134 * gst_caps_save_thyself()
135 * gst_class_signal_emit_by_name()
136 * gst_object_save_thyself()
137 * gst_object_restore_thyself()
138 * gst_pad_load_and_link()
139 * gst_xml_get_element()
140 * gst_xml_get_topelements()
141 * gst_xml_get_type()
142 * gst_xml_make_element()
143 * gst_xml_new()
144 * gst_xml_parse_doc()
145 * gst_xml_parse_file()
146 * gst_xml_parse_memory()
147 * gst_xml_write()
148 * gst_xml_write_file()
150 Download
152 You can find source releases of gstreamer in the download directory:
153 http://gstreamer.freedesktop.org/src/gstreamer/
155 GStreamer Homepage
157 More details can be found on the project's website:
158 http://gstreamer.freedesktop.org/
160 Support and Bugs
162 We use GNOME's bugzilla for bug reports and feature requests:
163 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
165 Developers
167 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
168 Interested developers of the core library, plug-ins, and applications should
169 subscribe to the gstreamer-devel list. If there is sufficient interest we
170 will create more lists as necessary.
172         
173 Applications
175 Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
176 Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
177 Let us know if you want to be added to this list.
179   
180 Contributors to this release
181     
182       * Alessandro Decina
183       * Alexander Saprykin
184       * Benjamin Gaignard
185       * Benjamin Otte
186       * David Schleef
187       * Eduardo Dobay
188       * Edward Hervey
189       * Johan Dahlin
190       * Mark Nauwelaerts
191       * Martin Bisson
192       * Olivier Crête
193       * Philippe Normand
194       * Sebastian Dröge
195       * Stefan Kost
196       * Thiago Santos
197       * Tim-Philipp Müller
198       * Tristan Matthews
199       * Wim Taymans
200       * Zaheer Abbas Merali
201       * Руслан Ижбулатов
202