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