docs/gst/gstreamer-sections.txt: Doc updates.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-10-10  Andy Wingo  <wingo@pobox.com>
2
3         * docs/gst/gstreamer-sections.txt: Doc updates.
4
5         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6         gst_element_change_state, variable name changes.
7         (gst_element_change_state): Split out of gst_element_set_state in
8         preparation for the state change merge. Doesn't pay attention to
9         the 'transition' argument.
10         (gst_element_set_state): Updates, hopefully purely cosmetic.
11         (gst_element_sync_state_with_parent): MT-safety. Ported from the
12         state change patch.
13         (gst_element_get_state_func): Renamed from get_state, cosmetic
14         changes.
15
16 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         * gst/elements/gstelements.c:
19         * win32/GStreamer.vcproj:
20         * win32/config.h:
21         * win32/dirent.c: (_tseekdir):
22         * win32/gst-inspect.vcproj:
23         * win32/gst-launch.vcproj:
24         * win32/gstconfig.h:
25         * win32/gstelements.vcproj:
26         * win32/gstenumtypes.c: (gst_object_flags_get_type):
27         * win32/gstreamer.def:
28         * win32/msvc71.sln:
29           updates for the win32 build (patch from Sebastien Moutte)
30
31 2005-10-10  Andy Wingo  <wingo@pobox.com>
32
33         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
34         gst_bin_get_state, cleaned up (but no logic changes).
35         (bin_element_is_sink): Comment updates.
36         (sink_iterator_filter): Remove needless cast.
37         (gst_bin_iterate_sinks): Doc update.
38         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
39         cleaned up (but no logic changes).
40
41         * check/states/sinks.c (test_src_sink): Cleanups from the state
42         change patch.
43         (test_livesrc_sink): Sync on the state.
44
45         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
46         the state change patch.
47
48         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
49         change patch.
50
51         * check/gst/gstbin.c: Merge in some style fixes and additional
52         checks from Wim's state change patch.
53
54 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
55
56         * gst/base/gsttypefindhelper.c: (helper_find_peek),
57         (gst_type_find_helper):
58           Check whether we have the requested data already in our list of
59           cached buffers before pulling a new buffer; also make the buffer
60           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
61
62 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
63
64         * gst/gstcaps.c:
65         * gst/gstevent.c:
66           doc updates
67         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
68           don't use long long, it's not portable.  Replacing with
69           gint64 seems to work; let's hope no skeletons fall out of the closet.
70
71 2005-10-10  Andy Wingo  <wingo@pobox.com>
72
73         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
74
75 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
76
77         * docs/gst/gstreamer-sections.txt:
78         * gst/gstevent.c:
79         * gst/gstevent.h:
80         * gst/gstinfo.c:
81         * gst/gstinfo.h:
82         * gst/gstmessage.c: (gst_message_parse_state_changed):
83         * gst/gstpad.c:
84         * gst/gstpad.h:
85           more docs, fix compilation
86
87 2005-10-09  Philippe Khalaf <burger@speedy.org>
88         * gst/gstmessage.c:
89         Fixed a few forgotten variables on previous commit
90
91 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
92
93         * gst/base/gsttypefindhelper.c: (helper_find_peek):
94           Fix evil typefind crasher: getrange() might return a short
95           buffer at the end of a file, but gst_type_find_peek() must
96           either return the full data as requested or NULL, but
97           never a short buffer.
98
99 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
100
101         * gst/gstmessage.c: (gst_message_new_state_changed),
102         (gst_message_parse_state_changed):
103         * gst/gstmessage.h:
104           don't use "new", it's a C++ keyword
105
106 2005-10-08  Wim Taymans  <wim@fluendo.com>
107
108         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
109         * gst/gstelement.c: (gst_element_post_message):
110         * gst/gstpipeline.c: (gst_pipeline_change_state):
111         Small docs and debug updates.
112
113 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
114
115         * docs/gst/gstreamer-sections.txt:
116         * gst/gstelementfactory.c:
117         * gst/gstevent.c:
118         * gst/gsttaglist.c:
119           more docs
120
121 2005-10-08  Wim Taymans  <wim@fluendo.com>
122
123         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
124         (gst_bin_dispose), (bin_bus_handler):
125         Fix typos, add comments.
126         Clear EOS list when going to PAUSED from any direction and do it
127         in a threadsafe way.
128         Get base time in a threadsafe way too.
129         Fix confusing debug in the change_state function.
130         Various other small cleanups.
131         
132         * gst/gstelement.c: (gst_element_post_message):
133         Fix very verbose bus posting code.
134
135         * gst/gstpipeline.c: (gst_pipeline_class_init),
136         (gst_pipeline_set_property), (gst_pipeline_get_property),
137         (gst_pipeline_change_state):
138         Small ARG_ -> PROP_ cleanup
139
140 2005-10-08  Wim Taymans  <wim@fluendo.com>
141
142         * gst/gstbin.c: (is_eos), (bin_bus_handler):
143         Do a less CPU demanding EOS check because we can.
144
145 2005-10-08  Wim Taymans  <wim@fluendo.com>
146
147         * libs/gst/dataprotocol/dataprotocol.c:
148         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
149         (gst_dp_packet_from_event):
150         * libs/gst/dataprotocol/dataprotocol.h:
151         * libs/gst/dataprotocol/dp-private.h:
152         It's about time we bump the version number.
153         Since event types don't fit in the guint8 anymore describing
154         the payload type, make payload type 16 bits wide.
155
156 2005-10-08  Wim Taymans  <wim@fluendo.com>
157
158         * docs/design/part-TODO.txt:
159         * docs/design/part-clocks.txt:
160         * docs/design/part-events.txt:
161         * docs/design/part-gstbin.txt:
162         * docs/design/part-gstelement.txt:
163         * docs/design/part-gstpipeline.txt:
164         * docs/design/part-live-source.txt:
165         * docs/design/part-messages.txt:
166         * docs/design/part-overview.txt:
167         * docs/design/part-states.txt:
168         Many doc updates.
169
170 2005-10-08  Wim Taymans  <wim@fluendo.com>
171
172         * gst/gstevent.c:
173         * gst/gstevent.h:
174         Fix event quark registration.
175         Add some space between events so we can insert them in the
176         right groups.
177
178 2005-10-08  Wim Taymans  <wim@fluendo.com>
179
180         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
181         (gst_base_sink_handle_buffer):
182         Better log message.
183
184         * gst/gstbus.h:
185         * gst/gstelement.h:
186         More docs.
187
188         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
189         (gst_queue_set_property), (gst_queue_get_property):
190         * gst/gstqueue.h:
191         Remove old unused properties.
192
193 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
194         * docs/gst/gstreamer-sections.txt:
195         * gst/gstmessage.c:
196         * gst/gstmessage.h:
197         * gst/gstminiobject.c:
198         * gst/gstminiobject.h:
199         * gst/gstobject.h:
200         * gst/gstpad.h:
201         * gst/gstutils.h:
202           lots of new docs and doc fixes
203
204 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
205
206         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
207         * gst/gstplugin.h:
208         * gst/gstregistry.c: (gst_registry_lookup_locked),
209         (gst_registry_scan_path_level):
210         * gst/gstregistryxml.c: (load_plugin):
211           Only ever load one plugin for a given plugin basename.
212           This ensures correct overriding of GST_PLUGIN_PATH over
213           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
214           system installed plugins.
215
216 2005-10-08  Wim Taymans  <wim@fluendo.com>
217
218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
219         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
220         Prepare for doing QOS.
221
222 2005-10-08  Wim Taymans  <wim@fluendo.com>
223
224         * check/gst/gstbin.c: (GST_START_TEST):
225         * check/pipelines/cleanup.c: (GST_START_TEST):
226         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
227         Allow new clock message too.
228
229 2005-10-08  Wim Taymans  <wim@fluendo.com>
230
231         * gst/gstmessage.c: (gst_message_new_error),
232         (gst_message_new_warning), (gst_message_new_tag),
233         (gst_message_new_state_changed), (gst_message_new_clock_provide),
234         (gst_message_new_clock_lost), (gst_message_new_new_clock),
235         (gst_message_new_segment_start), (gst_message_new_segment_done),
236         (gst_message_parse_state_changed),
237         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
238         (gst_message_parse_new_clock):
239         * gst/gstmessage.h:
240         Also carry the clock in question.
241
242 2005-10-08  Wim Taymans  <wim@fluendo.com>
243
244         * gst/gstmessage.c: (gst_message_new_custom),
245         (gst_message_new_eos), (gst_message_new_error),
246         (gst_message_new_warning), (gst_message_new_tag),
247         (gst_message_new_state_changed), (gst_message_new_clock_provide),
248         (gst_message_new_new_clock), (gst_message_new_segment_start),
249         (gst_message_new_segment_done), (gst_message_parse_state_changed),
250         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
251         * gst/gstmessage.h:
252         Clean up.
253         Added clock related messages.
254
255         * gst/gstpipeline.c: (gst_pipeline_change_state):
256         Post message when the clock changed.
257
258         * tools/gst-launch.c: (event_loop):
259         Print new clock.
260
261 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
262
263         * tools/gst-inspect.c: (print_element_properties_info):
264           Can't pass NULL strings to g_print() on windows.
265
266 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * docs/Makefile.am:
269         * docs/gst/Makefile.am:
270         * docs/gst/gstreamer-docs.sgml:
271         * docs/gst/running.xml:
272         * docs/version.entities.in:
273           add a chapter on running GStreamer.
274           document GST_DEBUG and GST_PLUGIN* env vars
275
276 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
277
278         * Makefile.am:
279           remove include dir
280         * configure.ac:
281           remove PLUGINS_BUILDDIR stuff
282         * gst/gst.c: (init_post):
283           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
284         * idiottest.mak:
285           remove, it was condescending and not needed
286
287 2005-10-08  Wim Taymans  <wim@fluendo.com>
288
289         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
290         (gst_base_sink_handle_object), (gst_base_sink_event),
291         (gst_base_sink_wait), (gst_base_sink_handle_event),
292         (gst_base_sink_change_state):
293         * gst/base/gstbasesink.h:
294         Repost EOS message while going to PLAYING if still EOS.
295         Make sure that when receiving a FLUSH_START we don't attempt
296         to sync on the clock anymore.
297
298 2005-10-08  Wim Taymans  <wim@fluendo.com>
299
300         * tools/gst-launch.c: (event_loop):
301         Better message printout.
302
303 2005-10-08  Wim Taymans  <wim@fluendo.com>
304
305         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
306         (gst_bin_child_proxy_get_children_count):
307         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
308         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
309         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
310         (gst_child_proxy_set_valist):
311         * gst/parse/grammar.y:
312         Make ChildProxy threadsafe and fix mem leaks.
313
314 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
315
316         * gst/gst.c: (init_post):
317           debug the GST_PLUGIN_ env vars
318
319 2005-10-08  Wim Taymans  <wim@fluendo.com>
320
321         * check/gst/gstbin.c: (GST_START_TEST):
322         * check/gst/gstmessage.c: (GST_START_TEST):
323         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
324         * gst/gstelement.c: (gst_element_commit_state),
325         (gst_element_lost_state):
326         * gst/gstmessage.c: (gst_message_new_state_changed),
327         (gst_message_parse_state_changed):
328         * gst/gstmessage.h:
329         * tools/gst-launch.c: (event_loop):
330         Added extra field to STATE_CHANGE message with the pending
331         state, which will be different from the new state soon.
332
333 2005-10-08  Wim Taymans  <wim@fluendo.com>
334
335         * gst/gstbus.c: (gst_bus_pop):
336         * gst/gstclock.c:
337         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
338         Small cleanups and doc updates.
339
340 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
341
342         * gst/gst.c: (init_pre):
343         * gst/gstbin.c: (gst_bin_add_func):
344           log distributing clocks and base time
345         * gst/gstregistry.c: (gst_registry_add_plugin),
346         (gst_registry_scan_path_level), (gst_registry_scan_path):
347           clean up the debugging output a little
348         * gst/gstutils.c: (gst_element_state_get_name):
349           warn about a memleak (I've actually seen this be used, though
350           it was probably a bug)
351
352 2005-10-07  Wim Taymans  <wim@fluendo.com>
353
354         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
355         (gst_base_src_init), (gst_base_src_default_newsegment),
356         (gst_base_src_newsegment), (gst_base_src_do_seek),
357         (gst_base_src_loop), (gst_base_src_start):
358         * gst/base/gstbasesrc.h:
359         Make the newsegment event customizable by subclasses.
360
361 2005-10-07  Wim Taymans  <wim@fluendo.com>
362
363         * gst/gstevent.c: (gst_event_new_buffersize),
364         (gst_event_parse_buffersize):
365         * gst/gstevent.h:
366         New event for future idea.
367
368 2005-10-07  Andy Wingo  <wingo@pobox.com>
369
370         * gst/gstelement.c (gst_element_post_message): Doc update.
371
372         * docs/gst/gstreamer-sections.txt: Update.
373
374         * gst/gstmessage.c (gst_message_new_application): Made into a
375         function like honest API calls.
376         (gst_message_new_element): New message type.
377
378         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
379
380         * check/elements/fakesrc.c (test_no_preroll): New check, checks
381         that setting a live fakesrc to PAUSED returns NO_PREROLL both
382         times.
383
384         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
385         NO_PREROLL from gst_element_change_state to fall through.
386
387 2005-10-07  Wim Taymans  <wim@fluendo.com>
388
389         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
390         (gst_ghost_pad_do_activate_push):
391         Activating a ghostpad with no internal pad in push mode
392         is ok.
393
394 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
395
396         * gst/gstobject.h:
397           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
398           Fixes compilation on Windows.
399
400 2005-10-07  Michael Smith <msmith@fluendo.com>
401
402         * tools/gst-inspect.c:
403           Print out feature and plugin count at the end when printing out
404           all features.
405
406 2005-10-04  Michael Smith <msmith@fluendo.com>
407
408         * gst/gsterror.c: (_gst_stream_errors_init):
409           Add another error string used in a few existing plugins.
410
411         * gst/gstplugin.c:
412         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
413         * tools/gst-inspect.c: (print_element_info):
414           When a feature disappears from a plugin (and the feature exists in
415           the cached registry file), things went horribly wrong. This isn't a
416           complete fix, we should actually be removing the 'missing' features
417           from the features list when we load the actual plugin. That's not
418           yet implemented. 
419
420 2005-10-04  Johan Dahlin  <johan@gnome.org>
421
422         * check/gst/gstiterator.c: (GST_START_TEST):
423         * gst/gstbin.c: (gst_bin_iterate_elements),
424         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
425         * gst/gstelement.c: (gst_element_iterate_pads):
426         * gst/gstformat.c: (gst_format_iterate_definitions):
427         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
428         (gst_iterator_new_list), (gst_iterator_filter):
429         * gst/gstiterator.h:
430         * gst/gstquery.c: (gst_query_type_iterate_definitions):
431         Add a GType to GstIterator, update callsites and tests.
432
433 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
434
435         * gst/gstpad.c: (gst_pad_event_default_dispatch):
436           give events a chance to be handled by event probes when the pad
437           is not linked
438
439 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * gst/gstevent.c: (gst_event_type_get_name),
442         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
443         * gst/gstevent.h:
444           add string representations for event types
445
446 2005-10-06  Wim Taymans  <wim@fluendo.com>
447
448         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
449         Don't use NULL pointers.
450
451 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
452
453         * gst/gst_private.h:
454         * gst/gstbus.c:
455         * gst/gstelement.c:
456         * gst/gstinfo.c:
457         * gst/gstpluginfeature.c:
458           widen the debug category in output to fit the biggest one we have
459           add a bus category and use it
460           play with the colors
461           fix up some categories
462
463 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
466           add push activation of sink ghost pads.
467           Andye, please verify
468
469 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
470
471         * gst/gstutils.c: (gst_element_link_pads):
472           fix a bug in the case where neither element has a pad
473         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
474           add a test for that case
475
476 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
477
478         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
479           emit have-data before checking for peers.  This allows
480           for probe handlers to connect elements.  This helps autopluggers.
481         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
482         (gst_pad_suite):
483           add six checks, linked/unlinked with no/true/false probe
484
485 2005-10-04  Wim Taymans  <wim@fluendo.com>
486
487         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
488         (gst_fake_sink_event), (gst_fake_sink_preroll),
489         (gst_fake_sink_render), (gst_fake_sink_change_state):
490         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
491         (gst_fake_src_get_property), (gst_fake_src_create),
492         (gst_fake_src_stop):
493         * gst/elements/gstidentity.c: (gst_identity_stop):
494         Protect last_message with lock.
495
496 2005-10-04  Edward Hervey  <edward@fluendo.com>
497
498         * gst/gstformat.h: 
499         Added precision in the comments for GST_FORMAT_DEFAULT
500
501 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
502
503         * tools/gst-launch.c: (main):
504           Don't try to run erroneous pipelines.
505
506 2005-10-04  Julien MOUTTE  <julien@moutte.net>
507
508         * gst/gstbus.c: We don't need this header.
509
510 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * configure.ac:
513           back to development
514
515 === release 0.9.3 ===
516
517 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
518
519         * README:
520         * configure.ac:
521           Releasing 0.9.3, "Unregistered"
522
523 2005-10-03  Andy Wingo  <wingo@pobox.com>
524
525         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
526         whereby calling a pad's activatepush() function can start a thread
527         that starts to push or pull before the pad gets the FLUSHING flag
528         unset. Hack around it by holding the stream lock until the flag is
529         set. Need to replace this with a proper solution. Together with
530         the ghost pad fixes, this fixes mp3 playing/tagreading.
531
532         * docs/design/part-gstghostpad.txt: Add a note about activation of
533         proxy pads outside of ghost pads.
534
535         * gst/gstghostpad.c: Implement the ghost pad activation design.
536
537 2005-10-02  Andy Wingo  <wingo@pobox.com>
538
539         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
540         It is volatile, after all.
541
542         * docs/design/part-gstghostpad.txt: Flesh out activation with
543         ghost pads.
544
545         * gst/base/gstbasesrc.c (gst_base_src_init): Use
546         GST_DEBUG_FUNCPTR.
547
548 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
549
550         * configure.ac:
551           Fix (unused) AM_CONDITIONAL tests.
552
553 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
554
555         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
556
557         * gst/gstutils.c: (gst_pad_query_convert):
558           Add assertion that makes sure src_val is >=0, just like
559           gst_query_new_convert() has. (#315895)
560
561 2005-09-30  Edward Hervey  <edward@fluendo.com>
562
563         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
564         Let's not iterate pads we're not interested in, it avoids getting 
565         sky-high refcounts on sinkpad.
566
567 2005-09-30  Wim Taymans  <wim@fluendo.com>
568
569         * gst/gstelement.c: (gst_element_set_state),
570         (gst_element_change_state):
571         Small tweak, element in ASYNC remains ASYNC.
572
573 2005-09-30  Wim Taymans  <wim@fluendo.com>
574
575         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
576         Only error is an error.
577
578         * gst/gstbin.c: (gst_bin_change_state):
579         Better debugging.
580
581         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
582         Also call pad_block in pad alloc.
583
584         * gst/gstutils.c: (gst_flow_get_name):
585         Better debugging.
586
587 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
588
589         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
590         (gst_base_src_get_range):
591           Fix documentation typos. Add some more debug info.
592
593 2005-09-29  David Schleef  <ds@schleef.org>
594
595         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
596           more end-user friendly.
597         * tools/gst-inspect.c: (main): Check if command-line argument is
598           a file and attempt to load that file as a plugin.
599
600 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
601
602         * check/gst/gstbin.c:
603         * check/states/sinks.c:
604           fix tests for the new warning
605         * check/gst/gstpipeline.c:
606           add a test for pipeline and bus interaction
607         * gst/gstelement.c:
608           elements should be NULL if they get disposed; add a warning if not
609
610 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * gst/gstobject.c:
613           for 2.6 refcounting, make debug log more correct by printing
614           the actual refcounts at the time of swap (Wim)
615
616 2005-09-29  Andy Wingo  <wingo@pobox.com>
617
618         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
619         removes signal watches previously added via
620         gst_bus_add_signal_watch.
621         (gst_bus_add_signal_watch): Don't return the source id, just store
622         it on the bus if there wasn't an id already.
623
624         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
625         add_signal_watch and remove_signal_watch.
626
627 2005-09-29  Edward Hervey  <edward@fluendo.com>
628
629         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
630         Better if we actually iterate the list :)
631
632 2005-09-29  Wim Taymans  <wim@fluendo.com>
633
634         * check/gst/gstbin.c: (GST_START_TEST):
635         Change for new bus API.
636
637         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
638         (send_messages), (GST_START_TEST), (gstbus_suite):
639         Change for new bus signal API.
640
641         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
642         (gst_bus_source_prepare), (gst_bus_source_check),
643         (gst_bus_create_watch), (gst_bus_add_watch_full),
644         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
645         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
646         * gst/gstbus.h:
647         Remove support for multiple GSources operating on different
648         message types as it is too complex and unneeded when using
649         signals.
650         Added support for receiving signals from the bus.
651
652 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
653
654         * docs/libs/tmpl/gstdataprotocol.sgml:
655         * docs/manual/advanced-dataaccess.xml:
656         * gst/elements/gstcapsfilter.c:
657         * gst/gstutils.c:
658           rename filter-caps to caps property
659
660 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
661
662         * gst/gstvalue.c: (gst_value_deserialize_fraction):
663           More robust fraction string parsing.
664
665         * docs/pwg/appendix-porting.xml:
666           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
667
668 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
669
670         * gst/gstcaps.c: (gst_caps_do_simplify):
671           Thou shalt not free a structure and then continue using it
672           in the next loop iteration.
673
674         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
675         (gst_caps_suite):
676           Add test case for caps simplification.
677
678 2005-09-29  Wim Taymans  <wim@fluendo.com>
679
680         * check/gst/gstbin.c: (GST_START_TEST):
681         Oops.
682
683 2005-09-29  Wim Taymans  <wim@fluendo.com>
684
685         * check/gst/gstbin.c: (GST_START_TEST):
686         Add bus to bin.
687
688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
689         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
690         (find_element), (gst_bin_sort_iterator_next),
691         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
692         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
693         (gst_bin_change_state), (gst_bin_dispose):
694         A bin does not have a bus, it gets the bus from the parent.
695
696         * gst/gstelement.c: (gst_element_requires_clock),
697         (gst_element_provides_clock), (gst_element_is_indexable),
698         (gst_element_is_locked_state), (gst_element_change_state),
699         (gst_element_set_bus_func):
700         Small cleanups.
701
702         * gst/gstpipeline.c: (gst_pipeline_class_init),
703         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
704         The pipeline provides a bus.
705
706 2005-09-28  Johan Dahlin  <johan@gnome.org>
707
708         * gst/gstmessage.c (gst_message_parse_state_changed): Use
709         gst_structure_get_enum instead of gst_structure_get_int
710
711         * gst/gststructure.c (gst_structure_get_enum): Impl.
712
713         * gst/gststructure.h (gst_structure_get_enum): Add
714
715         * docs/gst/gstreamer-sections.txt: Ditto
716
717         * gst/gstmessage.c (gst_message_new_state_changed): Use
718         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
719         which does introspection.
720         Reviewed by Christian Schaller
721
722 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
723
724         * gst/gstinfo.c: (gst_debug_log_default):
725           don't do dummy g_strdup()s
726         * libs/gst/controller/gstcontroller.c:
727         (on_object_controlled_property_changed),
728         (gst_controlled_property_new), (gst_controller_new_valist),
729         (gst_controller_new_list),
730         (gst_controller_remove_properties_valist), (gst_controller_set),
731         (gst_controller_get), (gst_controller_sync_values),
732         (gst_controller_get_value_array), (_gst_controller_class_init),
733         (gst_controller_get_type):
734         * libs/gst/controller/gstcontroller.h:
735         * libs/gst/controller/gstinterpolation.c:
736         (gst_controlled_property_find_timed_value_node):
737           convert // to /**/ comments
738
739 2005-09-28  Wim Taymans  <wim@fluendo.com>
740
741         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
742         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
743         (gst_bus_sync_signal_handler):
744         * gst/gstbus.h:
745         Added async-message and sync-message signals to the bus.
746         Added helper BusFunc to emit signals for all posted messages.
747
748         * gst/gstmessage.c: (gst_message_type_get_name),
749         (gst_message_type_to_quark), (gst_message_get_type):
750         * gst/gstmessage.h:
751         Register quarks for message names.
752
753 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
754
755         * docs/libs/gstreamer-libs-sections.txt:
756         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
757         (gst_controller_new_list):
758         * libs/gst/controller/gstcontroller.h:
759           added another constructor for language bindings
760
761 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
764           add another check
765         * gst/gstbus.c:
766           add some doc
767         * gst/gstinfo.c: (_gst_debug_init):
768           slightly more readable color for refcount debugging
769
770 2005-09-28  Wim Taymans  <wim@fluendo.com>
771
772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
773         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
774         (find_element), (gst_bin_sort_iterator_next),
775         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
776         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
777         (gst_bin_change_state), (gst_bin_dispose):
778         Small doc fixes. get_clock -> provide_clock.
779
780         * gst/gstelement.c: (gst_element_class_init),
781         (gst_element_provides_clock), (gst_element_provide_clock),
782         (gst_element_get_clock), (gst_element_commit_state),
783         (gst_element_lost_state):
784         * gst/gstelement.h:
785         Make get/set_clock() symetric. Add provide_clock vmethod since
786         that is actually what this function does.
787
788         * gst/gstpipeline.c: (gst_pipeline_class_init),
789         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
790         (gst_pipeline_get_clock):
791         get_clock -> provide_clock.
792
793 2005-09-28  Andy Wingo  <wingo@pobox.com>
794
795         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
796         lieu of real docs...
797
798         * gst/elements/gstfdsrc.c: Cleaned up a bit.
799
800 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
801
802         * gst/elements/gstcapsfilter.c:
803         * gst/elements/gstfakesink.c:
804         * gst/elements/gstfakesrc.c:
805         * gst/elements/gstfdsink.c:
806         * gst/elements/gstfdsrc.c:
807         * gst/elements/gstfilesink.c:
808         * gst/elements/gstfilesrc.c:
809         * gst/elements/gstidentity.c:
810         * gst/elements/gsttee.c:
811         * gst/elements/gsttypefindelement.c:
812           Make element details static.
813
814 2005-09-28  Wim Taymans  <wim@fluendo.com>
815
816         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
817         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
818         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
819         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
820         (gst_bin_change_state), (gst_bin_dispose):
821         Some documentation updates.
822         Clean up dispose handlers.
823
824         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
825         * gst/gstpad.c: (gst_pad_dispose):
826         Clean up dispose handler.
827
828         * gst/gstpipeline.c: (gst_pipeline_change_state):
829         Removed spurious UNLOCK.
830
831 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
832
833         * docs/gst/gstreamer-sections.txt:
834         * gst/base/gstbasesrc.h:
835         * gst/gstelement.h:
836         * gst/gstevent.h:
837         * gst/gstobject.h:
838         * gst/gstpad.h:
839         * gst/gstpipeline.c:
840         * gst/gstpipeline.h:
841         * gst/gstutils.h:
842         * gst/gstxml.h:
843           added two new functions to the docs
844                 documents all undocumented GstXXXFlags
845                 completed some incomplete docs 
846
847 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * gst/gstbin.c: (gst_bin_dispose):
850         * gst/gstelement.c: (gst_element_dispose):
851           remove now useless and leaky resurrection code in dispose
852         * gst/base/gstbasesrc.c: (gst_base_src_init):
853         * gst/gstelementfactory.c: (gst_element_factory_create):
854         * gst/gstobject.c: (gst_object_set_parent):
855           add some debugging
856
857 2005-09-27  Wim Taymans  <wim@fluendo.com>
858
859         * docs/design/part-TODO.txt:
860         Update TODO.
861
862         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
863         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
864         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
865         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
866         (gst_bin_change_state):
867         * gst/gstelement.h:
868         Remove element variable, we keep element info in the iterator now.
869
870 2005-09-27  Andy Wingo  <wingo@pobox.com>
871
872         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
873         values.
874
875 2005-09-27  Wim Taymans  <wim@fluendo.com>
876
877         * check/gst/gstbin.c: (GST_START_TEST):
878         Enable check that works now.
879
880         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
881         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
882         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
883         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
884         (gst_bin_change_state):
885         * gst/gstbin.h:
886         Redid the state change algorithm using a topological sort algo.
887         Handles all cases correctly.
888         Exposed iterator for state change order.
889
890         * gst/gstelement.h:
891         Temp storage for state changes. Need to get rid of this soon.
892
893 2005-09-27  Wim Taymans  <wim@fluendo.com>
894
895         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
896         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
897         (link_fold_func), (gst_pad_proxy_setcaps):
898         Leak fixes, the fold functions need to unref the passed object and
899         _get_parent_*() returns ref to parent.
900
901 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
902
903         * check/gst/gstbuffer.c: (test_make_writable):
904           Plug leak in test case and fix 'make check-valgrind'
905
906 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/gstbuffer.c: (gst_subbuffer_init):
909           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
910           works correctly in all circumstances (we could have just copied
911           the parent buffer's readonly flag, but conceptually it seems
912           cleaner to mark all subbuffers as read-only). (based on patch
913           by Alessandro Decina, #314710).
914         
915         * check/gst/gstbuffer.c: (create_read_only_buffer),
916         (test_make_writable), (test_subbuffer_make_writable),
917         (gst_test_suite):
918           Add some tests for gst_buffer_make_writable().
919
920 2005-09-27  Wim Taymans  <wim@fluendo.com>
921
922         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
923         use gst_object_has_ancestor().
924
925         * gst/gstobject.c: (gst_object_has_ancestor):
926         * gst/gstobject.h:
927         gst_object_has_ancestor() copied from gstbin.c as it is a
928         usefull function.
929
930         * tests/instantiate/create.c: (create_all_elements):
931         * tests/lat.c: (handoff_src), (handoff_sink):
932         * tests/sched/runxml.c: (main):
933         * tests/seeking/seeking1.c: (main):
934         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
935         (main):
936         Fix compilation of some tests.
937
938 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
939
940         * gst/gsterror.h:
941           Remove comment. GST_TYPE_G_ERROR is here to stay,
942           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
943           (#316961, #300610).
944
945 2005-09-26  Wim Taymans  <wim@fluendo.com>
946
947         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
948         Added check that shows error in state change order.
949
950 2005-09-26  Wim Taymans  <wim@fluendo.com>
951
952         * gst/gstbin.c: (gst_bin_change_state):
953         Make state change function use 3 queues again, we were
954         adding elements in the wrong order.
955
956         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
957         Some debug info,
958
959         * gst/gstpad.c: (gst_pad_dispose):
960         Added some debug info first.
961
962 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
963
964         * docs/design/draft-push-pull.txt:
965         * docs/design/part-events.txt:
966         * docs/design/part-overview.txt:
967         * docs/design/part-scheduling.txt:
968           Replace all _pull_region() with _pull_range()
969           
970 2005-09-26  Andy Wingo  <wingo@pobox.com>
971
972         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
973
974         * check/gst-libs/controller.c: Update for controller api change.
975
976         * configure.ac: 
977         * tests/Makefile.am:
978         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
979         over by GLib bug 118439.
980         
981         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
982         routines to a function.
983
984         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
985
986         * libs/gst/controller/gsthelper.c:
987         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
988         (gst_object_sync_values): Renamed from sink_values. Ugh.
989
990         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
991
992         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
993         Renamed from controller_key, as it is exported.
994
995         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
996
997 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
998
999         * gst/Makefile.am:
1000         * gst/gst.h:
1001         * gst/gstpad.h:
1002         * gst/gstpadtemplate.h:
1003         * gst/gstquery.c:
1004         * gst/gstquery.h:
1005         * gst/gstqueryutils.c:
1006         * gst/gstqueryutils.h:
1007           remove queryutils headers after moving the two used functions
1008           to gstquery.  also fixes build problem for gstsiddec
1009
1010 2005-09-26  Michael Smith <msmith@fluendo.com>
1011
1012         * tools/gst-launch.1.in:
1013         Correct documentation in manpage of debug syntax
1014
1015 2005-09-26  Wim Taymans  <wim@fluendo.com>
1016
1017         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1018         (gst_base_src_is_seekable), (gst_base_src_change_state):
1019         Some more debugging info.
1020
1021 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1022
1023         * docs/gst/gstreamer-sections.txt:
1024         * gst/base/gstbasetransform.h:
1025         * gst/gstindex.h:
1026           added more docs
1027
1028 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1029
1030         * docs/gst/.cvsignore:
1031         * docs/gst/tmpl/.cvsignore:
1032         * docs/gst/tmpl/gstpipeline.sgml:
1033         * docs/gst/tmpl/gstplugin.sgml:
1034         * gst/gstpipeline.c:
1035         * gst/gstplugin.c:
1036         * gst/gstplugin.h:
1037           inlined the last two docs files
1038           removed the tmpl directory from cvs (no more conflicts here!)
1039
1040 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
1041
1042         * docs/gst/gstreamer-sections.txt:
1043         * docs/gst/tmpl/.cvsignore:
1044         * docs/gst/tmpl/gstpad.sgml:
1045         * docs/gst/tmpl/gstpadtemplate.sgml:
1046         * gst/Makefile.am:
1047         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1048         (gst_pad_finalize), (gst_pad_set_pad_template):
1049         * gst/gstpad.h:
1050         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1051         (gst_pad_template_class_init), (gst_pad_template_init),
1052         (gst_pad_template_dispose), (name_is_valid),
1053         (gst_static_pad_template_get), (gst_pad_template_new),
1054         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
1055         (gst_pad_template_pad_created):
1056         * gst/gstpadtemplate.h:
1057           inlined two more docs
1058           factored gstpadtemplate out of gstpad
1059
1060 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
1061
1062         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1063         (test_children_state_change_order_semi_sink):
1064           Fix test case: we can't rely on a fixed state change order when
1065           going from READY => PAUSED because the sink might commit its 
1066           new state first when the first buffer created by the source 
1067           reaches the sink before the source has finished its change state.
1068           (Test case still fails at times, see #316856, comment 5 onwards)
1069
1070 2005-09-24  Wim Taymans  <wim@fluendo.com>
1071
1072         * docs/design/part-events.txt:
1073         * docs/design/part-gstbus.txt:
1074         * docs/design/part-gstpipeline.txt:
1075         * docs/design/part-messages.txt:
1076         * docs/design/part-overview.txt:
1077         * docs/design/part-segments.txt:
1078         * gst/gstbin.c:
1079         * gst/gstbuffer.c:
1080         * gst/gstclock.c:
1081         * gst/gstelement.c:
1082         * gst/gstevent.c:
1083         * gst/gstfilter.c:
1084         * gst/gstiterator.c:
1085         Various documentation updates.
1086
1087 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1088
1089         * gst/gstclock.h:
1090           Well, that's embarassing.  Luckily we weren't using
1091           GST_CLOCK_DIFF anywhere.
1092
1093 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1094
1095         * common/gtk-doc.mak:
1096           don't fail on building XML, FC4 slave shows a bunch of doc
1097           missing bits that I don't get
1098         * gst/gstpad.c:
1099         * gst/gstpipeline.c:
1100         * gst/gststructure.c:
1101           some doc updates
1102
1103 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1104
1105         * docs/design/part-gstbin.txt:
1106         * docs/design/part-gstbus.txt:
1107         * gst/gstbus.c:
1108           Add blurb about how the bus goes into flushing mode and
1109           drops all messages when its bin goes from READY into NULL 
1110           state.
1111
1112 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1113
1114         * docs/gst/gstreamer-sections.txt:
1115         * gst/gststructure.c: (gst_structure_get_clock_time):
1116         * gst/gststructure.h:
1117           add a method to get a GstClockTime out of a structure
1118
1119 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1120
1121         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1122         (test_children_state_change_order_semi_sink), (gst_bin_suite):
1123           Added test to check state change order in bins (can still be made
1124           to fail here under heavy disk load; bails out with 'Push on pad
1125           fakesink:sink0, but it was not activated in push mode').
1126
1127         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
1128           Fix state change order when there is only a semi sink (#316856)
1129
1130         * gst/gstbus.c: (gst_bus_class_init):
1131           Use _class_peek_parent(), not _class_ref(); fix docs to say
1132           'default main context' instead of 'mainloop' where that is
1133           what's meant.
1134
1135         * gst/gstelement.c: (gst_element_commit_state),
1136         (gst_element_set_state):
1137           Fix typos in debug messages
1138
1139 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * docs/README:
1142         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
1143         * gst/gstpluginfeature.c:
1144         * gst/gstutils.c:
1145           various doc updates
1146         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1147           change an assert into an error until it gets fixed properly
1148
1149 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
1150
1151         * docs/gst/gstreamer-sections.txt:
1152         * docs/gst/tmpl/.cvsignore:
1153         * docs/gst/tmpl/gstelement.sgml:
1154         * docs/gst/tmpl/gstinfo.sgml:
1155         * docs/gst/tmpl/gstobject.sgml:
1156         * gst/gstelement.c:
1157         * gst/gstelement.h:
1158         * gst/gstinfo.c:
1159         * gst/gstinfo.h:
1160         * gst/gstobject.c: (gst_object_class_init):
1161         * gst/gstobject.h:
1162           inlined 3 more biiiig doc files and added some missing docs on the fly
1163
1164 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1165
1166         * check/gst/.cvsignore:
1167         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
1168         * gst/gstregistryxml.c: (load_plugin),
1169         (gst_registry_xml_save_plugin):
1170           put back source in registry.  add checks for find_plugin.
1171         * testsuite/states/bin.c: (assert_state), (empty_bin),
1172         (test_adding_one_element), (main):
1173         * testsuite/states/locked.c: (main):
1174           some compile/run fixes
1175
1176 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1177
1178         * check/gst/gstvalue.c: (GST_START_TEST):
1179           fix leaks in the test itself
1180
1181 2005-09-22  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1184         (gst_base_sink_send_event), (gst_base_sink_peer_query),
1185         (gst_base_sink_query):
1186         Prepare for more accurate position reporting and query
1187         handling.
1188
1189         * gst/gstelement.c: (gst_element_send_event),
1190         (gst_element_set_state):
1191         Add some comment.
1192
1193 2005-09-22  Wim Taymans  <wim@fluendo.com>
1194
1195         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
1196         (gst_query_parse_segment):
1197         * gst/gstquery.h:
1198         More documentation.
1199         Add segment query for future use.
1200
1201 2005-09-22  Wim Taymans  <wim@fluendo.com>
1202
1203         * gst/gstbin.c: (gst_bin_add_func):
1204         Some more debug info.
1205
1206         * gst/gstelement.c: (gst_element_send_event):
1207         Simplify send_event
1208
1209         * gst/gstelement.h:
1210         Don't know how flags got broken.
1211
1212         * gst/gstquery.h:
1213         Added new query.
1214
1215 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
1216
1217         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
1218           Add simplistic test suite for GST_TYPE_DATE serialisation and
1219           deserialisation.
1220
1221 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
1222
1223         * docs/gst/gstreamer-sections.txt:
1224         * gst/gststructure.c: (gst_structure_set_valist),
1225         (gst_structure_get_date):
1226         * gst/gststructure.h:
1227         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
1228         (gst_date_copy), (gst_value_compare_date),
1229         (gst_value_serialize_date), (gst_value_deserialize_date),
1230         (gst_value_transform_date_string),
1231         (gst_value_transform_string_date), (_gst_value_initialize):
1232         * gst/gstvalue.h:
1233           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
1234           bunch of utility functions along with a hack that checks that
1235           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
1236           is required. Part of the grand scheme in #170777.
1237
1238 2005-09-22  Andy Wingo  <wingo@pobox.com>
1239
1240         * gst/gstconfig.h.in: Psych out gtk-doc.
1241
1242         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
1243
1244         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
1245
1246         * tools/gst-inspect.c (print_element_list): Plug some
1247         inconsequential leaks.
1248
1249         * gst/gstregistry.c (gst_registry_get_default): Doc.
1250
1251         * check/gst/gstplugin.c: 
1252         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
1253         * gst/gstelementfactory.c (gst_element_factory_create): 
1254         * gst/gstindexfactory.c (gst_index_factory_create): Update for
1255         refcount changes.
1256
1257         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
1258         (gst_plugin_feature_load): Doc, don't eat refs.
1259
1260         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
1261         (gst_plugin_list_free): Doc.
1262         (gst_plugin_load_file): Doc updates.
1263
1264         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
1265         accessors returning refcounted objects, return a ref.
1266
1267         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
1268         accessor for caps. IDEMPOTENCE. Oh yes.
1269
1270 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
1271
1272         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1275         (_gst_debug_register_funcptr):
1276           Add mutex to serialise access to the hash table with
1277           the function pointer => function name string mapping;
1278           make that hash table static scope (#316809).
1279
1280         * gst/registries/.cvsignore:
1281           Remove left-over file.
1282
1283 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
1284
1285         * docs/pwg/appendix-porting.xml:
1286           And something about newsegment events and caps-on-buffers to
1287           the porting guide (feel free to improve).
1288
1289 2005-09-21  Andy Wingo  <wingo@pobox.com>
1290
1291         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
1292         data and event probes on the same pad.
1293         (test_buffer_probe_once): Test that removing probes from within
1294         the probe functions works.
1295
1296 2005-09-21  Andy Wingo  <wingo@pobox.com>
1297
1298         * check/gst/gstutils.c: New file.
1299         (test_buffer_probe_n_times): A simple buffer probe test. More to
1300         come, foolios.
1301
1302         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
1303         have-data::buffer, not have-data.
1304         (gst_pad_add_event_probe): Likewise for have-data::event.
1305         (gst_pad_add_data_probe): More docs. The part about 'resolving the
1306         peer' isn't quite right yet though.
1307         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
1308         (gst_pad_remove_data_probe): Change to take the guint handler_id
1309         as their arg, not the function+data, which is more glib-like.
1310
1311         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
1312         the signal emission to indicate if the data is a buffer or an
1313         event.
1314         (gst_pad_get_type): Initialize buffer and event quarks.
1315         (gst_pad_class_init): have-data is now a detailed signal, yes it
1316         is.
1317
1318 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
1319
1320         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
1321         * gst/gstutils.c: (gst_util_set_value_from_string),
1322         (gst_util_set_object_arg):
1323           Don't put functional code in g_return_if_fail() or
1324           g_return_val_if_fail() statements, otherwise things will 
1325           break when G_DISABLE_CHECKS is defined during compilation.
1326
1327 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1328
1329         * docs/gst/tmpl/.cvsignore:
1330         * docs/gst/tmpl/gstvalue.sgml:
1331         * gst/gstvalue.c:
1332         * gst/gstvalue.h:
1333           inlied another one and added  some obvious docs
1334
1335 2005-09-21  Wim Taymans  <wim@fluendo.com>
1336
1337         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1338         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
1339         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
1340         (gst_fdsrc_get_property), (gst_fdsrc_create):
1341         * gst/elements/gstfdsrc.h:
1342         Properly implement fdsrc. Removed signal and timeout,
1343         better implemented somewhere else.
1344
1345 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * docs/gst/tmpl/.cvsignore:
1348         * docs/gst/tmpl/gstimplementsinterface.sgml:
1349         * gst/gstinterface.c:
1350           inlined more docs
1351
1352 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1353
1354         * docs/gst/gstreamer-sections.txt:
1355         * docs/gst/tmpl/.cvsignore:
1356         * docs/gst/tmpl/gstenumtypes.sgml:
1357           remove obsolete doc file
1358
1359 2005-09-21  David Schleef  <ds@schleef.org>
1360
1361         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
1362         little beer, fix a little leak.
1363
1364 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1365
1366         * docs/gst/gstreamer-docs.sgml:
1367         * docs/gst/gstreamer-sections.txt:
1368         * docs/gst/tmpl/.cvsignore:
1369         * gst/Makefile.am:
1370         * gst/gst.h:
1371         * gst/gstbin.c:
1372         * gst/gstelement.h:
1373         * gst/gstindex.c: (gst_index_class_init):
1374         * gst/gstindex.h:
1375         * gst/gstindexfactory.c: (gst_index_factory_get_type),
1376         (gst_index_factory_class_init), (gst_index_factory_init),
1377         (gst_index_factory_finalize), (gst_index_factory_new),
1378         (gst_index_factory_destroy), (gst_index_factory_find),
1379         (gst_index_factory_create), (gst_index_factory_make):
1380         * gst/gstindexfactory.h:
1381         * gst/gstpluginfeature.c:
1382         * gst/gstpluginfeature.h:
1383         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1384           more docs inlined, splitted gstindex.{c,h}
1385
1386 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1387
1388         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1389           fix a leak
1390
1391 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1394           Set sync to FALSE by default.
1395
1396 2005-09-20  Wim Taymans  <wim@fluendo.com>
1397
1398         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1399         (gst_base_sink_init):
1400         Make sync property settable from subclass.
1401
1402         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
1403         (gst_fake_sink_change_state):
1404         Set sync to FALSE by default.
1405
1406 2005-09-20  Wim Taymans  <wim@fluendo.com>
1407
1408         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
1409         * tools/gst-launch.c: (main):
1410         The timeout handler should have lower priority than the source
1411         so we don't timeout before popping a message with 0 timeout.
1412         Dump error messages after failed state change.
1413
1414 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
1415
1416         * tools/gst-inspect.c: (print_element_properties_info):
1417           Fix two typos.
1418
1419 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         * check/gst/gstevent.c:
1422         * gst/elements/gstfakesink.c:
1423         * gst/elements/gstfakesink.h:
1424           remove the sync property from fakesink.
1425           has the side effect of setting sync TRUE
1426           for fakesink, which is a change.  Anyone who knows how
1427           to fix this nicely in a GObject-y way, feel free.
1428
1429 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1430
1431         * docs/gst/gstreamer-docs.sgml:
1432           remove probe refsection
1433
1434 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1435
1436         * check/Makefile.am:
1437           disable valgrinding the controller test again
1438         * docs/gst/gstreamer-sections.txt:
1439           update for api-changes
1440
1441 2005-09-20  Wim Taymans  <wim@fluendo.com>
1442
1443         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1444         (gst_base_sink_set_property), (gst_base_sink_get_property),
1445         (gst_base_sink_do_sync):
1446         * gst/base/gstbasesink.h:
1447         Added sync property to basesink to disable clock sync.
1448
1449 2005-09-20  Andy Wingo  <wingo@pobox.com>
1450
1451         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
1452         eating the caller's refcount.
1453
1454         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
1455         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
1456         refcount.
1457
1458         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
1459         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
1460         of GLib 2.8 public, so we can know which refcount to check in
1461         tests.
1462
1463         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
1464         (gst_object_init): Only set the gst refcount if we're going ahead
1465         with the refcount hack.
1466
1467 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1468
1469         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
1470         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1471           more leaks plumbed, added more debug-logging
1472         * gst/gstmacros.h:
1473           whitespace fix
1474
1475 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1476
1477         * gst/gstmessage.c:
1478           remove include of gstmemchunk.h
1479
1480 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1481
1482         * gst/gstclock.c: (_gst_clock_id_free):
1483           Commit from the Political Party For More Atomic CVS Commits,
1484           so that people don't waste too much of their day fishing
1485           out obvious leaks out of massive commits.
1486           Oh, and fix a pretty damn obvious leak in the memchunk
1487           removal code.
1488
1489 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1490
1491         * check/Makefile.am:
1492         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
1493           plug mem-leak, re-add to valgrindable tests
1494
1495 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * gst/gstplugin.h:
1498           unbreak the build for those who have chronic arthritis
1499           and typing "make check" is just too taxing on the hands
1500
1501 2005-09-20  Andy Wingo  <wingo@pobox.com>
1502
1503         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
1504         really want it out, you should fix plugins at the same time.
1505
1506 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
1507
1508         * configure.ac:
1509         * docs/gst/gstreamer-sections.txt:
1510         * gst/gstobject.c:
1511           added missing symbols to api docs
1512           disable ref-count hack if we have glib >= 2.8
1513
1514 2005-09-19  David Schleef  <ds@schleef.org>
1515
1516         * docs/gst/Makefile.am: Ignore a few more internal headers
1517         * docs/gst/gstreamer-docs.sgml: Remove old sections
1518         * docs/gst/gstreamer-sections.txt: Remove old sections
1519         * docs/gst/tmpl/gstobject.sgml: update
1520         * docs/gst/tmpl/gstplugin.sgml: update
1521         * docs/gst/tmpl/gstpluginfeature.sgml: update
1522         * docs/random/ds/0.9-suggested-changes: update.
1523         * gst/Makefile.am: remove memchunk and trashstack, since they're
1524           not used.
1525         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
1526         * gst/gst.h: don't include some headers
1527         * gst/gstchildproxy.c: add gstmarshal.h
1528         * gst/gstclock.c: Don't use memchunks
1529         * gst/gstminiobject.c: Add some docs
1530         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
1531         * gst/gstobject.h: same
1532         * gst/gstplugin.c: include gstmacros.h
1533         * gst/gstplugin.h: don't include gstmacros.h, since it's private
1534         * gst/gstquery.c: don't use memchunks
1535         * gst/gstregistry.c: rename gst_registry_deinit()
1536         * gst/gstregistry.h: same
1537
1538 2005-09-19  David Schleef  <ds@schleef.org>
1539
1540         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
1541         * docs/libs/gstreamer-libs-sections.txt:
1542         * docs/libs/tmpl/gstgetbits.sgml:
1543         * docs/libs/tmpl/gstputbits.sgml:
1544
1545 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1546
1547         * win32/gstenumtypes.c:
1548         * win32/gstenumtypes.h:
1549           Update.
1550
1551 2005-09-19  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
1554         Automatically PAUSE and RESUME a pipeline when a flushing seek
1555         is performed.
1556
1557 2005-09-19  Andy Wingo  <wingo@pobox.com>
1558
1559         * gst/gstregistry.h: Spacing fixen.
1560
1561 2005-09-19  Wim Taymans  <wim@fluendo.com>
1562
1563         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
1564         Handle state change failure more correctly.
1565
1566 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1567
1568         * check/Makefile.am:
1569         * check/pipelines/cleanup.c: (run_pipeline):
1570         * check/pipelines/simple_launch_lines.c: (run_pipeline),
1571         (GST_START_TEST):
1572           enable cleanup again after fixing the leak
1573         * docs/README:
1574           some more info on docs
1575
1576 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1577
1578         * check/Makefile.am:
1579           re-enable tests now that leaks are plugged
1580         * check/gst/gst.c:
1581         * check/gst/gstbin.c:
1582         * check/gst/gstpipeline.c:
1583           add some more tests while fixing leaks
1584         * common/check.mak:
1585           make sure binaries are uptodate when valgrinding/gdbing
1586         * gst/gst.c:
1587         * gst/gstelementfactory.c:
1588           remove a ref too many, and add a FIXME for when we get
1589           round to disposing of classes
1590         * gst/gstplugin.c:
1591           fix the refcounting when loading a plugin from a file and
1592           the code pretends that the pointer is the same even though
1593           of course it can change
1594         * gst/gstpluginfeature.c:
1595           unref plugins marked cached (a bit confusing as a name)
1596           as the docs state should be done
1597           various doc additions to explain refcounting
1598         * gst/gstregistry.c:
1599         * gst/gstregistryxml.c:
1600           debugging
1601
1602 2005-09-19  Wim Taymans  <wim@fluendo.com>
1603
1604         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1605         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
1606         (send_messages), (GST_START_TEST), (gstbus_suite):
1607         * check/gst/gstpipeline.c: (GST_START_TEST):
1608         * check/pipelines/cleanup.c: (run_pipeline):
1609         * check/pipelines/simple_launch_lines.c: (run_pipeline),
1610         (GST_START_TEST):
1611         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
1612         (gst_bus_source_check), (gst_bus_source_dispatch),
1613         (gst_bus_create_watch), (gst_bus_add_watch_full),
1614         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
1615         * gst/gstbus.h:
1616         * tools/gst-launch.c: (event_loop):
1617         * tools/gst-md5sum.c: (event_loop):
1618         GstBusHandler -> GstBusFunc, return value has the same meaning as
1619         any other GSource (FALSE == remove source).
1620         _add_watch() and _add_watch_full() now take a MessageType mask to
1621         only handle specific types of messages.
1622         _poll() returns the GstMessage instead of the message type to avoid
1623         race conditions.
1624         _have_pending() takes a MessageType mask now too.
1625         Added testsuite for multiple bus watches.
1626         Fix testsuites and applications for new bus API.
1627
1628 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1629
1630         * check/Makefile.am:
1631           mark a bunch of the tests as to fix until we fix them
1632
1633 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1634
1635         * common/check.mak:
1636           use GST_PLUGIN settings for valgrind tests as well, so we're
1637           valgrinding the correct thing
1638         * gst/gst.c: (init_post):
1639           plug another leak
1640
1641 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1642
1643         * gst/gst.c: (init_post), (gst_deinit):
1644         * gst/gstelementfactory.c: (gst_element_factory_class_init),
1645         (gst_element_factory_finalize), (gst_element_factory_cleanup):
1646         * gst/gstindex.c: (gst_index_factory_class_init),
1647         (gst_index_factory_finalize):
1648         * gst/gstobject.c: (gst_object_dispose):
1649         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1650         (gst_plugin_load_file), (gst_plugin_desc_free):
1651         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
1652         (gst_plugin_feature_finalize):
1653         * gst/gstregistry.c: (gst_registry_class_init),
1654         (gst_registry_init), (gst_registry_finalize),
1655         (gst_registry_get_default), (gst_registry_deinit):
1656         * gst/gstregistry.h:
1657         * gst/gstregistryxml.c: (load_feature), (load_plugin):
1658           various cleanups and memleak plugging.  make valgrind is happy now.
1659
1660 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1661
1662         * common/check.mak:
1663           add a check-valgrind target
1664
1665 2005-09-18  David Schleef  <ds@schleef.org>
1666
1667         * tools/gst-inspect.c: Revert the GOption code.
1668
1669 2005-09-17  David Schleef  <ds@schleef.org>
1670
1671         * check/Makefile.am: Fix environment variables.
1672         * check/gst/gstplugin.c: Fix for API changes.
1673         * tools/gst-inspect.c: Fix for API changes.
1674         * tools/gst-xmlinspect.c: Fix for API changes.
1675         * gst/gstelementfactory.c:
1676         * gst/gstplugin.c:
1677         * gst/gstplugin.h:
1678         * gst/gstpluginfeature.c:
1679         * gst/gstpluginfeature.h:
1680         * gst/gstregistry.c:
1681         * gst/gstregistry.h:
1682         * gst/gstregistryxml.c:
1683         * gst/gsttypefind.c:
1684         * gst/gsttypefindfactory.c:
1685         * gst/indexers/gstfileindex.c:
1686         * gst/indexers/gstmemindex.c:
1687         * gst/schedulers/Makefile.am:
1688           Change registry to keep track of both plugins and features,
1689           removing the feature tracking from plugins themselves.
1690
1691 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1692
1693         * check/Makefile.am:
1694         * tools/gst-register.1.in:
1695           remove gst-register
1696
1697 2005-09-15  David Schleef  <ds@schleef.org>
1698
1699         * check/gst/gstplugin.c:
1700         * gst/gstelementfactory.c:
1701         * gst/gstplugin.c:
1702         * gst/gstpluginfeature.c:
1703         * gst/gstregistry.c:
1704           Getting tired of debugging.  Disabled all the unreffing of
1705           plugins and features, which fixes the segfaults, but of
1706           course leaks like crazy.  At least playbin works.
1707
1708 2005-09-15  David Schleef  <ds@schleef.org>
1709
1710         * check/gst/gstplugin.c: (register_check_elements),
1711         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
1712         More testing
1713         * gst/elements/gsttypefindelement.c: Fix refcounting.
1714         * gst/gsttypefind.c:
1715         * gst/gsttypefindfactory.c:
1716         * gst/gsttypefindfactory.h:
1717
1718 2005-09-15  David Schleef  <ds@schleef.org>
1719
1720         * gst/gstindex.c: get refcounting correct.
1721         * gst/gstregistry.c: Handle the case where a feature/plugin is
1722           not found.
1723
1724 2005-09-15  David Schleef  <ds@schleef.org>
1725
1726         * check/Makefile.am:
1727         * check/gst/gstplugin.c: Add test
1728         * gst/gstplugin.c: Fix problems noticed by testsuite
1729         * gst/gstplugin.h:
1730         * gst/gstregistry.c: 
1731         * gst/gstregistry.h:
1732
1733 2005-09-15  David Schleef  <ds@schleef.org>
1734
1735         * gst/gstplugin.c: Implement semi-decent recounting and locking
1736           in plugins and plugin features.
1737         * gst/gstplugin.h:
1738         * gst/gstpluginfeature.c:
1739         * gst/gstpluginfeature.h:
1740         * gst/gstregistry.c:
1741
1742 2005-09-15  Michael Smith <msmith@fluendo.com>
1743
1744         * gst/gstregistry.c: (gst_registry_get_feature_list):
1745           Implement this. Makes oggdemux work; decodebin still broken.
1746
1747 2005-09-14  David Schleef  <ds@schleef.org>
1748
1749         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
1750           #316076)
1751         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
1752         * gst/check/Makefile.am:
1753         * libs/gst/controller/Makefile.am:
1754         * libs/gst/dataprotocol/Makefile.am:
1755
1756 2005-09-14  David Schleef  <ds@schleef.org>
1757
1758         * configure.ac: Remove getbits library.  Nothing uses it, and
1759           it should be in something like liboil if someone did want
1760           to use it.
1761         * libs/gst/Makefile.am:
1762         * libs/gst/getbits/Makefile.am:
1763         * libs/gst/getbits/gbtest.c:
1764         * libs/gst/getbits/getbits.c:
1765         * libs/gst/getbits/getbits.h:
1766         * libs/gst/getbits/gstgetbits_generic.c:
1767         * libs/gst/getbits/gstgetbits_i386.s:
1768         * libs/gst/getbits/gstgetbits_inl.h:
1769
1770 2005-09-14  David Schleef  <ds@schleef.org>
1771
1772         * gst/Makefile.am: Dist glib-compat.h
1773
1774 2005-09-14  David Schleef  <ds@schleef.org>
1775
1776         * configure.ac: Remove gst/registries, since it's no longer used.
1777         * gst/registries/Makefile.am:
1778         * gst/registries/gstlibxmlregistry.c:
1779         * gst/registries/gstlibxmlregistry.h:
1780         * gst/registries/gstxmlregistry.c:
1781         * gst/registries/gstxmlregistry.h:
1782         * gst/registries/registrytest.c:
1783
1784 2005-09-14  David Schleef  <ds@schleef.org>
1785
1786         * gst/glib-compat.h:
1787         * gst/gstregistryxml.c:
1788           Convergence is near.  Seriously.
1789
1790 2005-09-14  David Schleef  <ds@schleef.org>
1791
1792         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1793         * gst/glib-compat.h:
1794           Attempt #4 to appease the buildbots.
1795
1796 2005-09-14  David Schleef  <ds@schleef.org>
1797
1798         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1799           Attempt #3.
1800
1801 2005-09-14  David Schleef  <ds@schleef.org>
1802
1803         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1804         Attempt #2.
1805
1806 2005-09-14  David Schleef  <ds@schleef.org>
1807
1808         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
1809           the new functions.
1810
1811 2005-09-14  David Schleef  <ds@schleef.org>
1812
1813         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1814         * gst/glib-compat.h: Add some functions that are in newer versions
1815           of glib than we care to require.
1816         * gst/gstregistryxml.c: Use them.
1817
1818 2005-09-14  David Schleef  <ds@schleef.org>
1819
1820         * po/POTFILES.in: remove gst-register.c
1821
1822 2005-09-14  David Schleef  <ds@schleef.org>
1823
1824         * docs/gst/gstreamer-docs.sgml:
1825         * docs/gst/gstreamer-sections.txt:
1826         * docs/gst/gstreamer.types:
1827         * docs/gst/tmpl/gstelement.sgml:
1828         * docs/gst/tmpl/gstplugin.sgml:
1829         * docs/gst/tmpl/gstpluginfeature.sgml:
1830           Documentation updates for registry changes.
1831
1832 2005-09-14  David Schleef  <ds@schleef.org>
1833
1834         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
1835           because we don't require glib-2.8.
1836
1837 2005-09-14  David Schleef  <ds@schleef.org>
1838
1839         * gst/gstregistryxml.c: Added.  Essentially moved out of the
1840           registries directory.
1841
1842 2005-09-14  David Schleef  <ds@schleef.org>
1843
1844         * check/Makefile.am:
1845         * check/generic/states.c:
1846         * gst/Makefile.am:
1847         * gst/gst.c:
1848         * gst/gst.h:
1849         * gst/gst_private.h:
1850         * gst/gstelementfactory.c:
1851         * gst/gstindex.c:
1852         * gst/gstinfo.c:
1853         * gst/gstplugin.c:
1854         * gst/gstplugin.h:
1855         * gst/gstpluginfeature.c:
1856         * gst/gstpluginfeature.h:
1857         * gst/gstregistry.c:
1858         * gst/gstregistry.h:
1859         * gst/gstregistrypool.c: remove
1860         * gst/gstregistrypool.h: remove
1861         * gst/gsttypefind.c:
1862         * gst/gsttypefindfactory.c:
1863         * gst/gsturi.c:
1864         * tools/Makefile.am:
1865         * tools/gst-compprep.c:
1866         * tools/gst-inspect.c:
1867         * tools/gst-register.c: remove
1868         * tools/gst-xmlinspect.c:
1869           Registry rewrite.  Changes registry from being a file created
1870           by a tool into a simple cache file created automatically by 
1871           libgstreamer.  Removed gst-register (because it's no longer
1872           needed).  Remove registry pools, because we only have one
1873           registry implementation (XML).  Fix up other subsystems as
1874           necessary.
1875
1876 2005-09-13  Michael Smith <msmith@fluendo.com>
1877
1878         * gst/gstconfig.h.in:
1879           Don't Use windows linking attributes for MinGW. Fixes #316157
1880
1881 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * gst/gstutils.c: (set_state_async_thread_func),
1884         (gst_element_set_state_async):
1885           Apparently people think it's better if this function doesn't
1886           try to set the state to whatever state was asked for on the first
1887           call to this function for any object.  Seriously.
1888
1889 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * check/gst/gstpipeline.c: (GST_START_TEST):
1892         * docs/gst/gstreamer-sections.txt:
1893         * gst/gstutils.c: (set_state_async_thread_func),
1894         (gst_element_set_state_async):
1895         * gst/gstutils.h:
1896           add a "gst_element_set_state_async" method that
1897           sets the state and starts a thread to make sure the state
1898           change completes as best as it can
1899
1900 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1901
1902         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1903           codify design+behaviour in testsuite after discussion
1904
1905 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1906
1907         * docs/gst/tmpl/gstelement.sgml:
1908         * docs/manual/appendix-quotes.xml:
1909           add a quote
1910         * gst/gstelement.c: (gst_element_set_state):
1911           add some debug
1912
1913 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
1914
1915         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1916         (gst_base_transform_prepare_output_buf),
1917         (gst_base_transform_handle_buffer):
1918         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
1919         (gst_capsfilter_prepare_buf):
1920           Remove the requirement for sub-classes to call the parent
1921           implementation of prepare_output_buffer with a wrapper function.
1922           
1923         * gst/gsttaglist.h:
1924         * gst/gsttagsetter.h:
1925           Fix #define wrapper
1926
1927 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
1928
1929         * docs/gst/gstreamer-sections.txt:
1930           more doc cleanups
1931
1932 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1933
1934         * docs/gst/gstreamer-sections.txt:
1935         * docs/gst/tmpl/gstelement.sgml:
1936         * docs/gst/tmpl/gstplugin.sgml:
1937         * gst/gstminiobject.c:
1938         * gst/gstvalue.h:
1939           docs now stop throwing warnings
1940
1941 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1942
1943         * docs/gst/gstreamer-sections.txt:
1944         * docs/gst/gstreamer.types:
1945         * docs/gst/tmpl/gstpad.sgml:
1946         * docs/gst/tmpl/gsttypes.sgml:
1947         * gst/base/gstadapter.h:
1948         * gst/base/gstbasesink.h:
1949         * gst/base/gstbasesrc.h:
1950         * gst/gstbin.h:
1951         * gst/gstbuffer.h:
1952         * gst/gstbus.h:
1953         * gst/gstcaps.h:
1954         * gst/gstclock.h:
1955         * gst/gstelement.h:
1956         * gst/gstevent.h:
1957         * gst/gstmessage.h:
1958         * gst/gstpad.h:
1959         * gst/gststructure.c:
1960         * gst/registries/gstlibxmlregistry.h:
1961           various documentation fixes
1962
1963 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * docs/gst/gstreamer-sections.txt:
1966         * docs/gst/tmpl/gstvalue.sgml:
1967           rearrange gstvalue section
1968         * gst/gstutils.c: (gst_element_state_get_name):
1969           NONE -> VOID
1970         * gst/gstvalue.c: (_gst_value_initialize):
1971         * gst/gstvalue.h:
1972           doc updates
1973
1974 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
1975
1976         * check/gst-libs/controller.c:
1977           Header include fix.
1978         * gst/base/gstbasetransform.c:
1979         (gst_base_transform_default_prepare_buf),
1980         (gst_base_transform_handle_buffer):
1981         * gst/base/gstbasetransform.h:
1982           Some more basetransform changes and fixes to enable sub-classes
1983           that modify buffer metadata only.
1984         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1985         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
1986         (gst_capsfilter_prepare_buf):
1987           If the output pad has fixed allowed caps and input buffers 
1988           don't have any, set the fixed caps on outgoing buffers.
1989
1990 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
1991         * check/elements/identity.c: (GST_START_TEST):
1992           Make the error a little clearer when the test fails because
1993           identity made a copy of the buffer.
1994         * docs/gst/gstreamer-sections.txt:
1995           New symbols in gstbasetransform.h
1996         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1997         (gst_base_transform_init), (gst_base_transform_transform_size),
1998         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1999         (gst_base_transform_default_prepare_buf),
2000         (gst_base_transform_get_unit_size),
2001         (gst_base_transform_buffer_alloc),
2002         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2003         (gst_base_transform_change_state),
2004         (gst_base_transform_set_passthrough),
2005         (gst_base_transform_set_in_place),
2006         (gst_base_transform_is_in_place):
2007         * gst/base/gstbasetransform.h:
2008           Change BaseTransform to separate in_place operate from same_caps
2009           output. in_place implies that the element can perform the transform
2010           on incoming buffers in-place, even if the caps on the output are
2011           different.
2012           Sub-class elements can now implement special buffer allocation
2013           methods for outgoing buffers if they wish to.
2014           Big documentation addition.
2015         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
2016         * gst/elements/gstelements.c:
2017           Changes for basetransform modifications.
2018         * gst/elements/Makefile.am:
2019         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
2020           Compile fix. Extra debug output.
2021
2022 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2023
2024         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
2025         (gst_pad_suite):
2026           add tests for valid pad naming
2027         * gst/check/gstcheck.c: (gst_check_log_message_func),
2028         (gst_check_log_critical_func):
2029           add ASSERT_WARNING
2030           remove printing of code, it is fragile when the code contains
2031           % and the line number is enough info
2032         * gst/check/gstcheck.h:
2033         * gst/gstpad.c: (gst_pad_template_new):
2034           fix memleaks
2035
2036 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2037
2038         * configure.ac:
2039           say what CHECK flags we use
2040         * docs/libs/gstreamer-libs.types:
2041         * libs/gst/controller/Makefile.am:
2042         * libs/gst/controller/gst-controller.c:
2043         * libs/gst/controller/gst-controller.h:
2044         * libs/gst/controller/gst-helper.c:
2045         * libs/gst/controller/gst-interpolation.c:
2046         * libs/gst/controller/gstcontroller.c:
2047         * libs/gst/controller/gsthelper.c:
2048         * libs/gst/controller/gstinterpolation.c:
2049         * tools/gst-inspect.c: (print_plugin_info):
2050           we don't use dashes in header names
2051
2052 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2053
2054         * check/Makefile.am:
2055         * check/gst/.cvsignore:
2056         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
2057         (gst_pipeline_suite), (main):
2058           adding a test for pipelines and state changes
2059         * gst/gstutils.c: (get_state_func):
2060           add some debugging
2061         * gstreamer.spec.in:
2062           fix up spec file
2063
2064 2005-09-08  Michael Smith <msmith@fluendo.com>
2065
2066         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
2067         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
2068         (gst_file_src_is_seekable), (gst_file_src_get_size),
2069         (gst_file_src_start):
2070         * gst/elements/gstfilesrc.h:
2071           Various fixes for unseekable, unmmapable, and non-normal files, so
2072           that fallback to read() rather than mmap() works.
2073         * gst/gstevent.c: (gst_event_new_newsegment):
2074           Allow newsegment events with segment_start == segment_end, as will
2075           correctly happen if you use filesrc on a zero-size file, for
2076           example.
2077
2078 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2079
2080         * gst/gstplugin.c: (gst_plugin_load_file):
2081           Call g_module_close when we don't load the module
2082
2083         * gst/registries/gstlibxmlregistry.c:
2084         (gst_xml_registry_get_property):
2085           Port leak fix from 0.8
2086
2087 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2088
2089         * docs/gst/gstreamer-docs.sgml:
2090         * docs/gst/tmpl/.cvsignore:
2091         * docs/gst/tmpl/gsttrace.sgml:
2092         * docs/gst/tmpl/gsttrashstack.sgml:
2093         * gst/Makefile.am:
2094         * gst/gst.h:
2095         * gst/gstelement.h:
2096         * gst/gstevent.h:
2097         * gst/gstmessage.c:
2098         * gst/gstmessage.h:
2099         * gst/gsttag.c:
2100         * gst/gsttag.h:
2101         * gst/gsttaginterface.c:
2102         * gst/gsttaginterface.h:
2103         * gst/gsttaglist.c:
2104         * gst/gsttaglist.h:
2105         * gst/gsttagsetter.c:
2106         * gst/gsttagsetter.h:
2107         * gst/gsttrace.c:
2108         * gst/gsttrace.h:
2109         * gst/gsttrashstack.c:
2110           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
2111           inlined docs for gsttrace, gsttrashstack
2112
2113 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2114
2115         * gst/Makefile.am:
2116         * gst/elements/gstbufferstore.h:
2117         * gst/elements/gsttypefindelement.c:
2118         * gst/elements/gsttypefindelement.h:
2119         * gst/gst.h:
2120         * gst/gsttypefind.c:
2121         * gst/gsttypefind.h:
2122         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
2123         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
2124         (gst_type_find_factory_dispose),
2125         (gst_type_find_factory_unload_thyself),
2126         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
2127         (gst_type_find_factory_get_caps),
2128         (gst_type_find_factory_get_extensions),
2129         (gst_type_find_factory_call_function):
2130         * gst/gsttypefindfactory.h:
2131         * gst/registries/gstlibxmlregistry.c:
2132         * gst/registries/gstxmlregistry.c:
2133           splitted gsttypefind into gsttypefind, gsttypefindfactory
2134
2135 2005-09-07  Andy Wingo  <wingo@pobox.com>
2136
2137         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
2138         condition whereby the pad's task function is entered before the
2139         pad_mode variable was set.
2140
2141 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2142
2143         * gst/gstpad.c: (gst_pad_alloc_buffer):
2144           Catch misbehaving pad_alloc functions that don't
2145           set up caps and do it for them.
2146
2147 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2148
2149         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2150           test for pipe!=NULL
2151         * docs/gst/tmpl/.cvsignore:
2152         * docs/gst/tmpl/gstmemchunk.sgml:
2153         * docs/gst/tmpl/gstparse.sgml:
2154         * docs/gst/tmpl/gsttaglist.sgml:
2155         * docs/gst/tmpl/gsttagsetter.sgml:
2156         * docs/gst/tmpl/gsttypefind.sgml:
2157         * docs/gst/tmpl/gsttypefindfactory.sgml:
2158         * gst/gstmemchunk.c:
2159         * gst/gstparse.c:
2160         * gst/gsttag.c:
2161         * gst/gsttaginterface.c:
2162         * gst/gsttypefind.c:
2163         * gst/gsttypefind.h:
2164           inlined more docs
2165
2166 === release 0.9.2 ===
2167
2168 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2169
2170         * NEWS:
2171         * RELEASE:
2172         * configure.ac:
2173           releasing 0.9.2, "South"
2174
2175 2005-09-05  Andy Wingo  <wingo@pobox.com>
2176
2177         * gst/registries/gstxmlregistry.h:
2178         * gst/registries/gstxmlregistry.c: Um... resurrect...
2179         
2180         * gst/registries/gstxmlregistry.h:
2181         * gst/registries/gstxmlregistry.c: and update to newer API.
2182         Incidentally they should be a bit faster now that they don't have
2183         to parse the caps.
2184         
2185 2005-09-05  Andy Wingo  <wingo@pobox.com>
2186
2187         * gst/registries/gstxmlregistry.h:
2188         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
2189         replaced by the libxml registry a while back
2190
2191 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2192
2193         * docs/gst/tmpl/gstplugin.sgml:
2194         * gst/elements/gstelements.c:
2195         * gst/gst.c:
2196         * gst/gstplugin.c: (gst_plugin_register_func),
2197         (gst_plugin_desc_copy), (gst_plugin_desc_free),
2198         (gst_plugin_get_source):
2199         * gst/gstplugin.h:
2200         * gst/registries/gstlibxmlregistry.c: (load_plugin),
2201         (gst_xml_registry_save_plugin):
2202         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
2203         (gst_xml_registry_save_plugin):
2204         * tools/gst-inspect.c: (print_plugin_info):
2205           add a "source" plugin description field, to represent the source
2206           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
2207           will set it to PACKAGE, which is automake's idea of the name of
2208           the source project.
2209
2210 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * Makefile.am:
2213         * autogen.sh:
2214         * configure.ac:
2215         * docs/Makefile.am:
2216         * docs/faq/Makefile.am:
2217         * docs/gst/tmpl/gstelement.sgml:
2218         * docs/gst/tmpl/gsttypes.sgml:
2219         * docs/htmlinstall.mak:
2220         * docs/manual/Makefile.am:
2221         * docs/pwg/Makefile.am:
2222           reorganize doc build a little
2223           split out docbook and gtk-doc stuff
2224           have two separate --enable's and enable them through autogen
2225           but disable by default in configure (to be similar to other
2226           projects)
2227         * gstreamer.spec.in:
2228           clean up docs install
2229         * po/af.po:
2230         * po/az.po:
2231         * po/ca.po:
2232         * po/cs.po:
2233         * po/de.po:
2234         * po/en_GB.po:
2235         * po/fr.po:
2236         * po/it.po:
2237         * po/nb.po:
2238         * po/nl.po:
2239         * po/ru.po:
2240         * po/sq.po:
2241         * po/sr.po:
2242         * po/sv.po:
2243         * po/tr.po:
2244         * po/uk.po:
2245         * po/vi.po:
2246           translation updates
2247
2248 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
2249
2250         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
2251           Add comment.
2252           
2253         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2254         (gst_fake_sink_change_state):
2255           Make state change function thread-safe.
2256           
2257         * gst/gstpad.c: (gst_pad_alloc_buffer):
2258           Set offset on generic buffer allocated by fallback.
2259
2260 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
2261
2262         * docs/gst/gstreamer-sections.txt:
2263         * docs/gst/tmpl/gstelement.sgml:
2264         * gst/gstpad.c:
2265         * libs/gst/controller/gst-controller.c:
2266         (gst_controlled_property_set_interpolation_mode),
2267         (gst_controlled_property_new),
2268         (gst_controller_find_controlled_property):
2269          run the wingo-magic script against the docs
2270
2271 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
2272
2273         * docs/gst/gstreamer-docs.sgml:
2274         * docs/gst/gstreamer-sections.txt:
2275         * docs/gst/tmpl/.cvsignore:
2276         * docs/gst/tmpl/gstelementdetails.sgml:
2277         * docs/gst/tmpl/gstelementfactory.sgml:
2278         * gst/gst.c:
2279         * gst/gstbus.c:
2280         * gst/gstelementfactory.c:
2281         * gst/gstelementfactory.h:
2282           merged elementdetails docs into elementfactory docs
2283           inlined both
2284
2285 2005-09-02  Andy Wingo  <wingo@pobox.com>
2286
2287         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
2288         consider this enum an enum and not a flags.
2289
2290 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
2291
2292         * docs/gst/gstreamer-docs.sgml:
2293         * docs/gst/tmpl/.cvsignore:
2294         * docs/gst/tmpl/gstghostpad.sgml:
2295         * docs/gst/tmpl/gstiterator.sgml:
2296         * docs/gst/tmpl/gstmacros.sgml:
2297         * docs/gst/tmpl/gstrealpad.sgml:
2298         * docs/gst/tmpl/gstregistry.sgml:
2299         * docs/gst/tmpl/gstregistrypool.sgml:
2300         * docs/gst/tmpl/gststructure.sgml:
2301         * docs/gst/tmpl/gstsystemclock.sgml:
2302         * docs/gst/tmpl/gsttrace.sgml:
2303         * gst/gstghostpad.c:
2304         * gst/gstmacros.h:
2305         * gst/gstmemchunk.c:
2306         * gst/gstmemchunk.h:
2307         * gst/gstqueue.c:
2308         * gst/gstregistry.c:
2309         * gst/gstregistrypool.c:
2310         * gst/gststructure.c:
2311         * gst/gstsystemclock.c:
2312           more docs inlined
2313
2314 2005-09-02  Andy Wingo  <wingo@pobox.com>
2315
2316         * gst/gstelement.h (GstState): Renamed from GstElementState,
2317         changed to be a normal enum instead of flags.
2318         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
2319         munged to be GST_STATE_CHANGE_*.
2320         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
2321         work with the new state representation.
2322         (GstStateChange): New enumeration of possible state transitions.
2323         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
2324         (GstElementClass::change_state): Pass the GstStateChange along as
2325         an argument. Helps language bindings, so they don't have to use
2326         tricky lock-needing macros like GST_STATE_CHANGE ().
2327
2328         * scripts/update-states (file): New script. Run it on a file to
2329         update it for state naming and API changes. Updates files in
2330         place.
2331
2332         * All files updated for the new API.
2333
2334 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
2337         * gst/gstutils.c: (gst_util_set_value_from_string),
2338         (gst_util_set_object_arg):
2339           fix a bunch of unchecked return values
2340         * tools/gst-complete.c: (main):
2341         * gstreamer.spec.in:
2342           clean up a little
2343
2344 2005-09-01  Wim Taymans  <wim@fluendo.com>
2345
2346         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2347         (gst_base_sink_event), (gst_base_sink_do_sync),
2348         (gst_base_sink_handle_event):
2349         * gst/base/gstbasesink.h:
2350         Handle newsegments more correctly.
2351
2352         * gst/gstbus.c:
2353         Fix docs.
2354
2355         * gst/gstevent.c: (gst_event_new_newsegment):
2356         A newsegment cannot have a start_time of -1
2357
2358 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
2359
2360         * win32/gstenumtypes.c:
2361         * win32/gstenumtypes.h:
2362           Update
2363
2364 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2365
2366         * libs/gst/controller/gst-controller.c:
2367         (gst_controlled_property_set_interpolation_mode),
2368         (gst_controlled_property_new):
2369          fixed boolean again
2370
2371 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2372
2373         * docs/faq/gst-uninstalled:
2374           add -good
2375         * gst/gstevent.c:
2376         * gst/gstevent.h:
2377           remove wrong docs
2378         * gst/gstutils.c: (gst_element_link_filtered):
2379         * gst/gstutils.h:
2380           add gst_element_link_filtered
2381
2382 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2383
2384         * docs/gst/gstreamer-docs.sgml:
2385         * docs/gst/gstreamer-sections.txt:
2386         * docs/gst/tmpl/.cvsignore:
2387         * docs/gst/tmpl/gsterror.sgml:
2388         * docs/gst/tmpl/gstfilter.sgml:
2389         * docs/gst/tmpl/gsturihandler.sgml:
2390         * docs/gst/tmpl/gsturitype.sgml:
2391         * docs/gst/tmpl/gstutils.sgml:
2392         * docs/gst/tmpl/gstxml.sgml:
2393         * gst/gsterror.c:
2394         * gst/gsterror.h:
2395         * gst/gstfilter.c:
2396         * gst/gsturi.c:
2397         * gst/gsturitype.c:
2398         * gst/gstutils.c:
2399         * gst/gstxml.c:
2400           inlined more docs, fixed double id-ref
2401
2402 2005-08-31  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2405         (gst_base_transform_handle_buffer):
2406         Passthrough elements don't need the caps as they don't care.
2407
2408 2005-08-31  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2411         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
2412         Don't leak refcounts on buffers.
2413
2414 2005-08-31  Wim Taymans  <wim@fluendo.com>
2415
2416         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
2417         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2418         (gst_base_transform_chain), (gst_base_transform_change_state):
2419         * gst/base/gstbasetransform.h:
2420         Handle the case where we are not negotiated more gracefully.
2421
2422 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
2423
2424         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
2425         (gst_file_src_map_region):
2426           Set READONLY flag on mmap'ed buffers, otherwise
2427           gst_buffer_make_writable() won't work properly (#314708).
2428
2429 2005-08-31  Wim Taymans  <wim@fluendo.com>
2430
2431         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
2432         passthrough elements can even do inplace on non writable
2433         buffers (as they don't touch them).
2434
2435 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2436
2437         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
2438         (gst_test_mono_source_set_property),
2439         (gst_test_mono_source_class_init), (GST_START_TEST),
2440         (gst_controller_suite):
2441           more tests (hehe I have the most)
2442         * gst/gstbus.c:
2443           describe popping messages whenusing mulltiple sources
2444         * libs/gst/controller/gst-controller.c:
2445         (gst_controlled_property_set_interpolation_mode),
2446         (gst_controlled_property_new):
2447         * libs/gst/controller/gst-controller.h:
2448         * libs/gst/controller/gst-interpolation.c:
2449           implement boolean properties
2450
2451 2005-08-31  Wim Taymans  <wim@fluendo.com>
2452
2453         * gst/gstminiobject.c: (gst_mini_object_ref):
2454         Cannot assert that the refcount has to be positive
2455         since a disposed object can be resurrected.
2456
2457 2005-08-31  Wim Taymans  <wim@fluendo.com>
2458
2459         * gst/gstpad.c: (gst_pad_init):
2460         Revert change, need to first fix badly behaving 
2461         apps.
2462
2463 2005-08-30  Wim Taymans  <wim@fluendo.com>
2464
2465         * check/elements/fakesrc.c: (setup_fakesrc):
2466         * check/elements/identity.c: (setup_identity):
2467         Activate pads before using them.
2468
2469 2005-08-30  Wim Taymans  <wim@fluendo.com>
2470
2471         * gst/base/gstadapter.c: (gst_adapter_flush):
2472         Flushing out 0 bytes is ok for this function.
2473
2474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2475         no newsegment gives a warning and sets the start/stop to 
2476         invalid.
2477
2478         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
2479         (gst_base_transform_set_passthrough):
2480         Some debug info.
2481
2482         * gst/gstminiobject.c: (gst_mini_object_ref):
2483         Check refcount here too.
2484
2485         * gst/gstpad.c: (gst_pad_init):
2486         Pads are initially flushing and refusing data.
2487
2488         * gst/gstutils.c: (gst_element_link_pads_filtered):
2489         When adding a capsfilter element make sure it has the
2490         same state as the parent bin.
2491
2492 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2493
2494         * docs/gst/tmpl/.cvsignore:
2495         * docs/gst/tmpl/gstformat.sgml:
2496         * docs/gst/tmpl/gstversion.sgml:
2497         * gst/gstbus.h:
2498         * gst/gstformat.c:
2499         * gst/gstformat.h:
2500         * gst/gstversion.h.in:
2501           more docs and two more inlined
2502
2503 2005-08-30  Wim Taymans  <wim@fluendo.com>
2504
2505         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
2506         Don't sync to clock.
2507
2508 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2509
2510         * docs/gst/gstreamer-sections.txt:
2511           ultral33t func10ns deserve to appear in the docs actually
2512         * docs/gst/tmpl/.cvsignore:
2513         * docs/gst/tmpl/gstcompat.sgml:
2514         * docs/gst/tmpl/gstconfig.sgml:
2515         * gst/check/gstcheck.c:
2516         * gst/gstcompat.h:
2517         * gst/gstconfig.h.in:
2518           inlined more docs
2519
2520 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2521
2522         * docs/gst/tmpl/.cvsignore:
2523         * docs/gst/tmpl/gstquery.sgml:
2524         * docs/gst/tmpl/gstutils.sgml:
2525         * gst/gstquery.c:
2526         * gst/gstquery.h:
2527           inlined and extended docs
2528
2529 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2530
2531         * check/gst-libs/controller.c: (GST_START_TEST),
2532         (gst_controller_suite):
2533           more tests
2534         * docs/gst/tmpl/gstutils.sgml:
2535         * docs/libs/gstreamer-libs-sections.txt:
2536         * docs/libs/tmpl/gstdataprotocol.sgml:
2537           include path fixes
2538         * examples/controller/audio-example.c: (main):
2539           controller example works now
2540         * gst/gstclock.h:
2541           doc fixes
2542         * tools/gst-inspect.c: (print_element_properties_info):
2543           show param spec flags
2544
2545 2005-08-29  Andy Wingo  <wingo@pobox.com>
2546
2547         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
2548
2549 2005-08-28  Andy Wingo  <wingo@pobox.com>
2550
2551         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
2552         as having two arguments instead of just one. Allows superclasses
2553         to access information on subclasses -- see the terrible for() loop
2554         in gtype.c:g_type_create_instance for the reason why. All callers
2555         changed.
2556
2557 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2558
2559         * docs/design/part-messages.txt:
2560           update info
2561         * docs/gst/tmpl/.cvsignore:
2562         * docs/gst/tmpl/gstcaps.sgml:
2563         * docs/gst/tmpl/gstclock.sgml:
2564         * gst/gstbus.c:
2565         * gst/gstcaps.c:
2566         * gst/gstcaps.h:
2567         * gst/gstclock.c:
2568         * gst/gstclock.h:
2569         * gst/gstmessage.c:
2570           added descriptions for bus and message
2571           inline caps and clock docs
2572
2573 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2574
2575         * gst/gstmessage.c:
2576         * gst/gstmessage.h:
2577           doc fixes
2578
2579 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2582           fix div-by-zero
2583
2584 2005-08-26  Andy Wingo  <wingo@pobox.com>
2585
2586         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
2587         element_set_state's return val.
2588         (test_2_elements): Add test that's been disabled for months.
2589
2590         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
2591         can-activate-pull properties.
2592
2593         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
2594         can-activate-pull properties. Implement is_seekable so fakesrc can
2595         operate in pull mode.
2596
2597         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
2598         properties.
2599         (gst_base_sink_activate, gst_base_sink_activate_pull)
2600         (gst_base_sink_activate_push): Make activation mode choosing work.
2601         Cleanups.
2602         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
2603         is right. Make pull mode work. Post an eos before pausing in pull
2604         mode.
2605         (gst_base_sink_change_state): Pay attention to the core's
2606         change_state() return val.
2607         
2608         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
2609         has-getrange properties. Cleanups.
2610         
2611         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
2612         has_getrange and replace with can_activate_pull and
2613         can_activate_push.
2614
2615         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
2616         locking comments. Remove has_loop, has_chain and replace with
2617         can_activate_pull and can_activate_push.
2618
2619 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
2620
2621         * configure.ac:
2622         * examples/Makefile.am:
2623         * examples/metadata/Makefile.am:
2624         * examples/metadata/read-metadata.c: (message_loop),
2625         (have_pad_handler), (make_pipeline), (print_tag), (main):
2626           Add metadata reading example that loops over a list of filenames,
2627           dumping any tags found.
2628
2629         * gst/gstbus.c: (gst_bus_dispose):
2630         * gst/gstelement.c: (gst_element_dispose):
2631           Release a few potentially-held references in dispose.
2632
2633 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2634
2635         * docs/gst/tmpl/gstminiobject.sgml:
2636           do *not* add tmpl/*.sgml files to CVS!
2637
2638 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2639
2640         * libs/gst/bytestream/.cvsignore:
2641         * libs/gst/bytestream/Makefile.am:
2642         * libs/gst/bytestream/adapter.c:
2643         * libs/gst/bytestream/adapter.h:
2644         * libs/gst/bytestream/bytestream.c:
2645         * libs/gst/bytestream/bytestream.h:
2646         * libs/gst/bytestream/filepad.c:
2647         * libs/gst/bytestream/filepad.h:
2648           removing obsolete files
2649
2650 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2651
2652         * docs/gst/gstreamer-docs.sgml:
2653         * docs/libs/gstreamer-libs-docs.sgml:
2654           disabed additional index entries again, as this makes docs-gen just
2655           slow and they aren't useful yet
2656         * docs/libs/gstreamer-libs-sections.txt:
2657           little -section.txt cleanup for libs
2658
2659 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2660
2661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2662         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
2663           fix up some debugging
2664         (gst_base_transform_get_unit_size),
2665         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
2666         (gst_base_transform_handle_buffer):
2667         * gst/base/gstbasetransform.h:
2668           handle and store timed NEWSEGMENT events so that subclasses that
2669           calculate time by counting samples have a segment_start time they
2670           need to add to their timestamps - see audioresample
2671
2672 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2673
2674         * gst/gstbin.h:
2675           removed ';' from the end of macro defs
2676         * docs/gst/gstreamer-docs.sgml:
2677         * docs/gst/gstreamer-sections.txt:
2678         * docs/gst/tmpl/.cvsignore:
2679         * gst/gstbus.h:
2680         * gst/gstelement.c: (gst_element_class_init),
2681         (gst_element_set_state), (activate_pads),
2682         (gst_element_save_thyself):
2683         * gst/gstevent.c: (gst_event_new_newsegment):
2684         * gst/gstevent.h:
2685         * gst/gstiterator.c:
2686         * gst/gstiterator.h:
2687         * gst/gstpad.c:
2688         * gst/gstprobe.h:
2689         * gst/gstutils.c: (gst_pad_query_convert):
2690         * gst/gstutils.h:
2691           fixed parameter name mismatches between source, header and docs
2692           added some more docs, resolved the last batch of unused elements in
2693           docs (now someone needs to doc them)
2694
2695 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2696
2697         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
2698         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
2699           don't walk through the plugins backwards.  Where is all this
2700           reversed logic coming from ?
2701
2702 2005-08-25  Wim Taymans  <wim@fluendo.com>
2703
2704         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2705         (gst_base_transform_transform_size),
2706         (gst_base_transform_configure_caps),
2707         (gst_base_transform_get_unit_size),
2708         (gst_base_transform_buffer_alloc),
2709         (gst_base_transform_change_state):
2710         * gst/base/gstbasetransform.h:
2711         Cache caps unit_size.
2712         Make sure we cannot negotiate up and downstream at the
2713         same time.
2714
2715 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2716
2717         * gst/gst.c: (init_pre), (init_post):
2718           register the installed plugin path after the env var
2719         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
2720         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
2721           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
2722           directories, so the tests can prefer uninstalled over installed
2723
2724 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2725
2726         * gst/base/gstbasetransform.h:
2727           comment
2728         * gst/gstpad.c:
2729           add to docs
2730
2731 2005-08-25  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstbin.c: (bin_bus_handler):
2734         Be a bit more conservative about the posted message.
2735         
2736         * gst/gstbus.c: (gst_bus_post):
2737         Some cleanups, warn wrong return values.
2738
2739 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
2740
2741         * check/gst/gstbin.c: (GST_START_TEST):
2742         * gst/gstbin.c: (bin_bus_handler):
2743         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2744         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2745         (gst_message_new_warning), (gst_message_new_tag),
2746         (gst_message_new_state_changed), (gst_message_new_segment_start),
2747         (gst_message_new_segment_done), (gst_message_new_custom):
2748         * gst/gstmessage.h:
2749         * tools/gst-launch.c: (event_loop):
2750         * tools/gst-md5sum.c: (event_loop):
2751           Revert unpopular change for GST_MESSAGE_SRC to GObject.
2752
2753 2005-08-25  Wim Taymans  <wim@fluendo.com>
2754
2755         * check/generic/states.c: (GST_START_TEST):
2756         Cleanup can be done at the end.
2757
2758         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
2759         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2760         (gst_task_get_state), (gst_task_start), (gst_task_pause):
2761         Oh boy.. Thanks for finding this, Thomas. 
2762
2763 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2764
2765         * docs/gst/gstreamer.types:
2766           added missing types
2767
2768 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2769
2770         * docs/gst/gstreamer-docs.sgml:
2771         * docs/gst/gstreamer-sections.txt:
2772         * docs/gst/tmpl/.cvsignore:
2773         * gst/gstbin.c:
2774         * gst/gstiterator.c:
2775         * gst/gstutils.c:
2776         * gst/registries/gstxmlregistry.h:
2777           added missing classes and symbols (123 more to go)
2778           removed removed symbols from section file
2779           fixed many doc-comments
2780
2781 2005-08-24  Wim Taymans  <wim@fluendo.com>
2782
2783         * check/generic/states.c: (GST_START_TEST):
2784         Make sure all tasks are stopped.
2785
2786         * check/gst/gstbin.c: (GST_START_TEST):
2787         Unref after usage for proper valgrinding.
2788
2789         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
2790         Really wait for the task to stop before destroying the
2791         mutex.
2792
2793         * gst/gstqueue.c: (gst_queue_sink_activate_push),
2794         (gst_queue_src_activate_push):
2795         Small cleanups. Don't stop the task when we did not start
2796         it.
2797
2798         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
2799         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2800         (gst_task_get_state), (gst_task_start), (gst_task_pause),
2801         (gst_task_join):
2802         * gst/gsttask.h:
2803         Protect the stream lock with the object lock.
2804         Disallow setting the stream lock when running.
2805         Add cleanup_all to wait for the threadpool to finish.
2806         Remove code to autoallocate a mutex if none was provided.
2807         Add _join() to wait for a task to stop.
2808         Protect the thread pool with a global lock.
2809
2810 2005-08-24  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2813         (gst_base_sink_get_times), (gst_base_sink_do_sync),
2814         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
2815         * gst/base/gstbasesink.h:
2816         Handle newsegment events correctly.
2817         Drop buffers out of the segment range.
2818
2819 2005-08-22  Andy Wingo  <wingo@pobox.com>
2820
2821         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
2822         macro, implements an interface and gstimplementsinterface for a
2823         new type.
2824
2825 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * check/Makefile.am:
2828         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
2829           add a test that does a bunch of state changes on elements
2830           needs some fixing for valgrind
2831         * check/states/sinks.c: (gst_object_suite):
2832           whitespace
2833         * gst/gstcaps.h:
2834           add prototype for gst_caps_is_equal_fixed
2835         * gst/gstplugin.c:
2836         * gst/gstregistrypool.c:
2837           doc fixes
2838
2839 2005-08-24  Andy Wingo  <wingo@pobox.com>
2840
2841         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
2842         convert a negative value. Doesn't make much sense. Mostly this is
2843         here to force callers to ensure -1 maps to -1.
2844
2845 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2846
2847         * docs/pwg/advanced-types.xml:
2848           Well done to Michael for catching my deliberate introduction
2849           of this spelling mistake. 
2850         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
2851         * gst/gstelement.h:
2852           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
2853           unlink pads before removing the element from the bin.
2854
2855 2005-08-24  Andy Wingo  <wingo@pobox.com>
2856
2857         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
2858         the same thing as GST_DEBUG=*:4.
2859         (parse_debug_level, parse_debug_category): New helper parsers.
2860
2861 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2862
2863         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2864         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
2865         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
2866         (gst_base_transform_buffer_alloc),
2867         (gst_base_transform_handle_buffer):
2868           use gboolean return values and pointers to size so we can use the
2869           full GST_BUFFER_SIZE range (guint) for buffer sizes
2870           use GstPadDirection for transform_caps
2871         * gst/base/gstbasetransform.h:
2872           rename get_size to get_unit_size since that's what it is
2873         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
2874           use GstPadDirection for transform_caps
2875         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2876         * gst/gstutils.h:
2877           cleanup and debugging
2878
2879 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2880
2881         * gst/gstelement.c: (gst_element_class_init),
2882         (gst_element_set_state), (activate_pads),
2883         (gst_element_save_thyself):
2884         * tools/gst-compprep.c: (main):
2885         * tools/gst-inspect.c: (print_element_properties_info):
2886         * tools/gst-xmlinspect.c: (print_element_properties):
2887           Fixed long standing mem-leak
2888
2889 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2890
2891         * check/gst/gstbin.c: (GST_START_TEST):
2892         * gst/gstbin.c: (bin_bus_handler):
2893         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2894         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2895         (gst_message_new_warning), (gst_message_new_tag),
2896         (gst_message_new_state_changed), (gst_message_new_segment_start),
2897         (gst_message_new_segment_done), (gst_message_new_custom):
2898         * gst/gstmessage.h:
2899         * tools/gst-launch.c: (event_loop):
2900         * tools/gst-md5sum.c: (event_loop):
2901           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
2902           that applications can sensibly post custom messages with references
2903           to their own objects.
2904
2905 2005-08-24  Andy Wingo  <wingo@pobox.com>
2906
2907         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
2908         already.
2909
2910 2005-08-24  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2913         (gst_base_transform_transform_caps),
2914         (gst_base_transform_transform_size),
2915         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2916         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2917         (gst_base_transform_handle_buffer):
2918         * gst/base/gstbasetransform.h:
2919         Many fixes and new features added by Thomas. Can now also do
2920         transforms with variable sizes and a custom fixate_caps function.
2921
2922 2005-08-24  Wim Taymans  <wim@fluendo.com>
2923
2924         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2925         Some debugging.
2926
2927         * gst/gstclock.h:
2928         Cast to ClockTime before formatting to time.
2929
2930         * gst/gstutils.h:
2931         Cleanups.
2932
2933 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * check/gst-libs/controller.c: (GST_START_TEST),
2936         (gst_controller_suite):
2937         * docs/gst/tmpl/gstcaps.sgml:
2938         * docs/gst/tmpl/gstghostpad.sgml:
2939         * docs/gst/tmpl/gstquery.sgml:
2940         * docs/gst/tmpl/gstutils.sgml:
2941         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
2942         (gst_object_sink_values), (gst_object_get_value_arrays),
2943         (gst_object_get_value_array):
2944           gracefully handle helper method calls to objects that are not beeing
2945           controlled, added test case for that          
2946
2947 2005-08-23  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
2950         (gst_event_new_newsegment), (gst_event_parse_newsegment),
2951         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
2952         (gst_event_parse_qos), (gst_event_new_seek),
2953         (gst_event_parse_seek):
2954         * gst/gstevent.h:
2955         Some more debugging output and doc cleanups.
2956
2957         * gst/gstqueue.c: (gst_queue_handle_sink_event):
2958         Fix possible deadlock.
2959
2960 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2961
2962         * docs/gst/gstreamer-docs.sgml:
2963         * docs/gst/gstreamer-sections.txt:
2964         * docs/gst/gstreamer.types:
2965         * docs/gst/tmpl/.cvsignore:
2966         * gst/gstbin.h:
2967         * gst/gstbus.c:
2968         * gst/gstelement.c:
2969         * gst/gstevent.h:
2970           added 100 symbols from gstreamer-unused.txt to the right sections
2971           fixed more broken comments
2972           added GstBus to docs
2973
2974 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2975
2976         * docs/gst/gstreamer-sections.txt:
2977         * docs/gst/tmpl/.cvsignore:
2978         * docs/gst/tmpl/gstbin.sgml:
2979         * docs/gst/tmpl/gstbuffer.sgml:
2980         * gst/base/gstbasesrc.c:
2981         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2982         * gst/gstbuffer.c:
2983         * gst/gstbuffer.h:
2984         * tools/gst-launch.1.in:
2985           inlined more doc comments, added missing comments and fixed comments
2986           fixed typos
2987
2988 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2989
2990         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2991           some debugging
2992         * gst/gstcaps.h:
2993           whitespace fixes
2994         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
2995           more debugging
2996         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
2997         * gst/gststructure.h:
2998           add a fixate function for booleans; add a FIXME that these func
2999           names should probably be gst_structure_fixate_*
3000
3001 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
3002
3003         * docs/gst/gstreamer-docs.sgml:
3004         * docs/gst/gstreamer-sections.txt:
3005         * gst/Makefile.am:
3006         * gst/gstbin.c: (gst_bin_get_type),
3007         (gst_bin_child_proxy_get_child_by_index),
3008         (gst_bin_child_proxy_get_children_count),
3009         (gst_bin_child_proxy_init):
3010         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3011         (gst_child_proxy_get_child_by_index),
3012         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
3013         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
3014         (gst_child_proxy_get), (gst_child_proxy_set_property),
3015         (gst_child_proxy_set_valist), (gst_child_proxy_set),
3016         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
3017         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
3018         * gst/gstchildproxy.h:
3019         * gst/parse/grammar.y:
3020         * tools/gst-inspect.c: (print_interfaces),
3021         (print_element_properties_info), (print_element_info):
3022           ported gstchildproxy over from 0.8
3023           ported gst-inspect fixes and enhancements over from 0.8
3024
3025 2005-08-22  Wim Taymans  <wim@fluendo.com>
3026
3027         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3028         (gst_base_transform_handle_buffer):
3029         Also call the transform function if we have ANY caps.
3030
3031         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
3032         Fix debug info.
3033
3034 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
3035
3036         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
3037           Don't pretend to handle seek events if the source is not seekable
3038
3039 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
3040
3041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3042           Remove extra parameter to debug output
3043
3044         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3045         (gst_base_src_do_seek), (gst_base_src_activate_push):
3046           Fix seek event handling.
3047
3048         * gst/gstpipeline.c: (gst_pipeline_change_state):
3049         * gst/gstqueue.c: (gst_queue_handle_sink_event),
3050         (gst_queue_src_activate_push):
3051           Don't start the src pad task on FLUSH_STOP if the pad
3052           isn't linked.
3053           Debug changes.
3054
3055 2005-08-22  Wim Taymans  <wim@fluendo.com>
3056
3057         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3058         Added check for gst_static_caps_get() refcounting.
3059
3060 2005-08-22  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
3063         Make _static_caps_get() refcounting sane.
3064         
3065         * gst/gstelement.c: (gst_element_set_state):
3066         Add g_return_val_if_fail() to protect against segfaults.
3067
3068 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
3069
3070         * docs/gst/tmpl/gstevent.sgml:
3071         * gst/gstevent.c:
3072         * gst/gstevent.h:
3073           inlined remaining docs, added missing doc comments
3074
3075 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3076
3077         * check/gst/gstbin.c: (GST_START_TEST):
3078           since we don't know when preroll is done, use refcount range
3079           check for the sink
3080         * gst/check/gstcheck.h:
3081           add macro for checking refcount range
3082
3083 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * check/Makefile.am:
3086           clean up environment for when registry gets built versus
3087           when actual tests are run; valgrind seems to not report
3088           leaks if GST_PLUGIN_PATH is set to some specific values
3089         * check/gst/gstbin.c: (GST_START_TEST):
3090           add more refcounting checks; maybe this exposes a
3091           preroll lock bug ?
3092         * common/check.mak:
3093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3094         * gst/check/gstcheck.h:
3095         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
3096         (gst_bin_change_state):
3097         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
3098           add/fix debugging/whitespace
3099
3100 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3101
3102         * check/gst/gstevent.c: (event_probe), (test_event),
3103         (GST_START_TEST):
3104          Er, don't call gst_bin_watch_for_state_change you idiot.
3105
3106 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3107
3108         * check/Makefile.am:
3109           Use CHECK_CFLAGS and CHECK_LIBS
3110         * check/gst/gstevent.c: (event_probe), (test_event),
3111         (GST_START_TEST):
3112           Don't leak events.
3113         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3114         (gst_base_src_start), (gst_base_src_stop),
3115         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3116         (gst_base_src_change_state):
3117           Sprinkle gst_base_src_stop liberally around error paths to fix
3118           problems reusing a source after failed state changes.
3119         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3120         (helper_find_suggest), (gst_type_find_helper):
3121           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
3122         * gst/gstevent.h:
3123         * docs/gst/tmpl/gstevent.sgml:
3124           Migrate part of the docs from the SGML file. Wait for ensonic to
3125           tell me how I did it wrong ;)
3126         * tools/gst-typefind.c: (main):
3127           Extra robustness to state changes between files.
3128
3129 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3130
3131         * check/Makefile.am:
3132           don't valgrind the controller test - it's leaking - Stefan, HELP
3133         * gst/check/gstcheck.c: (gst_check_message_error),
3134         (gst_check_chain_func), (gst_check_setup_element),
3135         (gst_check_teardown_element), (gst_check_setup_src_pad),
3136         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3137         (gst_check_teardown_sink_pad):
3138         * gst/check/gstcheck.h:
3139           add a bunch of methods to set up elements, and src and sink pads
3140         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
3141         * check/elements/identity.c: (setup_identity), (cleanup_identity),
3142         (GST_START_TEST):
3143           use them
3144         * gst/gstmessage.c:
3145         * gst/gsttag.h:
3146           whitespace/doc fixes
3147
3148 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * gst/gstelement.h:
3151           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
3152           be handled by the application and not always printed as well
3153
3154 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         * check/Makefile.am:
3157           set GST_TOOLS_DIR
3158         * gst/check/gstcheck.c: (gst_check_message_error):
3159         * gst/check/gstcheck.h:
3160           add a fail_unless_equals_int
3161           add fail_unless for error messages
3162
3163 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3164
3165         * check/Makefile.am:
3166         * check/gst.supp:
3167         * common/Makefile.am:
3168         * common/check.mak:
3169         * common/gst.supp:
3170           factor out some of the common stuff so we can use it
3171
3172 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3173
3174         * check/Makefile.am:
3175         * check/gst/gstiterator.c: (GST_START_TEST):
3176         * check/gst/gstsystemclock.c: (GST_START_TEST),
3177         (gst_systemclock_suite):
3178         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3179         * gst/gstclock.c:
3180           valgrind more tests
3181
3182 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3183
3184         * check/elements/.cvsignore:
3185         * check/elements/gstfakesrc.c:
3186           rename to name of element
3187         * check/elements/identity.c: (chain_func), (event_func),
3188         (setup_identity), (cleanup_identity), (GST_START_TEST),
3189         (identity_suite), (main):
3190           add a test for identity
3191         * check/Makefile.am:
3192         * pkgconfig/Makefile.am:
3193         * pkgconfig/gstreamer-check.pc.in:
3194         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3195         * gst/check:
3196         * gst/Makefile.am:
3197         * configure.ac:
3198           move the check stuff to a library that gets installed
3199         * check/gst-libs/controller.c: (GST_START_TEST):
3200         * check/gst-libs/gdp.c:
3201         * check/gst/gst.c: (GST_START_TEST):
3202         * check/gst/gstbin.c:
3203         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3204         * check/gst/gstbus.c:
3205         * check/gst/gstcaps.c: (GST_START_TEST):
3206         * check/gst/gstelement.c:
3207         * check/gst/gstghostpad.c:
3208         * check/gst/gstiterator.c:
3209         * check/gst/gstmessage.c:
3210         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
3211         * check/gst/gstobject.c:
3212         * check/gst/gstpad.c: (GST_START_TEST):
3213         * check/gst/gststructure.c: (GST_START_TEST):
3214         * check/gst/gstsystemclock.c: (GST_START_TEST),
3215         (gst_systemclock_suite):
3216         * check/gst/gsttag.c: (gst_tag_suite):
3217         * check/gst/gstvalue.c:
3218         * check/pipelines/cleanup.c:
3219         * check/pipelines/simple_launch_lines.c:
3220         * check/states/sinks.c:
3221           change include statement
3222
3223         * docs/gst/gstreamer-sections.txt:
3224         * docs/gst/tmpl/gstpad.sgml:
3225           document more pad stuff
3226         * gst/gstminiobject.c: (gst_mini_object_ref),
3227         (gst_mini_object_unref):
3228           debug refcounting
3229
3230 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
3231
3232         * docs/gst/tmpl/gst.sgml:
3233         * gst/gst.c:
3234           eliminate another tmpl file, fix spelling in the long-description
3235
3236 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3237
3238         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3239         (test_event), (timediff), (gstevents_suite):
3240           Should fix build on 64-bit arch's
3241
3242 2005-08-18  Andy Wingo  <wingo@pobox.com>
3243
3244         Make sure that when a pipeline goes to PLAYING, that data has
3245         actually hit the sink.
3246
3247         * check/states/sinks.c (test_sink): A sink that doesn't get any
3248         data shouldn't return SUCCESS for going to either PLAYING or
3249         PAUSED. Test also the return values on the way back down.
3250
3251         * gst/gstelement.c (gst_element_set_state): When changing the
3252         state of an element currently changing state asynchronously, go to
3253         lost-state after commiting the pending state. Makes future calls
3254         to get_state continue to return ASYNC.
3255
3256         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
3257         ASYNC when going to PLAYING if we still don't have preroll, as can
3258         happen with live sources.
3259
3260 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3261
3262         * docs/pwg/advanced-types.xml:
3263           Hack long paragraph into 2 chunks as a workaround for buggy
3264           jadetex version in sid and breezy that loops infinitely and
3265           eats all RAM.
3266
3267 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3268
3269         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3270         (test_event), (timediff), (gstevents_suite):
3271           Provide more error margin in clock measurements to allow for 
3272           g_get_current_time inaccuracies.
3273
3274 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3275
3276         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3277         (test_event), (timediff), (gstevents_suite):
3278            Fix error message output so I might be able to tell why the
3279            test works here but fails on the build farm.
3280
3281 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3282
3283         * check/Makefile.am:
3284         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3285         (test_event), (timediff), (gstevents_suite), (main):
3286           I wrote a test!
3287
3288         * docs/design/part-seeking.txt:
3289           Spelling correction
3290
3291         * docs/gst/tmpl/gstevent.sgml:
3292         * docs/gst/tmpl/gstfakesrc.sgml:
3293           Docs updates.
3294
3295         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3296           Treat a buffer-without-newsegment the same as a receiving 
3297           a newsegment not in time format, and disable syncing to the clock
3298           with a warning.
3299
3300         * gst/gstbus.c: (gst_bus_set_sync_handler):
3301           Assert if anyone tries to replace the existing sync_handler for bus, 
3302           as only the owner should be setting it.
3303
3304         * gst/gstevent.h:
3305           Have a fixed set of custom event enums with events identified by
3306           their structure name (as in 0.8), rather than a free-for-all
3307           allowing collisions between enum values from different plugins.
3308
3309         * gst/gstpad.c: (gst_pad_class_init):
3310           Docs change.
3311           
3312         * gst/gstqueue.c: (gst_queue_handle_sink_event):
3313           Handle out-of-band downstream events from the sending thread.
3314
3315 2005-08-17  Andy Wingo  <wingo@pobox.com>
3316
3317         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
3318         play-timeout==0 to mean no timeout at all. In that case, don't
3319         bother with a get_state or a warning, just return directly, even
3320         if it's ASYNC.
3321
3322         * gst/base/gstbasetransform.c: Debug changes.
3323
3324         * gst/gstutils.h:
3325         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
3326         ensure bins post state change messages. A bit of a hack but I can't
3327         think of a way to avoid it.
3328
3329         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
3330
3331 2005-08-16  Andy Wingo  <wingo@pobox.com>
3332
3333         * gst/base/gstadapter.h:
3334         * gst/base/gstadapter.c (gst_adapter_take): New function, like
3335         peek() but you own the data. Not terribly efficient atm.
3336
3337 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3338
3339         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
3340         (gst_element_found_tags):
3341         * gst/gstutils.h:
3342           Add two utility functions for tag handling.
3343
3344 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3345
3346         * docs/manual/advanced-dataaccess.xml:
3347         * docs/manual/basics-helloworld.xml:
3348           Fix docs to use _bin_add() before _link(), which fixes the examples
3349           with recent core versions (reported by Madhan Raj M
3350           <raj_madan@rediffmail.com>, #313199).
3351
3352 2005-08-16  Wim Taymans  <wim@fluendo.com>
3353
3354         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3355         Added subtract checks.
3356
3357         * docs/design/part-events.txt:
3358         Some more docs about newsegment
3359
3360         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
3361         Fix FIXME
3362
3363         * gst/gstcaps.c: (gst_caps_to_string):
3364         Add comments, cleanups.
3365         
3366         * gst/gstelement.c: (gst_element_save_thyself):
3367         cleanups
3368         
3369         * gst/gstvalue.c: (gst_value_collect_int_range),
3370         (gst_string_unwrap), (gst_value_union_int_int_range),
3371         (gst_value_union_int_range_int_range),
3372         (gst_value_intersect_int_int_range),
3373         (gst_value_intersect_int_range_int_range),
3374         (gst_value_intersect_double_double_range),
3375         (gst_value_intersect_double_range_double_range),
3376         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
3377         (gst_value_subtract_int_range_int),
3378         (gst_value_subtract_double_range_double),
3379         (gst_value_subtract_double_range_double_range),
3380         (gst_value_subtract_from_list), (gst_value_subtract_list),
3381         (gst_value_can_compare), (gst_value_compare_fraction):
3382         Cleanups, add comments, remove unneeded asserts.
3383
3384 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3385
3386         * tools/gst-launch.c: (event_loop):
3387           don't convert NULL structures to strings
3388
3389 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
3390
3391         * docs/gst/gstreamer-sections.txt:
3392           made some defines private
3393         * docs/gst/tmpl/gstconfig.sgml:
3394         * docs/gst/tmpl/gstqueue.sgml:
3395         * docs/gst/tmpl/gsttaglist.sgml:
3396         * docs/gst/tmpl/gsttypes.sgml:
3397         * docs/gst/tmpl/gstutils.sgml:
3398         * docs/pwg/appendix-porting.xml:
3399         * gst/base/gstbasesink.h:
3400         * gst/base/gstbasesrc.c:
3401         * gst/base/gstbasesrc.h:
3402         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
3403         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
3404         * gst/gstelement.c: (gst_element_class_init):
3405         * gst/gstpad.c: (gst_pad_class_init):
3406         * gst/gstqueue.c: (gst_queue_class_init):
3407         * gst/gstxml.c: (gst_xml_class_init):
3408           documented all undocumented signal inline
3409         * libs/gst/controller/gst-controller.h:
3410           added padding
3411
3412 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3413
3414         * docs/pwg/appendix-porting.xml:
3415           Document _set_link_function -> _set_setcaps_function.
3416
3417 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * check/Makefile.am:
3420           add a .check target for running the check
3421         * check/gst-libs/controller.c: (GST_START_TEST):
3422           cosmetic fixups
3423         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3424           complete checks for gstbuffer; would be nice if I could get the
3425           gcov stuff to work so I can see if I actually completed gstbuffer.c
3426         * check/gstcheck.h:
3427           add ASSERT_BUFFER_REFCOUNT
3428
3429 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
3430
3431         * docs/gst/gstreamer-sections.txt:
3432         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
3433         * gst/gsttag.h:
3434           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
3435           spew out a warning if a tag that is already registered
3436           is re-registered, unless it is re-registered with a 
3437           different type (#308438).
3438
3439 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * docs/pwg/appendix-porting.xml:
3442         * docs/pwg/building-state.xml:
3443           Add some paragraphs about state changes in 0.9 to the PWG
3444           and the porting guide, in particular about the new meaning
3445           of GST_STATE_PAUSED and how to write state change functions
3446           with concurrent access by multiple threads in mind.
3447
3448 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
3449
3450         * docs/gst/gstreamer-docs.sgml:
3451         * docs/libs/gstreamer-libs-docs.sgml:
3452           added deprecation and since indexes
3453         * libs/gst/controller/gst-controller.c:
3454         * libs/gst/controller/gst-helper.c:
3455           added since tags
3456
3457
3458 2005-08-11  Wim Taymans  <wim@fluendo.com>
3459
3460         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
3461         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
3462         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
3463         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
3464         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
3465         (gst_ghost_pad_set_target):
3466         Actually implement (re)setting the target on a ghostpad
3467         as described in the docs.
3468
3469 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3470
3471         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
3472           Check whether GST_DEBUG_NO_COLOR environment variable is
3473           set and disable coloured debug output if that is the case.
3474
3475 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3476
3477         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3478         (gst_type_find_helper):
3479           The memory returned by gst_type_find_peek() needs to
3480           stay valid until the end of a typefind function, and
3481           typefind functions may keep results from different 
3482           offsets around, so we can't just unref the buffer from
3483           the previous _peek(), but have to save all buffers 
3484           returned by _peek() until typefinding is done and only
3485           free them then.
3486
3487 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * docs/gst/gstreamer-sections.txt:
3490         * gst/gstutils.h:
3491           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
3492
3493 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3494
3495         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3496           Fix a pretty good memleak.
3497
3498 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * gst/gstiterator.h:
3501           Fix wrong include and 'make distcheck'.
3502
3503 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3504
3505         * gst/gstbin.c: (bin_bus_handler):
3506           Use gst_element_post_message() instead.
3507
3508 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3509
3510         * gst/base/gstadapter.h:
3511         * gst/base/gstbasesink.h:
3512         * gst/base/gstbasesrc.h:
3513         * gst/base/gstbasetransform.h:
3514         * gst/base/gstcollectpads.h:
3515         * gst/base/gstpushsrc.h:
3516         * gst/gstiterator.h:
3517           Add padding to our base elements' class and instance structs and
3518           to GstIterator (you will need to rebuild all plugins and apps!)
3519
3520 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3521
3522         * gst/gstbin.c: (bin_bus_handler):
3523           Make default message forwarding from child->bus to bin->bus
3524           threadsafe and make it not emit warnings if the parent has no bus.
3525
3526 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3527
3528         * gst/gstelement.c: (activate_pads):
3529           On paused->ready, set pad->caps to NULL, as is the documented
3530           behaviour in this state change. Fixes playback of series of
3531           media files when visualization is enabled in Totem.
3532
3533 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3534
3535         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3536           Allow NULL as filter-caps (which means "any").
3537
3538 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3539
3540         * docs/libs/gstreamer-libs-sections.txt:
3541         * libs/gst/controller/gst-controller.c:
3542         * libs/gst/controller/gst-controller.h:
3543         * libs/gst/controller/gst-helper.c:
3544           adding more entries to the docs and fix small doc-bugs
3545
3546 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3547
3548         * docs/gst/gstreamer-docs.sgml:
3549         * docs/gst/gstreamer-sections.txt:
3550         * docs/gst/gstreamer.types:
3551         * docs/gst/tmpl/gstbasesink.sgml:
3552         * docs/gst/tmpl/gstbasesrc.sgml:
3553         * docs/gst/tmpl/gstbasetransform.sgml:
3554         * docs/gst/tmpl/gstfakesrc.sgml:
3555         * gst/base/gstcollectpads.c:
3556         * gst/base/gstcollectpads.h:
3557         * libs/gst/controller/gst-controller.c:
3558         * libs/gst/controller/gst-controller.h:
3559         * libs/gst/controller/gst-helper.c:
3560         * libs/gst/controller/gst-interpolation.c:
3561         * libs/gst/controller/lib.c:
3562           added long/short desc for controller docs
3563           added collectpads base class docs
3564           added correct includes to base-class docs
3565
3566 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3567
3568         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3569         (gst_test_mono_source_set_property),
3570         (gst_test_mono_source_class_init), (GST_START_TEST),
3571         (gst_controller_suite):
3572         * docs/gst/gstreamer-docs.sgml:
3573         * docs/gst/gstreamer-sections.txt:
3574         * docs/gst/gstreamer.types:
3575         * docs/libs/gstreamer-libs-docs.sgml:
3576         * docs/libs/gstreamer-libs-sections.txt:
3577         * gst/base/gstadapter.c:
3578         * libs/gst/controller/gst-controller.c:
3579         (gst_controlled_property_new), (gst_controlled_property_free),
3580         (gst_controller_new_valist),
3581         (gst_controller_remove_properties_valist),
3582         (gst_controller_sink_values), (_gst_controller_finalize):
3583         * libs/gst/controller/gst-controller.h:
3584         * libs/gst/controller/gst-helper.c:
3585         (gst_object_control_properties), (gst_object_uncontrol_properties),
3586         (gst_object_get_controller), (gst_object_set_controller),
3587         (gst_object_sink_values), (gst_object_get_value_arrays),
3588         (gst_object_get_value_array):
3589           more tests (and fixes) for the controller
3590           more docs for the controller
3591           integrated companies docs for the adapter 
3592
3593 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
3596         (GST_START_TEST), (fakesrc_suite):
3597           add tests for sizetype
3598
3599 2005-08-04  Andy Wingo  <wingo@pobox.com>
3600
3601         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
3602         fixes buffer_alloc proxying among other things.
3603
3604         * gst/base/gstbasetransform.c:
3605         * gst/base/gstbasetransform.h:
3606         Revert patch to gstbasetransform from 7-28 removing
3607         delay_configure.
3608
3609         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
3610         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
3611         Semantics changed, should return not the size of the output buffer
3612         but the byte size of a buffer with a given caps.
3613
3614         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
3615         debug object.
3616         (gst_base_transform_configure_caps): Don't set out_size here: (in,
3617         out) are not the pad caps until setcaps finishes.
3618         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
3619         not-in-place case as well. Deal with changing from in-place to
3620         not-in-place within calling pad_alloc_buffer. Still a bit
3621         concerned about the overhead here...
3622
3623 2005-08-03  Andy Wingo  <wingo@pobox.com>
3624
3625         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
3626         fixating is an error.
3627
3628 2005-08-04  Edward Hervey  <edward@fluendo.com>
3629
3630         * gst/base/gstadapter.h: 
3631         Added gst_adapter_get_type() to the header
3632
3633 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * check/Makefile.am:
3636         * check/gst-libs/controller.c:
3637         * libs/gst/controller/gst-controller.c:
3638         (gst_controller_new_valist):
3639           added check test suite for the controller
3640         * gst/base/gstpushsrc.c:
3641           fixed a doc typo
3642
3643 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3644
3645         * docs/gst/Makefile.am:
3646         * docs/gst/gstreamer-docs.sgml:
3647         * docs/gst/gstreamer-sections.txt:
3648         * docs/gst/gstreamer.types:
3649         * docs/gst/tmpl/gstfakesrc.sgml:
3650         * gst/base/README:
3651         * gst/base/gstbasesink.c:
3652         * gst/base/gstbasesink.h:
3653         * gst/base/gstbasesrc.c:
3654         * gst/base/gstbasesrc.h:
3655         * gst/base/gstbasetransform.c:
3656         * gst/base/gstpushsrc.c:
3657         * gst/base/gstpushsrc.h:
3658           add short/long description docs to base classes
3659           add pushsrc to the docs
3660           remove consolidated doc fragments
3661
3662 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3663
3664         * configure.ac:
3665         * docs/libs/Makefile.am:
3666         * docs/libs/gstreamer-libs-docs.sgml:
3667         * docs/libs/gstreamer-libs-sections.txt:
3668         * docs/libs/gstreamer-libs.types:
3669         * examples/Makefile.am:
3670         * examples/controller/.cvsignore:
3671         * examples/controller/Makefile.am:
3672         * examples/controller/audio-example.c: (main):
3673         * libs/gst/Makefile.am:
3674         * libs/gst/controller/.cvsignore:
3675         * libs/gst/controller/Makefile.am:
3676         * libs/gst/controller/gst-controller.c:
3677         (on_object_controlled_property_changed), (gst_timed_value_compare),
3678         (gst_timed_value_find),
3679         (gst_controlled_property_set_interpolation_mode),
3680         (gst_controlled_property_new), (gst_controlled_property_free),
3681         (gst_controller_find_controlled_property),
3682         (gst_controller_new_valist), (gst_controller_new),
3683         (gst_controller_remove_properties_valist),
3684         (gst_controller_remove_properties), (gst_controller_set),
3685         (gst_controller_set_from_list), (gst_controller_unset),
3686         (gst_controller_get), (gst_controller_get_all),
3687         (gst_controller_sink_values), (gst_controller_get_value_arrays),
3688         (gst_controller_get_value_array),
3689         (gst_controller_set_interpolation_mode),
3690         (_gst_controller_finalize), (_gst_controller_init),
3691         (_gst_controller_class_init), (gst_controller_get_type):
3692         * libs/gst/controller/gst-controller.h:
3693         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
3694         (g_object_uncontrol_properties), (g_object_get_controller),
3695         (g_object_set_controller), (g_object_sink_values),
3696         (g_object_get_value_arrays), (g_object_get_value_array):
3697         * libs/gst/controller/gst-interpolation.c:
3698         (gst_controlled_property_find_timed_value_node),
3699         (interpolate_none_get), (interpolate_trigger_get),
3700         (interpolate_trigger_get_value_array):
3701         * libs/gst/controller/lib.c: (gst_controller_init):
3702         * pkgconfig/Makefile.am:
3703         * pkgconfig/gstreamer-control-uninstalled.pc.in:
3704         * pkgconfig/gstreamer-control.pc.in:
3705         * testsuite/Makefile.am:
3706         * testsuite/controller/.cvsignore:
3707         * testsuite/controller/Makefile.am:
3708         * testsuite/controller/interpolator.c: (main):
3709           added controller code
3710           removed dparam pc files
3711
3712 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3713         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
3714         (gst_collectpads_stop):
3715           Broadcast the condition when shutting down, to make sure we wake all
3716           threads up. Shut down pads on finalize, for safety.
3717
3718 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3719         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3720         (gst_base_transform_handle_buffer),
3721         (gst_base_transform_change_state):
3722           Handle PAUSED->READY->PAUSED transition after negotiation
3723           occurred already.
3724         * gst/gstmessage.c: (gst_message_init):
3725           Extra piece of debug for new messages.
3726
3727 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
3728
3729         * configure.ac:
3730         * docs/gst/tmpl/gstbasesrc.sgml:
3731         * docs/gst/tmpl/gstelement.sgml:
3732         * docs/gst/tmpl/gstevent.sgml:
3733         * docs/gst/tmpl/gstfakesrc.sgml:
3734         * docs/gst/tmpl/gstformat.sgml:
3735         * docs/gst/tmpl/gstghostpad.sgml:
3736         * docs/gst/tmpl/gstpad.sgml:
3737         * docs/gst/tmpl/gstquery.sgml:
3738         * docs/gst/tmpl/gststructure.sgml:
3739         * docs/gst/tmpl/gsttaglist.sgml:
3740         * docs/gst/tmpl/gstvalue.sgml:
3741         * docs/libs/gstreamer-libs-docs.sgml:
3742         * docs/libs/gstreamer-libs-sections.txt:
3743         * docs/libs/gstreamer-libs.types:
3744         * libs/gst/Makefile.am:
3745         * libs/gst/control/.cvsignore:
3746         * libs/gst/control/Makefile.am:
3747         * libs/gst/control/control.c:
3748         * libs/gst/control/control.h:
3749         * libs/gst/control/dparam.c:
3750         * libs/gst/control/dparam.h:
3751         * libs/gst/control/dparam_smooth.c:
3752         * libs/gst/control/dparam_smooth.h:
3753         * libs/gst/control/dparamcommon.h:
3754         * libs/gst/control/dparammanager.c:
3755         * libs/gst/control/dparammanager.h:
3756         * libs/gst/control/dplinearinterp.c:
3757         * libs/gst/control/dplinearinterp.h:
3758         * libs/gst/control/unitconvert.c:
3759         * libs/gst/control/unitconvert.h:
3760         * testsuite/Makefile.am:
3761         * testsuite/dynparams/.cvsignore:
3762         * testsuite/dynparams/Makefile.am:
3763         * testsuite/dynparams/dparamstest.c:
3764         * tools/Makefile.am:
3765         * tools/gst-inspect.c: (print_element_info), (main):
3766         * tools/gst-xmlinspect.c: (print_element_info), (main):
3767           deactivate and remove dparams (libgstcontrol)
3768
3769 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3770
3771         * gst/elements/gsttypefindelement.c:
3772         (gst_type_find_element_have_type), (gst_type_find_element_init),
3773         (stop_typefinding), (gst_type_find_element_handle_event),
3774         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3775         * gst/elements/gsttypefindelement.h:
3776           Set caps on all outgoing buffers, not just the first one.
3777
3778 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3779
3780         * gst/elements/gsttypefindelement.c:
3781         (gst_type_find_element_have_type),
3782         (gst_type_find_element_check_set_buffer_caps),
3783         (gst_type_find_element_init), (stop_typefinding),
3784         (gst_type_find_element_handle_event),
3785         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3786         * gst/elements/gsttypefindelement.h:
3787           Set caps on first outgoing buffer when we've found the type.
3788
3789 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * docs/gst/gstreamer-docs.sgml:
3792         * docs/gst/gstreamer-sections.txt:
3793         * docs/gst/tmpl/gstscheduler.sgml:
3794         * docs/gst/tmpl/gstschedulerfactory.sgml:
3795           Remove some old cruft from docs.
3796
3797 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
3798
3799         * gst/gstpad.h:
3800           Fix inline docs for GstPadLinkReturn.
3801           
3802         * gst/gststructure.c: (gst_structure_has_name):
3803         * gst/gststructure.h:
3804         * docs/gst/gstreamer-sections.txt:
3805           New API: gst_structure_has_name().
3806
3807 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
3808
3809         * configure.ac:
3810           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
3811           and _LARGEFILE_SOURCE in config.h as required. Do not 
3812           export those flags in our .pc files any longer (#142209).
3813
3814           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
3815
3816         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
3817         (gst_file_sink_do_seek), (gst_file_sink_event),
3818         (gst_file_sink_get_current_offset), (gst_file_sink_render):
3819           Redo seek/tell calls with large file support in mind; add some
3820           debugging messages; add log message that tells us when large
3821           file support is unavailable or not enabled for some reason.
3822
3823         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
3824           Add log message that tells us when large file support 
3825           is unavailable or not enabled for some reason.
3826
3827 2005-07-29  Wim Taymans  <wim@fluendo.com>
3828
3829         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3830         Added test for removing an element with ghostpad from a bin.
3831         Fixed test as current implementation does the right thing.
3832
3833         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
3834         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
3835         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
3836         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
3837         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
3838         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
3839         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
3840         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3841         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
3842         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
3843         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
3844         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
3845         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3846         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
3847         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
3848         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3849         * gst/gstghostpad.h:
3850         Clean up ghostpads, remove properties for internal stuff.
3851         Make threadsafe.
3852         Fix refcounting.
3853         Prepare for switching targets, not all use cases work yet.
3854
3855 2005-07-29  Wim Taymans  <wim@fluendo.com>
3856
3857         * docs/design/part-gstghostpad.txt:
3858         Small update.
3859
3860         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3861         (gst_bin_remove_func):
3862         Unlinking pads while holding the bin LOCK is not a good
3863         idea.
3864
3865         * gst/gstpad.c: (gst_pad_class_init),
3866         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
3867         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
3868         No prob setting template after creating the pad.
3869
3870 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
3871
3872         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
3873         (gst_bus_peek), (gst_bus_source_dispatch),
3874         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
3875         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
3876           gst_bus_poll may be called from other threads. Handle
3877           this nicely by not making poll_data disappear off the
3878           stack once gst_bus_poll returns.
3879           gst_bus_peek now increments the refcount on the returned
3880           message.
3881
3882 2005-07-29  Wim Taymans  <wim@fluendo.com>
3883
3884         * docs/design/part-gstghostpad.txt:
3885         Overview of current GhostPad datastructures and use
3886         cases for changing the target.
3887
3888 2005-07-28  Wim Taymans  <wim@fluendo.com>
3889
3890         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3891         Added checks for hierarchy consistency whan adding linked
3892         elements to bins.
3893
3894         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3895         Added check to test element scheduling without bin/pipeline.
3896
3897         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3898         First add elements to bin, then link.
3899         
3900         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3901         (gst_bin_remove_func):
3902         Unlink pads from elements added/removed from bin to maintain
3903         hierarchy consistency.
3904
3905 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3906
3907         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3908         (gst_base_transform_handle_buffer):
3909         * gst/base/gstbasetransform.h:
3910           Remove broken delay_configure (fixes renegotiation of software
3911           scaling pipelines); remove some leftover printf()s.
3912
3913 2005-07-28  Wim Taymans  <wim@fluendo.com>
3914
3915         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3916         Added some more tests for wrong hierarchy
3917
3918         * docs/design/part-overview.txt:
3919         Some updates.
3920
3921         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
3922         Cleanups.
3923
3924         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
3925         (gst_element_dispose):
3926         Some more cleanups.
3927
3928         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3929         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
3930         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3931         (gst_pad_set_caps), (gst_pad_send_event):
3932         Check for correct hierarchy when linking pads. Moving to
3933         strict requirement for ghostpads when linking elements in
3934         different bins.
3935
3936         * gst/gstpad.h:
3937         Clean ups. Added WRONG_HIERARCHY return value.
3938
3939 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3940
3941         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3942           Better debug if no transform is possible.
3943
3944 2005-07-27  Wim Taymans  <wim@fluendo.com>
3945
3946         * docs/random/wtay/network-transp:
3947         Some old doc I had.
3948
3949 2005-07-27  Wim Taymans  <wim@fluendo.com>
3950
3951         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3952         (gst_dp_event_from_packet):
3953         Fix serialization of seek events.
3954
3955 2005-07-27  Wim Taymans  <wim@fluendo.com>
3956
3957         * check/gst-libs/gdp.c: (GST_START_TEST):
3958         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3959         Fix compilation and fix event serialization.
3960
3961 2005-07-27  Wim Taymans  <wim@fluendo.com>
3962
3963         * CHANGES-0.9:
3964         * docs/design/part-TODO.txt:
3965         * docs/design/part-events.txt:
3966         Some docs updates
3967
3968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3969         (gst_base_sink_event), (gst_base_sink_do_sync),
3970         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
3971         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3972         (gst_base_src_do_seek), (gst_base_src_event_handler),
3973         (gst_base_src_loop):
3974         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3975         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3976         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3977         (gst_base_transform_event), (gst_base_transform_handle_buffer),
3978         (gst_base_transform_set_passthrough),
3979         (gst_base_transform_is_passthrough):
3980         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3981         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3982         Event updates.
3983
3984         * gst/gstbuffer.h:
3985         Use faster casts.
3986
3987         * gst/gstelement.c: (gst_element_seek):
3988         * gst/gstelement.h:
3989         Update gst_element_seek.
3990
3991         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
3992         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
3993         (gst_event_new_flush_start), (gst_event_new_flush_stop),
3994         (gst_event_new_eos), (gst_event_new_newsegment),
3995         (gst_event_parse_newsegment), (gst_event_new_tag),
3996         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
3997         (gst_event_parse_qos), (gst_event_new_seek),
3998         (gst_event_parse_seek), (gst_event_new_navigation):
3999         * gst/gstevent.h:
4000         Make GstEvent use GstStructure. Add parsing code, make sure the
4001         API is sufficiently generic.
4002         Mark possible directions of events and serialization.
4003
4004         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
4005         (_gst_message_copy), (gst_message_new_segment_start),
4006         (gst_message_new_segment_done), (gst_message_new_custom),
4007         (gst_message_parse_segment_start),
4008         (gst_message_parse_segment_done):
4009         Small cleanups.
4010
4011         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4012         (gst_pad_set_caps), (gst_pad_send_event):
4013         Update for new events. 
4014         Catch events sent in wrong directions.
4015
4016         * gst/gstqueue.c: (gst_queue_link_src),
4017         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
4018         (gst_queue_handle_src_query):
4019         Event updates.
4020
4021         * gst/gsttag.c:
4022         * gst/gsttag.h:
4023         Remove event code from this file.
4024
4025         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4026         (gst_dp_event_from_packet):
4027         Event updates.
4028
4029 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4030
4031         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
4032         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4033         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
4034           Make debugging actually useful.
4035
4036 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4037
4038         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
4039         (gst_pad_fixate_caps):
4040           Implement default fixation once again, so that gst_pad_fixate()
4041           actually does anything at all. This probably needs to be some
4042           sort of a last resort, and use profile-based fixation first, but
4043           since that doesn't exist yet, this is the best we have. Fixes
4044           visualization in Totem.
4045
4046 2005-07-22  Wim Taymans  <wim@fluendo.com>
4047
4048         * docs/design/part-events.txt:
4049         Small update.
4050
4051         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4052         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
4053         (gst_base_sink_activate_pull):
4054         Some more comments.
4055
4056         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
4057         (gst_fake_src_create):
4058         Fix handoff marshall.
4059
4060         * gst/elements/gstidentity.c: (gst_identity_class_init),
4061         (gst_identity_transform_ip):
4062         We're a real inplace element.
4063
4064         * gst/gstbus.c: (gst_bus_post):
4065         Added some comments.
4066
4067         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
4068         * tests/muxing/case1.c: (main):
4069         * tests/sched/dynamic-pipeline.c: (main):
4070         * tests/sched/interrupt1.c: (main):
4071         * tests/sched/interrupt2.c: (main):
4072         * tests/sched/interrupt3.c: (main):
4073         * tests/sched/runxml.c: (main):
4074         * tests/sched/sched-stress.c: (main):
4075         * tests/seeking/seeking1.c: (event_received), (main):
4076         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4077         (main):
4078         * tests/threadstate/threadstate3.c: (main):
4079         * tests/threadstate/threadstate4.c: (main):
4080         * tests/threadstate/threadstate5.c: (main):
4081         Fix the tests.
4082
4083 2005-07-21  Wim Taymans  <wim@fluendo.com>
4084
4085         * docs/design/part-seeking.txt:
4086         Some small additions.
4087
4088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4089         (gst_base_sink_get_times), (gst_base_sink_do_sync),
4090         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4091         * gst/base/gstbasesink.h:
4092         discont values are gint64, handle the math correctly.
4093
4094         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4095         Make the basesrc report error if the source pad is not linked.
4096
4097         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4098         (gst_queue_loop), (gst_queue_handle_src_query),
4099         (gst_queue_src_activate_push):
4100         Make queue collect data even if the srcpad is not linked.
4101         Start pushing out data as soon as it is linked.
4102
4103         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
4104         * gst/gstutils.h:
4105         Added gst_flow_get_name() to ease error reporting.
4106
4107 2005-07-20  Wim Taymans  <wim@fluendo.com>
4108
4109         * gst/gstmessage.c: (gst_message_new_segment_start),
4110         (gst_message_new_segment_done), (gst_message_parse_segment_start),
4111         (gst_message_parse_segment_done):
4112         * gst/gstmessage.h:
4113         Added a bunch of messages for advanced seeking.
4114
4115         * gst/parse/grammar.y:
4116         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
4117         (gst_dpman_state_changed):
4118         Fix some new-pad -> pad-added signals
4119
4120 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4121
4122         * docs/manual/appendix-porting.xml:
4123         * docs/pwg/appendix-porting.xml:
4124           Document new-pad/state-change signal renames and the FixedList
4125           type rename.
4126
4127 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4128
4129         * docs/manual/advanced-autoplugging.xml:
4130         * docs/manual/basics-helloworld.xml:
4131         * docs/manual/basics-pads.xml:
4132         * docs/random/ds/0.9-suggested-changes:
4133         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
4134         * gst/gstelement.h:
4135         * gst/gstevent.h:
4136         * gst/gstformat.h:
4137         * gst/gstquery.h:
4138         * gst/gststructure.c: (gst_structure_value_get_generic_type),
4139         (gst_structure_parse_array), (gst_structure_parse_value):
4140         * gst/gstvalue.c: (gst_type_is_fixed),
4141         (gst_value_list_prepend_value), (gst_value_list_append_value),
4142         (gst_value_list_get_size), (gst_value_list_get_value),
4143         (gst_value_transform_array_string), (gst_value_serialize_array),
4144         (gst_value_deserialize_array), (gst_value_intersect_array),
4145         (gst_value_is_fixed), (_gst_value_initialize):
4146         * gst/gstvalue.h:
4147           GstElement::new-pad -> pad-added, GstElement::state-change ->
4148           state-changed, GstValueFixedList -> GstValueArray, add format and
4149           flags as their own arguments in gst_element_seek() (should improve
4150           "bindeability"), remove function generators since they don't work
4151           under a whole bunch of compilers (they were deprecated already
4152           anyway).
4153
4154 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4155
4156         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4157         (_gst_debug_register_funcptr):
4158         * gst/gstinfo.h:
4159           Fix illegal cast on some platforms (#309253).
4160
4161 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4162
4163         * gst/gstmessage.c: (gst_message_new_custom):
4164         * gst/gstmessage.h:
4165           Add _new_custom, make _new_application a macro to _new_custom.
4166
4167 2005-07-20  Wim Taymans  <wim@fluendo.com>
4168
4169         * gst/base/gstbasesrc.c: (gst_base_src_init),
4170         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4171         * gst/base/gstbasesrc.h:
4172         Add a gboolean to decide when to push out a discont.
4173
4174         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4175         (gst_queue_loop), (gst_queue_handle_src_query),
4176         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
4177         (gst_queue_set_property), (gst_queue_get_property):
4178         Some cleanups.
4179
4180         * tests/threadstate/threadstate1.c: (main):
4181         Make a thread test compile and run... very silly..
4182
4183
4184 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4185
4186         * docs/manual/appendix-porting.xml:
4187           Mention removal of libgstgconf-0.9.la and existence of gconf
4188           elements.
4189
4190 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4191
4192         * docs/pwg/advanced-clock.xml:
4193         * docs/pwg/appendix-porting.xml:
4194         * docs/pwg/intro-preface.xml:
4195         * docs/pwg/other-base.xml:
4196         * docs/pwg/other-manager.xml:
4197         * docs/pwg/other-nton.xml:
4198         * docs/pwg/other-ntoone.xml:
4199         * docs/pwg/other-oneton.xml:
4200         * docs/pwg/pwg.xml:
4201           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
4202           demuxer), remove n-to-n (was never written), fix some code examples
4203           and links and update the porting section to include all this.
4204
4205 2005-07-19  Wim Taymans  <wim@fluendo.com>
4206
4207         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
4208         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
4209         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
4210         (gst_queue_src_activate_push), (gst_queue_change_state),
4211         (gst_queue_get_property):
4212         * gst/gstqueue.h:
4213         Propagate GstFlowReturn more intelligently upstream and output
4214         an ERROR/EOS when streaming stopped due to fatal error.
4215
4216 2005-07-19  Wim Taymans  <wim@fluendo.com>
4217
4218         * tools/gst-launch.c: (check_intr), (event_loop), (main):
4219         Don't block forever for the state change to complete, the
4220         pipeline already did with a sensible timeout.
4221
4222 2005-07-19  Wim Taymans  <wim@fluendo.com>
4223
4224         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4225         Make sure we never call the create function is we
4226         got deactivated.
4227
4228 2005-07-19  Andy Wingo  <wingo@pobox.com>
4229
4230         * gst/parse/parse.l: Attempt to solve bug #172815.
4231
4232 2005-07-19  Wim Taymans  <wim@fluendo.com>
4233
4234         * docs/design/part-clocks.txt:
4235         * docs/design/part-events.txt:
4236         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
4237         Small docs updates.
4238         Only update the seeking values when we are not
4239         busy streaming.
4240
4241 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
4242
4243         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4244           Oops, ignore the result of gst_pad_push_event here.
4245
4246 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
4247
4248         * gst/base/gstbasesrc.c: (gst_base_src_loop),
4249         (gst_base_src_activate_push):
4250           Send discont event from the loop function, as pads
4251           aren't activated yet in the activate_push handler.
4252
4253         * gst/gstbin.c: (bin_bus_handler):
4254           Don't leak element name.
4255
4256 2005-07-18  Andy Wingo  <wingo@pobox.com>
4257
4258         * configure.ac: Use AS_LIBTOOL_TAGS.
4259
4260 2005-07-18  Wim Taymans  <wim@fluendo.com>
4261
4262         * docs/gst/gstreamer.types:
4263         Remove deleted types.
4264
4265 2005-07-18  Wim Taymans  <wim@fluendo.com>
4266
4267         * check/elements/gstfakesrc.c: (GST_START_TEST):
4268         * configure.ac:
4269         * gst/Makefile.am:
4270         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
4271         (init_popt_callback):
4272         * gst/gst.h:
4273         * gst/gst_private.h:
4274         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
4275         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
4276         * gst/gstbin.h:
4277         * gst/gstbus.h:
4278         * gst/gstconfig.h.in:
4279         * gst/gstelement.c: (gst_element_class_init),
4280         (gst_element_set_base_time), (gst_element_get_base_time),
4281         (iterator_fold_with_resync), (gst_element_change_state),
4282         (gst_element_dispose), (gst_element_get_bus):
4283         * gst/gstelement.h:
4284         * gst/gstelementfactory.h:
4285         * gst/gsterror.c: (_gst_core_errors_init):
4286         * gst/gsterror.h:
4287         * gst/gstevent.h:
4288         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
4289         * gst/gstindex.c:
4290         * gst/gstinfo.c: (_gst_debug_init):
4291         * gst/gstmessage.c: (_gst_message_copy):
4292         * gst/gstmessage.h:
4293         * gst/gstminiobject.h:
4294         * gst/gstobject.c:
4295         * gst/gstobject.h:
4296         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4297         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
4298         * gst/gstpad.h:
4299         * gst/gstparse.h:
4300         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
4301         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
4302         (gst_pipeline_get_last_stream_time):
4303         * gst/gstpipeline.h:
4304         * gst/gstpluginfeature.h:
4305         * gst/gstquery.h:
4306         * gst/gstscheduler.c:
4307         * gst/gstscheduler.h:
4308         * gst/gststructure.h:
4309         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4310         (gst_task_finalize), (gst_task_func), (gst_task_create),
4311         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
4312         (gst_task_stop), (gst_task_pause):
4313         * gst/gsttask.h:
4314         * gst/gsttypefind.h:
4315         * gst/gsttypes.h:
4316         * gst/registries/gstlibxmlregistry.c: (load_feature),
4317         (gst_xml_registry_load), (gst_xml_registry_save_feature):
4318         * gst/registries/gstxmlregistry.c:
4319         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
4320         * gst/schedulers/threadscheduler.c:
4321         * libs/gst/control/dparammanager.h:
4322         * tools/gst-inspect.c: (print_element_list),
4323         (print_plugin_features), (print_element_features):
4324         * tools/gst-xmlinspect.c: (print_element_list),
4325         (print_plugin_info), (main):
4326         Removed plugable schedulers.
4327         Removed Scheduler/Manager from elements.
4328         Removed gsttypes.h, rearranged includes.
4329         Removed dependency pad<->element, element<>pipeline, and
4330         various others,  fix includes.
4331         implement gst_pad_get_parent() with gst_object_get_parent()
4332         Make GstTask sefcontained.
4333         Fix _get_state() on GstBin, it did not return ASYNC with a 0
4334         timeout.
4335         Fix endless loop in iterator_fold_with_resync.
4336
4337
4338 2005-07-18  Wim Taymans  <wim@fluendo.com>
4339
4340         * gst/Makefile.am:
4341         * gst/gstarch.h:
4342         Remove old file.
4343
4344 2005-07-18  Wim Taymans  <wim@fluendo.com>
4345
4346         * gst/Makefile.am:
4347         No more cothreads.h
4348
4349 2005-07-18  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/cothreads.c:
4352         * gst/cothreads.h:
4353         Let's remove these.
4354
4355 2005-07-18  Wim Taymans  <wim@fluendo.com>
4356
4357         * docs/design/part-dynamic.txt:
4358         * docs/design/part-events.txt:
4359         * docs/design/part-seeking.txt:
4360         Some more docs in the works.
4361
4362         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4363         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
4364         (gst_base_transform_setcaps), (gst_base_transform_get_size),
4365         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
4366         (gst_base_transform_handle_buffer),
4367         (gst_base_transform_sink_activate_push),
4368         (gst_base_transform_src_activate_pull),
4369         (gst_base_transform_set_passthrough),
4370         (gst_base_transform_is_passthrough):
4371         Refcounting fixes.
4372
4373         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
4374         Cleanups.
4375
4376         * gst/gstevent.c: (gst_event_finalize):
4377         Set SRC to NULL.
4378
4379         * gst/gstutils.c: (gst_element_unlink),
4380         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
4381         (gst_pad_proxy_setcaps):
4382         * gst/gstutils.h:
4383         Add _get_parent_element() to get a pads parent as an element.
4384
4385 2005-07-18  Wim Taymans  <wim@fluendo.com>
4386
4387         * check/gst/gstbin.c: (GST_START_TEST):
4388         Remove bogus test.
4389
4390 2005-07-18  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4393         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4394         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
4395         (gst_base_sink_event), (gst_base_sink_do_sync),
4396         (gst_base_sink_chain), (gst_base_sink_loop),
4397         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
4398         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4399         Refcounting fixes.
4400         Fix logic for returning ASYNC when not prerolled.
4401
4402 2005-07-18  Wim Taymans  <wim@fluendo.com>
4403
4404         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4405         Fix nasty refcount bug.
4406
4407 2005-07-16 Philippe Khalaf <burger@speedy.org>
4408
4409         * gst/elements/gstfdsrc.c:
4410         * gst/elements/gstfdsrc.h:
4411         * gst/elements/gstelements.c:
4412         * gst/elements/Makefile.am:
4413         Ported fdsrc to 0.9.
4414
4415 2005-07-16  Wim Taymans  <wim@fluendo.com>
4416
4417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4418         (gst_base_sink_do_sync):
4419         Fix compile error.
4420
4421 2005-07-16  Wim Taymans  <wim@fluendo.com>
4422
4423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4424         (gst_base_sink_event), (gst_base_sink_get_times),
4425         (gst_base_sink_do_sync), (gst_base_sink_change_state):
4426         * gst/base/gstbasesink.h:
4427         Store and use discont values when syncing buffers as described
4428         in design docs.
4429         
4430         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4431         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
4432         (gst_base_src_activate_push):
4433         Push discont event when starting.
4434
4435         * gst/elements/gstidentity.c: (gst_identity_transform):
4436         Small cleanups.
4437
4438         * gst/gstbin.c: (gst_bin_change_state):
4439         Small cleanups in base_time  distribution.
4440
4441         * gst/gstelement.c: (gst_element_set_base_time),
4442         (gst_element_get_base_time), (gst_element_change_state):
4443         * gst/gstelement.h:
4444         Added methods for the base_time of the element.
4445         Some MT fixes.
4446
4447         * gst/gstpipeline.c: (gst_pipeline_send_event),
4448         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
4449         (gst_pipeline_get_last_stream_time):
4450         * gst/gstpipeline.h:
4451         MT fixes.
4452         Handle seeking as described in design doc, remove stream_time
4453         hack.
4454         Cleanups clock and stream_time selection code. Added accessors
4455         for the stream_time.
4456         
4457
4458 2005-07-16  Andy Wingo  <wingo@pobox.com>
4459
4460         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
4461         (#305291).
4462
4463 2005-07-16  Wim Taymans  <wim@fluendo.com>
4464
4465         * check/gst/gstbin.c: (GST_START_TEST):
4466         Make elements silent as the deep_notify refs the
4467         parent, which might make the test fail.
4468
4469         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
4470         Don't hold the lock for too long.
4471
4472 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
4473
4474         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4475           Don't unref the caps we passed to gst_caps_make_writable() after
4476           passing them. gst_caps_make_writable() will do that for us.
4477
4478 2005-07-15  Andy Wingo  <wingo@pobox.com>
4479
4480         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
4481         (#157311).
4482
4483         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
4484         own marshalling function for the handoff signal. Properly type the
4485         buffer as a buffer. Fixes some warnings. Should do a more general
4486         solution.
4487         (gst_identity_class_init): Plug into the right marshaller.
4488
4489 2005-07-15  Wim Taymans  <wim@fluendo.com>
4490
4491         * docs/design/part-TODO.txt:
4492         * docs/design/part-clocks.txt:
4493         * docs/design/part-element-sink.txt:
4494         * docs/design/part-events.txt:
4495         * docs/design/part-gstpipeline.txt:
4496         Updated docs, mostly DISCONT related.
4497
4498 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * docs/pwg/building-pads.xml:
4501           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
4502
4503 2005-07-15  Andy Wingo  <wingo@pobox.com>
4504
4505         * tools/gst-typefind.c: Update, add copyright block.
4506
4507         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
4508         Normalize and truncate caps before fixation.
4509
4510         * gst/gstcaps.h:
4511         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
4512         discards all but the first structure from its argument.
4513
4514 2005-07-15  Wim Taymans  <wim@fluendo.com>
4515
4516         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4517         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
4518         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4519         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4520         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
4521         (gst_base_transform_chain), (gst_base_transform_change_state),
4522         (gst_base_transform_set_passthrough),
4523         (gst_base_transform_is_passthrough):
4524         * gst/base/gstbasetransform.h:
4525         Make passthrough work using the bufferpools.
4526         Changed API a bit, subclasses have to write into a buffer
4527         provided by the base class.
4528         More debug info in nego functions.
4529         
4530         * gst/elements/gstidentity.c: (gst_identity_init),
4531         (gst_identity_transform):
4532         Port to new base class.
4533
4534 2005-07-15  Wim Taymans  <wim@fluendo.com>
4535
4536         * gst/gstmessage.c: (gst_message_new_state_changed):
4537         * tools/gst-launch.c: (event_loop), (main):
4538         Totally dump messages in -launch with the -m option.
4539         Fix message name for State messages,
4540
4541 2005-07-14  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4544         Post error messages on errors.
4545
4546 2005-07-14  Wim Taymans  <wim@fluendo.com>
4547
4548         * gst/gstcaps.c: (gst_caps_do_simplify):
4549         Remove debug info.
4550
4551         * gst/gsterror.h:
4552         Define error for stream stopped.
4553
4554         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4555         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
4556         Do proper return values.
4557
4558         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4559         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
4560         (gst_pad_get_range):
4561         Better return values.
4562
4563         * gst/gstpad.h:
4564         Reorganise return values, add macro to check for fatal errors.
4565
4566         * gst/gstqueue.c: (gst_queue_chain):
4567         Return proper GstFlowReturn values,
4568
4569 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4570
4571         * docs/gst/gstreamer-sections.txt:
4572         * docs/gst/gstreamer.types:
4573         * docs/gst/tmpl/gst.sgml:
4574         * docs/gst/tmpl/gstbasesink.sgml:
4575         * docs/gst/tmpl/gstbasesrc.sgml:
4576         * docs/gst/tmpl/gstbasetransform.sgml:
4577         * docs/gst/tmpl/gstbin.sgml:
4578         * docs/gst/tmpl/gstbuffer.sgml:
4579         * docs/gst/tmpl/gstcaps.sgml:
4580         * docs/gst/tmpl/gstclock.sgml:
4581         * docs/gst/tmpl/gstcompat.sgml:
4582         * docs/gst/tmpl/gstconfig.sgml:
4583         * docs/gst/tmpl/gstelement.sgml:
4584         * docs/gst/tmpl/gstelementdetails.sgml:
4585         * docs/gst/tmpl/gstelementfactory.sgml:
4586         * docs/gst/tmpl/gstenumtypes.sgml:
4587         * docs/gst/tmpl/gsterror.sgml:
4588         * docs/gst/tmpl/gstevent.sgml:
4589         * docs/gst/tmpl/gstfakesink.sgml:
4590         * docs/gst/tmpl/gstfakesrc.sgml:
4591         * docs/gst/tmpl/gstfilesink.sgml:
4592         * docs/gst/tmpl/gstfilesrc.sgml:
4593         * docs/gst/tmpl/gstfilter.sgml:
4594         * docs/gst/tmpl/gstformat.sgml:
4595         * docs/gst/tmpl/gstghostpad.sgml:
4596         * docs/gst/tmpl/gstimplementsinterface.sgml:
4597         * docs/gst/tmpl/gstindex.sgml:
4598         * docs/gst/tmpl/gstindexfactory.sgml:
4599         * docs/gst/tmpl/gstinfo.sgml:
4600         * docs/gst/tmpl/gstiterator.sgml:
4601         * docs/gst/tmpl/gstmacros.sgml:
4602         * docs/gst/tmpl/gstmemchunk.sgml:
4603         * docs/gst/tmpl/gstminiobject.sgml:
4604         * docs/gst/tmpl/gstobject.sgml:
4605         * docs/gst/tmpl/gstpad.sgml:
4606         * docs/gst/tmpl/gstpadtemplate.sgml:
4607         * docs/gst/tmpl/gstparse.sgml:
4608         * docs/gst/tmpl/gstpipeline.sgml:
4609         * docs/gst/tmpl/gstplugin.sgml:
4610         * docs/gst/tmpl/gstpluginfeature.sgml:
4611         * docs/gst/tmpl/gstquery.sgml:
4612         * docs/gst/tmpl/gstqueue.sgml:
4613         * docs/gst/tmpl/gstregistry.sgml:
4614         * docs/gst/tmpl/gstregistrypool.sgml:
4615         * docs/gst/tmpl/gstscheduler.sgml:
4616         * docs/gst/tmpl/gstschedulerfactory.sgml:
4617         * docs/gst/tmpl/gststructure.sgml:
4618         * docs/gst/tmpl/gstsystemclock.sgml:
4619         * docs/gst/tmpl/gsttaglist.sgml:
4620         * docs/gst/tmpl/gsttagsetter.sgml:
4621         * docs/gst/tmpl/gsttrace.sgml:
4622         * docs/gst/tmpl/gsttrashstack.sgml:
4623         * docs/gst/tmpl/gsttypefind.sgml:
4624         * docs/gst/tmpl/gsttypefindfactory.sgml:
4625         * docs/gst/tmpl/gsttypes.sgml:
4626         * docs/gst/tmpl/gsturihandler.sgml:
4627         * docs/gst/tmpl/gsturitype.sgml:
4628         * docs/gst/tmpl/gstutils.sgml:
4629         * docs/gst/tmpl/gstvalue.sgml:
4630         * docs/gst/tmpl/gstversion.sgml:
4631         * docs/gst/tmpl/gstxml.sgml:
4632         * docs/libs/tmpl/gstcontrol.sgml:
4633         * docs/libs/tmpl/gstdataprotocol.sgml:
4634         * docs/libs/tmpl/gstdparam.sgml:
4635         * docs/libs/tmpl/gstdplinint.sgml:
4636         * docs/libs/tmpl/gstdpman.sgml:
4637         * docs/libs/tmpl/gstdpsmooth.sgml:
4638         * docs/libs/tmpl/gstgetbits.sgml:
4639         * docs/libs/tmpl/gstunitconvert.sgml:
4640         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
4641         (gst_push_src_base_init), (gst_push_src_class_init),
4642         (gst_push_src_init), (gst_push_src_create):
4643         * gst/base/gstpushsrc.h:
4644         * gst/elements/gstelements.c:
4645         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
4646         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
4647         (gst_fake_sink_init), (gst_fake_sink_set_property),
4648         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
4649         (gst_fake_sink_event), (gst_fake_sink_preroll),
4650         (gst_fake_sink_render), (gst_fake_sink_change_state):
4651         * gst/elements/gstfakesink.h:
4652         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4653         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4654         (gst_fake_src_base_init), (gst_fake_src_class_init),
4655         (gst_fake_src_init), (gst_fake_src_event_handler),
4656         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
4657         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
4658         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
4659         (gst_fake_src_create_buffer), (gst_fake_src_create),
4660         (gst_fake_src_start), (gst_fake_src_stop):
4661         * gst/elements/gstfakesrc.h:
4662         * gst/elements/gstfilesink.c: (_do_init),
4663         (gst_file_sink_base_init), (gst_file_sink_class_init),
4664         (gst_file_sink_init), (gst_file_sink_dispose),
4665         (gst_file_sink_set_location), (gst_file_sink_set_property),
4666         (gst_file_sink_get_property), (gst_file_sink_open_file),
4667         (gst_file_sink_close_file), (gst_file_sink_query),
4668         (gst_file_sink_event), (gst_file_sink_render),
4669         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
4670         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
4671         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
4672         * gst/elements/gstfilesink.h:
4673         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
4674         (gst_file_src_class_init), (gst_file_src_init),
4675         (gst_file_src_finalize), (gst_file_src_set_location),
4676         (gst_file_src_set_property), (gst_file_src_get_property),
4677         (gst_file_src_map_region), (gst_file_src_map_small_region),
4678         (gst_file_src_create_mmap), (gst_file_src_create_read),
4679         (gst_file_src_create), (gst_file_src_is_seekable),
4680         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
4681         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
4682         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
4683         (gst_file_src_uri_handler_init):
4684         * gst/elements/gstfilesrc.h:
4685           more autistic cleanliness in functions/names/defines
4686
4687 2005-07-13  Andy Wingo  <wingo@pobox.com>
4688
4689         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
4690         source couldn't negotiate.
4691
4692         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
4693         connections again.
4694
4695         * gst/gstutils.h:
4696         * gst/gstutils.c (gst_element_link_pads_filtered): New old
4697         function. I am channeling Hades. Put your boots on suckers!!!
4698
4699 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4700
4701         * testsuite/caps/Makefile.am:
4702         * testsuite/caps/value_compare.c:
4703         * testsuite/caps/value_intersect.c:
4704         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4705           move two testsuite apps over to the check dir
4706
4707 2005-07-12  Wim Taymans  <wim@fluendo.com>
4708
4709         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4710         Added more debug info in the negotiate process.
4711
4712         * gst/gstmessage.h:
4713         Prepare for segment playback.
4714
4715         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
4716         Better debugging.
4717
4718         * gst/gstutils.c:
4719         Some more docs.
4720
4721         * tools/gst-launch.c: (main):
4722         NULL pipeline on errors.
4723
4724 2005-07-12  Andy Wingo  <wingo@pobox.com>
4725
4726         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
4727         not it comes from a malloc region. Make sure our copy gets freed.
4728
4729 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4730
4731         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4732         * check/gst/gstmessage.c: (GST_START_TEST):
4733         * check/gst/gststructure.c: (GST_START_TEST),
4734         (gst_structure_suite), (main):
4735           more testing
4736         * gst/gstelement.c: (gst_element_message_full):
4737           clean up GError and debug string now that they get copied
4738         * gst/gstmessage.c: (gst_message_new_error),
4739         (gst_message_new_warning), (gst_message_parse_error),
4740         (gst_message_parse_warning):
4741           use GST_TYPE_G_ERROR for structure_new, and take copies of
4742           arguments, so that we don't mess up refcounting
4743
4744 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * check/Makefile.am:
4747           add per-test valgrind targets
4748         * check/gst-libs/gdp.c: (GST_START_TEST),
4749         (gst_data_protocol_suite), (main):
4750           clean up
4751
4752 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * check/Makefile.am:
4755           instate more valgrindable tests
4756         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4757         (GST_START_TEST), (fakesrc_suite):
4758         * check/gst/gstpad.c: (GST_START_TEST):
4759         * check/gst/gststructure.c: (GST_START_TEST):
4760           fix test leaks
4761         * docs/gst/tmpl/gstminiobject.sgml:
4762         * gst/gstpad.c: (gst_pad_finalize):
4763           fix the static mutex leak
4764
4765 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4766
4767         * check/Makefile.am:
4768           add two more tests for valgrinding
4769         * check/gst/gstvalue.c: (GST_START_TEST):
4770           test refcount of deserialized buffer, found a leak
4771         * docs/gst/gstreamer-docs.sgml:
4772         * docs/gst/gstreamer-sections.txt:
4773         * docs/gst/gstreamer.types:
4774         * docs/gst/tmpl/gstminiobject.sgml:
4775           add miniobject to docs
4776         * gst/gstminiobject.c:
4777           add some docs
4778         * gst/gstvalue.c: (gst_value_deserialize_buffer),
4779         (gst_string_unwrap):
4780           fix a hard-to-find invalid write for one of the tests
4781           fix a leak for deserialized buffers
4782
4783 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4784
4785         * docs/pwg/advanced-events.xml:
4786         * docs/pwg/advanced-request.xml:
4787         * docs/pwg/advanced-scheduling.xml:
4788         * docs/pwg/appendix-porting.xml:
4789         * docs/pwg/building-boiler.xml:
4790         * docs/pwg/intro-preface.xml:
4791         * docs/pwg/other-ntoone.xml:
4792           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
4793           of example code and explanation for pad activation, loop() and
4794           getrange() functions and a bit more. Remove old comments pointing
4795           to loop-functions.
4796         * examples/pwg/Makefile.am:
4797           Add loop/getrange examples.
4798
4799 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * configure.ac:
4802           check for valgrind binary + some fixes
4803         * check/gst.supp:
4804           valgrind suppressions for the tests
4805         * check/Makefile.am:
4806           add a valgrind: target that valgrinds the unit tests
4807         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
4808         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4809         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4810         * check/gst/gstghostpad.c:
4811           added some cleanup
4812         * check/gst/gstdata.c:
4813           removed
4814         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
4815         (thread_unref), (gst_mini_object_suite), (main):
4816           added
4817         * gst/gst.c: (gst_deinit):
4818         * gst/gst.h:
4819           add a method to clean up.
4820         * gst/gstsystemclock.c: (gst_system_clock_dispose),
4821         (gst_system_clock_obtain):
4822           allow for disposing the system clock.
4823         * tools/gst-launch.c: (main):
4824           deinit
4825
4826 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4827
4828         * docs/gst/tmpl/gstbasesrc.sgml:
4829         * docs/gst/tmpl/gstfakesrc.sgml:
4830         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4831         (gst_base_src_init), (gst_base_src_set_property),
4832         (gst_base_src_get_property), (gst_base_src_get_range),
4833         (gst_base_src_start):
4834         * gst/base/gstbasesrc.h:
4835           add num-buffers property
4836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4837         (gst_fakesrc_init), (gst_fakesrc_set_property),
4838         (gst_fakesrc_get_property), (gst_fakesrc_create),
4839         (gst_fakesrc_start):
4840           remove num-buffers property
4841
4842 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * docs/gst/gstreamer-sections.txt:
4845         * docs/gst/tmpl/gstbasesink.sgml:
4846         * docs/gst/tmpl/gstbasesrc.sgml:
4847         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4848         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4849         (gst_base_sink_finalize), (gst_base_sink_set_clock),
4850         (gst_base_sink_set_property), (gst_base_sink_get_property),
4851         (gst_base_sink_handle_object), (gst_base_sink_event),
4852         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4853         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
4854         (gst_base_sink_loop), (gst_base_sink_deactivate),
4855         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
4856         (gst_base_sink_change_state):
4857         * gst/base/gstbasesink.h:
4858         * gst/base/gstbasesrc.h:
4859         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
4860         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4861         (gst_filesink_init):
4862           more macro splitting
4863
4864 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * gst/gstelement.c: (gst_element_get_bus):
4867           add debug
4868         * tools/gst-launch.c: (check_intr), (event_loop):
4869           fix bus leaks
4870
4871 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4872
4873         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4874           fix a caps leak
4875
4876 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4879         (gst_base_src_finalize):
4880           add finalize method and clean up properly
4881         * gst/gstpipeline.c: (gst_pipeline_dispose):
4882           add debug
4883
4884 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4885
4886         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
4887         (gst_bin_suite):
4888           add more things to check
4889         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4890         * gst/gstelement.c:
4891           more debug
4892
4893 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4896         (GST_START_TEST), (fakesrc_suite):
4897         * check/gst-libs/gdp.c: (GST_START_TEST):
4898         * check/gst/gst.c: (GST_START_TEST):
4899         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4900         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4901         * check/gst/gstbus.c: (GST_START_TEST):
4902         * check/gst/gstcaps.c: (GST_START_TEST):
4903         * check/gst/gstdata.c: (GST_START_TEST):
4904         * check/gst/gstelement.c: (GST_START_TEST):
4905         * check/gst/gstghostpad.c: (GST_START_TEST):
4906         * check/gst/gstiterator.c: (GST_START_TEST):
4907         * check/gst/gstmessage.c: (GST_START_TEST):
4908         * check/gst/gstobject.c: (GST_START_TEST):
4909         * check/gst/gstpad.c: (GST_START_TEST):
4910         * check/gst/gststructure.c: (GST_START_TEST):
4911         * check/gst/gstsystemclock.c: (GST_START_TEST),
4912         (gst_systemclock_suite):
4913         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4914         * check/gst/gstvalue.c: (GST_START_TEST):
4915         * check/pipelines/cleanup.c: (GST_START_TEST):
4916         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4917         * check/states/sinks.c: (GST_START_TEST):
4918         * check/gstcheck.c: (gst_check_init):
4919         * check/gstcheck.h:
4920           add debugging category
4921           use GST_START_TEST now, so we add a debug line
4922
4923 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4924
4925         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
4926           add test for state change message on a bin
4927         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
4928           add another test
4929         * gst/gstbin.c: (gst_bin_init):
4930         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
4931         * gst/gstelement.c: (gst_element_post_message),
4932         (gst_element_set_state):
4933         * gst/gstelementfactory.c: (gst_element_factory_create):
4934         * gst/gstmessage.c: (gst_message_new):
4935         * gst/gstscheduler.c:
4936           various debugging additions and cleanups
4937
4938 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * check/Makefile.am:
4941         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
4942         (main):
4943           adding tests for elements
4944         * gst/gstelement.c: (gst_element_dispose):
4945
4946 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4947
4948         * gst/registries/gstlibxmlregistry.c: (load_feature):
4949           plug more leaks.  A simple gst_init() now is leakfree, yay.
4950
4951 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
4954         (gst_xml_registry_load):
4955           plug another memleak
4956
4957 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4958
4959         * configure.ac:
4960           use GST_SET_ERROR_CFLAGS
4961         * docs/faq/cvs.xml:
4962           change to ERROR_CFLAGS
4963
4964 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * configure.ac:
4967           make GST_ERROR_CFLAGS overridable and re-enable Werror
4968         * docs/faq/cvs.xml:
4969           add a note about error CFLAGS
4970         * docs/gst/tmpl/gstfakesrc.sgml:
4971         * gst/elements/gstfakesrc.c:
4972           comment out some unused code
4973         * gst/gst.c: (split_and_iterate):
4974         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
4975         (load_feature):
4976           plug some memleaks
4977
4978 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4979
4980         * common/Makefile.am:
4981         * common/gtk-doc.mak:
4982         * docs/gst/Makefile.am:
4983           factor out gtk-doc.mak
4984
4985 2005-07-07  Wim Taymans  <wim@fluendo.com>
4986
4987         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
4988         (gst_thread_scheduler_dispose):
4989         Unlock the STREAM_LOCK completely.
4990
4991 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * check/Makefile.am:
4994         * check/elements/.cvsignore:
4995         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4996         (START_TEST), (fakesrc_suite), (main):
4997         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4998         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4999         (gst_fakesrc_create), (gst_fakesrc_start):
5000         * gst/elements/gstfakesrc.h:
5001           adding a first element test
5002
5003 2005-07-07  Andy Wingo  <wingo@pobox.com>
5004
5005         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
5006         debug message.
5007
5008 2005-07-07  Wim Taymans  <wim@fluendo.com>
5009
5010         * gst/gstquery.c:
5011         * gst/gstquery.h:
5012         Remove old types
5013
5014 2005-07-07  Wim Taymans  <wim@fluendo.com>
5015
5016         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5017         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
5018         Allow subclasses to implement their own negotiation.
5019
5020 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5021
5022         * docs/design/part-gstbin.txt:
5023         * docs/design/part-gstpipeline.txt:
5024           Update design notes to reflect the movement of
5025           responsibility for bus handling from GstPipeline to
5026           GstBin
5027
5028 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5029
5030         * configure.ac:
5031           Remove unnecessary queue2/3/4 examples.
5032
5033 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
5034
5035         * examples/Makefile.am:
5036         * examples/helloworld/helloworld.c: (event_loop), (main):
5037         * examples/queue/queue.c: (event_loop), (main):
5038         * examples/queue2/queue2.c: (main):
5039           Update a couple of the examples to work again.
5040
5041         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5042         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
5043          Spelling corrections and extra debug.
5044         
5045         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
5046         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
5047         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
5048         * gst/gstbin.h:
5049         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5050         (gst_pipeline_change_state):
5051         * gst/gstpipeline.h:
5052           Move the bus handler for children to the GstBin, and create a
5053           separate bus for receiving messages from children to the one the
5054           bus sends 'upwards' on.
5055
5056 2005-07-06  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/base/README:
5059         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5060         (gst_base_sink_handle_object), (gst_base_sink_loop),
5061         (gst_base_sink_change_state):
5062         * gst/base/gstbasesink.h:
5063         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5064         (gst_base_src_init), (gst_base_src_setcaps),
5065         (gst_base_src_getcaps), (gst_base_src_loop),
5066         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
5067         (gst_base_src_start), (gst_base_src_change_state):
5068         * gst/base/gstbasesrc.h:
5069         Make basesrc negotiate.
5070         Handle the case where preroll fails in basesink.
5071         Update README.
5072
5073 2005-07-06  Wim Taymans  <wim@fluendo.com>
5074
5075         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
5076         Implement the fixate function.
5077         Clean up acceptcaps.
5078
5079 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5080
5081         * docs/pwg/building-filterfactory.xml:
5082         * docs/pwg/pwg.xml:
5083           Remove never-written filter-factory chapter; I'll add the various
5084           base classes to part 4 ("other element types") later on.
5085
5086 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5087
5088         * docs/pwg/advanced-negotiation.xml:
5089         * docs/pwg/building-boiler.xml:
5090         * docs/pwg/building-pads.xml:
5091         * docs/pwg/pwg.xml:
5092         * examples/pwg/Makefile.am:
5093           Add a chapter on caps negotiation, simplify the original code
5094           samples a bit w.r.t. caps negotiation, add link to the advanced
5095           section. Add a bunch of examples showing different use cases of
5096           different types of caps negotiation. Upstream renegotiation isn't
5097           fully documented yet since nobody knows how that works.
5098
5099 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * check/gst/gstpad.c:
5102         * check/gstcheck.c:
5103         * gst/gstpad.c: (gst_pad_get_internal_links_default):
5104           if pad has no parent, return NULL as list of internal links
5105
5106 2005-07-05  Andy Wingo  <wingo@pobox.com>
5107
5108         * gst/elements/gstfilesrc.c:
5109         * gst/elements/gstfakesrc.c: 
5110         * gst/base/gstpushsrc.c:
5111         * gst/base/gstbasesrc.h: 
5112         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
5113         
5114 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
5115
5116         * Makefile.am:
5117           better report generation target (lcov needs a patch)
5118
5119 2005-07-05  Andy Wingo  <wingo@pobox.com>
5120
5121         * gst/elements, testsuite: Null if we got it...
5122
5123 2005-07-05  Wim Taymans  <wim@fluendo.com>
5124
5125         * configure.ac:
5126         * libs/gst/dataprotocol/Makefile.am:
5127         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
5128         * libs/gst/dataprotocol/dataprotocol.h:
5129         * pkgconfig/Makefile.am:
5130         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
5131         * pkgconfig/gstreamer-dataprotocol.pc.in:
5132         Ported dataprotol to 0.9. 
5133         Added pkgconfig files.
5134
5135 2005-07-05  Andy Wingo  <wingo@pobox.com>
5136
5137         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
5138         Default to returning TRUE for the case when tranform_caps returns
5139         a fixed caps, like for identity or volume.
5140
5141         * check/gst/gstbus.c (pound_bus_with_messages): 
5142         * check/gst/gstmessage.c (START_TEST): 
5143         * check/pipelines/simple_launch_lines.c (got_handoff): Application
5144         message API change.
5145
5146         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
5147         logic weaks here: always run transform_caps, trying passthrough
5148         operation only if the original caps intersects with the transform.
5149
5150         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
5151         source and sink caps.
5152
5153         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
5154         Intersect the peer caps with the pad template before going into
5155         transform_caps.
5156         (gst_base_transform_transform_caps): More debugging.
5157
5158         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
5159         src argument.
5160
5161 2005-07-04  Edward Hervey  <edward@fluendo.com>
5162
5163         * gst/gstutils.c:
5164         * gst/gstutils.h:
5165         (gst_pad_add_*_probe): now returns the signal id for better wrapping
5166         in bindings.
5167
5168 2005-07-04  Andy Wingo  <wingo@pobox.com>
5169
5170         * check/gst/gstpad.c: Only set explicit caps on pads.
5171
5172 2005-07-01  Andy Wingo  <wingo@pobox.com>
5173
5174         * tests/network-clock.scm: Commentary update.
5175
5176         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
5177         Didn't really make sense, not implementable with basetransform,
5178         etc.
5179         (gst_identity_transform): Unref inbuf via make_writable. Feeble
5180         attempt at implementing the sync property, needs an unlock method.
5181
5182         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
5183         New func, by default returns the same caps (the identity
5184         transformation).
5185         (gst_base_transform_getcaps): Uses transform_caps to return
5186         something sensible.
5187         (gst_base_transform_setcaps): Complicated logic to get caps on
5188         both pads, even if they are different, and to call set_caps once
5189         for every time both pads get their caps set.
5190         (gst_base_transform_handle_buffer): Give the ref to the transform
5191         function. Allows in-place modification of the buffer.
5192
5193         * gst/base/gstbasetransform.h (transform_caps): New class method.
5194         Given caps on one side, what can I do on the other.
5195         (set_caps): Take two caps, one for each side of the element.
5196
5197         * gst/gstpad.h:
5198         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
5199         caps in place. This is safe because we can check the mutability of
5200         the caps, and a good idea because fixate functions are just called
5201         as a matter of last resort. (Not actually implemented.)
5202         (gst_pad_set_caps): If the caps we're setting is actually the same
5203         as the existing pad caps, just update the pointer without calling
5204         setcaps. Assert that caps is either NULL or fixed, as per the
5205         docs.
5206
5207         * gst/gstghostpad.c: Update for fixate changes.
5208
5209 2005-07-02  Andy Wingo  <wingo@pobox.com>
5210
5211         * gst/gstcaps.c:
5212         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
5213         two refcounts makes it immutable, which is enough. Doc more.
5214
5215 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
5216
5217         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
5218           Put the mini_object into GValue as a mini_object,
5219           not a gpointer, since that's how we declared
5220           the signal.
5221
5222 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5223
5224         * examples/pwg/Makefile.am:
5225           Fix buildbot again.
5226
5227 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5228
5229         * docs/pwg/building-testapp.xml:
5230           Add extra check.
5231         * examples/pwg/Makefile.am:
5232           Fix buildbot.
5233
5234 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5235
5236         * configure.ac:
5237         * examples/Makefile.am:
5238         * examples/pwg/Makefile.am:
5239         * examples/pwg/extract.pl:
5240           Enable building the PWG examples.
5241         * docs/pwg/advanced-interfaces.xml:
5242           Add URI interface stub.
5243         * docs/pwg/advanced-types.xml:
5244         * docs/pwg/other-autoplugger.xml:
5245         * docs/pwg/appendix-porting.xml:
5246         * docs/pwg/pwg.xml:
5247           Add porting guide (mostly stubs), remove autoplugging (see ADM).
5248         * docs/pwg/building-boiler.xml:
5249         * docs/pwg/building-chainfn.xml:
5250         * docs/pwg/building-pads.xml:
5251         * docs/pwg/building-props.xml:
5252         * docs/pwg/building-state.xml:
5253         * docs/pwg/building-testapp.xml:
5254           Update the building-*.xml parts for 0.9 changes. All examples
5255           code blocks compile in examples/pwg/*.
5256
5257 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5258
5259         * docs/manual/advanced-autoplugging.xml:
5260         * docs/manual/appendix-checklist.xml:
5261         * docs/manual/appendix-integration.xml:
5262         * docs/manual/highlevel-components.xml:
5263           Fix playbin/decodebin examples, update docs a bit, mention bus
5264           instead of signals in various places, mention kmplayer and
5265           kaffeine since they have a working GStreamer backend in the KDE
5266           section.
5267
5268 2005-06-30  Wim Taymans  <wim@fluendo.com>
5269
5270         * CHANGES-0.9:
5271         * docs/design/draft-ghostpads.txt:
5272         * docs/design/draft-push-pull.txt:
5273         * docs/design/draft-query.txt:
5274         * docs/design/part-TODO.txt:
5275         * docs/design/part-query.txt:
5276         Added CHANGES-0.9 doc, updated status of other docs.
5277         
5278         * gst/gstquery.h:
5279         Remove "hmm" macro
5280
5281 2005-06-30  Wim Taymans  <wim@fluendo.com>
5282
5283         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5284         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5285         (gst_base_sink_change_state):
5286         * gst/base/gstbasesink.h:
5287         Some tweaks, only EOS and a buffer complete a preroll.
5288
5289 2005-06-30  Andy Wingo  <wingo@pobox.com>
5290
5291         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
5292         activate_push down to the internal pad as well.
5293
5294 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
5295
5296         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5297
5298         * gst/gsttaginterface.c:
5299           Some documentation fixes (#307394 and #307397).
5300
5301 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
5302
5303         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5304
5305         * gst/gstvalue.c: (gst_value_intersect_list):
5306           Fix memleak (#309125).
5307
5308 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5309
5310         * docs/manual/advanced-dataaccess.xml:
5311           Fix fakesrc example to compile; doesn't work, bug somewhere...?
5312         * docs/manual/basics-pads.xml:
5313           Add reference for filtered caps to above chapter.
5314
5315 2005-06-30  Wim Taymans  <wim@fluendo.com>
5316
5317         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
5318         (gst_bin_change_state):
5319         Probes are gone.
5320         Lame attempt at making the state change function a bit
5321         more readable.
5322
5323 2005-06-30  Wim Taymans  <wim@fluendo.com>
5324
5325         * docs/design/part-clocks.txt:
5326         * docs/design/part-element-sink.txt:
5327         * docs/design/part-events.txt:
5328         * docs/design/part-preroll.txt:
5329         * docs/design/part-states.txt:
5330         Some more tweeks and additions to the docs.
5331
5332 2005-06-30  Wim Taymans  <wim@fluendo.com>
5333
5334         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5335         (default_have_data), (gst_pad_class_init), (gst_pad_init),
5336         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5337         (gst_pad_check_pull_range), (gst_pad_get_range),
5338         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
5339         * gst/gstpad.h:
5340         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
5341         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5342         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5343         (gst_pad_remove_buffer_probe):
5344         Removed atomic operations, use existing LOCK.
5345         Move exception handling out of main code path.
5346
5347 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5348
5349         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5350         (silly_return_true_function), (gst_pad_class_init),
5351         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5352         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
5353         (gst_pad_send_event):
5354           Fix accumulator, add default value by using _emitv() instead
5355           of _emit() for signal emission.
5356
5357 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5358
5359         * docs/manual/advanced-dataaccess.xml:
5360         * examples/manual/Makefile.am:
5361           Add probe example.
5362         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
5363           Make work (??).
5364
5365 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         * gst/elements/gstfilesink.c: (gst_filesink_render):
5368           Simplify code so that we don't have to handle short
5369           writes and return GST_FLOW_ERROR if an error occured.
5370
5371 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5372
5373         * docs/gst/gstreamer-docs.sgml:
5374           Remove probes more.
5375
5376 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5377
5378         * docs/gst/gstreamer-sections.txt:
5379         * docs/gst/tmpl/gstpad.sgml:
5380         * docs/gst/tmpl/gstprobe.sgml:
5381         * gst/Makefile.am:
5382         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5383         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
5384         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
5385         (gst_pad_push_event), (gst_pad_send_event):
5386         * gst/gstpad.h:
5387         * gst/gstutils.c: (gst_pad_add_data_probe),
5388         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5389         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5390         (gst_pad_remove_buffer_probe):
5391         * gst/gstutils.h:
5392           Remove old probes, add new g-signal-based probes and some utility
5393           functions.
5394
5395 2005-06-29  Edward Hervey  <edward@fluendo.com>
5396
5397         * gst/gstelementfactory.c:
5398         * gst/gstutils.h:
5399         * gst/gstutils.c:
5400         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
5401         the definition to the header file.
5402
5403 2005-06-29  Andy Wingo  <wingo@pobox.com>
5404
5405         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
5406         plugins from the source directory.
5407
5408 2005-06-29  Wim Taymans  <wim@fluendo.com>
5409
5410         * docs/gst/tmpl/gstbuffer.sgml:
5411         * docs/gst/tmpl/gstclock.sgml:
5412         Some fixings for blantently wrong text.
5413
5414 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * check/Makefile.am:
5417         * gst/gst.c: (add_path_func), (init_pre):
5418         * gst/gstregistry.c: (gst_registry_add_path):
5419           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
5420           only scan the GST_PLUGIN_PATH locations, and not add
5421           system locations
5422
5423 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         * docs/gst/gstreamer-sections.txt:
5426         * docs/gst/tmpl/gstbasesrc.sgml:
5427         * gst/gstelement.c:
5428         * gst/gstelement.h:
5429         * gst/gstevent.c:
5430         * gst/gstutils.c:
5431           doc fixes
5432
5433 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5434
5435         * docs/manual/advanced-autoplugging.xml:
5436           Fix autoplugging example.
5437
5438 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5439
5440         * docs/manual/advanced-autoplugging.xml:
5441         * docs/manual/mime-world.fig:
5442           Try to get autoplugging working, fix type detection. Fix text
5443           in hello-world image.
5444
5445 2005-06-29  Wim Taymans  <wim@fluendo.com>
5446
5447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5448         (gst_base_sink_change_state):
5449         Small debug line.
5450
5451         * gst/gstclock.h:
5452         map SIGNAL and BROADCAST to the right function.
5453
5454         * gst/gstobject.h:
5455         Remove redundant braces.
5456
5457         * gst/gstpad.c: (gst_pad_set_caps):
5458         Don't call setcaps function when reseting caps to NULL.
5459
5460         * gst/gstsystemclock.c: (gst_system_clock_dispose),
5461         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
5462         (gst_system_clock_id_unschedule):
5463         Use BROADCAST as this is what we do.
5464
5465 2005-06-29  Wim Taymans  <wim@fluendo.com>
5466
5467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5468         We are actually prerolling before commiting the state
5469         change. 
5470
5471 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5472
5473         * docs/manual/advanced-clocks.xml:
5474         * docs/manual/advanced-interfaces.xml:
5475         * docs/manual/advanced-metadata.xml:
5476         * docs/manual/advanced-position.xml:
5477         * docs/manual/advanced-schedulers.xml:
5478         * docs/manual/advanced-threads.xml:
5479         * docs/manual/appendix-porting.xml:
5480         * docs/manual/basics-bins.xml:
5481         * docs/manual/basics-bus.xml:
5482         * docs/manual/basics-elements.xml:
5483         * docs/manual/basics-helloworld.xml:
5484         * docs/manual/basics-pads.xml:
5485         * docs/manual/highlevel-components.xml:
5486         * docs/manual/manual.xml:
5487         * docs/manual/thread.fig:
5488           Update (until threads/scheduling) Application Development Manual;
5489           remove GstThread, add GstBus, add simple porting checklist, add
5490           documentation for tag writing, clocks, make all examples until this
5491           part compile and run.
5492         * examples/manual/Makefile.am:
5493           Update from changes to Application Development Manual; add bus
5494           example, remove thread example.
5495
5496 2005-06-28  Wim Taymans  <wim@fluendo.com>
5497
5498         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
5499         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
5500         (gst_bus_source_dispatch):
5501         Add debugging messages.
5502         Make internal methods static.
5503         Handle the case where the bus is flushed in the handler.
5504         
5505         * gst/gstelement.c: (gst_element_get_bus):
5506         Fix refcount in _get_bus();
5507
5508         * gst/gstpipeline.c: (gst_pipeline_change_state),
5509         (gst_pipeline_get_clock_func):
5510         Clock refcounting fixes.
5511         Handle the case where preroll timed out more gracefully.
5512         
5513         * gst/gstsystemclock.c: (gst_system_clock_dispose):
5514         Clean up the internal thread in dispose. This is needed
5515         for subclasses that actually get disposed.
5516         
5517         * gst/schedulers/threadscheduler.c:
5518         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5519         (gst_thread_scheduler_dispose):
5520         Free thread pool in dispose.
5521
5522 2005-06-28  Andy Wingo  <wingo@pobox.com>
5523
5524         * tests/network-clock-utils.scm (debug, print-event): New utils.
5525
5526         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
5527         (*packet-loss*): Unified loss probability.
5528         (network-time): Report out-of-band events.
5529
5530         * tests/plot-data: Add support for out-of-band events. Hack it
5531         into this script instead of passing it down the pipe; should fix
5532         this later.
5533
5534 2005-06-28  Wim Taymans  <wim@fluendo.com>
5535
5536         * docs/gst/gstreamer.types:
5537         * docs/gst/tmpl/gstbasesrc.sgml:
5538         * docs/gst/tmpl/gstpad.sgml:
5539         Docs fixes.
5540
5541 2005-06-28  Wim Taymans  <wim@fluendo.com>
5542
5543         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5544         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
5545         (gst_proxy_pad_do_fixatecaps):
5546         Correctly proxy the check_pull_range function.
5547
5548 2005-06-28  Andy Wingo  <wingo@pobox.com>
5549
5550         * tests/network-clock.scm: Removed need for slib.
5551         
5552 2005-06-28  Wim Taymans  <wim@fluendo.com>
5553
5554         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
5555         (gst_basesink_preroll_queue_flush):
5556         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
5557         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
5558         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5559         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5560         (gst_proxy_pad_set_property):
5561         * gst/gstpad.c:
5562         * gst/gstpad.h:
5563         * gst/gstqueue.c: (gst_queue_init):
5564         The deprecated pad loop function is removed now.
5565
5566 2005-06-28  Andy Wingo  <wingo@pobox.com>
5567
5568         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
5569         New parameters, simulate network packet loss.
5570
5571         * tests/network-clock-utils.scm: Initialize the RNG.
5572
5573 2005-06-28  Wim Taymans  <wim@fluendo.com>
5574
5575         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
5576         (gst_basesink_event), (gst_basesink_deactivate):
5577         Flushing the preroll queue always needs to unlock the waiters.
5578
5579 2005-06-28  Edward Hervey  <edward@fluendo.com>
5580
5581         * gst/gstpipeline.c: (gst_pipeline_send_event): 
5582         Wheen a seek was successful on a pipeline, set the stream_time to the
5583         seek offset in order to have a synchronized stream_time.
5584
5585 2005-06-28  Wim Taymans  <wim@fluendo.com>
5586
5587         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5588         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
5589         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
5590         (gst_proxy_pad_do_fixatecaps):
5591         Call wrapper function instead of just calling the function
5592         pointers. This takes care of any locking and whatmore.
5593
5594 2005-06-28  Wim Taymans  <wim@fluendo.com>
5595
5596         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
5597         (gst_pad_pull_range):
5598         * gst/gstpad.h:
5599         CONNECTED -> LINKED.
5600
5601 2005-06-28  Andy Wingo  <wingo@pobox.com>
5602
5603         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
5604         source-munging commit!!!
5605
5606         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
5607         (gst_object_sink): Take gpointer arguments, not GstObject --
5608         avoids casts. Like GLib.
5609
5610         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
5611         activate.
5612
5613 2005-06-27  Andy Wingo  <wingo@pobox.com>
5614
5615         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
5616         remaining buffer.
5617
5618         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
5619         returns a sorted copy of the trace list.
5620         (gst_alloc_trace_print_live): New API, only prints traces with
5621         live objects. Sort the list.
5622         (gst_alloc_trace_print_all): Sort the list.
5623         (gst_alloc_trace_print): Align columns.
5624
5625         * gst/elements/gstttypefindelement.c:
5626         * gst/elements/gsttee.c:
5627         * gst/base/gstbasesrc.c:
5628         * gst/base/gstbasesink.c:
5629         * gst/base/gstbasetransform.c:
5630         * gst/gstqueue.c: Adapt for pad activation changes.
5631
5632         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
5633         sched.
5634         (gst_pipeline_dispose): Drop ref on sched.
5635
5636         * gst/gstpad.c (gst_pad_init): Set the default activate func.
5637         (gst_pad_activate_default): Push mode by default.
5638         (pre_activate_switch, post_activate_switch): New stubs, things to
5639         do before and after switching activation modes on pads.
5640         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
5641         the pad's activate function to choose which mode to activate.
5642         Shortcut on deactivation and call the right function directly.
5643         (gst_pad_activate_pull): New API, (de)activates a pad in pull
5644         mode.
5645         (gst_pad_activate_push): New API, same for push mode.
5646         (gst_pad_set_activate_function) 
5647         (gst_pad_set_activatepull_function) 
5648         (gst_pad_set_activatepush_function): Setters for new API.
5649
5650         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
5651         Trace all miniobjects.
5652         (gst_mini_object_make_writable): Unref the arg if we copy, like
5653         gst_caps_make_writable.
5654
5655         * gst/gstmessage.c (_gst_message_initialize): No trace init.
5656
5657         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
5658         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
5659         Adapt for new pad API.
5660
5661         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
5662
5663         * gst/gstelement.h:
5664         * gst/gstelement.c (gst_element_iterate_src_pads) 
5665         (gst_element_iterate_sink_pads): New API functions.
5666         
5667         * gst/gstelement.c (iterator_fold_with_resync): New utility,
5668         should fold into gstiterator.c in some form.
5669         (gst_element_pads_activate): Simplified via use of fold and
5670         delegation of decisions to gstpad->activate.
5671
5672         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
5673         help in debugging.
5674
5675         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
5676         class once in init, like gstmessage. Didn't run into this issue
5677         but it seems correct. Don't initialize a trace, gstminiobject does
5678         that.
5679
5680         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
5681         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
5682         to the bus.
5683         (assert_live_count): New util function, uses alloc traces to check
5684         cleanup.
5685
5686         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
5687         To be modified when unlink drops the internal pad.
5688
5689 2005-06-27  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
5692         (gst_bin_change_state):
5693         Cleanup the get_state() function a little, make sure it
5694         iterates the same set of elements.
5695         Added stub iterate_state_order().
5696
5697 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5698
5699         * docs/gst/gstreamer-docs.sgml:
5700         * docs/gst/gstreamer-sections.txt:
5701         * docs/gst/gstreamer.types:
5702         * docs/gst/tmpl/gstbasesink.sgml:
5703         * docs/gst/tmpl/gstbasesrc.sgml:
5704         * docs/gst/tmpl/gstbasetransform.sgml:
5705         * docs/gst/tmpl/gstelement.sgml:
5706         * docs/gst/tmpl/gstiterator.sgml:
5707         * gst/base/gstbasesrc.c:
5708         * gst/base/gstbasesrc.h:
5709         * gst/base/gstbasetransform.h:
5710         * gst/gstelement.c:
5711         * gst/gstiterator.h:
5712           adding basetransform and iterator docs
5713
5714 2005-06-27  Andy Wingo  <wingo@pobox.com>
5715
5716         * docs/design/part-activation.txt: Notes on how activation should
5717         work -- not quite implemented yet.
5718
5719 2005-06-25  Wim Taymans  <wim@fluendo.com>
5720
5721         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
5722         At least get the chain function correct, needs more
5723         fixing.
5724
5725 2005-06-25  Wim Taymans  <wim@fluendo.com>
5726
5727         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5728         (gst_basesink_handle_object), (gst_basesink_event),
5729         (gst_basesink_do_sync), (gst_basesink_handle_event),
5730         (gst_basesink_change_state):
5731         * gst/gsttask.h:
5732         Right, two problems here: ghostpads don't take locks and
5733         glib _rec_mutex_lock_full() with depth==0 still locks.
5734         Catch illegal locking and g_warn them.
5735
5736 2005-06-25  Wim Taymans  <wim@fluendo.com>
5737
5738         * check/states/sinks.c: (START_TEST), (gst_object_suite):
5739         Have to check for completion now...
5740
5741 2005-06-25  Wim Taymans  <wim@fluendo.com>
5742
5743         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5744         (gst_basesink_handle_object), (gst_basesink_event),
5745         (gst_basesink_do_sync), (gst_basesink_handle_event),
5746         (gst_basesink_change_state):
5747         * gst/gstpad.h:
5748         Unlock STREAM_LOCK whatever the recursion was.
5749
5750 2005-06-25  Wim Taymans  <wim@fluendo.com>
5751
5752         * gst/base/gstbasesink.c: (gst_basesink_set_property),
5753         (gst_basesink_preroll_queue_empty),
5754         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
5755         (gst_basesink_event), (gst_basesink_do_sync),
5756         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
5757         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
5758         (gst_basesink_change_state):
5759         Reworked the base sink, handle event and buffer serialisation
5760         correctly and removed possible deadlock.
5761         Handle EOS correctly.
5762
5763 2005-06-25  Wim Taymans  <wim@fluendo.com>
5764
5765         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
5766         (gst_pipeline_change_state):
5767         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5768         Allow elements to post EOS in the state change function.
5769         Fix up -launch, make it exit the poll loop when the
5770         pipeline actually changed state.
5771         Fix up warning parsing in -launch.
5772
5773 2005-06-25  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
5776         (gst_tee_sink_activate):
5777         Core takes STREAM_LOCK for us now.
5778
5779 2005-06-25  Wim Taymans  <wim@fluendo.com>
5780
5781         * gst/gstelement.c: (gst_element_get_state_func),
5782         (gst_element_set_state):
5783         * gst/gstelement.h:
5784         * gst/gstmessage.c: (gst_message_parse_error),
5785         (gst_message_parse_warning):
5786         Keep track of current target state while performing a state
5787         change so that subclasses can do something interesting.
5788         Fix parsing of warning/error messages when GError is NULL.
5789
5790 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * docs/gst/Makefile.am:
5793         * docs/gst/gstreamer-docs.sgml:
5794         * docs/gst/gstreamer-sections.txt:
5795         * docs/gst/gstreamer.types:
5796         * docs/gst/tmpl/gstbasesink.sgml:
5797         * docs/gst/tmpl/gstbasesrc.sgml:
5798         * docs/gst/tmpl/gstbin.sgml:
5799         * docs/gst/tmpl/gstcompat.sgml:
5800         * docs/gst/tmpl/gstfakesink.sgml:
5801         * docs/gst/tmpl/gstfakesrc.sgml:
5802         * docs/gst/tmpl/gstfilesink.sgml:
5803         * docs/gst/tmpl/gstfilesrc.sgml:
5804         * docs/gst/tmpl/gstindex.sgml:
5805         * docs/manual/appendix-quotes.xml:
5806         * gst/base/gstbasesrc.h:
5807         * gst/elements/gstfakesrc.h:
5808         * gst/gstmessage.h:
5809           start pulling in base classes and elements in our docs
5810
5811 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
5812
5813         * docs/gst/Makefile.am:
5814         * docs/libs/Makefile.am:
5815           fixed make distcheck with gtk-doc 1.3
5816
5817 2005-06-23  Wim Taymans  <wim@fluendo.com>
5818
5819         * gst/gstelement.c: (gst_element_get_state_func),
5820         (gst_element_set_state), (gst_element_change_state):
5821         When the state did not change, also report NO_PREROLL
5822         when it matters.
5823
5824 2005-06-23  Wim Taymans  <wim@fluendo.com>
5825
5826         * gst/gstpad.c: (gst_pad_event_default):
5827         * gst/gstqueue.c: (gst_queue_loop):
5828         No unsafe task pausing please.
5829
5830 2005-06-23  Wim Taymans  <wim@fluendo.com>
5831
5832         * gst/schedulers/threadscheduler.c:
5833         (gst_thread_scheduler_task_start),
5834         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
5835         Ref the task before pushing it on the threadpool. This
5836         makes sure that we have a ref when the threadfunction is
5837         actually called.
5838
5839 2005-06-23  Andy Wingo  <wingo@pobox.com>
5840
5841         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
5842         offset is greater than the file's size.
5843
5844         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
5845         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
5846         * gst/gstobject.c (gst_object_class_init): Make the class lock
5847         recursive. Wim won't let me drop deep_notify. Decodebin works
5848         again, whoopdy doo.
5849
5850         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
5851         internal pad, and hacks accordingly. Doesn't do it on the target
5852         pad because we change its caps. Probably catches all cases of
5853         interest tho.
5854         (gst_ghost_pad_set_property): Connect to notify::caps as
5855         appropritate.
5856
5857         * tests/network-clock.scm (plot-simulation): Pipe data to the
5858         elite python skript.
5859
5860         * tests/network-clock-utils.scm (define-parameter): New macro,
5861         defines a parameter that can be set via the command line.
5862         (set-parameter!, parse-parameter-arguments): Command line args
5863         parser.
5864
5865         * tests/plot-data: Simple matplotlib-based plotter, takes input on
5866         stdin.
5867
5868 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
5869
5870         * gst/elements/gsttypefindelement.c:
5871         (gst_type_find_element_handle_event):
5872           Don't restart typefinding on a discont.
5873         * gst/gstelement.c: (gst_element_set_state):
5874           Debug spelling fix.
5875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
5876           Allow changing mode of an active pad.
5877           Debug output fixes.
5878         * gst/registries/gstlibxmlregistry.c: (load_feature):
5879           Don't cast a static pad template to a normal pad template.
5880
5881 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5884         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5885           remove gst_strtoll completely, since it didn't actually do
5886           anything more than what g_ascii_strtoull already does.
5887           check for range errors when deserializing
5888           do a cast for the unsigned cases; but further fixing needs
5889           a decision on what the interpretation of "(int)" and
5890           deserialization should be for values that fall outside the
5891           type's boundaries (ie, refuse, or interpret as casting)
5892
5893 2005-06-23  Wim Taymans  <wim@fluendo.com>
5894
5895         * check/Makefile.am:
5896         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
5897         * docs/design/part-live-source.txt:
5898         * docs/design/part-states.txt:
5899         * gst/base/gstbasesrc.c: (gst_basesrc_init),
5900         (gst_basesrc_set_live), (gst_basesrc_is_live),
5901         (gst_basesrc_get_range), (gst_basesrc_activate),
5902         (gst_basesrc_change_state):
5903         * gst/base/gstbasesrc.h:
5904         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5905         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
5906         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
5907         * gst/gstelement.c: (gst_element_get_state_func),
5908         (gst_element_set_state):
5909         * gst/gstelement.h:
5910         * gst/gsttypes.h:
5911         * tools/gst-launch.c: (event_loop), (main):
5912         Added support for live sources and other elements that
5913         cannot do preroll.
5914         Updated design docs, added live-source design doc.
5915         Implemented live source functionality in basesrc
5916         Fix error condition in _bin_get_state()
5917         Implement live source handling in -launch.
5918         Added check for live sources.
5919         Fixed case in GstBin where elements were changed state
5920         multiple times.
5921
5922
5923 2005-06-23  Andy Wingo  <wingo@pobox.com>
5924
5925         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
5926         borken refcounting.
5927
5928         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
5929         gst_caps_replace takes care of this for us.
5930
5931         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
5932         gst_pad_set_caps on the target, not just its setcaps() function.
5933
5934         * tests/network-clock.scm: 
5935         * tests/network-clock-utils.scm: A network clock simulator.
5936         Something of an algorithmic testbed before doing something in C.
5937
5938 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * check/Makefile.am:
5941         * check/gst/capslist.h:
5942           copy over from 0.8, and add two with bitmasks specified with
5943           (int) 0xFF...
5944         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
5945           add test to parse everything from capslist.h
5946         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
5947         (main):
5948           add test for structure deserialization
5949         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5950           add tests for deserialization of strings to int types
5951         * gst/gststructure.c: (gst_structure_nth_field_name):
5952         * gst/gststructure.h:
5953           add a way to get the name of a field referenced by index
5954         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5955           instead of checking if the resulting long long lies between
5956           min and max, we check if the long long would fit into
5957           a number of bytes for the final type.
5958           This fixes cases where a string represents 2^32 - 1, which
5959           when cast to int would be the (valid) -1, but is bigger than
5960           G_MAXINT
5961
5962 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * gst/parse/grammar.y:
5965           add a log line for type deserialization
5966
5967 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * check/gst/gstvalue.c: (START_TEST):
5970         * gst/gstvalue.c: (gst_value_deserialize):
5971           return long long, not int, so gint64 deserialization actually
5972           works.  Is there any flag that makes the compiler check this ?
5973           Fixes #308559
5974
5975 2005-06-22  Wim Taymans  <wim@fluendo.com>
5976
5977         * gst/gstbuffer.h:
5978         Added convenience macros for setting buffers in GValue.
5979
5980 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * check/gst/.cvsignore:
5983         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5984           add a test deserializing int64, and comment part out because
5985           it fails, yay !
5986
5987 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5988
5989         * check/Makefile.am:
5990         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
5991         * testsuite/Makefile.am:
5992         * testsuite/caps/Makefile.am:
5993         * testsuite/caps/value_serialize.c:
5994         * testsuite/test_gst_init.c:
5995           move a value_serialize test over
5996
5997 2005-06-20  Wim Taymans  <wim@fluendo.com>
5998
5999         * gst/gstpad.c:
6000         Small doc updates.
6001         
6002         * gst/gstvalue.c: (gst_value_compare_buffer),
6003         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
6004         (gst_value_compare_flags), (gst_value_serialize_flags),
6005         (gst_value_deserialize_flags), (_gst_value_initialize):
6006         Fix serialisation of buffers, they are not boxed types anymore
6007
6008 2005-06-20  Wim Taymans  <wim@fluendo.com>
6009
6010         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
6011         Testcase to show error in buffer-on-caps serialisation.
6012
6013 2005-06-20  Andy Wingo  <wingo@pobox.com>
6014
6015         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
6016         will be adding to later.
6017
6018         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
6019         if its socks fill with rocks.
6020         (gst_system_clock_obtain): Set the name on object construction.
6021         Avoid double-checked locking.
6022
6023 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
6024
6025         * gst/gsturi.c: (gst_element_make_from_uri):
6026           Fix potential endless loop.
6027
6028 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * check/Makefile.am:
6031           add gsttag
6032         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
6033         (main):
6034           move over from testsuite dir and clean up
6035         * configure.ac:
6036         * gst/gsttag.c:
6037         * testsuite/Makefile.am:
6038         * testsuite/tags/.cvsignore:
6039         * testsuite/tags/Makefile.am:
6040         * testsuite/tags/merge.c:
6041           remove testsuite/tags
6042
6043 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6044
6045         * docs/gst/gstreamer-sections.txt:
6046         * docs/gst/tmpl/gstenumtypes.sgml:
6047         * win32/gstenumtypes.c:
6048           clean up documentation build a little
6049
6050 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6051
6052         * check/gstcheck.h:
6053           add macros for checking refcounts on objects and caps
6054         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
6055           add some more unit tests
6056         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6057         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
6058           fix leaked refcounts (I hope :)) so unittest works
6059         * gst/gstpad.h:
6060           whitespace removal
6061
6062 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * configure.ac: back to HEAD
6065
6066 === release 0.9.1 ===
6067
6068 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         * NEWS:
6071         * RELEASE:
6072           updated
6073
6074 2005-06-17  Andy Wingo  <wingo@pobox.com>
6075
6076         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
6077         assert; it's always possible that the pad gets deactivated in
6078         between the checks in gstpad.c and the implementation. Rely on
6079         finish_preroll() to return a FLUSHING or similar instead of on the
6080         assert.
6081         
6082         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
6083         clock and post an EOS message if we come out of finish_preroll in
6084         the playing state.
6085
6086 2005-06-16  David Schleef  <ds@schleef.org>
6087
6088         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6089         (gst_capsfilter_set_property): Allow NULL as possible value
6090         for filter_caps property, indicating GST_CAPS_ANY.
6091
6092 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
6095           fix debug output
6096         * gst/schedulers/Makefile.am:
6097           use libgst prefix
6098         * gstreamer.spec.in:
6099           fix spec for it
6100
6101 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * gstreamer.spec.in:
6104           clean up
6105
6106 2005-06-08  Andy Wingo  <wingo@pobox.com>
6107
6108         * gst/gstutils.c: RPAD fixes all around.
6109         (gst_element_link_pads): Refcounting fixes.
6110
6111         * tools/gst-inspect.c:
6112         * tools/gst-xmlinspect.c:
6113         * parse/grammar.y:
6114         * gst/base/gsttypefindhelper.c:
6115         * gst/base/gstbasesink.c:
6116         * gst/gstqueue.c: RPAD fixes.
6117
6118         * gst/gstghostpad.h:
6119         * gst/gstghostpad.c: New ghost pad implementation as full proxy
6120         pads. The tricky thing is they provide both source and sink
6121         interfaces, since they proxy the internal pad for the external
6122         pad, and vice versa. Implement with lower-level ProxyPad objects,
6123         with the interior proxy pad as a child of the exterior ghost pad.
6124         Should write a doc on this.
6125         
6126         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
6127         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
6128         gst_object API.
6129         
6130         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
6131         pads are real pads. No ghost pads in this file. Not documenting
6132         the myriad s/RPAD/PAD/ and REALIZE fixes.
6133         (gst_pad_class_init): Add properties for "direction" and
6134         "template". Both are construct-only, so they can't change during
6135         the life of the pad. Fixes properly deriving from GstPad.
6136         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
6137         derived objects, just set properties when creating the objects via
6138         g_object_new.
6139         (gst_pad_get_parent): Implement as a function, return NULL if the
6140         parent is not an element.
6141         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
6142         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
6143         
6144         * gst/gstobject.c (gst_object_class_init): Make name a construct
6145         property. Don't set it in the object init.
6146
6147         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
6148         with UNKNOWN direction.
6149         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
6150         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
6151         (gst_element_remove_pad): Remove ghost-pad special cases.
6152         (gst_element_pads_activate): Remove rpad cruft.
6153
6154         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
6155         catch the pad's-parent-not-an-element case.
6156
6157         * gst/gst.h: Include gstghostpad.h.
6158
6159         * gst/gst.c (init_post): No more real, ghost pads.
6160
6161         * gst/Makefile.am: Add gstghostpad.[ch].
6162
6163         * check/Makefile.am:
6164         * check/gst/gstbin.c:
6165         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
6166         into a bin creates ghost pads, and that the refcounts are right.
6167         Partly moved from gstbin.c.
6168
6169 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6170
6171         * check/gst-libs/.cvsignore:
6172         * check/gst/.cvsignore:
6173         * check/pipelines/.cvsignore:
6174           ignore more
6175         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
6176         (START_TEST), (cleanup_suite), (main):
6177           add some tests related to cleanup after running pipelines
6178
6179 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
6182           add a testsuite for GstBuffer
6183
6184 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6185
6186         * gst/gstminiobject.h:
6187           add defines for accessing the refcount
6188
6189 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
6190
6191         * Makefile.am: added support for html unit test coverage reports
6192
6193 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
6194
6195         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6196           Free existing caps if the capsfilter changes. Add a FIXME about
6197           setting those caps on the pads.
6198
6199         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
6200           Before adding a ghost pad to a parent bin, check that there isn't
6201           already one for the element on the bin. Prevents infinite recursion
6202           when using decodebin in parse pipelines. Andy says he'll rewrite the
6203           way this works anyway, so ignore the hack.
6204
6205 2005-06-02  Andy Wingo  <wingo@pobox.com>
6206
6207         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
6208         file size, pass it on to the type find helper.
6209
6210         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
6211         segment_start and segment_end properly according to the seek
6212         method. Segment_end is still a bit flaky because offset can be
6213         negative for CUR and END cases, but it takes -1 as an "unset"
6214         value.
6215
6216 2005-06-02  Wim Taymans  <wim@fluendo.com>
6217
6218         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
6219         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
6220         (gst_basesink_activate):
6221         * gst/base/gstbasesink.h:
6222         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6223         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6224         (gst_pad_query), (gst_pad_start_task):
6225         * gst/gstpad.h:
6226         * gst/gstqueue.c: (gst_queue_bufferalloc),
6227         (gst_queue_handle_sink_event), (gst_queue_chain):
6228         Bufferalloc: return GstFlowReturn to more accuratly report
6229         why allocation failed.
6230
6231 2005-06-02  Wim Taymans  <wim@fluendo.com>
6232
6233         * gst/gstpipeline.c: (gst_pipeline_send_event):
6234         Take snapshot of state without blocking.
6235
6236 2005-06-02  Wim Taymans  <wim@fluendo.com>
6237
6238         * docs/design/part-TODO.txt:
6239         * docs/design/part-caps.txt:
6240         * docs/design/part-clocks.txt:
6241         * docs/design/part-negotiation.txt:
6242         * docs/design/part-preroll.txt:
6243         Small doc updates 
6244
6245 2005-05-30  Wim Taymans  <wim@fluendo.com>
6246
6247         * gst/elements/gstidentity.c: (gst_identity_event),
6248         (gst_identity_transform), (gst_identity_get_property):
6249         Protect last_message property as it is accessed from
6250         multiple threads.
6251
6252 2005-05-30  Wim Taymans  <wim@fluendo.com>
6253
6254         * gst/gstelement.c: (gst_element_init),
6255         (gst_element_pads_activate), (gst_element_change_state):
6256         Slicker pad activation code.
6257
6258 2005-05-30  Wim Taymans  <wim@fluendo.com>
6259
6260         * gst/Makefile.am:
6261         * gst/gstelement.h:
6262         * gst/gstelementfactory.h:
6263         * gst/gsttypes.h:
6264         Move elementfactory methods to separate .h file.
6265
6266 2005-05-30  Wim Taymans  <wim@fluendo.com>
6267
6268         * docs/design/part-overview.txt:
6269         * gst/gstsystemclock.h:
6270         Small typo fixes, doc updates.
6271
6272 2005-05-30  Wim Taymans  <wim@fluendo.com>
6273
6274         * gst/gst.c: (gst_init_get_popt_table), (init_post),
6275         (init_popt_callback):
6276         Remove cpu-opt flag.
6277
6278 2005-05-30  Wim Taymans  <wim@fluendo.com>
6279
6280         * gst/gstbuffer.c: (gst_subbuffer_finalize),
6281         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
6282         * gst/gstbuffer.h:
6283         Avoid typechecking in places where not needed.
6284         Added accessor for malloc_data.
6285
6286 2005-05-30  Wim Taymans  <wim@fluendo.com>
6287
6288         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
6289         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
6290         (gst_pad_configure_sink), (gst_pad_configure_src),
6291         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
6292         (gst_pad_start_task):
6293         Propagate errors from _set_caps() in configure_src/sink
6294         functions instead of returning TRUE.
6295         FLUSH events can travel up and downstream
6296
6297
6298 2005-05-30  Wim Taymans  <wim@fluendo.com>
6299
6300         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6301         (gst_basesink_activate):
6302         Handle EOS in preroll.
6303
6304 2005-05-30  Wim Taymans  <wim@fluendo.com>
6305
6306         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6307         (gst_queue_loop), (gst_queue_handle_src_event):
6308         Remove old pieces of code
6309         Flushing the queue in an upstream event is a very bad idea.
6310
6311 2005-05-26  Andy Wingo  <wingo@pobox.com>
6312
6313         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
6314         gst_value_set_mini_object so as to add a ref on the object (which
6315         will be removed when the value is unset).
6316
6317         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
6318         arg type in ::handoff.
6319
6320         * gst/gstelement.c (gst_element_change_state): Also deactivate
6321         pads in READY->NULL, just in case the element didn't make it to
6322         PAUSED. Wingo tested, Wim approved.
6323
6324 2005-05-26  Wim Taymans  <wim@fluendo.com>
6325
6326         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6327         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6328         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
6329         A flushing pad cannot be used to alloc_buffer from.
6330
6331 2005-05-26  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6334         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
6335         (gst_bus_source_dispatch), (gst_bus_source_finalize),
6336         (gst_bus_create_watch), (gst_bus_add_watch_full):
6337         * gst/gstbus.h:
6338         Implement a real GSource and use g_main_context_wakeup() to
6339         signal new messages instead of the socketpair.
6340
6341 2005-05-25  Wim Taymans  <wim@fluendo.com>
6342
6343         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
6344         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
6345         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6346         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6347         (gst_pad_send_event), (gst_pad_start_task):
6348         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
6349         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6350         (gst_queue_sink_activate), (gst_queue_src_activate),
6351         (gst_queue_change_state):
6352         * gst/gstqueue.h:
6353         Fix state changes for non sinks. We now change sinks, then elements
6354         with unconnected srcpads, then the rest.
6355         More efficient queue unlocking in flush and state changes.
6356         Set the pad activate mode even if it does not have an activate
6357         function.
6358
6359 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6360
6361         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
6362           Don't go in pull mode for non-seekable sources.
6363         * gst/elements/gsttypefindelement.h:
6364         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6365         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
6366         (free_entry), (stop_typefinding),
6367         (gst_type_find_element_handle_event), (find_peek),
6368         (gst_type_find_element_chain), (do_pull_typefind),
6369         (gst_type_find_element_change_state):
6370           Allow typefinding (w/o seeking) in push-mode, simplified version
6371           of what was in 0.8.
6372         * gst/gstutils.c: (gst_buffer_join):
6373         * gst/gstutils.h:
6374           gst_buffer_join() from 0.8.
6375
6376 2005-05-25  Wim Taymans  <wim@fluendo.com>
6377
6378         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6379         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6380         (gst_pad_send_event), (gst_pad_start_task):
6381         Disable attempt at mode switching until it is figured out.
6382
6383 2005-05-25  Wim Taymans  <wim@fluendo.com>
6384
6385         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
6386         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6387         (gst_basesink_finish_preroll), (gst_basesink_chain),
6388         (gst_basesink_loop), (gst_basesink_activate),
6389         (gst_basesink_change_state):
6390         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
6391         (gst_basesrc_get_range), (gst_basesrc_loop),
6392         (gst_basesrc_activate):
6393         * gst/elements/gsttee.c: (gst_tee_sink_activate):
6394         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6395         (gst_real_pad_init), (gst_real_pad_set_property),
6396         (gst_real_pad_get_property), (gst_pad_set_active),
6397         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
6398         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
6399         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
6400         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
6401         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6402         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
6403         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
6404         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6405         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
6406         (gst_pad_stop_task):
6407         * gst/gstpad.h:
6408         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6409         (gst_queue_loop), (gst_queue_src_activate):
6410         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
6411         (gst_task_get_state):
6412         * gst/gsttask.h:
6413         * gst/schedulers/threadscheduler.c:
6414         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
6415         Implement gst_pad_pause/start/stop_task(), take STREAM lock
6416         in task function.
6417         Remove ACTIVE pad flag, use FLUSHING everywhere
6418         Added _pad_chain(), _pad_get_range() to call chain/getrange 
6419         functions.
6420         Add locks around IS_FLUSHING when reading.
6421         Take STREAM lock in chain(), get_range() functions so plugins
6422         don't need to take it anymore.
6423         
6424
6425
6426 2005-05-25  Wim Taymans  <wim@fluendo.com>
6427
6428         * tools/gst-launch.c: (event_loop):
6429         Unref message after using its contents instead of
6430         before.
6431
6432 2005-05-24  Wim Taymans  <wim@fluendo.com>
6433
6434         * docs/design/draft-ghostpads.txt:
6435         * docs/design/draft-push-pull.txt:
6436         * docs/design/draft-query.txt:
6437         * docs/design/part-overview.txt:
6438         Docs updates, added general overview doc.
6439
6440 2005-05-21  David Schleef  <ds@schleef.org>
6441
6442         * docs/gst/tmpl/old/GstBin.sgml:
6443         * docs/gst/tmpl/old/GstBuffer.sgml:
6444         * docs/gst/tmpl/old/GstCaps.sgml:
6445         * docs/gst/tmpl/old/GstClock.sgml:
6446         * docs/gst/tmpl/old/GstCompat.sgml:
6447         * docs/gst/tmpl/old/GstData.sgml:
6448         * docs/gst/tmpl/old/GstElement.sgml:
6449         * docs/gst/tmpl/old/GstEvent.sgml:
6450         * docs/gst/tmpl/old/GstIndex.sgml:
6451         * docs/gst/tmpl/old/GstStructure.sgml:
6452         * docs/gst/tmpl/old/GstTag.sgml:
6453         * docs/gst/tmpl/old/cothreads.sgml:
6454         * docs/gst/tmpl/old/cothreads_compat.sgml:
6455         * docs/gst/tmpl/old/gettext.sgml:
6456         * docs/gst/tmpl/old/gobject2gtk.sgml:
6457         * docs/gst/tmpl/old/grammar.tab.sgml:
6458         * docs/gst/tmpl/old/gst-i18n-app.sgml:
6459         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
6460         * docs/gst/tmpl/old/gst_private.sgml:
6461         * docs/gst/tmpl/old/gstaggregator.sgml:
6462         * docs/gst/tmpl/old/gstarch.sgml:
6463         * docs/gst/tmpl/old/gstatomic_impl.sgml:
6464         * docs/gst/tmpl/old/gstbufferstore.sgml:
6465         * docs/gst/tmpl/old/gstdata_private.sgml:
6466         * docs/gst/tmpl/old/gstdisksink.sgml:
6467         * docs/gst/tmpl/old/gstdisksrc.sgml:
6468         * docs/gst/tmpl/old/gstelementfactory.sgml:
6469         * docs/gst/tmpl/old/gstextratypes.sgml:
6470         * docs/gst/tmpl/old/gstfakesink.sgml:
6471         * docs/gst/tmpl/old/gstfakesrc.sgml:
6472         * docs/gst/tmpl/old/gstfdsink.sgml:
6473         * docs/gst/tmpl/old/gstfdsrc.sgml:
6474         * docs/gst/tmpl/old/gstfilesink.sgml:
6475         * docs/gst/tmpl/old/gstfilesrc.sgml:
6476         * docs/gst/tmpl/old/gsthttpsrc.sgml:
6477         * docs/gst/tmpl/old/gstidentity.sgml:
6478         * docs/gst/tmpl/old/gstindexfactory.sgml:
6479         * docs/gst/tmpl/old/gstmarshal.sgml:
6480         * docs/gst/tmpl/old/gstmd5sink.sgml:
6481         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
6482         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
6483         * docs/gst/tmpl/old/gstpadtemplate.sgml:
6484         * docs/gst/tmpl/old/gstpipefilter.sgml:
6485         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
6486         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
6487         * docs/gst/tmpl/old/gstshaper.sgml:
6488         * docs/gst/tmpl/old/gstspider.sgml:
6489         * docs/gst/tmpl/old/gstspideridentity.sgml:
6490         * docs/gst/tmpl/old/gststatistics.sgml:
6491         * docs/gst/tmpl/old/gsttee.sgml:
6492         * docs/gst/tmpl/old/gsttimecache.sgml:
6493         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
6494         * docs/gst/tmpl/old/gstxmlregistry.sgml:
6495         * docs/gst/tmpl/old/gthread-cothreads.sgml:
6496         * docs/gst/tmpl/old/types.sgml:
6497           I didn't intend to add these or check them in.
6498
6499 2005-05-19  David Schleef  <ds@schleef.org>
6500
6501         * configure.ac: Use -no-common everywhere.  In a sane world, it
6502           would be the default in libtool, because without it, you can't
6503           build DLLs on Windows.
6504         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
6505         * docs/gst/gstreamer-sections.txt:
6506         * docs/gst/tmpl/gstcpu.sgml:
6507         * docs/gst/tmpl/gstdata.sgml:
6508         * docs/gst/tmpl/gstthread.sgml:
6509
6510 2005-05-19  David Schleef  <ds@schleef.org>
6511
6512         * gst/gstminiobject.c: (gst_value_set_mini_object),
6513         (gst_value_take_mini_object), (gst_value_get_mini_object):
6514         * gst/gstminiobject.h: Add GValue set/get functions.
6515
6516 2005-05-19  Wim Taymans  <wim@fluendo.com>
6517
6518         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
6519         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
6520         (gst_subbuffer_init), (gst_buffer_is_span_fast):
6521         * gst/gstbuffer.h:
6522         * gst/gstbus.c: (gst_bus_post):
6523         * gst/gstelement.c: (gst_element_get_random_pad):
6524         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
6525         Make subbufer unref the parent in finalize.
6526         some more debugging info.
6527
6528
6529 2005-05-19  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/base/gstbasesink.c: (gst_basesink_class_init),
6532         (gst_basesink_init), (gst_basesink_finalize),
6533         (gst_basesink_activate), (gst_basesink_change_state):
6534         Don't free preroll queue too early.
6535
6536 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6537
6538         * gst/Makefile.am:
6539         * gst/ROADMAP:
6540           Hi, I'm outdated. Please shoot me.
6541
6542 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6543
6544         * gst/gstpipeline.c: (gst_pipeline_send_event):
6545           Do not access variables after they have been deleted.
6546
6547 2005-05-19  Wim Taymans  <wim@fluendo.com>
6548
6549         * tools/gst-inspect.c: (print_plugin_features):
6550         A plugin feature does unfortunatly not use the
6551         object name yet...
6552
6553 2005-05-18  Wim Taymans  <wim@fluendo.com>
6554
6555         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
6556         Port _span() functions to new subbuffers.
6557
6558 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6559
6560         * gst/gstbin.c: (gst_bin_add_func):
6561           Fix clock settery in bins when adding kids after the clock has
6562           been selected.
6563
6564 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6565
6566         * gst/elements/gstidentity.c: (gst_identity_class_init):
6567           Workaround until signals support GstMiniObject.
6568
6569 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6570
6571         * gst/gstbuffer.c:
6572         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
6573
6574 2005-05-18  Wim Taymans  <wim@fluendo.com>
6575
6576         * gst/base/Makefile.am:
6577         * gst/base/gstadapter.c: (gst_adapter_base_init),
6578         (gst_adapter_class_init), (gst_adapter_init),
6579         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
6580         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
6581         (gst_adapter_flush), (gst_adapter_available),
6582         (gst_adapter_available_fast):
6583         * gst/base/gstadapter.h:
6584         Ported and added adapter to the base classes.
6585
6586 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6587
6588         * gst/gst.c:
6589         * gst/gstmessage.c:
6590           Make sure the class is reffed/unreffed once before threads can be
6591           used.  Fixes #304551.
6592
6593 2005-05-17  Wim Taymans  <wim@fluendo.com>
6594
6595         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
6596         (gst_basesink_chain_unlocked), (gst_basesink_activate):
6597         * gst/gstminiobject.c: (gst_mini_object_get_type),
6598         (gst_mini_object_free):
6599         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
6600         (gst_pad_push), (gst_pad_push_event):
6601         * gst/gstqueue.c: (gst_queue_change_state):
6602         Don't queue buffers in basesink when we are flushing.
6603         Unref buffer when flushing in basesink.
6604         Flush queue when going to READY
6605         Unref buffer when _push() returns an error.
6606         Don't free MiniObject instance when refcount is incremented
6607         in _finalize() so that we can recover objects.
6608
6609 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6610
6611         * docs/manual/advanced-schedulers.xml:
6612         * docs/manual/appendix-checklist.xml:
6613         * docs/pwg/advanced-clock.xml:
6614         * docs/pwg/advanced-interfaces.xml:
6615         * docs/pwg/advanced-request.xml:
6616         * docs/pwg/advanced-types.xml:
6617         * docs/pwg/intro-preface.xml:
6618         * examples/plugins/example.c: (gst_example_get_type),
6619         (gst_example_class_init), (gst_example_chain),
6620         (gst_example_set_property), (gst_example_get_property),
6621         (gst_example_change_state), (plugin_init):
6622         * examples/plugins/example.h:
6623           small doc fixes
6624
6625 2005-05-17  Wim Taymans  <wim@fluendo.com>
6626
6627         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
6628         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
6629         * gst/gstqueue.c: (gst_queue_change_state):
6630         Clear queue when going to READY.
6631         Remove IN_SETCAPS flag too.
6632
6633 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
6634
6635         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
6636           Remove implicit cast from gboolean to GstElementStateReturn;
6637           make sure we still return failure in paused => ready case if
6638           the parent class fails to change state and our own stop 
6639           vfunc succeeds.
6640
6641 2005-05-17  Wim Taymans  <wim@fluendo.com>
6642
6643         * tools/gst-launch.c: (event_loop):
6644         Message was unreffed too soon.
6645
6646 2005-05-16  Andy Wingo  <wingo@pobox.com>
6647
6648         * gst/gstbin.c (sink_iterator_filter): Err... um...
6649
6650         * check/gst/gstbin.c (test_ghost_pads): New test for the
6651         ghosting-if-elements-not-in-same-bin behavior.
6652
6653 2005-05-16  David Schleef  <ds@schleef.org>
6654
6655         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
6656         accessing refcount directly.
6657
6658 2005-05-15  David Schleef  <ds@schleef.org>
6659
6660         * check/Makefile.am: remove GstData checks
6661         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
6662         * gst/Makefile.am: add miniobject, remove data
6663         * gst/gst.h: add miniobject, remove data
6664         * gst/gstdata.c: remove
6665         * gst/gstdata.h: remove
6666         * gst/gstdata_private.h: remove
6667         * gst/gsttypes.h: remove GstEvent and GstMessage
6668         * gst/gstelement.c: (gst_element_post_message): fix for API changes
6669         * gst/gstmarshal.list: change BOXED -> OBJECT
6670
6671         Implement GstMiniObject.
6672         * gst/gstminiobject.c:
6673         * gst/gstminiobject.h:
6674
6675         Modify to be subclasses of GstMiniObject.
6676         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
6677         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
6678         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
6679         (gst_subbuffer_get_type), (gst_subbuffer_init),
6680         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
6681         (gst_buffer_span):
6682         * gst/gstbuffer.h:
6683         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
6684         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
6685         (_gst_event_copy), (gst_event_new):
6686         * gst/gstevent.h:
6687         * gst/gstmessage.c: (_gst_message_initialize),
6688         (gst_message_get_type), (gst_message_class_init),
6689         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
6690         (gst_message_new), (gst_message_new_error),
6691         (gst_message_new_warning), (gst_message_new_tag),
6692         (gst_message_new_state_changed), (gst_message_new_application):
6693         * gst/gstmessage.h:
6694         * gst/gstprobe.c: (gst_probe_perform),
6695         (gst_probe_dispatcher_dispatch):
6696         * gst/gstprobe.h:
6697         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
6698         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
6699         (_gst_query_copy), (gst_query_new):
6700
6701         Update elements for GstData -> GstMiniObject changes
6702         * gst/gstquery.h:
6703         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
6704         (gst_queue_chain), (gst_queue_loop):
6705         * gst/elements/gstbufferstore.c:
6706         (gst_buffer_store_add_buffer_func),
6707         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
6708         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6709         (gst_fakesink_render):
6710         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
6711         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
6712         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
6713         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
6714         (gst_filesrc_create_read):
6715         * gst/elements/gstidentity.c: (gst_identity_class_init):
6716         * gst/elements/gsttypefindelement.c:
6717         (gst_type_find_element_src_event), (free_entry_buffers),
6718         (gst_type_find_element_handle_event):
6719         * libs/gst/dataprotocol/dataprotocol.c:
6720         (gst_dp_header_from_buffer):
6721         * libs/gst/dataprotocol/dataprotocol.h:
6722         * libs/gst/dataprotocol/dp-private.h:
6723
6724 2005-05-15  David Schleef  <ds@schleef.org>
6725
6726         * gst/elements/gstelements.c: Don't include headers that were
6727         just removed.
6728
6729 2005-05-15  David Schleef  <ds@schleef.org>
6730
6731         * gst/elements/Makefile.am: Remove some elements that don't
6732         need to be in the core (or even exist at all).
6733         * gst/elements/gstaggregator.c:
6734         * gst/elements/gstaggregator.h:
6735         * gst/elements/gstmd5sink.c:
6736         * gst/elements/gstmd5sink.h:
6737         * gst/elements/gstmultifilesrc.c:
6738         * gst/elements/gstmultifilesrc.h:
6739         * gst/elements/gstpipefilter.c:
6740         * gst/elements/gstpipefilter.h:
6741         * gst/elements/gstshaper.c:
6742         * gst/elements/gstshaper.h:
6743         * gst/elements/gststatistics.c:
6744         * gst/elements/gststatistics.h:
6745         * po/POTFILES.in: Remove above files.
6746
6747 2005-05-14  Andy Wingo  <wingo@pobox.com>
6748
6749         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
6750         so as to get the refs right.
6751         (sink_iterator_filter): New function, wraps bin_element_is_sink,
6752         unreffing objects that don't pass the filter.
6753
6754         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
6755         gst_element_set_bus.
6756         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
6757         normal cases, this will destroy the bus.
6758
6759         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
6760         object.
6761
6762         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
6763         has no sinks.
6764
6765 2005-05-13  Andy Wingo  <wingo@pobox.com>
6766
6767         * gst/gstutils.c (gst_element_link_pads): Instead of calling
6768         gst_pad_link, call pad_link_maybe_ghosting,
6769         (pad_link_maybe_ghosting): Links pads, making sure that the
6770         elements being linked are in the same bin.
6771         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
6772         Helpers for pad_link_maybe_ghosting.
6773
6774 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6775
6776         * configure.ac:
6777           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
6778
6779 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6780
6781         * docs/design/part-element-source.txt:
6782           Mention GstPushSrc
6783
6784 2005-05-12  Wim Taymans  <wim@fluendo.com>
6785
6786         * gst/base/gstbasesink.c: (gst_basesink_init),
6787         (gst_basesink_activate):
6788         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
6789         (gst_basesrc_is_seekable):
6790         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6791         (bin_element_is_sink), (gst_bin_change_state):
6792         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6793         * gst/gstelement.h:
6794         Identify sinks by their flag to avoid overly complicated
6795         checks (fow now).
6796         Do state changes even for elements not reachable from the
6797         sinks.
6798         BaseSink is a sink now :)
6799         Some more debugging info in the basesrc.
6800
6801
6802 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6803
6804         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
6805           Implement _query on a bin, similar to _send_event.
6806
6807 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
6810           Discont event offset format should be GST_FORMAT_BYTES,
6811           not GST_FORMAT_TIME.
6812
6813 2005-05-12  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
6816         Same fix as Ronald's but without the signal. 
6817
6818 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6819
6820         * gst/gstutils.c: (gst_element_query_position):
6821           No, an element is not a pad.
6822
6823 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6824
6825         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
6826         (gst_bin_get_state):
6827           If a child is removed from a bin while we remove the child from
6828           the bin and while we're retrieving its state, signal this to the
6829           get_state function so we abort the wait (instead of waiting for
6830           a timeout) and can immediately re-iterate over all other elements.
6831
6832 2005-05-12  Wim Taymans  <wim@fluendo.com>
6833
6834         * gst/base/Makefile.am:
6835         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
6836         (gst_basesrc_start):
6837         * gst/base/gstbasesrc.h:
6838         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
6839         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
6840         (gst_pushsrc_init), (gst_pushsrc_create):
6841         * gst/base/gstpushsrc.h:
6842         Added is_seekable to BaseSrc
6843         Added simple PushSrc.
6844
6845 2005-05-11  Wim Taymans  <wim@fluendo.com>
6846
6847         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6848         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6849         (gst_element_link_pads), (gst_element_query_position),
6850         (gst_element_query_convert), (intersect_caps_func),
6851         (gst_pad_query_position), (gst_pad_query_convert):
6852         Fix refcounting in utils function.
6853         No point in trying to activate a pad when it's added, it could
6854         be added from the state change function and then we deadlock, the
6855         element has to decide what to do.
6856
6857 2005-05-10  Andy Wingo  <wingo@pobox.com>
6858
6859         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
6860         *all* the arguments.
6861
6862         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
6863         stream lock if it's a FLUSH_DONE; normal flushes don't get the
6864         lock (according to the docs -- if this is wrong change the docs).
6865
6866         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
6867         flush messages in the NULL state.
6868
6869         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
6870         message immediately and return.
6871         (gst_bus_set_flushing): New function. If a bus is flushing, it
6872         flushes out any queued messages and immediately unrefs new
6873         messages. This is so when an element goes to NULL, all of the
6874         unhandled messages coming from it can be freed, and their
6875         references to the element dropped. In other words: message source
6876         ref considered harmful :P
6877
6878         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
6879         we're finished with it.
6880
6881         * gst/gstmessage.c (gst_message_new_state_changed): 
6882
6883 2005-05-10  Wim Taymans  <wim@fluendo.com>
6884
6885         * gst/gstvalue.c: (gst_value_compare_flags),
6886         (gst_value_serialize_flags), (gst_value_deserialize_flags),
6887         (_gst_value_initialize):
6888         Added flags serialize/deserialize/compare code.
6889
6890 2005-05-09  Andy Wingo  <wingo@pobox.com>
6891
6892         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
6893         Intersect the peer's caps with our caps.
6894
6895 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6896
6897         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6898         * gst/elements/gsttypefindelement.c: (find_peek):
6899           Handle negative offsets better. Fixes decodebin.
6900
6901 2005-05-09  Wim Taymans  <wim@fluendo.com>
6902
6903         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
6904         (gst_base_transform_event):
6905         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
6906         Implement accept_caps.
6907         Fix silly lock/unlock mismatch in base class.
6908
6909 2005-05-09  Wim Taymans  <wim@fluendo.com>
6910
6911         * docs/design/draft-push-pull.txt:
6912         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
6913         * gst/elements/gstfilesink.c: (gst_filesink_init),
6914         (gst_filesink_query):
6915         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6916         (gst_type_find_handle_src_query), (find_element_get_length):
6917         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
6918         * gst/gstelement.h:
6919         * gst/gstmessage.c:
6920         * gst/gstmessage.h:
6921         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
6922         (gst_real_pad_get_caps_unlocked),
6923         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
6924         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6925         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
6926         (gst_real_pad_dispose), (gst_real_pad_finalize),
6927         (gst_pad_load_and_link), (gst_pad_save_thyself),
6928         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
6929         (gst_pad_check_pull_range), (gst_pad_pull_range),
6930         (gst_pad_template_get_type), (gst_pad_template_class_init),
6931         (gst_pad_template_init), (gst_pad_template_dispose),
6932         (name_is_valid), (gst_static_pad_template_get),
6933         (gst_pad_template_new), (gst_static_pad_template_get_caps),
6934         (gst_pad_template_get_caps), (gst_pad_set_element_private),
6935         (gst_pad_get_element_private), (gst_pad_start_task),
6936         (gst_pad_pause_task), (gst_pad_stop_task),
6937         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
6938         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6939         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
6940         (gst_ghost_pad_new):
6941         * gst/gstpad.h:
6942         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
6943         (gst_query_new_position), (gst_query_set_position),
6944         (gst_query_parse_position), (gst_query_new_convert),
6945         (gst_query_set_convert), (gst_query_parse_convert):
6946         * gst/gstquery.h:
6947         * gst/gstqueryutils.c:
6948         * gst/gstqueryutils.h:
6949         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6950         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
6951         (gst_queue_handle_src_query):
6952         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6953         (gst_element_query_position), (gst_element_query_convert),
6954         (intersect_caps_func), (gst_pad_query_position),
6955         (gst_pad_query_convert):
6956         * gst/gstutils.h:
6957         * tools/gst-inspect.c: (print_pad_info):
6958         * tools/gst-xmlinspect.c: (print_element_info):
6959         Remove old query functions. Ported old code.
6960         Added position/convert helper functions to gstutils.
6961         Reordered gstpad.c code, grouping relevant things.
6962         Remove gst_message_new(), always need to speficy a specific
6963         message.
6964
6965
6966 2005-05-09  Andy Wingo  <wingo@pobox.com>
6967
6968         * gst/gstiterator.h: Add some includes.
6969
6970         * gst/gstqueryutils.h: Include more headers.
6971
6972         * gst/gstpad.h:
6973         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
6974         some uses of gst_pad_query.
6975
6976         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
6977         NULL out parameters.
6978         (gst_query_new_position): New proc, allocates a new position
6979         query.
6980
6981         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
6982         gstqueryutils.c to the build.
6983
6984         * gst/gststructure.c (gst_structure_set_valist): Implement with
6985         the generic G_VALUE_COLLECT.
6986         
6987 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
6988
6989         * gst/Makefile.am: (gst_headers):
6990         Added gstqueryutils.h to the list of headers to install, that was
6991         a 'nachty' move wingo :)
6992
6993 2005-05-06  Andy Wingo  <wingo@pobox.com>
6994
6995         * gst/gstquery.h
6996         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
6997         GstData, init a memchunk.
6998         (standard_definitions): Add a few query types, deprecate a few.
6999         (gst_query_get_type): New proc.
7000         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
7001         implementation.
7002         (gst_query_new_application, gst_query_get_structure): New public
7003         procs.
7004
7005         * docs/design/draft-query.txt: Removed LINKS from the query types,
7006         because all the rest can be dispatched to other pads -- seemed
7007         ugly to have a query that couldn't be dispatched. internal_links
7008         is fine as a pad method.
7009
7010         * gst/gstpad.h: Add query2 as a pad method, add the new functions
7011         in gstpad.c, but maintain binary compatibility for the moment.
7012         Will fix before 0.9 is out.
7013
7014         * gst/gstqueryutils.c: 
7015         * gst/gstqueryutils.h: New files, implement 3 methods for each
7016         query type: parse_query, parse_response, and set. Probably need an
7017         allocator as well.
7018
7019         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
7020
7021         * gst/elements/gstfilesink.c (gst_filesink_query2):
7022         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
7023         query_types, and formats methods.
7024
7025         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
7026         (gst_pad_set_query2_function): New functions.
7027         (gst_real_pad_init): Set query2_default as the default query2
7028         function. Basically just dispatches to internally linked pads.
7029
7030         Needs review!
7031         
7032         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
7033         without using the atomic operations. Only one thread can possibly
7034         be accessing the data at this point. Changed so as to avoid
7035         gst_atomic operations.
7036
7037 2005-05-06  Wim Taymans  <wim@fluendo.com>
7038
7039         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
7040         Also set caps if we use the fallback buffer alloc.
7041
7042 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
7043
7044         * docs/gst/Makefile.am:
7045         * docs/gst/gstreamer-docs.sgml:
7046         * docs/gst/gstreamer-sections.txt:
7047         * docs/gst/tmpl/gstatomic.sgml:
7048         * docs/gst/tmpl/gstmemchunk.sgml:
7049         * testsuite/elements/struct_i386.h:
7050         * win32/GStreamer.vcproj:
7051         * win32/Makefile:
7052           Purge GstAtomic stuff from docs and win32 makefiles as well
7053
7054 2005-05-06  Wim Taymans  <wim@fluendo.com>
7055
7056         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
7057         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
7058         * gst/gstpad.c: (gst_pad_peer_get_caps):
7059         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7060         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
7061         (gst_queue_src_activate), (gst_queue_change_state):
7062         * gst/gstqueue.h:
7063         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7064         (intersect_caps_func):
7065         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
7066         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
7067         Some fixes for the peer_get_caps() change.
7068
7069 2005-05-06  Wim Taymans  <wim@fluendo.com>
7070
7071         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7072         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
7073         (gst_basesink_activate):
7074         Actually do something with error codes returned from the push
7075         functions.
7076
7077 2005-05-06  Wim Taymans  <wim@fluendo.com>
7078
7079         * docs/design/part-element-sink.txt:
7080         * docs/design/part-element-source.txt:
7081         * gst/base/gstbasesink.c: (gst_basesink_class_init),
7082         (gst_basesink_event), (gst_basesink_activate):
7083         * gst/base/gstbasesink.h:
7084         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
7085         (gst_basesrc_activate):
7086         * gst/base/gstbasesrc.h:
7087         * gst/gstelement.c: (gst_element_pads_activate):
7088         Some more documentation.
7089         Fixed scheduling decision in _pads_activate().
7090
7091 2005-05-05  Andy Wingo  <wingo@pobox.com>
7092
7093         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
7094         the test suite.
7095
7096 2005-05-05  Wim Taymans  <wim@fluendo.com>
7097
7098         * gst/base/Makefile.am:
7099         * gst/base/gstbasesink.h:
7100         * gst/base/gstbasesrc.c: (gst_basesrc_init),
7101         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
7102         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
7103         (gst_collectpads_class_init), (gst_collectpads_init),
7104         (gst_collectpads_finalize), (gst_collectpads_new),
7105         (gst_collectpads_set_function), (gst_collectpads_add_pad),
7106         (find_pad), (gst_collectpads_remove_pad),
7107         (gst_collectpads_is_active), (gst_collectpads_collect),
7108         (gst_collectpads_collect_range), (gst_collectpads_start),
7109         (gst_collectpads_stop), (gst_collectpads_peek),
7110         (gst_collectpads_pop), (gst_collectpads_available),
7111         (gst_collectpads_read), (gst_collectpads_flush),
7112         (gst_collectpads_chain):
7113         * gst/base/gstcollectpads.h:
7114         * gst/elements/Makefile.am:
7115         * gst/elements/gstelements.c:
7116         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7117         (gst_fakesink_get_times), (gst_fakesink_event),
7118         (gst_fakesink_preroll), (gst_fakesink_render):
7119         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7120         (gst_filesink_init), (gst_filesink_set_location),
7121         (gst_filesink_open_file), (gst_filesink_close_file),
7122         (gst_filesink_pad_query), (gst_filesink_event),
7123         (gst_filesink_render), (gst_filesink_change_state):
7124         * gst/elements/gstfilesink.h:
7125         Added object to help in making collect pad based elements.
7126         Ported filesink.
7127         Make event function in sink baseclass return gboolean.
7128
7129 2005-05-05  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
7132         (gst_bin_get_by_name):
7133         * gst/gstbuffer.h:
7134         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
7135         (gst_clock_finalize):
7136         * gst/gstdata.c: (gst_data_replace):
7137         * gst/gstdata.h:
7138         * gst/gstelement.c: (gst_element_request_pad),
7139         (gst_element_pads_activate):
7140         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7141         (gst_object_unref):
7142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7143         (gst_pad_set_checkgetrange_function),
7144         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
7145         (gst_pad_check_pull_range), (gst_pad_pull_range),
7146         (gst_static_pad_template_get_caps), (gst_pad_start_task),
7147         (gst_pad_pause_task), (gst_pad_stop_task):
7148         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7149         (gst_element_request_pad), (gst_pad_proxy_getcaps):
7150         Fix name lookup in GstBin.
7151         Added _data_replace() function and _buffer_replace()
7152         Use finalize method to clean up clock.
7153         Fix refcounting on request pads.
7154         Fix pad schedule mode error.
7155         Some more object refcounting debug info,
7156
7157
7158 2005-05-04  Andy Wingo <wingo@pobox.com>
7159
7160         * check/Makefile.am:
7161         * docs/gst/tmpl/gstatomic.sgml:
7162         * docs/gst/tmpl/gstplugin.sgml:
7163         * gst/base/gstbasesink.c: (gst_basesink_activate):
7164         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
7165         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
7166         (gst_basesrc_query), (gst_basesrc_set_property),
7167         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
7168         (gst_basesrc_activate):
7169         * gst/base/gstbasesrc.h:
7170         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
7171         (gst_base_transform_src_activate):
7172         * gst/elements/gstelements.c:
7173         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7174         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7175         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7176         * gst/elements/gsttypefindelement.c: (find_element_get_length),
7177         (gst_type_find_element_checkgetrange),
7178         (gst_type_find_element_activate):
7179         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
7180         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
7181         (gst_caps_load_thyself):
7182         * gst/gstelement.c: (gst_element_pads_activate),
7183         (gst_element_save_thyself), (gst_element_restore_thyself):
7184         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
7185         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
7186         * gst/gstpad.h:
7187         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
7188         (gst_xml_parse_file), (gst_xml_parse_memory),
7189         (gst_xml_get_element), (gst_xml_make_element):
7190         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7191         (_file_index_id_save_xml), (gst_file_index_commit):
7192         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
7193         (read_enum), (load_pad_template), (load_feature), (load_plugin),
7194         (load_paths):
7195         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
7196         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
7197         * tools/gst-complete.c: (main):
7198         * tools/gst-compprep.c: (main):
7199         * tools/gst-inspect.c: (print_element_properties_info):
7200         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7201         * tools/gst-xmlinspect.c: (print_element_properties):
7202         GCC 4 fixen.
7203         
7204 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * gst/gstplugin.c: (gst_plugin_check_module),
7207         (gst_plugin_check_file), (gst_plugin_load_file):
7208             apply patch from #172526 to make register work on MacOSX
7209
7210 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7211
7212         * docs/gst/tmpl/gstconfig.sgml:
7213         * gst/gstconfig.h.in:
7214           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
7215         * testsuite/debug/printf_extension.c: (main):
7216           Do not use GST_PTR_FORMAT on pointers to types with
7217           sizeof < sizeof(gpointer).  Fixes test on 64-bit
7218         * testsuite/elements/property.h:
7219           use correct printf format
7220
7221 2005-05-02  Wim Taymans  <wim@fluendo.com>
7222
7223         * docs/design/draft-push-pull.txt:
7224         * docs/design/draft-query.txt:
7225         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
7226         (gst_basesrc_start):
7227         Added draft for new query API.
7228         Added draft for better selecting scheduling methods.
7229         Make basesrc ignore length if the subclass does not support
7230         it.
7231
7232 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7233
7234         * gst/Makefile.am:
7235           possible fixes for automake-1.5 - _LIBADD is reserved
7236
7237 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7238
7239         * docs/faq/Makefile.am:
7240         * docs/manual/Makefile.am:
7241         * docs/manuals.mak:
7242         * docs/pwg/Makefile.am:
7243         * gst/Makefile.am:
7244           possible fixes for automake-1.5
7245
7246 2005-04-28  Wim Taymans  <wim@fluendo.com>
7247
7248         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7249         (gst_basesink_pad_getcaps), (gst_basesink_init),
7250         (gst_basesink_do_sync):
7251         * gst/gstclock.c: (gst_clock_entry_new):
7252         * gst/gstevent.c: (gst_event_discont_get_value):
7253         * gst/gstpipeline.c: (pipeline_bus_handler),
7254         (gst_pipeline_change_state):
7255         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7256         Better debugging of clocking info.
7257         Allow NULL values when getting discont values.
7258
7259 2005-04-27  Wim Taymans  <wim@fluendo.com>
7260
7261         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
7262         * check/gst/gstpad.c: (gst_pad_suite):
7263         Increase timeout for checks.
7264
7265 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7266
7267         * check/Makefile.am:
7268           fix the broken rule for cleanup.  Apparently this rule is
7269           only needed on FC2, so maybe this warrants further autotool
7270           inspection.
7271
7272 2005-04-26  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/gsttrashstack.h:
7275         Ooohh. a nasty one! After having a failed pop() from the stack,
7276         it's possible that the stack is empty. In that case, don't
7277         follow the NULL pointer.
7278
7279 2005-04-25  Wim Taymans  <wim@fluendo.com>
7280
7281         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7282         (gst_pad_set_checkgetrange_function),
7283         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
7284         (gst_pad_check_pull_range), (gst_pad_pull_range),
7285         (gst_static_pad_template_get_caps), (gst_pad_start_task),
7286         (gst_pad_pause_task), (gst_pad_stop_task):
7287         * gst/gstplugin.c: (gst_plugin_load):
7288         * gst/gstplugin.h:
7289         Remove gst_library_load as it does more harm than good with
7290         the new g_module flags.
7291         Revert bogus caps template check in pad linking, pad caps
7292         are important when linking not the template, which is more
7293         general than the current caps.
7294
7295 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7296
7297         * gst/autoplug/.cvsignore:
7298         * gst/autoplug/Makefile.am:
7299         * gst/autoplug/gstsearchfuncs.c:
7300         * gst/autoplug/gstsearchfuncs.h:
7301         * gst/autoplug/gstspider.c:
7302         * gst/autoplug/gstspider.h:
7303         * gst/autoplug/gstspideridentity.c:
7304         * gst/autoplug/gstspideridentity.h:
7305         * gst/autoplug/spidertest.c:
7306           Die, spider, die.
7307
7308 2005-04-25  Wim Taymans  <wim@fluendo.com>
7309
7310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7311         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
7312         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
7313         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
7314         * gst/gstpad.h:
7315         Added stubs for unimplemented functions. 
7316
7317 2005-04-24  David Schleef  <ds@schleef.org>
7318
7319         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
7320         please fix.
7321
7322 2005-04-24  David Schleef  <ds@schleef.org>
7323
7324         Convert everything from GstAtomicInt to g_atomic_int_*, and
7325         remove gstatomic.
7326         * gst/Makefile.am:
7327         * gst/gstatomic.c:
7328         * gst/gstatomic.h:
7329         * gst/gstatomic_impl.h:
7330         * gst/gstbuffer.c:
7331         * gst/gstcaps.c:
7332         * gst/gstcaps.h:
7333         * gst/gstclock.c:
7334         * gst/gstclock.h:
7335         * gst/gstdata.c:
7336         * gst/gstdata.h:
7337         * gst/gstdata_private.h:
7338         * gst/gstevent.c:
7339         * gst/gstinfo.c:
7340         * gst/gstinfo.h:
7341         * gst/gstmessage.c:
7342         * gst/gstobject.c:
7343         * gst/gstobject.h:
7344         * gst/gststructure.c:
7345         * gst/gststructure.h:
7346         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
7347         * gst/gstutils.h:
7348
7349 2005-04-24  David Schleef  <ds@schleef.org>
7350
7351         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
7352         make the regressions tests work.  Remove some code that is no
7353         longer true.
7354         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
7355         Disable warning for pads without templates.
7356
7357 2005-04-24  David Schleef  <ds@schleef.org>
7358
7359         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
7360         functions that handle filtered links.
7361         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
7362         removed functions.
7363         * gst/gstutils.c: Fix/remove utility functions that handle
7364         filtered caps.
7365         * gst/gstutils.h:
7366         * gst/gstvalue.c: Add serialization/deserialization of caps
7367         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
7368         requires fixing so that the filter caps notation creates
7369         a capsfilter element and sets the filter_caps property.  I
7370         think everyone probably wants to keep the shorthand notation.
7371         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
7372         * docs/gst/tmpl/gstpad.sgml:
7373
7374         * gst/elements/gstelements.c: Register capsfilter element.
7375         * gst/Makefile.am: fix spacing
7376         * docs/random/ds/0.9-suggested-changes: random
7377
7378 2005-04-23  David Schleef  <ds@schleef.org>
7379
7380         * gst/elements/Makefile.am:
7381         * gst/elements/gstcapsfilter.c: New element that acts like an
7382         identity, but filters caps.  Will eventually replace filtered
7383         caps in pad linking.
7384         * gst/gstutils.c: (gst_element_create_all_pads): New function
7385         to create all the ALWAYS pads that are registered with an
7386         element class.  This functionality should eventually be
7387         merged in with GstElement initialization.
7388         * gst/gstutils.h:
7389         * testsuite/trigger/README: part of trigger test code that should
7390         have been checked in a long time ago.
7391
7392 2005-04-23  David Schleef  <ds@schleef.org>
7393
7394         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
7395         needed with new versions of libtool (nobody will confirm this),
7396         and hard to carry around.
7397         * gst/autoplug/Makefile.am:
7398         * gst/base/Makefile.am:
7399         * gst/elements/Makefile.am:
7400         * gst/indexers/Makefile.am:
7401         * gst/schedulers/Makefile.am:
7402         * libs/gst/bytestream/Makefile.am:
7403         * libs/gst/control/Makefile.am:
7404         * libs/gst/dataprotocol/Makefile.am:
7405         * libs/gst/getbits/Makefile.am:
7406
7407 2005-04-21  Wim Taymans  <wim@fluendo.com>
7408
7409         * docs/design/draft-push-pull.txt:
7410         * docs/design/part-MT-refcounting.txt:
7411         * docs/design/part-TODO.txt:
7412         * docs/design/part-caps.txt:
7413         * docs/design/part-events.txt:
7414         * docs/design/part-gstbus.txt:
7415         * docs/design/part-gstpipeline.txt:
7416         * docs/design/part-messages.txt:
7417         * docs/design/part-push-pull.txt:
7418         * docs/design/part-query.txt:
7419         Some more docs.
7420
7421 2005-04-21  Wim Taymans  <wim@fluendo.com>
7422
7423         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
7424         (gst_message_new), (gst_message_new_error),
7425         (gst_message_new_warning), (gst_message_new_tag),
7426         (gst_message_new_state_changed), (gst_message_new_application),
7427         (gst_message_get_structure):
7428         * gst/gstmessage.h:
7429         * gst/gststructure.c: (gst_structure_set_parent_refcount),
7430         (gst_structure_copy_conditional):
7431         Use parent refcount in GstMessage to ensure GstStructure
7432         consistency.
7433         Cleaned up headers a bit.
7434         
7435
7436 2005-04-20  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7439         (gst_basesink_pad_getcaps), (gst_basesink_init),
7440         (gst_basesink_chain_unlocked):
7441         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
7442         (gst_type_find_helper):
7443         * gst/elements/gsttypefindelement.c:
7444         (gst_type_find_element_have_type), (gst_type_find_element_init),
7445         (stop_typefinding), (gst_type_find_element_handle_event),
7446         (find_suggest), (gst_type_find_element_chain),
7447         (gst_type_find_element_checkgetrange),
7448         (gst_type_find_element_getrange), (do_typefind),
7449         (gst_type_find_element_activate):
7450         * gst/gstbuffer.c: (_gst_buffer_sub_free),
7451         (gst_buffer_default_free), (gst_buffer_default_copy),
7452         (gst_buffer_set_caps):
7453         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
7454         (gst_caps_replace):
7455         * gst/gstmessage.c: (gst_message_new),
7456         (gst_message_new_state_changed):
7457         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7458         (gst_pad_set_checkgetrange_function),
7459         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
7460         (gst_pad_set_caps), (gst_pad_check_pull_range),
7461         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
7462         * gst/gstpad.h:
7463         * gst/gsttypefind.c: (gst_type_find_register):
7464         Make gst_caps_replace() work like other _replace() functions.
7465         Use _caps_replace() where possible.
7466         Make sure _message_new() initialises its field.
7467         Add gst_static_pad_template_get_caps()
7468
7469
7470 2005-04-18  Andy Wingo  <wingo@pobox.com>
7471
7472         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
7473         on the peer, not the pad. I think that was a typo. Pass an extra
7474         arg to see if random access is possible. Activate the pads as
7475         PULL_RANGE if possible.
7476
7477         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
7478
7479         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
7480         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
7481         to PROP_....
7482
7483 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7484
7485         * docs/faq/using.xml:
7486           Add note on gstreamer-properties (#154996).
7487
7488 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7489
7490         * docs/random/bbb/optional-properties:
7491           Some analysis on optional properties.
7492
7493 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7494
7495         * docs/gst/tmpl/gstelementfactory.sgml:
7496         * gst/gstelement.h:
7497         * gst/gstelementfactory.c: (gst_element_factory_init),
7498         (gst_element_factory_cleanup), (gst_element_register),
7499         (__gst_element_factory_add_static_pad_template),
7500         (gst_element_factory_get_static_pad_templates),
7501         (gst_element_factory_can_src_caps),
7502         (gst_element_factory_can_sink_caps):
7503         * gst/registries/Makefile.am:
7504         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
7505         (gst_xml_registry_class_init), (gst_xml_registry_init),
7506         (gst_xml_registry_new), (gst_xml_registry_set_property),
7507         (gst_xml_registry_get_property), (get_time), (make_dir),
7508         (gst_xml_registry_get_perms_func),
7509         (plugin_times_older_than_recurse), (plugin_times_older_than),
7510         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
7511         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
7512         (add_to_char_array), (read_string), (read_uint), (read_enum),
7513         (load_pad_template), (load_feature), (load_plugin), (load_paths),
7514         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
7515         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
7516         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
7517         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
7518         (gst_xml_registry_rebuild):
7519         * gst/registries/gstlibxmlregistry.h:
7520         * tools/gst-compprep.c: (main):
7521         * tools/gst-inspect.c: (print_pad_templates_info):
7522         * tools/gst-xmlinspect.c: (print_element_info):
7523           Use libxml2 for registry parsing, use staticpadtemplates in
7524           elementfactories. Makes gst_init() +/- 10x faster.
7525
7526 2005-04-12  Wim Taymans  <wim@fluendo.com>
7527
7528         * gst/base/Makefile.am:
7529         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7530         (gst_basesink_pad_getcaps), (gst_basesink_init),
7531         (gst_basesink_event), (gst_basesink_change_state):
7532         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7533         (gst_basesrc_init), (gst_basesrc_query),
7534         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
7535         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
7536         (gst_basesrc_check_get_range), (gst_basesrc_loop),
7537         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
7538         (gst_basesrc_stop), (gst_basesrc_activate),
7539         (gst_basesrc_change_state):
7540         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7541         (helper_find_suggest), (gst_type_find_helper):
7542         * gst/base/gsttypefindhelper.h:
7543         * gst/elements/Makefile.am:
7544         * gst/elements/gstelements.c:
7545         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7546         (gst_fakesink_get_times), (gst_fakesink_event),
7547         (gst_fakesink_preroll), (gst_fakesink_render):
7548         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7549         (gst_fakesrc_init), (gst_fakesrc_event_handler),
7550         (gst_fakesrc_get_property), (gst_fakesrc_create),
7551         (gst_fakesrc_start), (gst_fakesrc_stop):
7552         * gst/elements/gstfakesrc.h:
7553         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
7554         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
7555         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
7556         (gst_filesrc_create_read), (gst_filesrc_create),
7557         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
7558         (gst_filesrc_start):
7559         * gst/elements/gsttypefindelement.c:
7560         (gst_type_find_element_have_type), (gst_type_find_element_init),
7561         (start_typefinding), (stop_typefinding), (push_buffer_store),
7562         (gst_type_find_element_handle_event),
7563         (gst_type_find_element_chain),
7564         (gst_type_find_element_checkgetrange),
7565         (gst_type_find_element_getrange), (do_typefind),
7566         (gst_type_find_element_activate),
7567         (gst_type_find_element_change_state):
7568         * gst/elements/gsttypefindelement.h:
7569         * gst/gstpipeline.c: (pipeline_bus_handler):
7570         Added typefind helper.
7571         Small preroll fix in the base sink.
7572         Disable typefind code in basesrc.
7573         Crude port of typefindelement.
7574         Fakesrc cleanups.
7575
7576
7577 2005-04-11  Wim Taymans  <wim@fluendo.com>
7578
7579         * check/gst/gstbus.c: (gstbus_suite):
7580         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
7581         * check/gstcheck.h:
7582           Fix up the timeout so that the test does not fail.
7583
7584 2005-04-06  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/base/README:
7587         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7588         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
7589         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
7590         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
7591         (gst_basesrc_check_get_range), (gst_basesrc_loop),
7592         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
7593         (gst_basesrc_stop), (gst_basesrc_activate),
7594         (gst_basesrc_change_state), (basesrc_find_peek),
7595         (basesrc_find_suggest), (gst_basesrc_type_find):
7596         * gst/base/gstbasesrc.h:
7597         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7598         (gst_filesrc_class_init), (gst_filesrc_init),
7599         (gst_filesrc_finalize), (gst_filesrc_set_location),
7600         (gst_filesrc_set_property), (gst_filesrc_get_property),
7601         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
7602         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
7603         (gst_filesrc_create_read), (gst_filesrc_create),
7604         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
7605         * gst/elements/gstfilesrc.h:
7606         * gst/gstelement.c: (gst_element_get_state_func),
7607         (gst_element_lost_state), (gst_element_pads_activate):
7608         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7609         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
7610         (gst_pad_pull_range):
7611         * gst/gstpad.h:
7612         More work on the generic source base class, implement seeking,
7613         query.
7614         Make filesrc extend the base source class.
7615         Added gst_pad_set_checkgetrange_function to GstPad.
7616
7617 2005-04-06  Andy Wingo  <wingo@pobox.com>
7618
7619         * pkgconfig/gstreamer-base.pc.in:
7620         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
7621
7622         * pkgconfig/Makefile.am:
7623         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
7624
7625 2005-04-04  Wim Taymans  <wim@fluendo.com>
7626
7627         * gst/base/Makefile.am:
7628         * gst/base/README:
7629         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7630         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
7631         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
7632         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
7633         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7634         (gst_basesrc_base_init), (gst_basesrc_class_init),
7635         (gst_basesrc_init), (gst_basesrc_get_formats),
7636         (gst_basesrc_get_query_types), (gst_basesrc_query),
7637         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
7638         (gst_basesrc_set_property), (gst_basesrc_get_property),
7639         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
7640         (gst_basesrc_loop), (gst_basesrc_activate),
7641         (gst_basesrc_change_state):
7642         * gst/base/gstbasesrc.h:
7643         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7644         (gst_fakesrc_class_init), (gst_fakesrc_init),
7645         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
7646         (gst_fakesrc_get_property), (gst_fakesrc_create):
7647         * gst/elements/gstfakesrc.h:
7648         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
7649         (gst_filesrc_open_file), (gst_filesrc_loop),
7650         (gst_filesrc_activate), (filesrc_find_peek),
7651         (gst_filesrc_type_find):
7652         Made base source class, make fakesrc extend it.
7653         Add comments to basesink class.
7654         Some filesrc cleanup.
7655
7656 2005-03-31  David Schleef  <ds@schleef.org>
7657
7658         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7659         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
7660         expected to link against libgstreamer.
7661         * gst/base/Makefile.am: link against libgstreamer
7662         * gst/elements/Makefile.am: same
7663
7664 2005-03-31  Andy Wingo  <wingo@pobox.com>
7665
7666         * tests/instantiate/Makefile.am:
7667         * tests/instantiate/caps.c: Add test to test speed of caps copy
7668         and free.
7669
7670         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
7671         GMemChunk to be fair.
7672
7673         * gst/gsttrashstack.h: Remove warning about using the fallback
7674         trash stack implementation, it's still faster than malloc.
7675
7676 2005-03-30  Andy Wingo  <wingo@pobox.com>
7677
7678         * tests/complexity.c: Add a copyright.
7679
7680 2005-03-31  Wim Taymans  <wim@fluendo.com>
7681
7682         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
7683         (gst_base_transform_class_init), (gst_base_transform_init),
7684         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7685         (gst_base_transform_get_property),
7686         (gst_base_transform_sink_activate),
7687         (gst_base_transform_src_activate),
7688         (gst_base_transform_change_state):
7689         * gst/base/gstbasetransform.h:
7690         * gst/elements/gstidentity.c: (gst_identity_class_init),
7691         (gst_identity_event), (gst_identity_check_perfect),
7692         (gst_identity_transform), (gst_identity_start),
7693         (gst_identity_stop):
7694         Added start/stop methods to transform base class so subclasses 
7695         don't need to deal with state changes even.
7696
7697 2005-03-31  Wim Taymans  <wim@fluendo.com>
7698
7699         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
7700         (gst_event_new_discontinuous), (gst_event_discont_get_value):
7701         * gst/gstevent.h:
7702         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7703         (gst_pad_pull_range):
7704         Added rate to the discont event to prepare for variable speed
7705         and reverse playback.
7706
7707 2005-03-29  David Schleef  <ds@schleef.org>
7708
7709         * configure.ac:
7710         * testsuite/trigger/Makefile.am:
7711         * testsuite/trigger/trigger.c: A little example program to show
7712         how trigger-based elements can work.
7713
7714 2005-03-29  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/base/Makefile.am:
7717         * gst/base/README:
7718         * gst/base/gstbasesink.c: (gst_basesink_get_type),
7719         (gst_basesink_base_init), (gst_basesink_class_init),
7720         (gst_basesink_pad_getcaps), (gst_basesink_init),
7721         (gst_basesink_activate), (gst_basesink_change_state):
7722         * gst/base/gstbasesink.h:
7723         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
7724         (gst_base_transform_base_init), (gst_base_transform_finalize),
7725         (gst_base_transform_class_init), (gst_base_transform_init),
7726         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
7727         (gst_base_transform_event), (gst_base_transform_getrange),
7728         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
7729         (gst_base_transform_set_property),
7730         (gst_base_transform_get_property),
7731         (gst_base_transform_sink_activate),
7732         (gst_base_transform_src_activate),
7733         (gst_base_transform_change_state):
7734         * gst/base/gstbasetransform.h:
7735         * gst/elements/gstidentity.c: (gst_identity_finalize),
7736         (gst_identity_class_init), (gst_identity_init),
7737         (gst_identity_event), (gst_identity_check_perfect),
7738         (gst_identity_transform), (gst_identity_set_property),
7739         (gst_identity_get_property), (gst_identity_change_state):
7740         * gst/elements/gstidentity.h:
7741         * gst/gstelement.c: (gst_element_get_state_func),
7742         (gst_element_lost_state), (gst_element_pads_activate):
7743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7744         (gst_pad_check_pull_range), (gst_pad_pull_range):
7745         * gst/gstpad.h:
7746         Simplify pad activation.
7747         Added function to check if pull_range can be performed.
7748         Error out when pulling inactive or flushing pads.
7749         Removed const from refcounted types as it does not make sense.
7750         Simplify pad templates in basesink
7751         Added base class for simple 1-to-1 transforms.
7752         Make identity subclass the base transform.
7753
7754 2005-03-29  Andy Wingo  <wingo@pobox.com>
7755
7756         * docs/libs/gstreamer-libs-overrides.txt: 
7757         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
7758         really don't understand what's going on, but like whatever. I want
7759         green buildbot!
7760
7761         * docs/gst/Makefile.am:
7762         * docs/libs/Makefile.am: Dist the overrides files.
7763
7764         * check/Makefile.am (clean-local): Remove .libs directories.
7765
7766         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
7767         elements to EXTRA_DIST, so po/ files are happy.
7768
7769         * po/POTFILES.in: Er, remove it here.
7770
7771         * po/POTFILES: Remove gstspider.c.
7772
7773         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
7774
7775         * docs/libs/gstreamer-libs-docs.sgml: 
7776         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
7777         bytestream.
7778
7779         * tests/complexity.c (main): Set the length of the preroll queue
7780         on the sinks to prevent a lockup.
7781
7782         * libs/gst/dataprotocol/Makefile.am: 
7783         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
7784         the same as the one in check/gst-libs/gdp.c.
7785
7786         * po/, docs/gst/: Commit automatic changes to docs and po files.
7787
7788         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
7789         the versioned libgstbase.
7790
7791         * check/Makefile.am: Depend on an unversioned gst-register, seems
7792         to make autoconf happier.
7793
7794         * gst/base/Makefile.am: Make libgstbase a versioned lib.
7795
7796 2005-03-28  Wim Taymans  <wim@fluendo.com>
7797
7798         * configure.ac:
7799         * docs/design/part-gstelement.txt:
7800         * docs/design/part-negotiation.txt:
7801         * docs/design/part-preroll.txt:
7802         * docs/design/part-scheduling.txt:
7803         * docs/design/part-states.txt:
7804         * gst/Makefile.am:
7805         * gst/base/Makefile.am:
7806         * gst/base/README:
7807         * gst/base/gstbasesink.c: (gst_basesink_get_template),
7808         (gst_basesink_base_init), (gst_basesink_class_init),
7809         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
7810         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
7811         (gst_basesink_set_pad_functions),
7812         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
7813         (gst_basesink_set_property), (gst_basesink_get_property),
7814         (gst_base_sink_get_template), (gst_base_sink_get_caps),
7815         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
7816         (gst_basesink_preroll_queue_push),
7817         (gst_basesink_preroll_queue_empty),
7818         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
7819         (gst_basesink_event), (gst_basesink_get_times),
7820         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
7821         (gst_basesink_chain_unlocked), (gst_basesink_chain),
7822         (gst_basesink_loop), (gst_basesink_activate),
7823         (gst_basesink_change_state):
7824         * gst/base/gstbasesink.h:
7825         * gst/elements/Makefile.am:
7826         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7827         (gst_fakesink_class_init), (gst_fakesink_init),
7828         (gst_fakesink_set_property), (gst_fakesink_get_property),
7829         (gst_fakesink_get_times), (gst_fakesink_event),
7830         (gst_fakesink_preroll), (gst_fakesink_render),
7831         (gst_fakesink_change_state):
7832         * gst/elements/gstfakesink.h:
7833         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7834         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
7835         * gst/gstelement.c: (gst_element_add_pad),
7836         (gst_element_get_state_func), (gst_element_abort_state),
7837         (gst_element_commit_state), (gst_element_lost_state),
7838         (gst_element_set_state), (gst_element_pads_activate):
7839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
7840         * gst/gstpipeline.c: (gst_pipeline_send_event),
7841         (gst_pipeline_change_state):
7842         Added state change code.
7843         Added/updated docs.
7844         Added sink base class, make fakesink extend the base class.
7845         Small cleanups in GstPipeline.
7846
7847 2005-03-26  David Schleef  <ds@schleef.org>
7848
7849         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
7850         is broken and should be implemented in a different library.
7851         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
7852         * gst/gst.h: remove gstcpu.h
7853         * gst/gstcpu.c: remove
7854         * gst/gstcpu.h: remove
7855         * gst/Makefile.am.future: Remove this file.  It's ancient.
7856
7857 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7858
7859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7860         (gst_bin_send_event):
7861           Add default event/set_manager handlers. The set_manager handler
7862           takes care that the manager is distributed over kids that were
7863           already in the bin before the manager was set. The event handler
7864           is a utility virtual function that sends the event over all sinks,
7865           so that gst_element_send_event (bin, event); has the expected
7866           behaviour.
7867         * gst/gstpad.c: (gst_pad_event_default):
7868           Re-install default event handling for discontinuities, so that
7869           seeking works without requiring hacks in applications or extra
7870           code in sinks.
7871         * gst/gstpipeline.c: (gst_pipeline_class_init),
7872         (gst_pipeline_send_event):
7873           Half hack, half utility: set a pipeline to PAUSED for seek events,
7874           since that is the only way we can guarantee a/v sync. Means that
7875           you can do gst_element_seek (pipeline, method, pos); on a pipeline
7876           and it "just works".
7877
7878 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7879
7880         * gst/gstpipeline.c: (gst_pipeline_use_clock):
7881           Lock/unlock mismatch.
7882
7883 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7884
7885         * docs/faq/gst-uninstalled:
7886           add gst-plugins-base
7887         * docs/gst/Makefile.am:
7888           don't error out until docs are fixed
7889         * docs/gst/gstreamer.types:
7890           remove thread
7891
7892 2005-03-22  Wim Taymans  <wim@fluendo.com>
7893
7894         * check/Makefile.am:
7895         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
7896         * gst/gststructure.c: (gst_structure_set_valist),
7897         (gst_structure_copy_conditional):
7898         Activated more tests.
7899         Added message test.
7900         Added G_TYPE_POINTER to GstStructure.
7901         
7902
7903 2005-03-22  Wim Taymans  <wim@fluendo.com>
7904
7905         * docs/design/part-TODO.txt:
7906         * docs/design/part-events.txt:
7907         * docs/design/part-gstbin.txt:
7908         * docs/design/part-gstbus.txt:
7909         * docs/design/part-gstpipeline.txt:
7910         * docs/design/part-messages.txt:
7911         * gst/gstbus.c:
7912         * gst/gstmessage.c:
7913         Docs updates
7914
7915 2005-03-21  Wim Taymans  <wim@fluendo.com>
7916
7917         * gst/gstbus.c: (gst_bus_post):
7918         Fix copy-and-paste error.
7919
7920 2005-03-21  Wim Taymans  <wim@fluendo.com>
7921
7922         * check/Makefile.am:
7923         * gst/Makefile.am:
7924         * gst/elements/Makefile.am:
7925         * gst/elements/gstelements.c:
7926         * gst/elements/gstfakesink.c: (gst_fakesink_init),
7927         (gst_fakesink_event), (gst_fakesink_chain):
7928         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7929         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
7930         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
7931         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
7932         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7933         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
7934         (gst_fakesrc_loop), (gst_fakesrc_activate),
7935         (gst_fakesrc_change_state):
7936         * gst/elements/gstfakesrc.h:
7937         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7938         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
7939         (gst_filesrc_open_file), (gst_filesrc_loop),
7940         (gst_filesrc_activate), (gst_filesrc_change_state),
7941         (filesrc_find_peek), (filesrc_find_suggest),
7942         (gst_filesrc_type_find):
7943         * gst/elements/gstidentity.c: (gst_identity_finalize),
7944         (gst_identity_class_init), (gst_identity_init),
7945         (gst_identity_proxy_getcaps), (identity_queue_push),
7946         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
7947         (gst_identity_getrange), (gst_identity_chain),
7948         (gst_identity_sink_loop), (gst_identity_src_loop),
7949         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
7950         (gst_identity_set_property), (gst_identity_get_property),
7951         (gst_identity_change_state):
7952         * gst/elements/gstidentity.h:
7953         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7954         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
7955         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
7956         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
7957         (gst_tee_sink_activate):
7958         * gst/elements/gsttee.h:
7959         * gst/gst.c: (gst_register_core_elements), (init_post):
7960         * gst/gst.h:
7961         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
7962         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
7963         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
7964         (gst_bin_change_state):
7965         * gst/gstbin.h:
7966         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
7967         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
7968         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
7969         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
7970         (gst_bus_set_sync_handler), (gst_bus_create_watch),
7971         (bus_watch_callback), (bus_watch_destroy),
7972         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
7973         (poll_timeout), (gst_bus_poll):
7974         * gst/gstbus.h:
7975         * gst/gstcaps.h:
7976         * gst/gstdata.h:
7977         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
7978         (gst_element_post_message), (gst_element_message_full),
7979         (gst_element_get_state_func), (gst_element_get_state),
7980         (gst_element_abort_state), (gst_element_commit_state),
7981         (gst_element_lost_state), (gst_element_set_state),
7982         (gst_element_pads_activate), (gst_element_change_state),
7983         (gst_element_dispose), (gst_element_set_manager_func),
7984         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
7985         (gst_element_set_manager), (gst_element_get_manager),
7986         (gst_element_set_bus), (gst_element_get_bus),
7987         (gst_element_set_scheduler), (gst_element_get_scheduler):
7988         * gst/gstelement.h:
7989         * gst/gstevent.c: (gst_event_new_segment_seek),
7990         (gst_event_new_flush):
7991         * gst/gstevent.h:
7992         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
7993         (_gst_message_free), (gst_message_get_type), (gst_message_new),
7994         (gst_message_new_eos), (gst_message_new_error),
7995         (gst_message_new_warning), (gst_message_new_tag),
7996         (gst_message_new_state_changed), (gst_message_new_application),
7997         (gst_message_get_structure), (gst_message_parse_tag),
7998         (gst_message_parse_state_changed), (gst_message_parse_error),
7999         (gst_message_parse_warning):
8000         * gst/gstmessage.h:
8001         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
8002         (gst_real_pad_set_property), (gst_pad_set_active),
8003         (gst_pad_is_active), (gst_pad_set_blocked_async),
8004         (gst_pad_set_blocked), (gst_pad_is_blocked),
8005         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
8006         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
8007         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8008         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
8009         (gst_pad_link_filtered), (gst_pad_relink_filtered),
8010         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
8011         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
8012         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
8013         (gst_pad_set_caps), (gst_pad_configure_sink),
8014         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
8015         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
8016         (gst_real_pad_dispose), (gst_real_pad_finalize),
8017         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
8018         (gst_pad_event_default_dispatch), (gst_pad_event_default),
8019         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
8020         * gst/gstpad.h:
8021         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
8022         (pipeline_bus_handler), (gst_pipeline_change_state),
8023         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
8024         * gst/gstpipeline.h:
8025         * gst/gstprobe.h:
8026         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8027         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
8028         (gst_queue_link_src), (gst_queue_bufferalloc),
8029         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8030         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
8031         (gst_queue_loop), (gst_queue_handle_src_event),
8032         (gst_queue_handle_src_query), (gst_queue_src_activate),
8033         (gst_queue_change_state):
8034         * gst/gstqueue.h:
8035         * gst/gstscheduler.c: (gst_scheduler_init),
8036         (gst_scheduler_dispose), (gst_scheduler_create_task),
8037         (gst_scheduler_factory_create):
8038         * gst/gstscheduler.h:
8039         * gst/gststructure.c: (gst_structure_get_type),
8040         (gst_structure_copy_conditional):
8041         * gst/gststructure.h:
8042         * gst/gsttaginterface.h:
8043         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8044         (gst_task_init), (gst_task_dispose), (gst_task_create),
8045         (gst_task_get_state), (gst_task_start), (gst_task_stop),
8046         (gst_task_pause):
8047         * gst/gsttask.h:
8048         * gst/gstthread.c:
8049         * gst/gstthread.h:
8050         * gst/gsttypes.h:
8051         * gst/schedulers/Makefile.am:
8052         * gst/schedulers/cothreads_compat.h:
8053         * gst/schedulers/entryscheduler.c:
8054         * gst/schedulers/faircothreads.c:
8055         * gst/schedulers/faircothreads.h:
8056         * gst/schedulers/fairscheduler.c:
8057         * gst/schedulers/gstbasicscheduler.c:
8058         * gst/schedulers/gstoptimalscheduler.c:
8059         * gst/schedulers/gthread-cothreads.h:
8060         * gst/schedulers/threadscheduler.c:
8061         (gst_thread_scheduler_task_get_type),
8062         (gst_thread_scheduler_task_class_init),
8063         (gst_thread_scheduler_task_init),
8064         (gst_thread_scheduler_task_start),
8065         (gst_thread_scheduler_task_stop),
8066         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
8067         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8068         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
8069         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
8070         (plugin_init):
8071         * libs/gst/Makefile.am:
8072         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
8073         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
8074         (gst_file_pad_parent_set):
8075         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8076         (gst_dp_event_from_packet):
8077         * tests/complexity.c: (main):
8078         * tests/mass_elements.c: (main):
8079         * testsuite/states/locked.c: (message_received), (main):
8080         * testsuite/states/parent.c: (main):
8081         * tools/gst-inspect.c: (print_element_flag_info),
8082         (print_implementation_info), (print_pad_info):
8083         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
8084         (main):
8085         * tools/gst-md5sum.c: (event_loop), (main):
8086         * tools/gst-typefind.c: (main):
8087         * tools/gst-xmlinspect.c: (print_element_info):
8088         Next big merge.
8089         Added GstBus for mainloop integration.
8090         Added GstMessage for sending notifications on the bus.
8091         Added GstTask as an abstraction for pipeline entry points.
8092         Removed GstThread.
8093         Removed Schedulers.
8094         Simplified GstQueue for multithreaded core.
8095         Made _link threadsafe, removed old capsnego.
8096         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
8097         Added pad blocking functions.
8098         Reworked scheduling functions in GstPad to prepare for
8099         scheduling updates soon.
8100         Moved events out of data stream.
8101         Simplified GstEvent types.
8102         Added return values to push/pull.
8103         Removed clocking from GstElement.
8104         Added prototypes for state change function for next merge.
8105         Removed iterate from bins and state change management.
8106         Fixed some elements, disabled others for now.
8107         Fixed -inspect and -launch.
8108         Added check for GstBus.
8109
8110 2005-03-10  Wim Taymans  <wim@fluendo.com>
8111
8112         * docs/design/part-MT-refcounting.txt:
8113         * docs/design/part-clocks.txt:
8114         * docs/design/part-gstelement.txt:
8115         * docs/design/part-gstobject.txt:
8116         * docs/design/part-standards.txt:
8117         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8118         (gst_bin_remove_func), (gst_bin_remove):
8119         * gst/gstbin.h:
8120         * gst/gstbuffer.c:
8121         * gst/gstcaps.h:
8122         * testsuite/clock/clock1.c: (main):
8123         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
8124         (main):
8125         * testsuite/dlopen/loadgst.c: (do_test):
8126         * testsuite/refcounting/bin.c: (add_remove_test1),
8127         (add_remove_test2), (main):
8128         * testsuite/refcounting/element.c: (main):
8129         * testsuite/refcounting/element_pad.c: (main):
8130         * testsuite/refcounting/pad.c: (main):
8131         * tools/gst-launch.c: (sigint_handler_sighandler):
8132         * tools/gst-typefind.c: (main):
8133         Doc updates.
8134         Added doc about clock.
8135         removed gst_bin_iterate_recurse_up(), marked methods
8136         for removal.
8137         Fix more testsuites.
8138
8139 2005-03-09  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/gstpad.c: (gst_pad_get_direction),
8142         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
8143         (gst_pad_collect_valist):
8144         * testsuite/bins/interface.c: (main):
8145         * testsuite/caps/audioscale.c: (test_caps):
8146         * testsuite/caps/caps.c: (test1), (test2), (test3):
8147         * testsuite/caps/deserialize.c: (main):
8148         * testsuite/caps/enumcaps.c: (main):
8149         * testsuite/caps/filtercaps.c: (main):
8150         * testsuite/caps/intersect2.c: (main):
8151         * testsuite/caps/random.c: (main):
8152         * testsuite/caps/renegotiate.c: (my_fixate), (main):
8153         * testsuite/caps/sets.c: (check_caps):
8154         * testsuite/caps/simplify.c: (check_caps), (main):
8155         * testsuite/caps/subtract.c: (check_caps):
8156         Fix _pad_get_direction wrt ghostpads.
8157         Fix caps testsuite.
8158
8159 2005-03-09  Wim Taymans  <wim@fluendo.com>
8160
8161         * check/Makefile.am:
8162         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
8163         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
8164         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
8165         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
8166         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
8167         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
8168         (gst_bin_remove), (gst_bin_iterate_recurse_up),
8169         (bin_element_is_sink), (gst_bin_iterate_sinks),
8170         (gst_bin_iterate_all_by_interface):
8171         * gst/gstbin.h:
8172         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
8173         (gst_element_change_state), (gst_element_dispose),
8174         (gst_element_finalize), (gst_element_set_loop_function):
8175         * gst/gstelement.h:
8176         * gst/gstiterator.c: (find_custom_fold_func):
8177         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8178         (gst_pad_collectv), (gst_pad_collect_valist),
8179         (gst_pad_template_new):
8180         * gst/gstpipeline.c: (gst_pipeline_class_init),
8181         (gst_pipeline_dispose), (gst_pipeline_set_property),
8182         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
8183         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
8184         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
8185         * gst/gstutils.h:
8186         * gst/schedulers/entryscheduler.c:
8187         * gst/schedulers/gstbasicscheduler.c:
8188         (gst_basic_scheduler_cothreaded_chain),
8189         (gst_basic_scheduler_chain_add_element):
8190         * testsuite/bins/interface.c: (main):
8191         Added GstBin test.
8192         Added GstSystemClock test.
8193         Implemented clock distribution code in GstBin.
8194         Implemented iterate sinks method for future use.
8195         Rearranged gstelement.h
8196         Fix GstIterator comparison bug.
8197         Moved some code to GstPipeline, mostly clocking related.
8198
8199 2005-03-09  Wim Taymans  <wim@fluendo.com>
8200
8201         * configure.ac:
8202         * gst/gst_private.h:
8203         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8204         (gst_bin_remove_func), (gst_bin_remove),
8205         (gst_bin_get_by_name_recurse_up):
8206         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
8207         (gst_clock_id_compare_func), (gst_clock_id_wait),
8208         (gst_clock_id_wait_async), (gst_clock_init),
8209         (gst_clock_adjust_unlocked), (gst_clock_get_time):
8210         * gst/gstelement.h:
8211         * gst/gstinfo.c: (_gst_debug_init):
8212         * gst/gstobject.h:
8213         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8214         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
8215         * gst/gstpad.h:
8216         Bump version number, we're now 0.9.0
8217         Add future debugging category.
8218         Fix NULL _unref() in _get_by_name_recurse_up
8219         Rearrange gstpad.h.
8220         Update some docs.
8221
8222 2005-03-08  Wim Taymans  <wim@fluendo.com>
8223
8224         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
8225         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
8226         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8227         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
8228         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
8229         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
8230         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
8231         * gst/elements/gstidentity.c: (gst_identity_class_init):
8232         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
8233         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
8234         * gst/elements/gstshaper.c: (gst_shaper_class_init):
8235         * gst/elements/gststatistics.c: (gst_statistics_class_init):
8236         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
8237         (gst_tee_link):
8238         * gst/gstelement.c: (gst_element_class_init),
8239         (gst_element_base_class_init), (gst_element_init),
8240         (gst_element_get_random_pad), (gst_element_wait_state_change),
8241         (gst_element_change_state), (gst_element_dispose),
8242         (gst_element_finalize), (gst_element_set_loop_function):
8243         * gst/gstelement.h:
8244         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
8245         * gst/gstthread.c: (gst_thread_class_init),
8246         (gst_thread_release_children_locks), (gst_thread_change_state):
8247         * gst/schedulers/gstbasicscheduler.c:
8248         (gst_basic_scheduler_loopfunc_wrapper),
8249         (gst_basic_scheduler_chain_wrapper),
8250         (gst_basic_scheduler_src_wrapper),
8251         (gst_basic_scheduler_remove_element):
8252         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
8253         Remove threadsafe properties. Fix elements because GObject
8254         complains when installing a property before declaring a
8255         set/get_property handler.
8256         Rearrange gstelement.h file, use STATE macros for state locks.
8257         Free mutexes in the finalize method instead of dispose.
8258
8259 2005-03-08  Wim Taymans  <wim@fluendo.com>
8260
8261         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8262         * gst/gstthread.c: (gst_thread_release_children_locks):
8263         Added parentage check.
8264         Fix build og GstThread again.
8265
8266 2005-03-08  Wim Taymans  <wim@fluendo.com>
8267
8268         * docs/design/part-MT-refcounting.txt:
8269         * docs/design/part-conventions.txt:
8270         * docs/design/part-gstobject.txt:
8271         * docs/design/part-relations.txt:
8272         * docs/design/part-standards.txt:
8273         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8274         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
8275         (gst_bin_get_by_name), (gst_bin_get_by_interface),
8276         (gst_bin_iterate_all_by_interface):
8277         * gst/gstbuffer.h:
8278         * gst/gstclock.h:
8279         * gst/gstelement.c: (gst_element_class_init),
8280         (gst_element_change_state), (gst_element_set_loop_function):
8281         * gst/gstelement.h:
8282         * gst/gstiterator.c:
8283         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
8284         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
8285         (gst_object_dispatch_properties_changed), (gst_object_set_name),
8286         (gst_object_set_parent), (gst_object_unparent),
8287         (gst_object_check_uniqueness):
8288         * gst/gstobject.h:
8289         Docs updates, clean up some headers.
8290
8291 2005-03-07  Wim Taymans  <wim@fluendo.com>
8292
8293         * check/.cvsignore:
8294         * check/Makefile.am:
8295         * check/gst-libs/.cvsignore:
8296         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
8297         * check/gst/.cvsignore:
8298         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
8299         (START_TEST), (gstbus_suite), (main):
8300         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
8301         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
8302         (gst_data_suite), (main):
8303         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
8304         (add_fold_func), (gstiterator_suite), (main):
8305         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
8306         (thread_name_object), (thread_name_object_default),
8307         (gst_object_name_compare), (gst_object_suite), (main):
8308         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
8309         (gst_pad_suite), (main):
8310         * check/gstcheck.c: (gst_check_log_message_func),
8311         (gst_check_log_critical_func), (gst_check_init):
8312         * check/gstcheck.h:
8313         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8314         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
8315         Added checks.
8316
8317 2005-03-07  Wim Taymans  <wim@fluendo.com>
8318
8319         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8320         (gst_list_iterator_next), (gst_list_iterator_resync),
8321         (gst_list_iterator_free), (gst_iterator_new_list),
8322         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
8323         (gst_iterator_free), (gst_iterator_push), (filter_next),
8324         (filter_resync), (filter_uninit), (filter_free),
8325         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
8326         (gst_iterator_foreach), (find_custom_fold_func),
8327         (gst_iterator_find_custom):
8328         * gst/gstiterator.h:
8329         Added missing files.
8330
8331 2005-03-07  Wim Taymans  <wim@fluendo.com>
8332
8333         * Makefile.am:
8334         * configure.ac:
8335         * docs/design/part-MT-refcounting.txt:
8336         * docs/design/part-conventions.txt:
8337         * docs/design/part-gstobject.txt:
8338         * docs/design/part-relations.txt:
8339         * examples/mixer/mixer.c: (main):
8340         * examples/thread/thread.c: (eos), (main):
8341         * gst/Makefile.am:
8342         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
8343         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
8344         (gst_spider_plug_from_srcpad):
8345         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
8346         (gst_spider_identity_change_state),
8347         (gst_spider_identity_sink_loop_type_finding):
8348         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
8349         * gst/elements/gstidentity.c: (gst_identity_init):
8350         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
8351         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
8352         * gst/elements/gsttypefindelement.c: (free_entry):
8353         * gst/gst.c:
8354         * gst/gst.h:
8355         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
8356         (gst_bin_set_clock_func), (gst_bin_auto_clock),
8357         (gst_bin_set_index), (gst_bin_set_element_sched),
8358         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
8359         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
8360         (gst_bin_iterate_elements), (iterate_child_recurse),
8361         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
8362         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
8363         (compare_interface), (gst_bin_get_by_interface),
8364         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
8365         * gst/gstbin.h:
8366         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
8367         (gst_buffer_default_free), (gst_buffer_default_copy),
8368         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
8369         (gst_buffer_create_sub):
8370         * gst/gstbuffer.h:
8371         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
8372         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
8373         (gst_caps_unref), (gst_static_caps_get),
8374         (gst_caps_remove_and_get_structure), (gst_caps_append),
8375         (gst_caps_append_structure), (gst_caps_remove_structure),
8376         (gst_caps_copy_nth), (gst_caps_set_simple),
8377         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
8378         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
8379         (gst_caps_structure_intersect_field), (gst_caps_intersect),
8380         (gst_caps_structure_subtract_field), (gst_caps_subtract),
8381         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
8382         (gst_caps_structure_figure_out_union),
8383         (gst_caps_switch_structures), (gst_caps_do_simplify),
8384         (gst_caps_replace), (gst_caps_from_string),
8385         (gst_caps_copy_conditional):
8386         * gst/gstcaps.h:
8387         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
8388         (_gst_clock_id_free), (gst_clock_id_unref),
8389         (gst_clock_id_compare_func), (gst_clock_id_wait),
8390         (gst_clock_id_wait_async), (gst_clock_class_init),
8391         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
8392         (gst_clock_get_time), (gst_clock_set_time_adjust),
8393         (gst_clock_set_property), (gst_clock_get_property):
8394         * gst/gstclock.h:
8395         * gst/gstcompat.h:
8396         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
8397         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
8398         * gst/gstdata.h:
8399         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
8400         (gst_element_requires_clock), (gst_element_provides_clock),
8401         (gst_element_set_clock), (gst_element_clock_wait),
8402         (gst_element_wait), (gst_element_set_time_delay),
8403         (gst_element_is_indexable), (gst_element_add_pad),
8404         (gst_element_add_ghost_pad), (gst_element_remove_pad),
8405         (pad_compare_name), (gst_element_get_static_pad),
8406         (gst_element_request_pad), (gst_element_get_request_pad),
8407         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
8408         (gst_element_class_get_pad_template_list),
8409         (gst_element_class_get_pad_template), (gst_element_error_func),
8410         (gst_element_get_random_pad), (gst_element_get_event_masks),
8411         (gst_element_send_event), (gst_element_seek),
8412         (gst_element_get_query_types), (gst_element_query),
8413         (gst_element_get_formats), (gst_element_convert),
8414         (gst_element_is_locked_state), (gst_element_set_locked_state),
8415         (gst_element_sync_state_with_parent), (gst_element_change_state),
8416         (gst_element_finalize), (gst_element_yield),
8417         (gst_element_interrupt), (gst_element_set_scheduler),
8418         (gst_element_get_scheduler), (gst_element_set_loop_function):
8419         * gst/gstelement.h:
8420         * gst/gstevent.h:
8421         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
8422         (gst_format_get_by_nick), (gst_format_get_details),
8423         (gst_format_iterate_definitions):
8424         * gst/gstformat.h:
8425         * gst/gstindex.c: (gst_index_gtype_resolver):
8426         * gst/gstinfo.c:
8427         * gst/gstinfo.h:
8428         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
8429         (gst_mem_chunk_free):
8430         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8431         (gst_object_ref), (gst_object_unref), (gst_object_sink),
8432         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
8433         (gst_object_dispatch_properties_changed),
8434         (gst_object_set_name_default), (gst_object_set_name),
8435         (gst_object_get_name), (gst_object_set_name_prefix),
8436         (gst_object_get_name_prefix), (gst_object_set_parent),
8437         (gst_object_get_parent), (gst_object_unparent),
8438         (gst_object_check_uniqueness), (gst_object_save_thyself),
8439         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
8440         (gst_object_set_property), (gst_object_get_property),
8441         (gst_object_get_path_string):
8442         * gst/gstobject.h:
8443         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
8444         (gst_real_pad_init), (gst_real_pad_get_property),
8445         (gst_pad_custom_new), (gst_pad_get_direction),
8446         (gst_pad_set_active), (gst_pad_is_active),
8447         (gst_pad_set_event_function), (gst_pad_is_linked),
8448         (gst_pad_link_free), (gst_pad_link_intersect),
8449         (gst_pad_link_fixate), (gst_pad_set_caps),
8450         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
8451         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
8452         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
8453         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
8454         (gst_pad_get_caps), (gst_pad_peer_get_caps),
8455         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
8456         (gst_pad_realize), (gst_pad_get_allowed_caps),
8457         (gst_real_pad_dispose), (gst_real_pad_finalize),
8458         (gst_pad_collectv), (gst_pad_collect_valist),
8459         (gst_pad_template_dispose), (gst_pad_template_new),
8460         (gst_pad_get_internal_links):
8461         * gst/gstpad.h:
8462         * gst/gstpipeline.c: (gst_pipeline_dispose),
8463         (gst_pipeline_change_state):
8464         * gst/gstpipeline.h:
8465         * gst/gstplugin.c:
8466         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
8467         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
8468         * gst/gstpluginfeature.h:
8469         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
8470         * gst/gstquery.c: (_gst_query_type_initialize),
8471         (gst_query_type_register), (gst_query_type_get_by_nick),
8472         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
8473         * gst/gstquery.h:
8474         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
8475         * gst/gstscheduler.c: (gst_scheduler_add_element),
8476         (gst_scheduler_factory_create):
8477         * gst/gststructure.c: (gst_structure_set_parent_refcount),
8478         (gst_structure_free), (gst_structure_set_name),
8479         (gst_structure_id_set_value), (gst_structure_set_value),
8480         (gst_structure_set_valist), (gst_structure_remove_field),
8481         (gst_structure_remove_fields),
8482         (gst_structure_remove_fields_valist),
8483         (gst_structure_remove_all_fields), (gst_structure_foreach),
8484         (gst_structure_map_in_place),
8485         (gst_caps_structure_fixate_field_nearest_int),
8486         (gst_caps_structure_fixate_field_nearest_double):
8487         * gst/gststructure.h:
8488         * gst/gstsystemclock.c: (gst_system_clock_class_init),
8489         (gst_system_clock_init), (gst_system_clock_dispose),
8490         (gst_system_clock_async_thread),
8491         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
8492         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8493         * gst/gstsystemclock.h:
8494         * gst/gsttag.c: (gst_tag_list_add_value_internal),
8495         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
8496         * gst/gsttaginterface.c:
8497         * gst/gstthread.c: (gst_thread_dispose),
8498         (gst_thread_release_children_locks), (gst_thread_change_state),
8499         (gst_thread_main_loop):
8500         * gst/gsttrashstack.h:
8501         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
8502         * gst/gsttypes.h:
8503         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8504         (gst_element_request_pad), (gst_element_get_pad_from_template),
8505         (gst_element_request_compatible_pad),
8506         (gst_element_get_compatible_pad_filtered),
8507         (gst_element_get_compatible_pad), (gst_element_state_get_name),
8508         (gst_element_link_pads_filtered), (gst_element_link_filtered),
8509         (gst_element_link_many), (gst_element_link),
8510         (gst_element_link_pads), (gst_element_unlink_pads),
8511         (gst_element_unlink_many), (gst_element_unlink),
8512         (gst_pad_can_link_filtered), (gst_pad_can_link),
8513         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
8514         (gst_object_default_error), (gst_bin_add_many),
8515         (gst_bin_remove_many), (gst_element_populate_std_props),
8516         (gst_element_class_install_std_props), (gst_buffer_merge),
8517         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
8518         (link_fold_func), (gst_pad_proxy_setcaps):
8519         * gst/gstutils.h:
8520         * gst/gstvalue.c: (gst_value_deserialize_string):
8521         * gst/parse/grammar.y:
8522         * gst/schedulers/gstbasicscheduler.c:
8523         (gst_basic_scheduler_cothreaded_chain),
8524         (gst_basic_scheduler_chain_recursive_add),
8525         (gst_basic_scheduler_pad_link):
8526         * gst/schedulers/gstoptimalscheduler.c:
8527         (get_group_schedule_function),
8528         (gst_opt_scheduler_state_transition),
8529         (gst_opt_scheduler_add_element), (element_get_reachables_func):
8530         * libs/gst/bytestream/bytestream.c:
8531         * libs/gst/dataprotocol/dataprotocol.c:
8532         (gst_dp_header_from_buffer):
8533         * po/nb.po:
8534         * po/ru.po:
8535         * tests/threadstate/threadstate2.c: (eos):
8536         * tools/gst-compprep.c: (main):
8537         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
8538         (print_pad_info), (print_children_info):
8539         * tools/gst-launch.c: (idle_func), (main):
8540         * tools/gst-md5sum.c: (idle_func), (main):
8541         * tools/gst-xmlinspect.c: (print_element_info):
8542         First THREADED backport attempt, focusing on adding locks and
8543         making sure the API is threadsafe. Needs more work. More docs
8544         follow this week.
8545
8546 2005-02-24  Andy Wingo  <wingo@pobox.com>
8547
8548         * tests/bench-complexity.scm:
8549         * tests/complexity.gnuplot: New files, good for running complexity
8550         benchmarks.
8551
8552         * tests/Makefile.am:
8553         * tests/complexity.c: New test, sets up N elements, at each level
8554         teeing into M streams per element. Eeeenteresting.
8555
8556         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
8557         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
8558         running bench-mass_elements.scm.
8559
8560         * tests/bench-mass_elements.scm: New script, runs mass_elements
8561         for various numbers of identities, outputting the results to a
8562         file. Requires guile 1.6. Just for testing.
8563
8564 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * gst/schedulers/fairscheduler.c:
8567           compile with debug disabled
8568
8569 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * configure.ac:
8572           hunting season on 0.9 is now OPEN