plugins/elements/gstmultiqueue.c: Make it so that pads are considered linked until...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2
3         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6         Make it so that pads are considered linked until a buffer is pushed
7         and discovered otherwise. This avoids problems with decodebin2 hanging
8         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
9         case.
10
11         Make sure we lock the multiqueue when updating the max-size properties.
12         
13         Fix a crash on Solaris in a debug statement in get_request_pad that
14         passes a NULL string to GST_DEBUG. 
15
16         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
17         (run_output_order_test):
18         Fix the test to allow the first buffer on not-linked pads to come out
19         of sequence while multiqueue discovers that they are not-linked.
20
21 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
22
23         * configure.ac:
24         * libs/gst/check/Makefile.am:
25         Use a custom export symbol regex for libgstcheck, as it needs
26         to export symbols that don't match the standard GStreamer gst_*
27         pattern, and  --export-dynamic is not portable (only works on 
28         GNU ld)
29
30         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
31         (gst_check_setup_sink_pad):
32         Make sure to pass a message parameter to the fail_* macros.
33
34         * tests/check/gst/gstinfo.c: (GST_START_TEST):
35         Fix some compiler warnings.
36
37 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
38
39         * tests/check/gst/gststructure.c: (test_to_string):
40           Disable test that checks that white spaces are not allowed
41           in structure names or field names, since we need to
42           support that for now for backwards compatibility reasons.
43
44 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
45
46         * docs/gst/gstreamer-sections.txt:
47         * gst/gsttaglist.c:
48         * gst/gsttaglist.h:
49           API: add GST_TAG_ARTIST_SORTNAME
50           API: add GST_TAG_ALBUM_SORTNAME
51           API: add GST_TAG_TITLE_SORTNAME
52           Add tag variants for sorting (#414539).
53
54 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
55
56         * gst/gststructure.c:
57           Also allow white space for names so we don't break
58           backwards compatibility.
59
60 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
61
62         * docs/design/part-TODO.txt:
63         * docs/design/part-segments.txt:
64         * docs/design/part-streams.txt:
65         Small updates.
66
67 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
68
69         * docs/gst/gstreamer-sections.txt:
70          Fixed documentation from my previous commit (added new API add
71          gst_value_set_structure(), add gst_value_get_structure() and
72          GST_VALUE_HOLDS_STRUCTURE).
73
74 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
75
76         * gst/gstdebugutils.c:
77           Reflow code to fix uninitialized variable warning.
78
79 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
80
81         * gst/gstcaps.c: (gst_caps_to_string),
82         (gst_caps_from_string_inplace):
83         * gst/gststructure.c: (gst_structure_get_abbrs),
84         (gst_structure_to_string), (gst_structure_from_string):
85         * gst/gstvalue.c: (gst_value_set_structure),
86         (gst_value_get_structure), (gst_value_serialize_structure),
87         (gst_value_deserialize_structure), (_gst_value_initialize):
88         * gst/gstvalue.h:
89         * tests/check/gst/gststructure.c: (GST_START_TEST),
90         (gst_structure_suite):
91         * tests/check/gst/gstvalue.c: (GST_START_TEST):
92          Added GstStructure to gst_value_table and its related functions.
93          Changed gst_structure_to_string to print ';' in the end.
94          Changed gst_caps_to_string to not print ';' beteween its
95          fields (structures) anymore and remove the lastes ';' from latest
96          structure. Now it is possible to have nested structures.
97          In addition, backward compatibilty is assured by accepting '\0' as
98          end delimiter. Fixes: #487969.
99          API: add gst_value_set_structure()
100          API: add gst_value_get_structure()
101          API: add GST_VALUE_HOLDS_STRUCTURE
102
103 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
104
105         * gst/gstbus.c:
106           When no GSource callback has been set up, tell developer
107           to use a function that actually exists.
108
109 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
110
111         * docs/gst/gstreamer-sections.txt:
112         * gst/Makefile.am:
113         * gst/gst.c:
114         * gst/gst.h:
115         * gst/gstdebugutils.c:
116         * gst/gstdebugutils.h:
117         * gst/gstinfo.c:
118         * gst/gstinfo.h:
119         * tools/gst-launch.c:
120           Allow dumping pipelines as dot graphs. Fixes #456573.
121
122 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
123
124         * gst/gststructure.c:
125           Allow '+' as well, it can be part of media or mime types
126           such as image/svg+xml.
127
128 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * docs/gst/gstreamer-sections.txt:
131         * gst/gstbus.c:
132         * gst/gstbus.h:
133           API: add gst_bus_pop_filtered
134           API: add gst_bus_timed_pop_filtered
135           Two new functions for waiting for specific message types on the
136           bus for a specified amount of time without iterating any main
137           loops or main contexts.
138
139         * tests/check/gst/gstbus.c:
140           Some tests for the new functions.
141
142 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
143
144         * docs/libs/gstreamer-libs-sections.txt:
145           Make gtk-doc ignore stuff it should ignore.
146
147 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * libs/gst/check/gstcheck.c:
150         * libs/gst/check/gstcheck.h:
151           Allow runtime selection of unit tests to run via the GST_CHECKS
152           environment variable (test case function names, comma-separated).
153
154 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
155
156         * gst/gststructure.c:
157         * tests/check/gst/gststructure.c:
158           Revert serialisation change and constrain structure-names after
159           consensus on irc. Update api documentation to reflect the change.
160
161 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
162
163         * gst/gststructure.c:
164           Improve serialization and fix tests.
165
166         * tests/check/gst/gststructure.c:
167           Add another test that covers why I actually did the previous structure
168           change.
169
170 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
171
172         * tools/gst-inspect.c: (print_element_info):
173         Don't crash when inspecting an element.
174
175 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
176
177         * tests/check/gst/gststructure.c:
178           Add unit test for escaping of structure name when serialising
179           and deserialising to/from strings.
180
181 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
182
183         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
184         (gst_single_queue_new):
185         * plugins/elements/gstqueue.c: (gst_queue_init),
186         (gst_queue_push_one):
187         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
188         upstream is tricked into thinking it can suggest a format downstream
189         while downstream does not support that format. The real problem is that
190         core calls acceptcaps when pushing a buffer with new caps, for which we
191         do a little workaround by setting the caps on the srcpad ourselves
192         before pushing the buffer (until this is figured out). Fixes #486758.
193
194 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
195
196         * gst/gststructure.c:
197         * gst/gstvalue.c:
198           Add some more comments and debug output. Quote structure name to fix
199           deserialisation of some strings.
200
201 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
202
203         * gst/gstbuffer.h:
204           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
205           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
206
207 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
208
209         * tools/gst-inspect.c:
210           Save approx. 400 1 byte allocs when printing. Use API to acces element
211           details.
212
213         * tools/gst-run.c:
214           Avoid a strdup.
215
216         * tools/gst-xmlinspect.c:
217           Use API to acces element details.
218
219 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
220
221         * gst/gstinfo.c:
222           Fix some spelling errors.
223
224 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
225
226         * gst/gstbin.c: (bin_handle_async_done):
227         Correctly set the next state if all of our async children commited their
228         state. This makes sure we can actually cancel the state change in
229         progress. Fixes a regression in Rhythmbox when seeking.
230
231 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
232
233         * gst/gstbin.c:
234           Don't shadow local variable.
235
236         * gst/gstinfo.c:
237           Don't shadow global function name.
238
239 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
240
241         * gst/gstelementfactory.c:
242         * gst/gstpluginfeature.c:
243         * gst/gstpluginfeature.h:
244         * gst/gstregistrybinary.c:
245         * gst/gstregistryxml.c:
246         * gst/gsttypefind.c:
247           Use already-interned string for the private GstPluginFeature
248           plugin_name field.
249
250 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
251
252         * docs/libs/gstreamer-libs-sections.txt:
253           Add new API to docs; fixes the build.
254
255 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
256         
257         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
258
259         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
260         (gst_base_sink_event):
261         * libs/gst/base/gstbasesink.h:
262         Add function to wait for EOS, subclasses can use this to correctly wait
263         for devices to drain before performing the EOS logic. Fixes #485343.
264         API: gst_base_sink_wait_eos()
265
266 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
267
268         * gst/gstplugin.h:
269           Cast description string constants in GST_PLUGIN_DEFINE macros
270           to a (gchar*) to make C++ code using these macros compile
271           without warning with g++-4.2 (see #462737).  Even if slightly
272           ugly, this seems preferable to putting the description strings
273           into the GLib quark table or making the structure member a
274           const gchar * and doing casts in core code that allocs and
275           frees these strings, or requiring a cast in the C++ code.
276
277 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
278
279         * gst/gstinfo.h:
280           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
281           to print the entire class/function signature into the log
282           file for C++ code.  This only affects C++ code, for C code
283           everything remains the same.
284
285 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
286
287         * gst/gstbin.c: (remove_from_queue):
288         Work around a problem with pipelines containing (semi)loops until a
289         proper, more complicated solution is ready. See #475455.
290
291 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
292
293         * gst/gstplugin.c:
294         * gst/gstplugin.h:
295         * gst/gstregistrybinary.c:
296         * gst/gstregistryxml.c:
297           Put more strings into the GLib quark table. No need to keep
298           a hundred-something copies of identical version strings,
299           license strings, package name strings and package origin
300           strings around. 
301
302 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
303
304         * docs/manual/advanced-dataaccess.xml:
305           Don't imply that it's okay to unconditionally change
306           buffer data or buffer metadata in a pad probe callback,
307           and a bunch of other comments. Fixes #430031.
308
309 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
310
311         * win32/common/gstenumtypes.c:
312         * win32/common/gstenumtypes.h:
313         * win32/common/gstversion.h:
314           Update generated files.
315
316 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
317
318         * docs/manual/advanced-autoplugging.xml:
319           Prefix section with broken code with a warning (see #342432).
320
321 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
322
323         * docs/manual/appendix-integration.xml:
324         * docs/manual/basics-init.xml:
325           Call g_thread_init() before g_option_context_new() to
326           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
327
328 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
329
330         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
331         (gst_base_sink_queue_object_unlocked),
332         (gst_base_sink_queue_object), (gst_base_sink_event),
333         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
334         When we received EOS and are waiting for when to post the EOS message,
335         our state is prerolled and we should not return ASYNC.
336         Reorganize some code paths to implement this behavior.
337
338         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
339         (gst_sinks_suite):
340         Add unit test to verify above EOS fix.
341
342 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
343
344         * plugins/elements/gsttypefindelement.c:
345         (gst_type_find_element_have_type), (gst_type_find_element_init),
346         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
347         Move detecting the input caps of the sinkpad to the setcaps function.
348         This allows us to update the output caps when we receive new input caps
349         instead of always using the first detected caps.
350
351 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
352
353         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
354         (gst_base_sink_get_position):
355         Don't try to preroll non-async elements after a flush.
356         Subtract latency form clock times when reporting position.
357
358 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
359
360         * gst/gstpad.c: (gst_pad_pause_task):
361         * gst/gstutils.c:
362         Small comment and documentation update.
363
364 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
365
366         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
367         (gst_base_src_set_live), (gst_base_src_is_live),
368         (gst_base_src_query_latency), (gst_base_src_perform_seek),
369         (gst_base_src_default_event), (gst_base_src_wait),
370         (gst_base_src_do_sync), (gst_base_src_get_range),
371         (gst_base_src_pad_get_range), (gst_base_src_loop),
372         (gst_base_src_unlock), (gst_base_src_unlock_stop),
373         (gst_base_src_set_flushing), (gst_base_src_set_playing),
374         (gst_base_src_activate_push), (gst_base_src_activate_pull),
375         (gst_base_src_change_state):
376         Rework the locking of basesrc in a similar fashion to basesink. We
377         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
378         us to handle live sources and semi live ones much better.
379         Simplify flushing.
380         Fix unlocking when seeking, shutting down and pausing in live sources.
381
382 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
383
384         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
385         Fix compilation again.
386
387 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
388
389         * gst/gstelement.c:
390           Use meaningful categories for the logs to clean the default one.
391
392 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
393
394         * tests/check/pipelines/cleanup.c:
395           Print message name and not just number.
396
397 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
398
399         * docs/design/draft-tagreading.txt:
400           Add some more thoughts.
401
402 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
403
404         * tests/check/pipelines/simple-launch-lines.c:
405           Print message name and not just number.
406
407 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
408
409         * libs/gst/base/gsttypefindhelper.c:
410           Speedup typefinding. This is work in progress (see #459862).
411
412 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
413
414         * gst/gstplugin.c:
415           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
416           Spotted by Josep Torra Valles <josep@fluendo.com>.
417
418 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
419
420         * gst/gstclock.h:
421           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
422           field has moved to GstObject.
423
424 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
425
426         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
427         (gst_base_src_get_range), (gst_base_src_change_state):
428         Call unlock for live sources so that they can't get stuck in _create and
429         produce a buffer before they are set back to PLAYING.
430
431 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
432
433         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
434         (gst_queue_locked_dequeue):
435         Comment the segment-related code... in the PROPER function.
436         See #482147 and my commit from yesterday.
437
438 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
439
440         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
441         Also initialize the counter that calculates the first timestamp on a
442         buffer correctly for non-live sources.
443
444 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
445
446         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
447         Disable code that's breaking the current-time-level reporting.
448         See #482147
449
450 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
451
452         * docs/gst/gstreamer-sections.txt:
453         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
454         as they shouldn't show up. Fixes the docs build.
455
456 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
457         
458         * gst/gstinfo.h:
459         Add an explicit variable importation needed on VS6 (only for MSC_VER)
460         Define M_PI which is used in files which are including gstinfo.h. 
461         VS6 includes doesn't define it.
462         * win32/common/libgstbase.def:
463         * win32/common/libgstcontroller.def:
464         * win32/common/libgstreamer.def:
465         Add new exported functions and variables.
466         * win32/vs6/libgstcontroller.dsp:
467         * win32/vs6/libgstreamer.dsp:
468         Update the list of files to build.
469         
470 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
471
472         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
473
474         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
475         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
476         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
477         Improve debugging. Fixes #480858.
478
479 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
480
481         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
482
483         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
484         First patch of code cleanups, use the macros and right arguments in the
485         macros to signal and lock the queue. See #480858.
486
487 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
488
489         * gst/gstbus.c: (poll_func):
490         Improve debugging when dealing with _poll().
491
492 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
493
494         * gst/gstregistryxml.c:
495           Fix memory leak I introduced a few days ago.
496
497 2007-09-26  Michael Smith <msmith@fluendo.com>
498
499         * gst/gstbuffer.c: (gst_buffer_finalize):
500           Make it once again possible to free GstBuffers in the default
501           build.
502           The poisoning scribbles on parts of the miniobject we need in
503           order to free it.
504           Fixes #480341
505
506 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
507
508         * docs/gst/gstreamer-sections.txt:
509         * gst/gsttaglist.c:
510         * gst/gsttaglist.h:
511         API: add GST_TAG_COMPOSER, fixes #459809.
512
513 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
514
515         * gst/gstplugin.c:
516         * gst/gstplugin.h:
517         Add the 3-clause BSD license and the MIT/X11 license to the license
518         list. Fixes #479784.
519
520 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
521
522         * docs/faq/getting.xml:
523           Add Q+A about different GStreamer versions (#364056).
524
525 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
526
527         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
528         (gst_base_sink_event), (gst_base_sink_change_state):
529         Return correct gboolean from query function.
530
531 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
532
533         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
534         (gst_base_sink_event), (gst_base_sink_query),
535         (gst_base_sink_change_state):
536         Simplify latency query.
537         When not synchronizing, we can report latency without querying the peer
538         element.
539
540 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
541
542         * gst/gstobject.h:
543         * gst/gstvalue.c:
544         Fix small typos in the docs.
545
546 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
547
548         * docs/design/draft-latency.txt:
549         * docs/design/draft-push-pull.txt:
550         * docs/design/draft-tagreading.txt:
551         * docs/design/part-MT-refcounting.txt:
552         * docs/design/part-activation.txt:
553         * docs/design/part-block.txt:
554         * docs/design/part-element-source.txt:
555         * docs/design/part-events.txt:
556         * docs/design/part-gstbin.txt:
557         * docs/design/part-gstelement.txt:
558         * docs/design/part-gstobject.txt:
559         * docs/design/part-gstpipeline.txt:
560         * docs/design/part-messages.txt:
561         * docs/design/part-preroll.txt:
562         * docs/design/part-push-pull.txt:
563         * docs/design/part-qos.txt:
564         * docs/design/part-query.txt:
565         * docs/design/part-scheduling.txt:
566         * docs/design/part-seeking.txt:
567         * docs/design/part-segments.txt:
568         * docs/design/part-states.txt:
569         Documentation updates and typo fixes.
570
571 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
572
573         * plugins/elements/gstfakesink.c:
574           Add some debug text to error message to indicate that
575           we errored out on request.
576
577         * tools/gst-launch.c:
578           When the state change to PLAYING fails, check for an
579           error message on the bus and print it.
580
581 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         translated by: Jorge González González <aloriel@gmail.com>
584
585         * po/LINGUAS:
586         * po/es.po:
587           Added Spanish translation.
588
589 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
590
591         * plugins/elements/gstqueue.c: (gst_queue_push_one):
592         Fix printf arguments.
593
594 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
595
596         * tests/check/generic/states.c:
597           Improved state change unit test.
598
599 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
600
601         * gst/gstbin.h:
602           Move priv to the right place.
603
604         * gst/gstsystemclock.c:
605           Add FIXME: and improve log.
606
607         * tests/check/Makefile.am:
608         * tests/examples/manual/Makefile.am:
609           Work with all types of registries.
610
611 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
612
613         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
614         Don't unref the event after pushing it. Fixes #478401.
615
616 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
617
618         * .cvsignore:
619         * tests/examples/manual/.cvsignore:
620           Ignore registries in any format.
621
622 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
623
624         * gst/glib-compat-private.h:
625           Add compatibility macro for g_intern_string() for
626           GLib-2.8 (any reason we can't just bump the
627           requirement to at least 2.10?)
628
629         * gst/gstpadtemplate.h:
630         * gst/gstelementfactory.c:
631         * gst/gstregistryxml.c:
632         * gst/gstregistrybinary.c:
633           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
634           up the internal code accordingly.  This shouldn't be a problem, since
635           there is no reason external code could ever assume the string in such
636           a structure is dynamically allocated unless it did that itself;  the
637           use of g_strdup() is private to element factories.  The new code also
638           saves some memory by putting pad template name strings into the GLib
639           quark table instead of allocating them dynamically.
640           Declaring this field constant fixes warnings with g++-4.2 when using
641           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
642
643 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
644
645         * gst/gstelementfactory.c:
646           Release static caps. Fixes #475723.
647
648 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
649
650         * gst/gstinfo.c:
651         * gst/gstinfo.h:
652           Make some internal API take const gchar * instead of just
653           gchar * to avoid compiler warnings with g++-4.2.2 when
654           passing string constants (partially fixes #478092).
655
656 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
657
658         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
659         A latency query fails when one of the sinks fail.
660
661         * gst/gstelement.c: (gst_element_set_base_time):
662         Improve debugging.
663
664 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
665
666         * gst/gstbin.c: (gst_bin_continue_func):
667         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
668         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
669         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
670
671         Fix minor compilation warnings shown with Forte.
672
673 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
674
675         * plugins/elements/gstqueue.c: (apply_buffer),
676         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
677         Measure queue level based on the diff between head and tail timestamps
678         even when pushing the first buffer.
679
680 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
681
682         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
683         (gst_base_sink_event), (gst_base_sink_change_state):
684         Sinks that don't preroll can always be queried for the latency.
685         Don't post ASYNC start when we are not async.
686
687 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
688
689         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
690         (gst_queue_handle_sink_event), (gst_queue_chain),
691         (gst_queue_push_one), (gst_queue_handle_src_query),
692         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
693         * plugins/elements/gstqueue.h:
694         When downstream returns UNEXPECTED from pushing a buffer, don't try to
695         push more buffers but allow pushing of EOS and NEWSEGMENT.
696         Add some more debug info here and there. Fixes #476514.
697
698 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
699
700         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
701         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
702         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
703         (gst_base_sink_set_flushing), (gst_base_sink_query),
704         (gst_base_sink_change_state):
705         Latency query is allowed after we are prerolled. Introduce a new flag
706         for this and stop abusing other variables.
707
708 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
709
710         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
711         Push OOB events downstream when we get them in send_event. This allows
712         the application to insert events in the pipeline.
713         Add some more comments.
714
715 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
716
717         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
718         (do_bin_latency), (gst_bin_change_state_func):
719         * gst/gstpipeline.c: (gst_pipeline_change_state):
720         Move latency query from GstPipeline to GstBin so that we can also
721         use it when async-handling is enabled on bins.
722
723 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
724
725         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
726         (gst_base_src_do_sync), (gst_base_src_change_state):
727         Update docs.
728         Clean up the timestamping and syncing code for pseudo live sources.
729
730 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
731
732         Patch by: Steve Fink  <sphink gmail com>
733
734         * docs/manual/appendix-checklist.xml:
735           Mention less -R switch in the section about debug output (#474055).
736
737 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
738
739         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
740         Queue can latency to the pipeline up to the configured max size in time.
741         Report this fact in the latency query.
742
743 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
744
745         Patch by: Sebastien Moutte <sebastien at moutte dot net>
746
747         * libs/gst/controller/gstinterpolation.c:
748         * libs/gst/controller/gstlfocontrolsource.c:
749         Use gst_guint64_to_gdouble() when converting from a uint64 or
750         GstClockTime to double to fix the build on win32. Fixes #474371.
751
752 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
753
754         * gst/gstbuffer.c: (gst_buffer_finalize):
755         Implement poisoning for GstBuffer if --enable-poisoning is specified.
756         When finalizing a buffer the complete struct is filled with 0xff,
757         thus making a use of the buffer after the final unref impossible.
758
759 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
760
761         * tests/check/libs/controller.c: (GST_START_TEST):
762         Use fail_unless_equals_int(a, b) instead of
763         fail_unless_equals (a == b) to get better output on failures.
764
765 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
766
767         * tests/check/gst/gsturi.c:
768           Also check for the other file URI variant on win32.
769
770 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
771
772         * gst/gsturi.c: (gst_uri_get_location):
773           If there's no hostname, we want to return 'c:/foo/bar.txt'
774           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
775
776         * tests/check/gst/gsturi.c:
777           Unit test for the above and a few more things.
778
779 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
780
781         * docs/design/part-live-source.txt:
782         Add docs on how live sources should timestamp.
783
784         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
785         Add some more debug info.
786         For subclasses that are live and like to sync, add aditional startup
787         latency to sync time and timestamps so that we timstamp according to the
788         design doc.
789
790 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
791
792         * gst/gstbuffer.c:
793           Also do a g_type_class_ref() for the subbuffer type in
794           the init function.
795
796 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
797
798         * docs/gst/gstreamer-sections.txt:
799         * gst/gstpad.c: (gst_pad_peer_query):
800         * gst/gstpad.h:
801         Add function to perform a query on the peer of a pad.
802         API: gst_pad_peer_query()
803
804 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
805
806         * tests/check/gst/gstsystemclock.c:
807           Cleanup the test a little (use gst-logging and not g_message). Improve
808           test to check if a wait reached the target.
809
810 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * docs/libs/gstreamer-libs-sections.txt:
813           Add new API to docs and fix the build.
814
815 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
816
817         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
818         (gst_base_src_init), (gst_base_src_set_do_timestamp),
819         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
820         (gst_base_src_get_property), (gst_base_src_do_sync):
821         * libs/gst/base/gstbasesrc.h:
822         Add property to make the basesrc timestamp buffers based on the current
823         running time.
824         API: GstBaseSrc::do-timestamp
825         API: gst_base_src_set_do_timestamp()
826         API: gst_base_src_get_do_timestamp()
827
828 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
829
830         * docs/random/release:
831           Really make sure translations are up-to-date before
832           a release (#465010).
833
834 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
835
836         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
837         Always destroy the timer, also in error cases.
838
839 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
840
841         * docs/manual/highlevel-xml.xml:
842         Fix XML example code. Fixes #472714.
843
844 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
845
846         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
847         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
848         (gst_base_sink_query):
849         Protect eos and have_preroll with the OBJECT lock so we don't need to
850         take the PREROLL lock when querying the latency. Fixes #473846.
851
852 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
853
854         * gst/gstelement.c:
855           Give some log-messages a category.
856
857 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
858
859         * gst/gststructure.c:
860         (gst_structure_fixate_field_nearest_fraction):
861         Fix fraction list fixation code. Take the fraction with the smallest
862         difference with the target instead of the first one in the list.
863
864         * tests/check/gst/gststructure.c: (GST_START_TEST),
865         (gst_structure_suite):
866         Added test to verify correct fraction list fixation behaviour.
867
868 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
869
870         * win32/common/libgstreamer.def:
871           Export gst_bus_add_signal_watch too.
872
873 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
874
875         * docs/libs/gstreamer-libs-sections.txt:
876         Add new methods to docs.
877
878         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
879         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
880         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
881         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
882         * libs/gst/base/gstbasesink.h:
883         Add ts-offset property to fine-tune the synchronisation.
884         API: GstBaseSink::ts-offset property
885         API: gst_base_sink_set_ts_offset()
886         API: gst_base_sink_get_ts_offset()
887
888 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
889
890         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
891         (gst_base_sink_init), (gst_base_sink_set_sync),
892         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
893         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
894         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
895         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
896         (gst_base_sink_get_property), (gst_base_sink_change_state):
897         * libs/gst/base/gstbasesink.h:
898         Add async property to instruct the sink never to inform the parent about
899         ASYNC state changes, update docs.
900         Check argument with g_return_* for the public functions.
901         API: GstBaseSink::async property
902         API: gst_base_sink_set_async_enabled()
903         API: gst_base_sink_is_async_enabled()
904
905 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
906
907         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
908         Improve debugging.
909
910         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
911         (gst_base_src_default_query), (gst_base_src_wait),
912         (gst_base_src_do_sync), (gst_base_src_change_state):
913         Rearrange some code so that we can add support for measuring the 
914         startup latency.
915
916 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
917
918         * docs/random/ensonic/dynlink.txt:
919           More thoughs on this.
920
921         * plugins/elements/gstcapsfilter.c:
922           Add bugzilla ticket number to FIXME comment.
923
924 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
925
926         * docs/design/part-TODO.txt:
927         * docs/design/part-block.txt:
928         Update some docs.
929
930 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
931
932         * gst/Makefile.am:
933           Revert patch which uses $(gst_headers) instead of $^ because it
934           breaks make dist.
935
936 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
937
938         * tests/check/gst/gstbin.c: (GST_START_TEST):
939           Fix leaks in the new unit test.
940
941 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
942
943         * gst/gst.c:
944           Don't use GST_INFO before the debug system is actually initialised
945           (shouldn't do any harm, but won't print anything either, so we can
946           just as well remove it).
947
948         * gst/gstinfo.h:
949           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
950           compilers that don't support variadic macros (such as MSVC), should
951           check for debug_level <= __gst_debug_min as well, since that's the
952           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
953           inline helper functions. Should improve performance a bit, but also
954           makes sure uses of GST_INFO et.al are ignored if the debugging
955           system isn't initialised yet (instead of printing an assertion
956           failure).
957
958 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
959
960         patch by: David Nečas <yeti@physics.muni.cz>
961
962         * gst/Makefile.am:
963           Replace some non portable makefile constructs.
964
965 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
966
967         * common/gtk-doc-plugins.mak:
968           Grrrrr. Don't remove the types file on make clean.
969
970 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
971
972         * tools/gst-launch.1.in:
973         Add colorspace to example pipeline. Fixes #458274.
974
975 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
976
977         * docs/random/release:
978           The release manager should run 'make download-po' before making a
979           release to make sure translations are up-to-date.
980
981         * po/LINGUAS:
982         * po/be.po:
983         * po/pl.po:
984         * po/rw.po:
985           Add some new translations.
986
987 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
988
989         * tools/gst-launch.c: (event_loop), (main):
990         Don´t try to do any state management when a live pipeline posts
991         buffering messages.
992         Also make the buffering string translatable.
993
994 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
995
996         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
997         (bin_handle_async_start), (gst_bin_handle_message_func):
998         Improve debugging.
999         When adding elements, insert messages into the bus of the newly added
1000         element and make sure the element is the source of the message. This
1001         allows the parent bin to intercept the message and do the
1002         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1003         messages to the app (which is not allowed).
1004         Update some docs.
1005
1006         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1007         Fix testsuite so that is does not work around messages that should not
1008         have been posted in the first place.
1009
1010 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1011
1012         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1013         (update_degree), (gst_bin_sort_iterator_next):
1014         Fix annoying bug in the sorted iterator where a sink that is not really
1015         a sink (when it has downstream links) screwed up the iterator.
1016
1017         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1018         Unit test to verify the fix.
1019
1020 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1021
1022         * gst/gstmessage.h:
1023         Add some more docs for the messages.
1024
1025         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1026         (gst_base_sink_query):
1027         Add some more debugging.
1028
1029         * tools/gst-launch.c: (event_loop):
1030         When interrupting, don't try to set pipeline to PAUSED twice.
1031
1032 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1033
1034         
1035         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1036         (bin_handle_async_start), (gst_bin_handle_message_func):
1037         Move ASYNC_START message posting to where it belongs, similar to
1038         async_done. 
1039         Don't post ASYNC_START when we are in error. 
1040         Post ASYNC_START when we added an async element to a bin.
1041
1042 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1043
1044         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1045         generation from vargs. Fixes #466595.
1046
1047 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1048
1049         * gst/gstbin.c: (gst_bin_element_set_state):
1050         Always change the state of a NO_PREROLL element even if it has ASYNC
1051         elements inside (in case of a bin).
1052
1053         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1054         Unit test for this case.
1055
1056 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1057
1058         * libs/gst/check/gstbufferstraw.c:
1059         * libs/gst/check/gstcheck.h:
1060         * libs/gst/controller/gstcontroller.c:
1061         * libs/gst/controller/gstcontrolsource.h:
1062         * libs/gst/controller/gstlfocontrolsource.h:
1063         * plugins/elements/gstcapsfilter.h:
1064         * plugins/elements/gstfdsink.h:
1065         * plugins/elements/gstfdsrc.h:
1066           Add more missing docs.
1067
1068 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1069
1070         * gst/gststructure.c:
1071         Add Since tag to docs.
1072
1073 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1074
1075         * docs/gst/gstreamer-sections.txt:
1076         * gst/gststructure.c: (gst_structure_get_uint):
1077         * gst/gststructure.h:
1078         Add function to get uint from a structure.
1079         API: gst_structure_get_uint()
1080
1081 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1082
1083         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1084         (gst_caps_intersect):
1085         Fix proper check for simple caps.
1086
1087 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1088
1089         * docs/gst/Makefile.am:
1090         * docs/libs/Makefile.am:
1091           Remove cruft and do some cleanups.
1092
1093         * docs/gst/gstreamer-docs.sgml:
1094         * docs/libs/gstreamer-libs-docs.sgml:
1095           Prepare for comming gtkdoc features (rebase against online docs).
1096
1097 2007-08-10  Michael Smith <msmith@fluendo.com>
1098
1099         * docs/gst/gstreamer-sections.txt:
1100           Add gst_registry_add_path to docs.
1101
1102 2007-08-10  Michael Smith <msmith@fluendo.com>
1103
1104         * gst/gstregistry.h:
1105           Add gst_registry_add_path, which was missing from this header.
1106
1107 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1108
1109         * libs/gst/controller/gstlfocontrolsource.c:
1110           Printf format fix.
1111
1112 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1113
1114         * libs/gst/base/gstbasesink.c:
1115           Don't send an async_start message during downwards state change if 
1116           target state is less than READY
1117
1118 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1119
1120         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1121
1122         * po/LINGUAS:
1123         * po/hu.po:
1124           Added Hungarian translation.
1125
1126 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1127
1128         * po/fi.po:
1129         * po/it.po:
1130         * po/nl.po:
1131         * po/sv.po:
1132         * po/uk.po:
1133           Updated translations.
1134
1135 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1136
1137         * libs/gst/controller/Makefile.am:
1138         Dist gstlfocontrolsourceprivate.h
1139
1140 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1141
1142         * docs/libs/gstreamer-libs.types:
1143         Don't register the enum type gst_lfo_waveform_get_type() in the
1144         .types file - only GObject derived types belong.
1145
1146 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1147
1148         Patch by: <arenevier at fdn dot fr>
1149
1150         * gst/gstbuffer.h:
1151         Remove comma from last element in enum to avoid compile errors when
1152         using -pendantic. Fixes #464366.
1153
1154 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1155
1156         * docs/design/part-TODO.txt:
1157         Add some more TODO items
1158
1159         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1160         Improve debugging.
1161
1162         * gst/gstcaps.c: (gst_caps_intersect):
1163         Optimize trivial intersection case between identical caps pointers.
1164
1165         * gst/gstelement.c: (gst_element_continue_state),
1166         (gst_element_set_state_func):
1167         * gst/gstpad.c:
1168         Fix spelling and grammar mistakes.
1169
1170 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1171
1172         * po/POTFILES.in:
1173         * po/POTFILES.skip:
1174           Update POTFILES. Fixes #461599.
1175
1176 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1177
1178         * gst/gst.c:
1179         Fix confusing typo in debug output.
1180
1181 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1182
1183         reviewed by: Stefan Kost <ensonic@users.sf.net>
1184
1185         * libs/gst/controller/Makefile.am:
1186         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1187         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1188         (gst_lfo_control_source_new),
1189         (gst_lfo_control_source_set_waveform),
1190         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1191         (gst_lfo_control_source_finalize),
1192         (gst_lfo_control_source_dispose),
1193         (gst_lfo_control_source_set_property),
1194         (gst_lfo_control_source_get_property),
1195         (gst_lfo_control_source_class_init):
1196         * libs/gst/controller/gstlfocontrolsource.h:
1197         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1198         API: Add GstLFOControlSource, a control source that gives values
1199         for specific timestamps based on several periodic waveforms.
1200         Fixes #459717.
1201
1202         * tests/check/libs/controller.c: (GST_START_TEST),
1203         (gst_controller_suite):
1204         * docs/libs/gstreamer-libs-docs.sgml:
1205         * docs/libs/gstreamer-libs-sections.txt:
1206         * docs/libs/gstreamer-libs.types:
1207         Add documentation and unit tests for GstLFOControlSource.
1208
1209 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1210
1211         * configure.ac:
1212         Back to CVS
1213
1214 === release 0.10.14 ===
1215
1216 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1217
1218         * configure.ac:
1219           releasing 0.10.14, "Breathing Vacuum"
1220
1221 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1222
1223         * gst/gstelement.c: (gst_element_class_set_details_simple):
1224         * gst/gstelement.h:
1225           Make strings passed to gst_element_class_set_details_simple()
1226           constant, as they should be (#462752).
1227
1228 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1229
1230         * gst/gstbin.c: (gst_bin_change_state_func),
1231         (bin_handle_async_done), (gst_bin_handle_message_func):
1232         Don't forget about the fact that some element went ASYNC even after a
1233         resync. This makes us post the ASYNC_DONE message correctly.
1234         Fixes #462558.
1235
1236 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1237
1238         * gst/gstregistry.c: (gst_registry_add_feature):
1239         When replacing an existing feature in the registry, make sure to
1240         continue holding a reference until we've replaced the name string
1241         within our feature hash table. Make sure to use g_hash_table_replace
1242         instead of g_hash_table_insert to ensure the new name string is used
1243         as a key instead of the old one that we're about to free.
1244         Fixes: #462085
1245
1246 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1247
1248         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1249         (gst_plugin_feature_set_name):
1250         Revert patch from #459466 until after the release and we can work
1251         out exactly what the problem is (if any).
1252
1253 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1254
1255         * docs/gst/gstreamer-sections.txt:
1256         * gst/gsttaglist.c:
1257         * gst/gsttaglist.h:
1258           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1259
1260 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1261
1262         * docs/libs/Makefile.am:
1263         Include our build-prefix libs and includes before the generic ones to
1264         avoid linking against the installed libs when we want the build-tree
1265         ones.
1266
1267 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         Patch by: Steve Fink  <sphink gmail com>
1270
1271         * docs/pwg/building-testapp.xml:
1272           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1273           if people try to build or install the example from the plugin
1274           template against a GStreamer from package using the configure
1275           defaults.
1276
1277 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1278
1279         Patch by: Steve Fink  <sphink gmail com>
1280
1281         * tools/gst-inspect.1.in:
1282           Document --print-all and --print-plugin-auto-install-info command
1283           line options in man page.
1284
1285 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1286
1287         * docs/gst/gstreamer-sections.txt:
1288         Add docs for new api function.
1289
1290 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1291
1292         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1293         * gst/gstelementfactory.h:
1294         API: gst_element_factory_has_interface()
1295         Added method to check if an element factory implements a named
1296         interface.
1297
1298 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1299
1300         * configure.ac:
1301         * docs/gst/gstreamer.types.in:
1302           Another conditional doc check.
1303
1304         * gst/gstmessage.c:
1305         * gst/gstparamspecs.h:
1306         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1307         * gst/gstvalue.c:
1308         * gst/gstxml.h:
1309           API-doc fixes.
1310
1311 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1312
1313         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1314         (gst_registry_binary_load_feature),
1315         (gst_registry_binary_load_plugin),
1316         (gst_registry_binary_read_cache):
1317           Print error just once and with additional info.
1318
1319 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1320
1321         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1322         (helper_find_suggest), (helper_find_get_length),
1323         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1324         (gst_type_find_helper_for_buffer):
1325           Cleanup the typefindhelper code and add private doc comments.
1326
1327 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1328
1329         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1330         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1331         Fix capsfilter for cases where the caps set on capsfilter will provide
1332         additional information.
1333         Fixes #449197
1334
1335 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1336
1337         * gst/gsttypefindfactory.c:
1338           Fix docs that recommened wrong function to use.
1339
1340 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1341
1342         * tools/gst-inspect.c: (print_plugin_features):
1343           Also give media-type for typefinders in element output.
1344
1345 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1348         (gst_registry_remove_features_for_plugin_unlocked),
1349         (gst_registry_add_feature), (gst_registry_remove_feature),
1350         (gst_registry_lookup_feature_locked):
1351         * gst/gstregistry.h:
1352           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1353           Fixes #459501.
1354
1355 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1356
1357         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1358         (gst_plugin_feature_set_name):
1359           Avoid double memory usage for pluginfeature names. Fixes #459466.
1360
1361 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1362
1363         * gst/gstpad.h:
1364           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1365           driving the pipeline may need to explicitly check for NOT_LINKED as
1366           well, since IS_FATAL doesn't cover that.
1367
1368 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1369
1370         * docs/pwg/advanced-types.xml:
1371           Fix typo and duplicate entry in video formats list.
1372
1373 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1374
1375         * libs/gst/controller/gstinterpolation.c:
1376         Also round to the nearest int when using cubic interpolation.
1377
1378 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1379
1380         * libs/gst/controller/gstinterpolation.c:
1381         When linearly interpolating integer types, round to the nearest int
1382         by adding 0.5. Don't do it for float/double types.
1383         Fixes the failing controller test on my machine, which is somehow
1384         rounding differently than on the buildbots.
1385
1386 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1387
1388         * tools/gst-plot-timeline.py:
1389           Better log parsing (categories can have -). Adjust text vs. lines, so
1390           that they span the same y-range.        
1391
1392 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1393
1394         * docs/random/ensonic/audiobaseclasses.txt:
1395         * docs/random/ensonic/dynlink.txt:
1396         * docs/random/ensonic/profiling.txt:
1397           Save my thoughts.
1398
1399         * docs/random/moving-plugins:
1400           Add note to use g_assert type macros.
1401
1402 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * configure.ac:
1405         * libs/gst/check/Makefile.am:
1406           Add libm check as we use in for plugins.
1407
1408 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1409
1410         * gst/gstbin.c: (gst_bin_continue_func):
1411         Check that the state_cookie hasn't changed since the continue_func
1412         was scheduled. Avoids problems where the state changes back to
1413         something it shouldn't be because it was changed in the meantime.
1414
1415 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1416
1417         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1418         (gst_registry_binary_save_string),
1419         (gst_registry_binary_save_pad_template),
1420         (gst_registry_binary_save_feature),
1421         (gst_registry_binary_save_plugin),
1422         (gst_registry_binary_load_feature),
1423         (gst_registry_binary_load_plugin),
1424         (gst_registry_binary_read_cache):
1425           Fix memory leak. Be less verbose in the log.
1426
1427 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1428
1429         * tests/check/elements/.cvsignore:
1430         Add file to cvsignore as commanded.
1431
1432 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1433
1434         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1435         (mq_dummypad_event), (run_output_order_test):
1436         Use a GStaticMutex to protect all cases where libcheck
1437         fail_if/fail_unless macros might be called from multiple threads
1438         simultaneously to avoid errors like:
1439           "check_pack.c:107: :-1081725400:Bad message type arg"
1440
1441 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1442
1443         * tests/check/pipelines/stress.c: (GST_START_TEST):
1444         Make sure we set the pipeline back to the NULL state before
1445         dropping our final reference.
1446
1447 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1448
1449         * tests/check/elements/tee.c: (GST_START_TEST):
1450         Make the tee stress-test a little less stressful so it doesn't just
1451         time out on slow-machines, and remove a small race when it's starting 
1452         up by adding a get_state() call.
1453
1454 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1455
1456         * gst/gst.c:
1457           Avoid reading registry twice on startup. Fixes #457322.
1458
1459 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1460
1461         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1462         * pkgconfig/gstreamer-check.pc.in:
1463         Substitute the CFLAGS for libcheck into our .pc file too so that
1464         dependent modules will pick it up properly if libcheck is installed
1465         into some other prefix.
1466
1467 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1468
1469         * configure.ac:
1470         Revert the pkg-config check for libcheck, since it pulls in the
1471         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1472         a proper solution, either from the check project, or something else.
1473
1474 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1475
1476         * configure.ac:
1477           Use pkg-config to locate check.
1478
1479 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1480
1481         * gst/gsttaglist.c:
1482           Fix doc syntax.
1483
1484         * gst/gstutils.c:
1485         * gst/gstutils.h:
1486           Add deprecation guards.
1487
1488         * libs/gst/base/gstcollectpads.h:
1489           Don't document object (this is implicitly private).
1490
1491 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1492
1493         * gst/gststructure.c: (gst_structure_parse_value):
1494           When deserialising foo=bar without a type cast, check if it's a
1495           boolean before falling back to a string type, otherwise things like
1496           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1497           because the filtercaps end up having a signed=(string)true field,
1498           which causes problems later when intersection caps.
1499
1500         * tests/check/gst/gststructure.c: (GST_START_TEST):
1501           Add a unit test for this.
1502
1503 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1504
1505         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1506
1507         * libs/gst/controller/Makefile.am:
1508         * libs/gst/controller/gstcontroller.c:
1509         (gst_controlled_property_add_interpolation_control_source),
1510         (gst_controlled_property_new), (gst_controlled_property_free),
1511         (gst_controller_find_controlled_property),
1512         (gst_controller_new_valist), (gst_controller_new_list),
1513         (gst_controller_new), (gst_controller_remove_properties_valist),
1514         (gst_controller_remove_properties_list),
1515         (gst_controller_remove_properties),
1516         (gst_controller_set_property_disabled),
1517         (gst_controller_set_disabled), (gst_controller_set_control_source),
1518         (gst_controller_get_control_source), (gst_controller_get),
1519         (gst_controller_sync_values), (gst_controller_get_value_array),
1520         (_gst_controller_dispose), (gst_controller_get_type),
1521         (gst_controlled_property_set_interpolation_mode),
1522         (gst_controller_set), (gst_controller_set_from_list),
1523         (gst_controller_unset), (gst_controller_unset_all),
1524         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1525         * libs/gst/controller/gstcontroller.h:
1526         * libs/gst/controller/gstcontrollerprivate.h:
1527         * libs/gst/controller/gstcontrolsource.c:
1528         (gst_control_source_class_init), (gst_control_source_init),
1529         (gst_control_source_get_value),
1530         (gst_control_source_get_value_array), (gst_control_source_bind):
1531         * libs/gst/controller/gstcontrolsource.h:
1532         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1533         (gst_object_get_control_source):
1534         * libs/gst/controller/gstinterpolation.c:
1535         (gst_interpolation_control_source_find_control_point_node),
1536         (gst_interpolation_control_source_get_first_value),
1537         (_interpolate_none_get), (interpolate_none_get),
1538         (interpolate_none_get_boolean_value_array),
1539         (interpolate_none_get_enum_value_array),
1540         (interpolate_none_get_string_value_array),
1541         (_interpolate_trigger_get), (interpolate_trigger_get),
1542         (interpolate_trigger_get_boolean_value_array),
1543         (interpolate_trigger_get_enum_value_array),
1544         (interpolate_trigger_get_string_value_array):
1545         * libs/gst/controller/gstinterpolationcontrolsource.c:
1546         (gst_control_point_free), (gst_interpolation_control_source_reset),
1547         (gst_interpolation_control_source_new),
1548         (gst_interpolation_control_source_set_interpolation_mode),
1549         (gst_interpolation_control_source_bind),
1550         (gst_control_point_compare), (gst_control_point_find),
1551         (gst_interpolation_control_source_set_internal),
1552         (gst_interpolation_control_source_set),
1553         (gst_interpolation_control_source_set_from_list),
1554         (gst_interpolation_control_source_unset),
1555         (gst_interpolation_control_source_unset_all),
1556         (gst_interpolation_control_source_get_all),
1557         (gst_interpolation_control_source_get_count),
1558         (gst_interpolation_control_source_init),
1559         (gst_interpolation_control_source_finalize),
1560         (gst_interpolation_control_source_dispose),
1561         (gst_interpolation_control_source_class_init):
1562         * libs/gst/controller/gstinterpolationcontrolsource.h:
1563         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1564         API: Refactor GstController into the core controller which can take
1565         a GstControlSource for providing actual values for timestamps.
1566         Implement a interpolation control source and use this for backward
1567         compatibility, deprecate a bunch of functions that are now handled
1568         by GstControlSource or GstInterpolationControlSource.
1569         Make it possible to disable the controller completely or only for
1570         specific properties. Fixes #450711.
1571         * docs/libs/gstreamer-libs-docs.sgml:
1572         * docs/libs/gstreamer-libs-sections.txt:
1573         * docs/libs/gstreamer-libs.types:
1574         Add new functions and classes to the docs.
1575         * tests/check/libs/controller.c: (GST_START_TEST),
1576         (gst_controller_suite):
1577         * tests/examples/controller/audio-example.c: (main):
1578         Port unit test and example to the new API and add some new
1579         unit tests.
1580
1581 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1582
1583         Patch by: Mark Nauwelaerts <manauw at skynet be>
1584
1585         * plugins/elements/gstmultiqueue.c:
1586         (gst_multi_queue_get_internal_links), (apply_buffer),
1587         (single_queue_overrun_cb), (gst_single_queue_new):
1588         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1589         the pipeline layout can be tracked correctly. Fixes #453732.
1590
1591 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1592
1593         * docs/gst/Makefile.am:
1594         * docs/libs/Makefile.am:
1595         * docs/plugins/Makefile.am:
1596           Simplify --extra-dir as gtkdoc scans recursively.
1597
1598 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1599
1600         * tools/gst-launch.c: (main):
1601         When we got an error, there is no point in waiting for preroll when
1602         shutting down.
1603
1604 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1605
1606         * plugins/elements/gsttee.c: (gst_tee_base_init),
1607         (gst_tee_request_new_pad), (gst_tee_release_pad),
1608         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1609         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1610         (gst_tee_chain):
1611         Be a lot smarter when deciding what srcpad to use for proxying
1612         the buffer_alloc. Also handle pad added/removed when doing so.
1613         Fixes #357959.
1614         Keep track of what pads we already pushed on in case we have pads
1615         added/removed while pushing. Fixes #374639 
1616
1617         * tests/check/Makefile.am:
1618         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1619         (tee_suite):
1620         Added unit test for pad resync.
1621
1622 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1623
1624         * po/nl.po:
1625         * po/sv.po:
1626           Updated translations.
1627
1628 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1629
1630         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1631
1632         * po/LINGUAS:
1633         * po/fi.po:
1634           Added new Finnish translation.
1635
1636 2007-06-28  Wim Taymans  <wim@fluendo.com>
1637
1638         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1639         (single_queue_overrun_cb):
1640         When figuring out when a queue is filled, use our internal time estimate
1641         based on segments, just like check_full does.
1642
1643 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1644
1645         * gst/gstminiobject.c: (gst_mini_object_get_type):
1646           Remove 3 do-nothing methods.
1647
1648 2007-06-27  Wim Taymans  <wim@fluendo.com>
1649
1650         Patch by: Tim Angus <tim at ngus dot net>
1651
1652         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1653         (gst_capsfilter_set_property):
1654         Take a reference instead of a copy when setting "caps".
1655         Fix documentation to clarify this behaviour. Fixes #449414.
1656
1657 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1658
1659         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1660         * gst/gstplugin.c: (gst_plugin_init):
1661         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1662         * gst/gstquery.c: (gst_query_get_type):
1663         * gst/gstregistry.c: (gst_registry_init):
1664         * gst/gsturi.c: (gst_uri_handler_base_init):
1665           Remove empty instance_init() functions to save relocs and lessen the
1666           noise. Remove some of the function prototypes that are doubled by
1667           G_DEFINE_TYPE.
1668           
1669 2007-06-27  Wim Taymans  <wim@fluendo.com>
1670
1671         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1672
1673         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1674         Add peer and direction in the XML serialisation of ghostpads.
1675         Fixes #449226.
1676
1677 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1678
1679         * configure.ac:
1680           Preserve useful information, thanks Tim.
1681
1682 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1683
1684         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1685         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1686         (gst_single_queue_push_one), (gst_multi_queue_loop),
1687         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1688         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1689         (compute_high_id), (gst_single_queue_new):
1690         * plugins/elements/gstmultiqueue.h:
1691         Take the multiqueue lock when updating the fill level so we don't get
1692         confused. 
1693
1694         After applying a buffer or event on the src pad segment, make sure to
1695         call gst_data_queue_limits_changed() to get the data queue to unblock
1696         and check the filled state again.
1697         
1698         Rework the not-linked pad handling so the logic is that not-linked 
1699         pads can push as fast as they like, but only so they never get 
1700         ahead of any linked pads.
1701
1702         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1703         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1704         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1705
1706         Add a test to check that not-linked pads always stay behind
1707         linked pads.
1708
1709         Fixes: #430682
1710
1711 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1712
1713         * docs/random/release:
1714           Some updates to the release procedure.
1715
1716 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1717
1718         * gst/gstelementfactory.c: (__gst_element_details_clear):
1719           Microoptimization that saves stunning 80 bytes.
1720
1721 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1722
1723         * docs/plugins/gstreamer-plugins.args:
1724         * docs/plugins/inspect/plugin-coreelements.xml:
1725         * docs/plugins/inspect/plugin-coreindexers.xml:
1726           Update docs with caps info.
1727
1728 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1729
1730         * po/it.po:
1731           Updated Italian translation.
1732
1733 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1734
1735         * ChangeLog:
1736         * po/vi.po:
1737           Update Vietnamese translations.
1738
1739 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1740
1741         * libs/gst/base/gstbasesink.c:
1742           Remove unused signal enum.
1743
1744 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1745
1746         * docs/gst/gstreamer-sections.txt:
1747         * gst/gstelement.c:
1748         * gst/gstutils.c: (gst_type_register_static_full):
1749         Beef up and include the docs for gst_type_register_static_full and
1750         gst_element_class_set_details_simple and add the API keyword
1751         in the ChangeLog.
1752
1753 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1754
1755         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1756         (update_time_level), (gst_single_queue_push_one),
1757         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1758         (single_queue_overrun_cb), (single_queue_underrun_cb),
1759         (single_queue_check_full):
1760         Fix setting max-* properties after adding queues.
1761         Use IS_FILLED for checking visible items.
1762         Signal overrun if multiple queues overrun.
1763         Add extra debug output.
1764         Patch by: Wim Taymans <wim@fluendo.com>
1765
1766 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1767
1768         * gst/gstelement.c: (gst_element_class_set_details_simple):
1769         * gst/gstelement.h:
1770         * gst/gstutils.c: (gst_type_register_static_full):
1771         * gst/gstutils.h:
1772         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1773         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1774         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1775         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1776         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1777         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1778         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1779         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1780         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1781         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1782         (apply_buffer), (gst_queue_chain):
1783         * plugins/elements/gsttee.c: (gst_tee_base_init):
1784         * plugins/elements/gsttypefindelement.c:
1785         (gst_type_find_element_base_init),
1786         (gst_type_find_element_class_init):
1787           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1788           API: add gst_type_register_static_full
1789           API: add gst_element_class_set_details_simple
1790
1791 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * docs/pwg/advanced-types.xml:
1794           Fix typo in iana.org URI.
1795
1796 2007-06-19  Andy Wingo  <wingo@pobox.com>
1797
1798         * tests/check/pipelines/simple-launch-lines.c
1799         (test_state_change_returns): Enable pull-mode tests now that
1800         basesink has been fixed.
1801
1802         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1803         Changed from gst_base_sink_is_prerolled, reversing the sense of
1804         the return value. Returns FALSE also if the sink is in pull mode,
1805         in which case it needs no preroll.
1806         (gst_base_sink_query, gst_base_sink_change_state): Update for
1807         needs_preroll change.
1808         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1809         chaining up, in which we return SUCCESS directly if we activated
1810         in pull mode instead of ASYNC. Involves countering an async_start
1811         message sent before chaining up; not sure if this is correct, in
1812         an ideal world we only send async-start when activating in push
1813         mode.
1814
1815         * tests/check/pipelines/simple-launch-lines.c
1816         (test_state_change_returns): New test, partially disabled until
1817         basesink is fixed.
1818
1819 2007-06-19  Wim Taymans  <wim@fluendo.com>
1820
1821         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1822         (gst_multi_queue_sink_event):
1823         Fix event leak.
1824
1825 2007-06-19  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1828         (gst_bin_change_state_func), (bin_push_state_continue),
1829         (bin_handle_async_start), (bin_handle_async_done),
1830         (gst_bin_handle_message_func):
1831         Move the common code for posting state-change messages into
1832         one function.
1833         Broadcast the state signal after we posted the messages.
1834         Mark the bin as busy when it's doing a state-change.
1835         Make sure async-start/done messages don't interfere with the bin's
1836         state when it's busy.
1837         After the state change, let the bin check which elements completed the
1838         state change while it was busy so that it can update its state.
1839
1840 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
1841
1842         * docs/random/release:
1843         Add a note about updating the doap file to the release checklist
1844
1845 2007-06-18  Wim Taymans  <wim@fluendo.com>
1846
1847         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1848         (gst_single_queue_push_one), (gst_multi_queue_chain),
1849         (gst_multi_queue_sink_event):
1850         Make sure we don't reference the buffer/event after we have given away
1851         ownership in the queue.
1852
1853 2007-06-18  Wim Taymans  <wim@fluendo.com>
1854
1855         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1856         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1857         Update queue state _after_ adding the item in the queue because else we
1858         could end up being full without the element added yet.
1859
1860 2007-06-18  Wim Taymans  <wim@fluendo.com>
1861
1862         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1863         (gst_bin_remove_func), (gst_bin_get_state_func),
1864         (gst_bin_element_set_state), (gst_bin_continue_func),
1865         (bin_push_state_continue), (bin_handle_async_start),
1866         (bin_handle_async_done), (gst_bin_handle_message_func):
1867         * gst/gstbin.h:
1868         Immediatly commit the toplevel bin state when receiving an async-done
1869         message. This enables us to avoid spawning a thread to commit the state
1870         in some common cases and it also avoids some races.
1871         Avoid spawning a state thread when adding/removing async elements to a
1872         toplevel bin. Instead we immediatly update the bin state.
1873         Get rid of iterating all the children when getting the state in the bin
1874         because it is now always up-to-date.
1875         Fix bug where locked elements would always return _SUCCESS even it they
1876         returned NO_PREROLL before being locked.
1877         Fix the order of the state_change, async-start/done messages that was
1878         sometimes incorrect.
1879         Mark the state_dirty field as deprecated, we don't need it anymore as we
1880         are always up-to-date.
1881
1882         * gst/gstelement.c: (gst_element_get_state_func),
1883         (gst_element_continue_state):
1884         Small debug inprovements.
1885         Return the previous element state return when nothing is pending instead
1886         of blindly returning SUCCESS.
1887
1888         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1889         (gst_sinks_suite):
1890         Add a whole bunch of new testcases.
1891
1892 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1893
1894         * po/uk.po:
1895         * po/vi.po:
1896           Update translations.
1897
1898 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
1899
1900         * gst/gstpad.c:
1901         Fix typo in the docs.
1902
1903 2007-06-15  Wim Taymans  <wim@fluendo.com>
1904
1905         * docs/libs/gstreamer-libs-sections.txt:
1906         Add docs for new methods.
1907
1908 2007-06-15  Wim Taymans  <wim@fluendo.com>
1909
1910         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1911         (gst_multi_queue_item_new):
1912         Don't use GSlice because we don't depend on >= 2.10 yet.
1913
1914 2007-06-15  Wim Taymans  <wim@fluendo.com>
1915
1916         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1917         (update_time_level), (apply_segment), (apply_buffer),
1918         (gst_single_queue_push_one), (gst_multi_queue_item_new),
1919         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1920         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1921         (single_queue_underrun_cb), (single_queue_check_full):
1922         Remove debug printf.
1923
1924 2007-06-15  Wim Taymans  <wim@fluendo.com>
1925
1926         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1927         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1928         (gst_data_queue_set_flushing), (gst_data_queue_push),
1929         (gst_data_queue_pop), (gst_data_queue_drop_head),
1930         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1931         * libs/gst/base/gstdataqueue.h:
1932         Various cleanups.
1933         Added methods to get the current levels and to inform the queue that the
1934         'full' limits changed.
1935
1936         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1937         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1938         (gst_single_queue_flush), (update_time_level), (apply_segment),
1939         (apply_buffer), (gst_single_queue_push_one),
1940         (gst_multi_queue_item_steal_object),
1941         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1942         (gst_multi_queue_loop), (gst_multi_queue_chain),
1943         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1944         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1945         (gst_multi_queue_src_query), (single_queue_overrun_cb),
1946         (single_queue_underrun_cb), (single_queue_check_full),
1947         (gst_single_queue_new):
1948         Keep track of time in the queue by measuring the difference between
1949         running_time on input and output. This gives more accurate results and
1950         can compensate for segments correctly.
1951         Make a queue by default only 5 buffers deep. We will now increase the
1952         buffer size depending on the filledness of the other queues.
1953         Factor out commong flush code.
1954         Make sure we don't add additional refcounts to buffers when we can avoid
1955         it.
1956         Propagate GstFlowReturn differently.
1957         Use GSlice for intermediate GstMultiQueueItems.
1958         Keep track of EOS.
1959         Resize queues on over and underruns based on filled level of other
1960         queues.
1961         When checking if the queue is filled, prefer to measure in time if we
1962         can and fall back to bytes when no time is known.
1963
1964         * plugins/elements/gstqueue.c:
1965         Fix return value.
1966
1967 2007-06-15  Wim Taymans  <wim@fluendo.com>
1968
1969         * libs/gst/base/gstbasetransform.c:
1970         (gst_base_transform_sink_event):
1971         Work around the brokenness of the event vmethod in basetransform. Prefer
1972         to return TRUE when the subclass returned FALSE (meaning don't forward
1973         the event). 
1974
1975         * libs/gst/base/gstbasetransform.h:
1976         Clarify the docs.
1977
1978 2007-06-15  Wim Taymans  <wim@fluendo.com>
1979
1980         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1981         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1982         (gst_base_src_default_query), (gst_base_src_get_range),
1983         (gst_base_src_start):
1984         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1985         Improve debugging.
1986
1987 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1988
1989         * docs/pwg/advanced-types.xml:
1990           Added more formats to caps table.
1991
1992 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1993
1994         * tools/gst-launch.c: (main):
1995           Remove crufy code. GOption does not need this workaround.
1996
1997 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * libs/gst/controller/gstcontroller.c:
2000         (gst_controlled_property_set_interpolation_mode):
2001           Fix wrong getter for enums in controller.
2002
2003 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2004
2005         * libs/gst/check/gstcheck.c: (gst_check_init):
2006           Intercept criticals and warnings in the Gst-Phonon log domain, so
2007           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2008           well.
2009         
2010 2007-06-14  Edward Hervey  <edward@fluendo.com>
2011
2012         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2013         Since this file doesn't include "gst.h" it will not go through the
2014         macros that disable GST_LOG if debugging was disabled.
2015
2016 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2017
2018         * libs/gst/check/Makefile.am:
2019         * libs/gst/check/gstcheck.h:
2020         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2021         * pkgconfig/gstreamer-check.pc.in:
2022           Ugly 'fix' for the controller unit test on the p5 bot: in
2023           fail_unless_equals_float() check whether the values are 'almost
2024           equal' by allowing a small absolute error, which should be good
2025           enough for our use cases (normal numbers and values close to 0).
2026           Proper fixage left to floating point arithmetic aficionados.
2027
2028 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2031         (gst_base_sink_render_object), (gst_base_sink_get_position):
2032           Add two breaks thats where missing.
2033
2034 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * docs/libs/gstreamer-libs-sections.txt:
2037         * libs/gst/check/gstcheck.h:
2038           API: add fail_unless_equals_float() and assert_equals_float().
2039           Add documentation for some of the macros.
2040
2041         * tests/check/libs/controller.c: (GST_START_TEST):
2042           Use newly-added asserts.
2043
2044 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2045
2046         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2047           Show the caps change in the log to help spotting the case of not
2048           exactly matching caps.
2049
2050 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2051
2052         * docs/pwg/building-boiler.xml:
2053           Fix typos, spotted by Thijs Vermeir (#447190).
2054
2055 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2056
2057         * docs/plugins/tmpl/.cvsignore:
2058         Ignore file to keep the buildbots happy
2059
2060 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2061
2062         * docs/plugins/Makefile.am:
2063         * docs/plugins/gstreamer-plugins-docs.sgml:
2064         * docs/plugins/gstreamer-plugins-sections.txt:
2065         Pull fdsink into the docs too.
2066
2067 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2068
2069         * libs/gst/controller/gstinterpolation.c:
2070         Actually use the new functions with min/max checks for the trigger and
2071         none interpolation modes for get() and get_value_array() instead of
2072         just the latter.
2073
2074 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2075
2076         * libs/gst/controller/gstcontroller.c:
2077         (gst_controlled_property_free):
2078         Unset the minimum and maximum GValues when freeing the corresponding
2079         GstControllerProperty struct.
2080
2081 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2082
2083         * libs/gst/controller/gstcontroller.c:
2084         (gst_controlled_property_new):
2085         * libs/gst/controller/gstcontrollerprivate.h:
2086         * libs/gst/controller/gstinterpolation.c:
2087         (gst_controlled_property_find_control_point_node),
2088         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2089         (interpolate_none_get_string_value_array),
2090         (interpolate_trigger_get),
2091         (interpolate_trigger_get_enum_value_array),
2092         (interpolate_trigger_get_string_value_array):
2093         Protect against values larger or smaller than the minimum or maximum
2094         allowed value for the property when using values that can be compared.
2095
2096         Optimize trigger interpolator a bit by taking the last requested value
2097         into account instead of always looping through the complete list.
2098
2099         Fix coding style a bit, everywhere else we use "return foo" instead
2100         of "return (foo)".
2101         
2102         * tests/check/libs/controller.c: (GST_START_TEST),
2103         (gst_controller_suite):
2104         Add unit test for the protection against too large or too small
2105         values.
2106
2107 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2108
2109         * docs/random/slomo/controller.txt:
2110         Add some thoughts about the future of the controller.
2111
2112 2007-06-08  Wim Taymans  <wim@fluendo.com>
2113
2114         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2115         Don't overflow in retimestamping code.
2116
2117 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2118
2119         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2120         Use gst_util_guint64_to_gdouble for conversions.
2121         * win32/common/libgstreamer.def:
2122         Add new exported functions.
2123
2124 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2125
2126         * gst/gstutils.c:
2127           Small docs addition.
2128
2129 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2130
2131         * README:
2132           Remove that test line again.
2133
2134 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2135
2136         * README:
2137           Test commit mail sending.
2138
2139 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2140
2141         * configure.ac:
2142           Fix typo and test commit mail sending.
2143
2144 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2145
2146         * tests/examples/controller/audio-example.c:
2147           Improve comment and test commit mail sending.
2148
2149 2007-06-07  Wim Taymans  <wim@fluendo.com>
2150
2151         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2152         (gst_bin_remove_func), (gst_bin_element_set_state),
2153         (bin_handle_async_start), (bin_handle_async_done),
2154         (gst_bin_handle_message_func):
2155         Add helper function to find messages.
2156         Generate the async-done messages together with the state change
2157         messages.
2158         Small cleanups in handling toplevel bins.
2159
2160 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2161
2162         * libs/gst/base/gstdataqueue.c:
2163         * libs/gst/base/gstdataqueue.h:
2164         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2165         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2166         (gst_multi_queue_sink_event):
2167         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2168           Fix multiqueue leaking buffers and events when downstream or the
2169           queue are flushing. Make refcounting assumptions explicit and
2170           document them (shouldn't break existing code that uses it other than
2171           maybe leak miniobjects, but that already happens anyway). Add unit
2172           test for the most common flushing case. Fixes #423700.
2173           
2174 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2175
2176         * libs/gst/controller/gstcontroller.c:
2177         Clarify docs: The get_all, get_value_array(s) functions
2178         don't modify the GObject properties.
2179
2180 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2181
2182         * libs/gst/controller/gstcontroller.c:
2183         (gst_controlled_property_set_interpolation_mode),
2184         (gst_controlled_property_prepend_default),
2185         (gst_controlled_property_new), (gst_controller_set_unlocked),
2186         (gst_controller_set), (gst_controller_set_from_list),
2187         (gst_controller_unset), (gst_controller_unset_all):
2188         * libs/gst/controller/gstcontrollerprivate.h:
2189         * libs/gst/controller/gstinterpolation.c:
2190         Factor out the 'set' logic into gst_controller_set_unlocked for the
2191         gst_controller_set and gst_controller_set_from_list functions.
2192
2193         To make life of the interpolators easier always add a control point
2194         at timestamp zero with the default value.
2195
2196         In the linear interpolator make things more obvious by better variable
2197         naming (slope).
2198
2199         Implement cubic interpolation mode (by using a natural cubic spline)
2200         and map the quadratic interpolation mode to this too (as quadratic
2201         doesn't make much sense, see discussion on the list).
2202
2203         * tests/check/libs/controller.c: (GST_START_TEST),
2204         (gst_controller_suite):
2205         Add unit test for the cubic interpolation mode and check everywhere
2206         if the interpolation mode could be set as expected.
2207
2208 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2209
2210         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2211           Don't use GLib-2.10 functions, we still depend on
2212           GLib-how-old-is-it-again-2.8.
2213
2214 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2215
2216         * docs/gst/gstreamer-sections.txt:
2217         * gst/Makefile.am:
2218         * gst/gst.c:
2219         * gst/gst.h:
2220         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2221         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2222         (_gst_param_fraction_values_cmp),
2223         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2224         * gst/gstparamspecs.h:
2225         * gst/gstvalue.c:
2226         * tests/check/Makefile.am:
2227         * tests/check/gst/.cvsignore:
2228         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2229         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2230         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2231         (GST_START_TEST), (gst_param_spec_suite):
2232           API: add GstParamSpecFraction, so elements can have fraction
2233           properties without lots of painful string parsing (#444648).
2234
2235 2007-06-05  Wim Taymans  <wim@fluendo.com>
2236
2237         * gst/gstobject.c: (gst_object_class_init):
2238         Fix signal signature.
2239
2240         * gst/gstsegment.c:
2241         Add small clarification in the api docs.
2242
2243         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2244         States are protected with object lock.
2245
2246 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2247
2248         * AUTHORS:
2249         I should probably be listed as an author by now.
2250
2251         * docs/random/release:
2252         Update the release doc
2253
2254 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2255
2256         * gst/gstvalue.c:
2257           Make docs for gst_value_compare() mention return enums that
2258           actually exist.
2259
2260 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2261
2262         * configure.ac:
2263           Back to CVS
2264
2265 === release 0.10.13 ===
2266
2267 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2268
2269         * configure.ac:
2270           releasing 0.10.13, "With or without you"
2271
2272 2007-05-25  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstbin.c: (bin_handle_async_done):
2275         Make sure that the child bin stops after completing the async state
2276         change so that the parent can continue the state change to PLAYING.
2277         Fixes #441159.
2278
2279 2007-05-25  Wim Taymans  <wim@fluendo.com>
2280
2281         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2282         (unref_data), (gst_collect_pads_remove_pad),
2283         (gst_collect_pads_check_pads):
2284         Use additional refcounting to avoid crashes when dynamically adding and
2285         removing pads. Fixes #420206.
2286
2287 2007-05-24  Wim Taymans  <wim@fluendo.com>
2288
2289         * tools/gst-launch.c: (event_loop):
2290         When buffering goes from a two digit to a single digit number, make sure
2291         to remove the old second digit by writing a blank over it.
2292
2293 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2294
2295         * libs/gst/base/gstdataqueue.c:
2296           Eliminate tabs and trailing comma in enum list; fix some typos.
2297
2298 2007-05-24  Wim Taymans  <wim@fluendo.com>
2299
2300         * tests/check/gst/gstbin.c: (GST_START_TEST):
2301         Allow refcount of 3 and 4 because some state thread might still be busy
2302         with it.
2303
2304 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2305
2306         * plugins/elements/Makefile.am:
2307         * plugins/elements/gstmultiqueue.h:
2308         * plugins/elements/gstqueue.h:
2309           These are not installed headers, no need for padding.
2310
2311 2007-05-24  Wim Taymans  <wim@fluendo.com>
2312
2313         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2314         (gst_bin_continue_func):
2315         Enable latency for next release.
2316         Restore STATE_LOCK around recalc_state that was left out during the
2317         rewrite and could result in racy behaviour when _get_state and
2318         recalc_state are run concurrently. See #440463.
2319
2320 2007-05-23  Wim Taymans  <wim@fluendo.com>
2321
2322         * tests/check/gst/gstsystemclock.c: (store_callback),
2323         (GST_START_TEST):
2324         Improve test_async_order to also work when both timers are already
2325         expired when we get scheduled to check it.
2326
2327 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2328
2329         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2330         (gst_bin_set_property), (gst_bin_get_property),
2331         (gst_bin_remove_func), (gst_bin_handle_message_func):
2332         * gst/gstbin.h:
2333           'private' is a c++ keyword, let's not use that in header files,
2334           otherwise c++ compilers will throw a tantrum.
2335
2336 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         * plugins/elements/gstelements.c:
2339         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2340         (gst_file_sink_get_current_offset):
2341         * plugins/indexers/gstindexers.c: (plugin_init):
2342           Use #ifdef for HAVE_XYZ for consistency.
2343
2344         * tests/check/Makefile.am:
2345         * tests/check/elements/.cvsignore:
2346         * tests/check/elements/filesink.c: (setup_filesink),
2347         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2348           Add some unit tests for filesink.
2349
2350 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2351
2352         Patch by: Mark Nauwelaerts <manauw at skynet be>
2353
2354         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2355         (gst_file_sink_query), (gst_file_sink_do_seek),
2356         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2357         * plugins/elements/gstfilesink.h:
2358           Fix position reporting; rename data_written member to current_pos to
2359           reflect its real meaning (fixes #412648).
2360
2361 2007-05-22  Edward Hervey  <edward@fluendo.com>
2362
2363         * docs/gst/gstreamer-sections.txt:
2364         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2365         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2366         (gst_bin_remove_func), (gst_bin_handle_message_func):
2367         * gst/gstbin.h:
2368         Add a property for bins that handle the state change of their childs.
2369         Fixes #435880
2370
2371 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2372
2373         * libs/gst/controller/gstinterpolation.c:
2374         Use an array of the correct type when using _get_value_array with
2375         linear interpolation.
2376
2377 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2378
2379         * gst/gstelement.c (gst_element_requires_clock,
2380           gst_element_provides_clock, gst_element_request_pad,
2381           gst_element_class_set_details, gst_element_class_set_details_simple,
2382           gst_element_default_send_event, gst_element_abort_state,
2383           gst_element_continue_state, gst_element_set_state,
2384           gst_element_set_state_func, iterator_activate_fold_with_resync):
2385         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2386           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2387           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2388           gst_pad_get_range, gst_pad_pull_range):
2389         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2390           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2391           GstPadActivateModeFunction, GstPadChainFunction,
2392           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2393           GstPadFixateCapsFunction, GstPadTemplate):
2394         * gst/gstpipeline.c (gst_pipeline_change_state,
2395           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2396           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2397           gst_pipeline_get_delay):
2398           Whitespace and docs fixes.
2399
2400 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2401
2402         * libs/gst/controller/gstinterpolation.c:
2403         (interpolate_trigger_get_enum_value_array),
2404         (interpolate_trigger_get_string_value_array):
2405         Add support for retrieving value arrays when using the trigger
2406         interpolation mode. 
2407
2408 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2409
2410         * libs/gst/controller/gstcontroller.c:
2411         (gst_controller_get_value_array):
2412         * libs/gst/controller/gstcontroller.h:
2413         Clarify the docs of gst_controller_get_value_array(): The array where
2414         the values should be written to must be allocated as there seems to be
2415         no way to get the size of a random GType. This doesn't change any
2416         behaviour. Also fix some typos all over the place and remove an unused,
2417         commented function that is not necessary as g_object_set() could be
2418         used instead.
2419         * tests/check/libs/controller.c: (GST_START_TEST),
2420         (gst_controller_suite):
2421         Add unit test for gst_controller_get_value_array().
2422
2423 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2424
2425         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2426
2427         Disable part of the gst_buffer_try_new_and_alloc test, because
2428         it can happily succeed on 64-bit systems where there's more address
2429         space available.
2430
2431 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2432
2433         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2434         Add unit test for the improved caps checking from bug #421543.
2435
2436 2007-05-21  Wim Taymans  <wim@fluendo.com>
2437
2438         * docs/design/part-synchronisation.txt:
2439         Small addition.
2440
2441         * gst/gstbin.c: (gst_bin_query):
2442         * plugins/elements/gstqueue.c: (apply_segment):
2443         Improve debugging.
2444
2445         * gst/gstmessage.h:
2446         Improve docs.
2447
2448 2007-05-21  Wim Taymans  <wim@fluendo.com>
2449
2450         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2451         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2452         (gst_pad_configure_src):
2453         Added simple version of improved caps checking. It was previously
2454         assumed that a setcaps function would check the validity of the caps but
2455         people prefer us to check caps against the template automatically. 
2456         Fixes #421543.
2457
2458 2007-05-21  Wim Taymans  <wim@fluendo.com>
2459
2460         * libs/gst/base/gstbasetransform.h:
2461         Fix macro for locking/unlocking the transform lock.
2462
2463 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2464
2465         * docs/plugins/tmpl/.cvsignore:
2466           Ignore more.
2467
2468 2007-05-18  Edward Hervey  <edward@fluendo.com>
2469
2470         * plugins/elements/gstqueue.c: (gst_queue_loop):
2471         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2472         for the subtle art of warning a potentially blocking thread that it
2473         should check the source pad return value, and relay the information
2474         upstream.
2475
2476 2007-05-18  Edward Hervey  <edward@fluendo.com>
2477
2478         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2479         Release the queue lock !
2480
2481 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2482
2483         * docs/libs/gstreamer-libs-sections.txt:
2484         Add the two new controller functions to the appropiate places.
2485
2486 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2487
2488         reviewed by: Stefan Kost <ensonic@users.sf.net>
2489
2490         * libs/gst/controller/gstcontroller.c:
2491         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2492         (_gst_controller_get_property), (_gst_controller_set_property),
2493         (_gst_controller_init), (_gst_controller_class_init):
2494         * libs/gst/controller/gstcontroller.h:
2495         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2496         (gst_object_get_control_rate), (gst_object_set_control_rate):
2497         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2498         Add API that provides sync suggestion timestamps for elements that
2499         call gst_object_sync_values() from which those elements can subdivide
2500         their processing loop to get the best results for the controlled
2501         properties. For now it just suggests last_sync + control_rate as
2502         new timestamp but this will be improved in the future.
2503
2504         While doing that change the control-rate property to a GstClockTime
2505         from guint and change it's meaning from samples to nanoseconds as
2506         the GstController doesn't know anything about sampling rate. Strictly
2507         speaking this breaks ABI but as the control-rate property didn't do
2508         anything in the past and as such couldn't be used this should be no
2509         problem.        
2510
2511 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2512
2513         reviewed by: Stefan Kost <ensonic@users.sf.net>
2514
2515         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2516         (gst_controller_unset_all):
2517         * libs/gst/controller/gstcontrollerprivate.h:
2518         * libs/gst/controller/gstinterpolation.c:
2519         (gst_controlled_property_find_control_point_node):
2520         Save last synced value from the list to continue searching from there
2521         in future syncs. This speeds everything up a bit.
2522         
2523 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2524
2525         reviewed by: Stefan Kost <ensonic@users.sf.net>
2526
2527         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2528         (gst_control_point_find), (gst_controlled_property_new),
2529         (gst_control_point_free), (gst_controlled_property_free),
2530         (gst_controller_set), (gst_controller_set_from_list),
2531         (gst_controller_unset), (gst_controller_unset_all),
2532         (gst_controller_sync_values):
2533         * libs/gst/controller/gstcontroller.h:
2534         * libs/gst/controller/gstcontrollerprivate.h:
2535         * libs/gst/controller/gstinterpolation.c:
2536         (gst_controlled_property_find_control_point_node),
2537         (interpolate_none_get), (interpolate_trigger_get):
2538         Add a new private GstControlPoint struct which "inherits" from
2539         GstTimedValue to allow different interpolators to store internal
2540         values next to each control point. From the outside everything is
2541         still a GstControlPoint so we don't loose binary compatibility.
2542         Also fixup all the GValue handling to not leak GValues or list nodes.
2543         * tests/check/libs/controller.c: (GST_START_TEST):
2544         Free the list nodes and GValues in the controller_misc test.
2545
2546 2007-05-17  Edward Hervey  <edward@fluendo.com>
2547
2548         * gst/gstsegment.c:
2549         Small doc fix.
2550
2551 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2552
2553         * gst/gstplugin.c: (gst_plugin_load_file):
2554           If we fail to load a plugin because of unresolved symbols or missing
2555           libraries and spew a warning to stderr, we may just as well mention
2556           which plugin it was that failed to load.
2557
2558 2007-05-13  David Schleef  <ds@schleef.org>
2559
2560         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2561           handles the case when ENABLE_GTK_DOC is false, and installs
2562           the prebuilt documentation.  So gtk-doc subdirs are 
2563           unconditionally enabled.  Fixes: #349099.
2564
2565 2007-05-13  David Schleef  <ds@schleef.org>
2566
2567         * gst/gstutils.h: Reword some documentation.
2568
2569 2007-05-12  David Schleef  <ds@schleef.org>
2570
2571         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2572           do anything with the passed "module" parameter, so remove it.
2573           Allows removal of additional vestigal code.
2574
2575 2007-05-12  David Schleef  <ds@schleef.org>
2576
2577         * gst/gstplugin.c:
2578           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2579           Switch to using g_stat() because it's more portable.
2580
2581 2007-05-12  David Schleef  <ds@schleef.org>
2582
2583         * gst/gst.c:
2584           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2585           parsing for embedded systems.
2586         * gst/gstelementfactory.c:
2587           Allow gst_element_register() to be called with plugin==NULL.
2588           Did nobody notice that static elements were broken?
2589
2590 2007-05-12  Wim Taymans  <wim@fluendo.com>
2591
2592         * tools/gst-launch.c: (event_loop):
2593         Give more interesting info when buffering starts and stops.
2594         Fix case where buffering starts but we fail to update the buffering flag
2595         because the target state is not PLAYING.
2596
2597 2007-05-12  Wim Taymans  <wim@fluendo.com>
2598
2599         * plugins/elements/gstqueue.c: (gst_queue_init),
2600         (gst_queue_finalize), (update_time_level), (apply_segment),
2601         (apply_buffer), (gst_queue_locked_flush),
2602         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2603         (gst_queue_handle_sink_event), (gst_queue_chain),
2604         (gst_queue_push_one), (gst_queue_loop):
2605         * plugins/elements/gstqueue.h:
2606         Refactor an cleanup queue a bit.
2607         Do better time level calculations that also work when the srcpad is not
2608         yet running.
2609         Remove some unneeded debug lines.
2610
2611         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2612         Added testcase for time level measurement.
2613         Try to make some stuff more racefree.
2614
2615 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         * gst/gsturi.c: (gst_element_make_from_uri):
2618           Don't leak plugin feature.
2619
2620         * tests/check/Makefile.am:
2621         * tests/check/gst/.cvsignore:
2622         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2623           Add brain-dead unit test.
2624
2625 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2626
2627         Patch by: Jeroen Wouters <woutersj at gmail com>
2628
2629         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2630           Treat protocol strings in a case-insensitive way (#437563).
2631
2632 2007-05-11  Michael Smith <msmith@fluendo.com>
2633
2634         * gst/gstplugin.c: (gst_plugin_load_file):
2635         * gst/gstregistry.c: (gst_registry_scan_path_level):
2636           Don't print a g_warning for any failure to load a shared object.
2637           Instead, push this down into gstplugin.c, and warn _only_ if we
2638           failed to open the module (i.e. failure to link).
2639           Avoids warnings on normal, working, non-plugin .so files.
2640
2641 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2642
2643         * gst/gstplugin.c (gst_plugin_load_file):
2644         * gst/gstregistry.c (GST_CAT_DEFAULT,
2645           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2646           Print a g_warning if there was an error when loading a plugins during
2647           registry scan. The shuld help beginners starting with gst-plugin
2648           template.
2649
2650 2007-05-10  Wim Taymans  <wim@fluendo.com>
2651
2652         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2653         (update_time_level), (gst_queue_locked_flush),
2654         (gst_queue_handle_sink_event), (gst_queue_chain),
2655         (gst_queue_push_one), (gst_queue_loop):
2656         * plugins/elements/gstqueue.h:
2657         Be smarter when calculating the current amount of data in the queue by
2658         measuring the difference between start and end timestamps (in running
2659         time) inside the queue. Fixes #432876.
2660         API: GstQueue::pushing to notify elements that we are pushing data again
2661         since the running signal is rather broken for this purpose.
2662
2663 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2666           gst_queue_base_init, gst_queue_init):
2667           use GST_BOILERPLATE
2668
2669 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2670
2671         * win32/common/libgstreamer.def:
2672         Add new exported functions.
2673         * win32/vs6/grammar.dsp:
2674         Use grammar pre-generated files.
2675
2676 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2679
2680         * gst/Makefile.am:
2681         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2682         * gst/gstparse.h:
2683         * gst/gstutils.c: (gst_parse_bin_from_description):
2684         * gst/gstutils.h:
2685           Maintain API and ABI when --disable-parse is used. Now that
2686           we have an appropriate error code, we can just return NULL and the
2687           appropriate error when gst_parse_launch() is used despite it having
2688           been disabled (#342564).
2689
2690         * tests/check/Makefile.am:
2691         * tests/check/pipelines/.cvsignore:
2692         * tests/check/pipelines/parse-disabled.c:
2693           Make sure these functions exist and return NULL plus a GError when
2694           --disable-parse is used.
2695
2696 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         * tests/benchmarks/complexity.c: (main):
2699         * tests/benchmarks/mass-elements.c: (main):
2700           Set a good example and don't leak messages.
2701
2702 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2703
2704         * docs/gst/Makefile.am:
2705         * docs/libs/Makefile.am:
2706           Correct fixxrefs options.
2707
2708         * docs/plugins/Makefile.am:
2709         * docs/plugins/gstreamer-plugins-docs.sgml:
2710         * docs/plugins/gstreamer-plugins-sections.txt:
2711         * plugins/elements/Makefile.am:
2712         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2713         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2714           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2715           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2716           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2717           _GstCapsFilterClass, trans_class):
2718         * plugins/elements/gstelements.c (name, rank, type, _elements):
2719         * plugins/elements/gstidentity.c
2720           (gst_identity_check_imperfect_timestamp,
2721           gst_identity_check_imperfect_offset):
2722           Document capsfilter and add doc-blurb to identity.
2723
2724 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2725
2726         * libs/gst/controller/gstcontroller.c:
2727         (gst_controlled_property_set_interpolation_mode):
2728         * libs/gst/controller/gstinterpolation.c:
2729           Don't crash if someone tries to set an interpolation mode that
2730           is invalid or that isn't supported yet. Fixes #422295.
2731
2732         * tests/check/libs/controller.c: (GST_START_TEST),
2733         (gst_controller_suite):
2734           Add a test case for the above.
2735
2736 2007-05-03  Edward Hervey  <edward@fluendo.com>
2737
2738         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2739         Properly set the last_stop position on GstSegment. This will only happen
2740         if there is a buffer to push out.
2741
2742 2007-05-03  Wim Taymans  <wim@fluendo.com>
2743
2744         * libs/gst/base/gstbasetransform.c:
2745         (gst_base_transform_buffer_alloc):
2746         always_in_place does not mean that the sink and source caps are the
2747         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2748
2749 2007-05-03  Wim Taymans  <wim@fluendo.com>
2750
2751         * docs/libs/gstreamer-libs-sections.txt:
2752         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2753         (gst_base_src_default_query), (gst_base_src_get_range):
2754         * libs/gst/base/gstbasesrc.h:
2755         API: gst_base_src_query_latency(). Added method so that subclasses can
2756         easily get the latency values of the base source class.
2757
2758 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2759
2760         * tools/gst-inspect.c (print_implementation_info):
2761         Remove 0.8 cruft.
2762
2763 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2764
2765         * tools/Makefile.am:
2766         * tools/gst-launch.1.in:
2767           Don't create a customised man page based on the host architecture,
2768           describe the default registry path generically. That way the man
2769           page is the same for all architectures and packagers have one
2770           multilib issue less to deal with. Fixes #434926.
2771
2772 2007-05-02  Wim Taymans  <wim@fluendo.com>
2773
2774         * gst/gstpad.c:
2775         Fix documentation as spotted by rg on IRC. 
2776
2777 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2778
2779         * gst/gstutils.c:
2780           Improve docs for gst_element_{link,unlink}.
2781
2782 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * docs/design/part-events.txt:
2785         * docs/design/part-overview.txt:
2786         * gst/gstevent.c:
2787         * gst/gsturi.c:
2788         * gst/gsturi.h:
2789         * libs/gst/base/gstbasesink.c:
2790           Typo fixes; minor docs addition.
2791
2792 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2796         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2797         * gst/gsturi.h:
2798         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2799         or src that supports a given URI protocol exists.
2800
2801 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2802
2803         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2804         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2805         Set the location to NULL if "file://" is set as URI. Otherwise
2806         some random previous URI would still be set if "file://" is
2807         set on an already used filesink/filesrc.
2808
2809 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2810
2811         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2812         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2813         Special case the "file://" URI as as this is used by some
2814         applications to test with gst_element_make_from_uri if there's
2815         an element that supports the URI protocol.
2816         Also move the g_path_is_absolute() check for the location part
2817         of the URI to also check this for "file://localhost/bla" URIs.
2818
2819 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2820
2821         * docs/gst/gstreamer-sections.txt:
2822         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2823         * gst/gstbuffer.h:
2824         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2825         (gst_buffer_suite):
2826           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2827
2828 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2829
2830         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2831         (gst_registry_binary_load_pad_template),
2832         (gst_registry_binary_load_plugin),
2833         (gst_registry_binary_read_cache):
2834         * gst/gstregistrybinary.h:
2835           Implement no-mmap alternative for registry reading. Do code cleanups.
2836           Add more comments about avoiding strdups for all text data. Comments
2837           welcome.
2838
2839 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2840
2841         * gst/gstregistrybinary.h (GstBinaryPluginElement,
2842           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2843           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2844           Comment structs and reformat to fix the build (that stuff should go
2845           into a priv. header).
2846
2847 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2848
2849         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2850         (gst_registry_binary_load_feature):
2851         * gst/gstregistrybinary.h:
2852           Refactor so that we can implement multiple features. Add support for
2853           TypeFindFactory features.
2854
2855 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
2856
2857         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2858
2859         * configure.ac:
2860           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2861
2862 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
2863
2864         * gst/gstbin.c: (gst_bin_element_set_state),
2865         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2866         (bin_handle_async_done), (gst_bin_handle_message_func):
2867           Fix build with --gst-disable-gst-debug
2868
2869 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2872           Make sure streaming has finished before calling the ::stop() vfunc,
2873           since that vfunc might clear state which is being used in the
2874           streaming thread. This fixes a race that caused crashes in
2875           audioresample when shutting down a pipeline (#420106).
2876
2877 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2878
2879         * docs/gst/gstreamer-sections.txt:
2880           That was one byte missing.
2881
2882 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2883
2884         * configure.ac:
2885         * docs/gst/gstreamer-sections.txt:
2886         * gst/Makefile.am:
2887         * gst/gstconfig.h.in:
2888         * gst/gstobject.c: (gst_object_class_init),
2889         (gst_signal_object_class_init):
2890         * gst/gstobject.h:
2891           2nd attempt to have a xml-less build as a joined effort of #413123
2892           and #421480.
2893
2894 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2895
2896         * docs/design/draft-tagreading.txt:
2897           Added open issues/thoughts to draft.
2898
2899 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2900
2901         * gst/parse/grammar.tab.pre.c:
2902         * gst/parse/grammar.tab.pre.h:
2903         * gst/parse/lex._gst_parse_yy.pre.c:
2904         Update the prebuild parser sources.
2905
2906 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2907
2908         * gst/parse/Makefile.am:
2909         And now fix the building of the flex sources. Now everything should
2910         work as expected.
2911
2912 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2913
2914         * gst/parse/Makefile.am:
2915         Now hopefully fix the build failures by setting proper rule
2916         dependencies and moving instead of copying.
2917
2918 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2919
2920         * tests/benchmarks/complexity.gnuplot:
2921         * tests/benchmarks/complexity.scm:
2922         * tests/benchmarks/mass-elements.gnuplot:
2923         * tests/benchmarks/mass-elements.scm:
2924           Total licensification.
2925
2926 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2927
2928         * gst/parse/Makefile.am:
2929           Fix the build by correcting the rule that gave wrong files to flex.
2930
2931 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2932
2933         * tests/benchmarks/complexity.c:
2934         * tests/benchmarks/mass-elements.c:
2935           Change licence to LGPL as granted by Benjamin and Andy.
2936
2937 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2938
2939         * gst/parse/Makefile.am:
2940         Add correct grammar.tab.h dependency if compiling without new enough
2941         flex. Fixes #431150.
2942
2943 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2944
2945         * gst/parse/Makefile.am:
2946         Fix typo and use outdated sources if the flex/bison sources are newer
2947         than the pregenerated ones but flex is too old. Print a warning in
2948         that case. This should fix the build on the build bot.
2949
2950 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2951
2952         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2953         * gst/parse/Makefile.am:
2954         * gst/parse/grammar.y:
2955         * gst/parse/parse.l:
2956         Make the parser reentrant and recursively callable. This requires flex
2957         >= 2.5.31, for older versions pregenerated sources are used as we
2958         can't bump the build dependency. Finally fixes #349180.
2959
2960         * gst/gstparse.c: (gst_parse_launch):
2961         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2962         now anyway.
2963
2964         * docs/gst/Makefile.am:
2965         * docs/gst/Makefile.am:
2966         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2967         (__gst_parse_strfree), (__gst_parse_link_new),
2968         (__gst_parse_link_free), (__gst_parse_chain_new),
2969         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2970         (gst_parse_element_set), (gst_parse_free_link),
2971         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2972         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2973         (_gst_parse_launch):
2974         * gst/parse/grammar.tab.pre.h:
2975         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2976         (yy_get_previous_state), (yy_try_NUL_trans), (input),
2977         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2978         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2979         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2980         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2981         (_gst_parse_yypop_buffer_state),
2982         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2983         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2984         (yy_fatal_error), (_gst_parse_yyget_extra),
2985         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2986         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2987         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2988         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2989         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2990         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2991         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2992         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2993         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2994         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2995         (_gst_parse_yyfree):
2996         If the installed flex version is too old use pre-generated parser
2997         sources. These pre-generated parser sources are always updated when
2998         the actual flex/bison sources change but require everybody who wants
2999         to change something in the parser to have flex >= 2.5.31 installed.
3000
3001 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3002
3003         * common/m4/gst-gettext.m4:
3004         * gst/gst-i18n-lib.h:
3005           Make --disable-nls to work
3006
3007 2007-04-17  Wim Taymans  <wim@fluendo.com>
3008
3009         * gst/gstconfig.h.in:
3010         Revert previous change that broke the build.
3011
3012 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3013
3014         * configure.ac:
3015         * gst/Makefile.am:
3016         * gst/gstconfig.h.in:
3017           Drop libxml2 dependency when building with 
3018           --enable-binary-registry --disable-loadsave
3019
3020 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3021
3022         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3023         (gst_registry_binary_read_cache):
3024         * gst/gstregistrybinary.h:
3025           Remove unnecessary <sys/mman.h> include which broke the win32 build
3026           with MingW; move includes from header file to .c file, even if the
3027           header file isn't installed; use g_strerror() where UTF-8 strings
3028           are expected, such as in GST_DEBUG messages.
3029
3030 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3031
3032         * docs/libs/gstreamer-libs-sections.txt:
3033         Remove bogus addition for API I didn't end up keeping.
3034
3035         * libs/gst/base/gstbasesrc.h:
3036         Mention Since: 0.10.13 in the documentation.
3037
3038         Add the API keyword to the previous ChangeLog entry.
3039
3040 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3041
3042         * docs/libs/gstreamer-libs-sections.txt:
3043         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3044         (gst_base_src_default_prepare_seek_segment),
3045         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3046         * libs/gst/base/gstbasesrc.h:
3047         Allow basesrc derived classes to execute seeks in other formats
3048         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3049         to prepare the GstSegment in any format that their perform_seek method
3050         will be able to understand. The default implementation provides the
3051         old behaviour of attempting to convert the seek offsets to the 
3052         configured native format.
3053
3054         API: basesrc::prepare_seek_segment vmethod.
3055
3056 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3057
3058         * gst/gstelement.c: (gst_element_get_state_func):
3059         Don't output the same debug statement twice.
3060
3061         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3062         (gst_adapter_peek), (gst_adapter_take_buffer):
3063         Optimise the case where we have buffers at the head of the queue that
3064         can be joined quickly (because they're contiguous sub-buffers) by
3065         merging them together rather than copying data out into new memory.
3066
3067         * gst/parse/grammar.y:
3068         * tests/check/pipelines/parse-launch.c:
3069         Fix a leak in an error path for parse_launch, and add a check 
3070         for it to the testsuite.
3071
3072 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3073
3074         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3075           Don't deadlock when releasing a pad - gst_pad_set_active may try
3076           and take the multiqueue lock too.
3077
3078 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3079
3080         * gst/gsterror.c: (_gst_core_errors_init):
3081         * gst/gsterror.h:
3082           API: add GST_CORE_ERROR_DISABLED (#392804).
3083
3084 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * docs/faq/gst-uninstalled:
3087           don't get empty paths on the PATH variables
3088         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3089           Don't format for the uncommon terminal width of 84 characters.
3090
3091 2007-04-06  Wim Taymans  <wim@fluendo.com>
3092
3093         * gst/gstpipeline.c: (reset_stream_time),
3094         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3095         Only try to select a different pipeline clock when we went back to
3096         PAUSED and not when we merely got flushed.
3097
3098 2007-04-05  Michael Smith  <msmith@fluendo.com>
3099
3100         * tools/gst-launch.1.in:
3101           fractions are better supported in gstreamer than ractions, so
3102           suggest using those.
3103
3104 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3105
3106         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3107
3108         * po/LINGUAS:
3109         * po/da.po:
3110           Added Danish translation.
3111
3112 2007-04-05  Wim Taymans  <wim@fluendo.com>
3113
3114         * libs/gst/base/gstbasesink.c:
3115         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3116         Fix leak caused when refusing newsegment after EOS.
3117
3118         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3119         (gst_fake_sink_init), (gst_fake_sink_set_property),
3120         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3121         (gst_fake_sink_render), (gst_fake_sink_change_state):
3122         * plugins/elements/gstfakesink.h:
3123         Add num-buffers property to make the element generate EOS after a
3124         configurable amount of buffers.
3125         API: fakesink::num-buffers property.
3126
3127         * tests/check/elements/fakesink.c: (GST_START_TEST),
3128         (fakesink_suite):
3129         Fix GstBus leak in test.
3130         Test for fakesink num-buffers.
3131
3132 2007-04-05  Wim Taymans  <wim@fluendo.com>
3133
3134         * libs/gst/base/gstbasesink.c:
3135         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3136         (gst_base_sink_change_state):
3137         Don't accept anything after an EOS, return UNEXPECTED instead.
3138
3139         * tests/check/elements/fakesink.c: (GST_START_TEST),
3140         (fakesink_suite):
3141         Unit test for new EOS behaviour.
3142
3143 2007-04-05  Wim Taymans  <wim@fluendo.com>
3144
3145         * gst/gstelement.c: (gst_element_get_request_pad):
3146         Make padtemplates also work when they don't contain %s or %d.
3147
3148 2007-04-05  Wim Taymans  <wim@fluendo.com>
3149
3150         * docs/gst/gstreamer-sections.txt:
3151         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3152         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3153         * gst/gstclock.h:
3154         Improve _adjust_unlocked() so that it overflows less.
3155         Add gst_clock_unadjust_unlocked to convert from external time to
3156         internal time based on calibration.
3157         Add some more debug.
3158         API: GstClock::gst_clock_unadjust_unlocked()
3159
3160 2007-04-03  Wim Taymans  <wim@fluendo.com>
3161
3162         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3163
3164         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3165         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3166         when releasing sink pad. Fixes #425400.
3167
3168 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3169
3170         * docs/random/ensonic/dynlink.txt:
3171           More work on proposal for new core api.
3172
3173         * docs/libs/gstreamer-libs-sections.txt:
3174         * libs/gst/base/gstbasetransform.h:
3175           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3176           
3177         * libs/gst/controller/gstcontroller.c:
3178         (on_object_controlled_property_changed),
3179         (gst_controller_sync_values),
3180         (gst_controller_set_interpolation_mode):
3181         * libs/gst/controller/gstcontroller.h:
3182           Less verbose logging add docs for unimplemented parts and correctly
3183           return when using unavailable parts.
3184
3185 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3186
3187         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3188         Move all the debug to the CLOCK category, and associate it with
3189         the clock object.
3190
3191 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3192
3193         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3194         Make take_buffer a bit quicker by removing redundant checks
3195         caused by calling gst_adapter_take.
3196
3197 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3198
3199         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3200           Don't leak GCond.
3201
3202         * tests/check/Makefile.am:
3203         * tests/check/elements/.cvsignore:
3204         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3205         (GST_START_TEST), (multiqueue_suite):
3206           Add some dead simple unit tests for the 'multiqueue' element
3207           (some bits don't work yet and are disabled for now).
3208
3209 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3210
3211         * gst/gstelement.c: (gst_element_get_request_pad),
3212         (gst_element_class_get_request_pad_template):
3213           Make gst_element_get_request_pad() create request pads only for
3214           request pad templates and not for, say, sometimes pad templates.
3215
3216 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3217
3218         * docs/design/draft-klass.txt:
3219           Add example that needs more thinking.
3220         
3221         * docs/design/draft-missing-plugins.txt:
3222           More thoughts about wrapper plugins.
3223         
3224         * docs/random/ensonic/embedded.txt:
3225         * docs/random/ensonic/profiling.txt:
3226           More design work.
3227
3228 2007-03-25  Wim Taymans  <wim@fluendo.com>
3229
3230         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3231         (gst_base_src_loop):
3232         Only push the segment events in the PLAYING state for live sources.
3233
3234 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3235
3236         * gst/gstpipeline.c: (gst_pipeline_change_state):
3237         Modify the clock distribution path in PAUSED->PLAYING so that we 
3238         never attempt to choose a new clock unless we're actually leaving
3239         the PAUSED state for the first time. This prevents choosing a
3240         different clock when the state_change gets called for a 2nd time due
3241         to some element doing an async state change.
3242
3243 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3244
3245         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3246         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3247         (gst_pad_chain_unchecked), (gst_pad_push):
3248         Revert last commit. This needs some more thoughts.
3249
3250 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3251
3252         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3253         (gst_pad_chain_unchecked), (gst_pad_push):
3254         Check in set_caps if the caps are compatible with the pad and remove
3255         two functions that are redundant now. Fixes #421543.
3256
3257 2007-03-22  Wim Taymans  <wim@fluendo.com>
3258
3259         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3260         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3261         Unref some more to make valgrind happy.
3262
3263 2007-03-22  Wim Taymans  <wim@fluendo.com>
3264
3265         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3266         (gst_system_clock_id_wait_jitter),
3267         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3268         Fix anoying regression that survived a few releases. When adding an
3269         async entry while blocking on a sync entry, the sync entry will unblock
3270         but still be busy, so it should continue to wait instead of returning
3271         _BUSY to the app.
3272         Add some comments here and there.
3273
3274         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3275         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3276         Add testcase for this.
3277
3278 2007-03-22  Wim Taymans  <wim@fluendo.com>
3279
3280         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3281         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3282         WRONG_STATE and can silently pause the task. All other cases should
3283         error out.
3284
3285 2007-03-22  Wim Taymans  <wim@fluendo.com>
3286
3287         Patch by: Ville Syrjala <syrjala at sci dot fi>
3288
3289         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3290         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3291         Improve debugging.
3292
3293 2007-03-21  Michael Smith  <msmith@fluendo.com>
3294
3295         * docs/pwg/advanced-types.xml:
3296           Fix some errors in the typefinding docs pointed out on irc.
3297
3298 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3299
3300         * libs/gst/base/gstbasesrc.c:
3301         Clarify FIXME comment in the face of having added unlock_stop()
3302
3303 2007-03-21  Wim Taymans  <wim@fluendo.com>
3304
3305         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3306         Prepare for release where we warn against possible app breakage in the
3307         case of live pipelines along with an env var to enable/disable live
3308         preroll mode (GST_COMPAT=[no-]live-preroll).
3309
3310 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3311
3312         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3313         So we should use correct constants for checking for None offset.
3314
3315 2007-03-20  Wim Taymans  <wim@fluendo.com>
3316
3317         * docs/design/part-block.txt:
3318         Mention the fact that the newly switched element should be set to at
3319         least PAUSED.
3320
3321 2007-03-20  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gst.c:
3324         Fix compilation with registry disabled as spotted by Saur.
3325
3326 2007-03-20  Wim Taymans  <wim@fluendo.com>
3327
3328         Patch by: Olivier Crete <tester at tester dot ca>
3329
3330         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3331         Look at the pending state too when syncing the element state to the
3332         parent. Fixes #420133.
3333
3334 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3335
3336         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3337         (gst_base_sink_change_state):
3338         * libs/gst/base/gstbasesink.h:
3339         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3340         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3341         (gst_base_src_deactivate):
3342         * libs/gst/base/gstbasesrc.h:
3343         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3344         for sub-classes to correctly clear any state they set trying to
3345         unlock, such as clearing out unlock commands from a command fd.
3346         API: basesrc::unlock_stop
3347         API: basesink::unlock_stop
3348
3349         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3350         (gst_fd_sink_render), (gst_fd_sink_unlock),
3351         (gst_fd_sink_unlock_stop):
3352         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3353         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3354         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3355
3356         Implement unlock_stop in fdsrc and fdsink.
3357         Implement seeking in fdsrc when a seekable fd is passed, as in
3358         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3359
3360 2007-03-19  Wim Taymans  <wim@fluendo.com>
3361
3362         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3363
3364         * gst/gstelement.c: (gst_element_class_init):
3365         Fix pad-added and pad-removed signal signatures so that the pad type is
3366         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3367
3368 2007-03-19  Wim Taymans  <wim@fluendo.com>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371         Add new element field and method.
3372
3373         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3374         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3375         (gst_bin_recalc_state), (gst_bin_get_state_func),
3376         (gst_bin_element_set_state), (gst_bin_change_state_func),
3377         (gst_bin_continue_func), (bin_bus_handler),
3378         (bin_push_state_continue), (bin_handle_async_start),
3379         (bin_handle_async_done), (gst_bin_handle_message_func):
3380         Make async state changes a bit smarter by using new ASYNC_START and
3381         ASYNC_DONE messages. This reduces the number of times we run the state
3382         recalculation thread.
3383         Don't change state of element with a pending ASYNC_START message.
3384         Deprecate STATE_DIRTY messages.
3385         
3386         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3387         (gst_element_get_state_func), (gst_element_continue_state),
3388         (gst_element_lost_state), (gst_element_set_state_func),
3389         (gst_element_change_state):
3390         * gst/gstelement.h:
3391         Keep the state that was last set by the app in a new element field.
3392         Don't allow state changes when handling an element event.
3393         Post ASYNC_START and ASYNC_DONE messages.
3394         Change lost_state so that we go to PAUSED and wait for the parent to set
3395         us to PLAYING again (so latency calculation can be performed)
3396         Export gst_element_change_state() method so that subclasses can use it.
3397         API: gst_element_change_state()
3398         API: GST_STATE_TARGET
3399
3400         * gst/gstpipeline.c: (gst_pipeline_class_init),
3401         (reset_stream_time), (gst_pipeline_change_state),
3402         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3403         Using the new ASYNC_START message we can reset the base_time when
3404         needed. This can then be used to implement base_time redistribution in
3405         flushing seeks so that we can remove the explicit seek handling.
3406         Perform latency query and configuration when going to PLAYING.
3407
3408         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3409         (gst_base_sink_query), (gst_base_sink_change_state):
3410         Post new ASYNC_START/ASYNC_DONE messages.
3411
3412         * tests/check/generic/sinks.c: (GST_START_TEST):
3413         Fix test because the bin will not set the async element to PLAYING right
3414         away.
3415
3416         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3417         Make the message check a little stronger.
3418         Handle ASYNC messages.
3419
3420         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3421         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3422         Expect ASYNC_DONE messages.
3423
3424 2007-03-19  Wim Taymans  <wim@fluendo.com>
3425
3426         * docs/gst/gstreamer-sections.txt:
3427         * gst/gstmessage.c: (gst_message_new_async_start),
3428         (gst_message_new_async_done), (gst_message_parse_info),
3429         (gst_message_parse_async_start):
3430         * gst/gstmessage.h:
3431         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3432         support.
3433
3434 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3435
3436         * tools/gst-inspect.c:
3437         (print_plugin_automatic_install_info_codecs):
3438           Now that we don't check for the 'Codec' keyword any longer in the
3439           klass, we shouldn't spew a warning if the klass isn't a decoder or
3440           encoder (since it might be a Source/Network, for example).
3441
3442 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3443
3444         * tools/gst-inspect.c:
3445         (print_plugin_automatic_install_info_codecs):
3446           Don't require decoder/demuxer/depayloader elements or
3447           encoder/muxer/paylader elements to have 'Codec' as part of their
3448           factory class string when introspecting a plugin's capabilities.
3449           draft-klass.txt mentions that it might be removed in future, and
3450           flump3dec doesn't have it as part of its class string, so chances
3451           are others might also not have it.
3452
3453 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3454
3455         * po/af.po:
3456         * po/az.po:
3457         * po/bg.po:
3458         * po/ca.po:
3459         * po/cs.po:
3460         * po/de.po:
3461         * po/en_GB.po:
3462         * po/fr.po:
3463         * po/it.po:
3464         * po/nb.po:
3465         * po/nl.po:
3466         * po/ru.po:
3467         * po/sq.po:
3468         * po/sr.po:
3469         * po/sv.po:
3470         * po/tr.po:
3471         * po/uk.po:
3472         * po/vi.po:
3473         * po/zh_CN.po:
3474         * po/zh_TW.po:
3475           Update translations from translation project
3476
3477 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3478
3479         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3480         (gst_child_proxy_set_property):
3481           Invert precondition check to be alike the ones in the mimiced gobject
3482           api.
3483
3484 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3485
3486         * docs/design/draft-tagreading.txt:
3487         * docs/random/ensonic/audiobaseclasses.txt:
3488           Do some Architect work.
3489
3490         * gst/gstobject.c: (gst_object_set_name):
3491           Add a WARNING.
3492
3493         * gst/gstpad.c:
3494           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3495
3496 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3497
3498         * gst/gstsystemclock.c: (gst_system_clock_init),
3499         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3500         Defer starting the async system clock thread until the first async
3501         wait is scheduled. Fixes #414986.
3502
3503 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3504
3505         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3506         (gst_single_queue_free):
3507           Fix small leak (free GstSingleQueue structure too, not only contents).
3508
3509 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3510
3511         * gst/gstbin.c:(gst_bin_add):
3512         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3513         * win32/common/libgstbase.def:
3514         * win32/common/libgstreamer.def:
3515         Add new exported functions.
3516
3517 2007-03-09  Wim Taymans  <wim@fluendo.com>
3518
3519         * docs/plugins/gstreamer-plugins-sections.txt:
3520         Fix GstTee docs.
3521
3522 2007-03-09  Wim Taymans  <wim@fluendo.com>
3523
3524         * docs/gst/gstreamer-sections.txt:
3525         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3526         * gst/gstbuffer.h:
3527         Add metadata copy functions. Fixes #393099.
3528         API: gst_buffer_copy_metadata()
3529
3530         * gst/gstutils.c: (gst_buffer_stamp):
3531         * libs/gst/base/gstbasetransform.c:
3532         (gst_base_transform_prepare_output_buffer):
3533         Use new metadata copy functions.
3534
3535 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3536
3537         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3538         (gst_identity_init), (gst_identity_check_perfect),
3539         (gst_identity_check_imperfect_timestamp),
3540         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3541         (gst_identity_set_property), (gst_identity_get_property):
3542         * plugins/elements/gstidentity.h:
3543         Separate out check-imperfect-timestamp and check-imperfect-offset.
3544         Put back check-perfect as it was to keep compatibility.
3545
3546 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3547
3548         * gst/gstelement.c: (gst_element_dispose):
3549         There's no need to warn if VOID_PENDING is not NONE here, as
3550         long as the state is NULL it's ok, and that's checked immediately
3551         above.
3552
3553 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3554
3555         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3556         Fix check for perfect stream to ignore buffers with -1 
3557         offsets/offset ends when checking data contiguity.
3558
3559 2007-03-08  Wim Taymans  <wim@fluendo.com>
3560
3561         * tools/gst-launch.c: (event_loop):
3562         Print INFO messages.
3563
3564 2007-03-08  Wim Taymans  <wim@fluendo.com>
3565
3566         * libs/gst/base/gstbasetransform.c:
3567         (gst_base_transform_sink_eventfunc),
3568         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3569         (gst_base_transform_activate):
3570         * libs/gst/base/gstbasetransform.h:
3571         Add support for dropping buffers with custom GstFlowReturn.
3572         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3573         buffers or dropped buffers.
3574
3575         * docs/libs/gstreamer-libs-sections.txt:
3576         docs for new custom return code.
3577
3578         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3579         Use drop support in base class to implement drop-probability.
3580
3581 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3582
3583         * gst/gst.c: (load_plugin_func):
3584         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3585         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3586         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3587           Remove newlines at end of debug log strings.
3588
3589 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3590
3591         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3592         Only post bus message at max, once per buffer received.
3593
3594 2007-03-07  Wim Taymans  <wim@fluendo.com>
3595
3596         * docs/design/Makefile.am:
3597         * docs/design/part-synchronisation.txt:
3598         Add doc about synchronisation
3599
3600         * docs/design/draft-latency.txt:
3601         * docs/design/part-TODO.txt:
3602         * docs/design/part-clocks.txt:
3603         * docs/design/part-events.txt:
3604         * docs/design/part-gstbus.txt:
3605         * docs/design/part-gstpipeline.txt:
3606         * docs/design/part-live-source.txt:
3607         * docs/design/part-messages.txt:
3608         * docs/design/part-overview.txt:
3609         * docs/design/part-streams.txt:
3610         * docs/design/part-trickmodes.txt:
3611         Documentation updates.
3612
3613 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3614
3615         * gstreamer.doap:
3616         Update the doap file.
3617
3618 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3619
3620         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3621         Rename non-perfect to imperfect for Mike and for the sanctity of the
3622         language.
3623         Also make sure bus message gets emitted for data-incontiguities.
3624
3625 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3626
3627         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3628         (gst_identity_start):
3629         * plugins/elements/gstidentity.h:
3630         Emit bus message if check-perfect is true and we encounter a
3631         non-perfect stream between 2 consecutive buffers.
3632         Fixes #415394.
3633
3634 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3635
3636         * configure.ac:
3637         Back to CVS
3638
3639 === release 0.10.12 ===
3640
3641 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3642
3643         * configure.ac:
3644           releasing 0.10.12, "Inevitable Demise"
3645
3646 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3647
3648         * configure.ac:
3649          Version 0.10.11.2 (0.10.12 pre-release)
3650          Bump libtool versioning.
3651
3652 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3653
3654         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3655           Log flow-names and not numbers.
3656
3657 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3658
3659         * configure.ac:
3660           Convert to new AG_GST style.
3661
3662 2007-02-28  Wim Taymans  <wim@fluendo.com>
3663
3664         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3665         Don't unref query twice.
3666
3667 2007-02-28  Wim Taymans  <wim@fluendo.com>
3668
3669         * gst/gstvalue.c: (gst_value_transform_object_string),
3670         (_gst_value_initialize):
3671         Implement GstObject -> string transform so we print object names
3672         when serializing GValues containing GstObjects.
3673
3674 2007-02-28  Wim Taymans  <wim@fluendo.com>
3675
3676         * docs/gst/gstreamer-sections.txt:
3677         Add new stuff to docs.
3678
3679 2007-02-28  Wim Taymans  <wim@fluendo.com>
3680
3681         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3682         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3683         (gst_base_sink_change_state):
3684         Improve latency query code.
3685         Don't leak latency events.
3686
3687         * tests/check/gst/gstbin.c: (GST_START_TEST):
3688         Improve debugging.
3689
3690 2007-02-28  Wim Taymans  <wim@fluendo.com>
3691
3692         * gst/gstelement.c: (gst_element_message_full),
3693         (gst_element_get_state_func):
3694         * gst/gstelement.h:
3695         Improve docs a little. Added Since: for new macro.
3696
3697         * gst/gstobject.c: (gst_object_sink):
3698         * gst/gstpipeline.c: (gst_pipeline_change_state),
3699         (gst_pipeline_set_new_stream_time):
3700         * gst/gstpipeline.h:
3701         Improve debugging and docs.
3702
3703         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3704         Improve debugging.
3705
3706 2007-02-28  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gstelement.c: (gst_element_message_full),
3709         (gst_element_set_locked_state), (gst_element_get_state_func),
3710         (gst_element_change_state):
3711         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3712         Documentation updates.
3713         Small code cleanups.
3714
3715         * gst/gstmessage.c: (gst_message_new_info),
3716         (gst_message_parse_info):
3717         * gst/gstmessage.h:
3718         API: gst_message_new_info()
3719         API: gst_message_parse_info()
3720         Add INFO message create and parse code.
3721
3722 2007-02-28  Wim Taymans  <wim@fluendo.com>
3723
3724         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3725         (bin_query_latency_done):
3726         Also report the live parameter of a latency query.
3727
3728 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3731           Copy the current generic/states example from -base and adapt so
3732           we can use the exact same code everywhere.
3733           Check a STATES_IGNORE_ELEMENTS env var which can be used
3734           to ignore certain element factories for this test, which is
3735           what is being done in -base
3736         * tests/check/Makefile.am:
3737           Mention this environment variable.
3738
3739 2007-02-27  Wim Taymans  <wim@fluendo.com>
3740
3741         * docs/gst/gstreamer-sections.txt:
3742         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3743         (gst_bus_timed_pop), (gst_bus_pop):
3744         * gst/gstbus.h:
3745         API: gst_bus_timed_pop()
3746         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3747         message to arrive on the bus.
3748
3749         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3750         (gst_bus_suite):
3751         Two unit tests for new _timed_pop() function.
3752
3753 2007-02-23  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/gstpipeline.c: (gst_pipeline_change_state),
3756         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3757         Don't ref a NULL clock in _provide_clock_func().
3758         Don't allow an INVALID delay.
3759         Don't try to calculate base_time with an invalid start_time.
3760         Also distribute and notify a NULL clock when it was selected.
3761
3762         * tools/gst-launch.c: (event_loop):
3763         Don't crash when a NULL clock was selected in the pipeline.
3764
3765 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * docs/design/Makefile.am:
3768         * docs/design/draft-missing-plugins.txt:
3769         * docs/random/draft-missing-plugins.txt:
3770           Some small updates: update plugin system identifier prefix
3771           ('gstreamer.net' to 'gstreamer'), mention our new install
3772           API in libgstbaseutils rather than libgimme-codec, add
3773           reference to the online docs.
3774
3775 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3776
3777         * win32/common/config.h:
3778           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3779           use moap cl ci to only check in what is mentioned in the ChangeLog.
3780
3781 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3782
3783         * docs/gst/gstreamer-sections.txt:
3784         * gst/gstelement.h:
3785           Fix up documentation to link to the correct GstGError section.
3786           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3787
3788 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3789
3790         * tools/gst-launch.c: (event_loop):
3791           Make sure that we actually show the important message part of a
3792           warning message.
3793           No need to check if the gerror is not NULL to free; first of all
3794           g_free accepts NULL; and second the default error handler would
3795           segfault if gerror was NULL.
3796
3797 2007-02-21  Wim Taymans  <wim@fluendo.com>
3798
3799         * docs/gst/gstreamer-sections.txt:
3800         Removed docs as well.
3801
3802 2007-02-21  Wim Taymans  <wim@fluendo.com>
3803
3804         * gst/gstmessage.c: (gst_message_parse_duration):
3805         * gst/gstmessage.h:
3806         Remove new messages for release.
3807
3808 2007-02-20  Wim Taymans  <wim@fluendo.com>
3809
3810         * docs/design/part-gstghostpad.txt:
3811         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3812         (gst_ghost_pad_new_full):
3813         Make the ghostpad a parent of the internal pad again for better backward
3814         compatibility. Don't write code that relies on this however.
3815
3816         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3817         (gst_pad_link_check_hierarchy):
3818         Require that parents should be GstElements in the hierarchy check.
3819
3820 2007-02-20  Wim Taymans  <wim@fluendo.com>
3821
3822         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3823         (gst_bin_change_state_func), (bin_query_min_max_init),
3824         (bin_query_latency_fold), (bin_query_latency_done),
3825         (gst_bin_query):
3826         Improve debug info.
3827         Implement latency query.
3828
3829 2007-02-20  Wim Taymans  <wim@fluendo.com>
3830
3831         * docs/design/part-gstghostpad.txt:
3832         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3833         (gst_ghost_pad_internal_do_activate_push),
3834         (gst_ghost_pad_internal_do_activate_pull),
3835         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3836         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3837         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3838         Do not set the internal pad as a parent anymore so we can avoid
3839         hierarchy linking errors when the ghostpad has no parent yet. This also
3840         fixes failed activation because of unlinked internal pads, which in
3841         turn fixes the impossible case where you have to activate a pad before
3842         you can add it to a running element.
3843         Also fix the docs.
3844
3845         * gst/gstpad.c: (pre_activate), (post_activate),
3846         (gst_pad_set_active), (gst_pad_activate_pull),
3847         (gst_pad_activate_push), (gst_pad_check_pull_range):
3848         Add some more debug info.
3849         Mark activation mode in pre_activate so that we don't try to activate in
3850         endless loops. Fixes #385084.
3851
3852 2007-02-19  Wim Taymans  <wim@fluendo.com>
3853
3854         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3855         (gst_base_transform_check_get_range):
3856         Implement a checkgetrange function instead of relying on the default
3857         core behaviour that assumes we can operate in pull mode if we have a
3858         getrange function. First step at fixing #385084.
3859
3860 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
3861
3862         * gst/gstchildproxy.h:
3863         * libs/gst/base/gstbasesink.h:
3864         * libs/gst/base/gstbasesrc.h:
3865         * libs/gst/base/gstbasetransform.h:
3866         More docs coverage and some ChangeLog surgery (add missing names)
3867
3868 2007-02-15  Wim Taymans  <wim@fluendo.com>
3869
3870         * docs/design/part-TODO.txt:
3871         * docs/design/part-activation.txt:
3872         * docs/design/part-block.txt:
3873         * docs/design/part-buffering.txt:
3874         * docs/design/part-clocks.txt:
3875         * docs/design/part-element-source.txt:
3876         * docs/design/part-events.txt:
3877         * docs/design/part-gstbin.txt:
3878         * docs/design/part-gstbus.txt:
3879         * docs/design/part-gstpipeline.txt:
3880         * docs/design/part-live-source.txt:
3881         * docs/design/part-messages.txt:
3882         * docs/design/part-overview.txt:
3883         * docs/design/part-qos.txt:
3884         * docs/design/part-query.txt:
3885         * docs/design/part-states.txt:
3886         * docs/design/part-trickmodes.txt:
3887         Some doc updates. Start renaming from stream_time to running_time where
3888         it was used wrongly.
3889
3890 2007-02-15  Wim Taymans  <wim@fluendo.com>
3891
3892         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3893         Answer LATENCY query.
3894
3895 2007-02-15  Wim Taymans  <wim@fluendo.com>
3896
3897         * tests/check/gst/gstevent.c: (event_probe), (test_event),
3898         (GST_START_TEST):
3899         Improve debugging.
3900
3901 2007-02-15  Wim Taymans  <wim@fluendo.com>
3902
3903         * gst/gstpad.c: (gst_pad_get_internal_links_default),
3904         (gst_pad_dispatcher):
3905         Improve debugging of default pad dispatcher and query functions.
3906
3907 2007-02-15  Wim Taymans  <wim@fluendo.com>
3908
3909         * docs/gst/gstreamer-sections.txt:
3910         Remove old unused method.
3911
3912 2007-02-13  Wim Taymans  <wim@fluendo.com>
3913
3914         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3915         Fix check
3916
3917 2007-02-13  Wim Taymans  <wim@fluendo.com>
3918
3919         * docs/design/part-seeking.txt:
3920         Some small update.
3921
3922         * gst/gstsegment.c: (gst_segment_set_seek):
3923         Revert old bogus change that should make seeking work again.
3924
3925 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3926
3927         * docs/random/ensonic/dynlink.txt:
3928         * docs/random/ensonic/interfaces.txt:
3929         * docs/random/ensonic/receipies.txt:
3930           Possible dynamic reconnection api, plus some type fixes the other two
3931           docs.
3932
3933 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
3934
3935         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3936         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3937         Also check for an absolute path following file:// in the filesrc
3938         element. Remove redundant check and call g_path_is_absolute() on the
3939         unescaped location.
3940
3941 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3942
3943         * docs/design/draft-klass.txt:
3944           Add existing category analysis.
3945           
3946         * gst/gstcaps.c:
3947           Fix doc example, framerate is a fraction.
3948
3949 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3950
3951         * configure.ac:
3952         * docs/gst/Makefile.am:
3953         * docs/gst/gstreamer-sections.txt:
3954         * docs/libs/Makefile.am:
3955           Erm, forgot a bunch of --extra-dir.
3956
3957 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3958
3959         * configure.ac:
3960         * docs/gst/Makefile.am:
3961         * docs/libs/Makefile.am:
3962         * docs/plugins/Makefile.am:
3963           Add crossreferences to glib/gobject docs.
3964
3965 2007-02-12  Wim Taymans  <wim@fluendo.com>
3966
3967         * docs/design/draft-latency.txt:
3968         Small update.
3969
3970         * docs/libs/gstreamer-libs-sections.txt:
3971         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3972         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3973         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3974         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3975         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3976         (gst_base_sink_get_position), (gst_base_sink_query),
3977         (gst_base_sink_change_state):
3978         * libs/gst/base/gstbasesink.h:
3979         API: gst_base_sink_query_latency() to let subclasses query the upstream
3980         latency.
3981         API: gst_base_sink_get_latency() to let subclasses query the configured
3982         latency in the sink.
3983         Implement query and set latency.
3984         Update some docs.
3985         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3986         don't continue preroll when we are flushing. Fixes #405284.
3987
3988         * tests/check/pipelines/stress.c: (change_state_timeout),
3989         (quit_timeout), (GST_START_TEST), (stress_suite):
3990         Test for #405284.
3991
3992 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3993
3994         Patch by: René Stadler <mail at renestadler de>
3995
3996         * docs/gst/gstreamer-sections.txt:
3997         * gst/gsttaglist.c: (_gst_tag_initialize):
3998         * gst/gsttaglist.h:
3999           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4000
4001 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4002
4003         * docs/libs/Makefile.am:
4004           Fix path to core docs.
4005
4006         * gst/gstbin.c: (gst_bin_get_by_interface),
4007         (gst_bin_iterate_all_by_interface):
4008           Refix docs by also renaming 'interface' to 'iface' in implementation.
4009
4010         * docs/gst/gstreamer-sections.txt:
4011         * gst/gstcaps.c:
4012         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4013         * gst/gstchildproxy.h:
4014         * gst/gstelementfactory.c:
4015         * gst/gstpadtemplate.h:
4016         * libs/gst/controller/gstcontroller.c:
4017         (gst_controlled_property_new):
4018           Document more.
4019
4020 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4021
4022         * gst/gstbin.h:(gst_bin_get_by_interface),
4023         (gst_bin_iterate_all_by_interface):
4024         Replace interface parameter name by iface as interface is 
4025         a reserved keyword in Visual Studio for C++ projects so it removes
4026         a build error for application developpers using VS.
4027         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4028         Fix a bug on Windows in uri format check. Now the prefix checked
4029         is file:// and next we check if the path after file:// is absolute.
4030         * win32/common/libgstbase.def:
4031         * win32/common/libgstdataprotocol.def:
4032         * win32/common/libgstgstreamer.def:
4033         Add new exported functions.
4034
4035 2007-02-09  Andy Wingo  <wingo@pobox.com>
4036
4037         * tests/check/pipelines/simple-launch-lines.c
4038         (simple_launch_lines_suite, test_tee): Disable tee test until I
4039         have time to fix it :-(
4040
4041         * tests/check/Makefile.am (noinst_HEADERS): 
4042         * tests/check/libs/libsabi.c: 
4043         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4044         * tests/check/gst/gstabi.c: 
4045         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4046
4047         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4048         tests for push and pull tee behavior.
4049
4050         * plugins/elements/gsttee.h: 
4051         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4052         mark as deprecated as well as unimplemented. It was a crack idea.
4053         Add support for tee operating in pull mode, off by default.
4054
4055         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4056         normal-case logs down to LOG, raise errors to WARNING.
4057         (gst_registry_xml_read_cache): Don't log before calling a function
4058         that logs.
4059
4060         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4061         exit (registry finalize).
4062         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4063         DEBUG log when we emit signals that people don't even have the
4064         chance to connect to.
4065         (gst_registry_scan_path_level): Less logging in the normal case.
4066
4067 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4068
4069         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4070
4071         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4072         Correctly generate EOS for non-seekable files. We don't have a total
4073         length for them and would get an unexpected end of file if we only
4074         special-cased for regular files. (Fixes: #404569)
4075
4076 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4077
4078         * tests/check/elements/filesrc.c: (GST_START_TEST),
4079         (filesrc_suite):
4080         Add unit test for the GstURIHandler interface in filesrc. This also
4081         tests the newly added file://localhost/foo/bar support.
4082
4083 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4084
4085         * gst/gstelementfactory.h:
4086           The klass string is not a hierarchy. Add reference to the design doc
4087           for more information and common types.
4088
4089 2007-02-02  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/gstquery.c: (gst_query_new_latency):
4092         Remove old structure field.
4093
4094 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4095
4096         * tools/gst-launch.1.in:
4097           Give example for network streaming (#351998)
4098
4099 2007-02-02  Wim Taymans  <wim@fluendo.com>
4100
4101         * docs/gst/gstreamer-sections.txt:
4102         Add docs for new methods.
4103
4104         * gst/gstevent.c: (gst_event_new_latency),
4105         (gst_event_parse_latency):
4106         * gst/gstevent.h:
4107         Add new LATENCY event to configure latency in a pipeline.
4108         API: gst_event_new_latency
4109         API: gst_event_parse_latency
4110
4111         * gst/gstmessage.c: (gst_message_new_buffering),
4112         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4113         (gst_message_new_latency), (gst_message_parse_buffering),
4114         (gst_message_parse_lost_preroll):
4115         * gst/gstmessage.h:
4116         Added messages used in draft-latency.
4117         API: gst_message_new_lost_preroll
4118         API: gst_message_parse_lost_preroll
4119         API: gst_message_new_prerolled
4120         API: gst_message_new_latency
4121
4122         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4123         (gst_query_parse_latency):
4124         * gst/gstquery.h:
4125         Implemented new latency query as in design doc.
4126         API: gst_query_new_latency
4127         API: gst_query_set_latency
4128         API: gst_query_parse_latency
4129
4130 2007-02-02  Wim Taymans  <wim@fluendo.com>
4131
4132         * docs/design/draft-latency.txt:
4133         Slight redesign to allow for dynamic latency adjustments.
4134
4135         * docs/design/part-negotiation.txt:
4136         Fix some typos.
4137
4138 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4139
4140         reviewed by: Wim Taymans <wim@fluendo.com>
4141
4142         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4143         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4144         Allow file://localhost/foo/bar URLs and correctly fail for every other
4145         hostname that one sets. This was gnomevfssrc is linked for those if
4146         installed as it can handle it (#403172)
4147
4148 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4149
4150         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4151
4152         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4153         (unref_data), (gst_collect_pads_add_pad_full):
4154         * libs/gst/base/gstcollectpads.h:
4155         Don't put the previously added destroy notify in the GstCollectData
4156         struct as all it's padding is already used and we don't want to break
4157         ABI. Instead put in the pad's GObject data for now. This should be
4158         cleaned up for 0.11 (#402393).
4159
4160 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4161
4162         reviewed by: Wim Taymans <wim@fluendo.com>
4163
4164         * docs/libs/gstreamer-libs-sections.txt:
4165         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4166         (unref_data), (gst_collect_pads_add_pad),
4167         (gst_collect_pads_add_pad_full):
4168         * libs/gst/base/gstcollectpads.h:
4169         API: Add function to specify a destroy notification for custom
4170         GstCollectData when adding new pads in GstCollectPads (#402393).
4171
4172 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4173
4174         * po/sv.po:
4175           Update Swedish translation (#378255).
4176
4177 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4178
4179         * docs/design/draft-klass.txt:
4180           Fix the previous change, this is a list of categories and not a hierarchy.
4181
4182 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4183
4184         * docs/design/draft-klass.txt:
4185           Add info about how to get a list of used classes.
4186
4187 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * plugins/elements/gsttypefindelement.c:
4190         (gst_type_find_element_chain_do_typefinding),
4191         (gst_type_find_element_change_state):
4192           Don't leak found caps in chain function (no idea why that never
4193           showed up as a leak anywhere).
4194
4195 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4196
4197         * gst/gstplugin.h:
4198           Fix and expand GstPluginDesc API docs.
4199
4200 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4201
4202         * gst/gstcaps.c:
4203         * gst/gstelementfactory.c:
4204         * gst/gstpadtemplate.h:
4205           api doc fixes
4206
4207         * libs/gst/controller/gstcontroller.c:
4208         (gst_controlled_property_new):
4209         * tests/examples/controller/audio-example.c:
4210           comment fixes
4211
4212 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4213
4214         * configure.ac:
4215           comment about refining the xml deps
4216
4217         * docs/manuals.mak:
4218           comments about moving away from jade for docs
4219         
4220         * gst/gst.c:
4221           recommit the ifdefs to use the binary registry
4222         
4223         * gst/gstbin.c: (gst_bin_change_state_func):
4224           this break is obsolete
4225
4226         * gst/gstelementfactory.h:
4227           better GST_ELEMENT_DETAILS docs, add comment about translation
4228
4229         * gst/gstinfo.h:
4230           remove eol slash
4231
4232         * gst/gstobject.c: (gst_signal_object_get_type):
4233           add G_UNLIKELY as usual
4234
4235         * gst/gstpad.c: (gst_pad_event_default):
4236           add fall trhu comment
4237
4238         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4239         (gst_registry_binary_initialize_magic),
4240         (gst_registry_binary_save_string),
4241         (gst_registry_binary_save_pad_template),
4242         (gst_registry_binary_save_feature),
4243         (gst_registry_binary_save_plugin),
4244         (gst_registry_binary_write_cache),
4245         (gst_registry_binary_check_magic),
4246         (gst_registry_binary_load_pad_template),
4247         (gst_registry_binary_load_feature),
4248         (gst_registry_binary_load_plugin),
4249         (gst_registry_binary_read_cache):
4250           comment typo and formatting
4251
4252         * gst/gstutils.c: (gst_element_state_get_name),
4253         (gst_element_state_change_return_get_name):
4254           remove obsolete breaks
4255
4256         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4257           add FIXME 0.11 and remove cpp comment
4258
4259 2007-01-29  Edward Hervey  <edward@fluendo.com>
4260
4261         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4262         Fix print statement in an even more portable way.
4263
4264 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4265
4266         * docs/gst/gstreamer-sections.txt:
4267         * gst/gstutils.h:
4268           API: add GST_ROUND_DOWN_* macros (#401781).
4269
4270 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * docs/gst/gstreamer.types.in:
4273         * gst/gstregistry.c: (gst_registry_class_init):
4274           Document registry signals and make gtk-doc pick them up (#401381).
4275
4276 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4277
4278         * docs/pwg/building-testapp.xml:
4279           Add some audioconverts and audioresample to the pipeline, and some
4280           more comments and error handling.
4281
4282 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4283
4284         * docs/manual/manual.xml:
4285         * docs/pwg/pwg.xml:
4286           Fix typo (#400987).
4287
4288 2007-01-26  Wim Taymans  <wim@fluendo.com>
4289
4290         * gst/gstcaps.c: (gst_static_caps_get):
4291         Init caps flags too.
4292
4293 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4294
4295         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4296
4297         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4298         If not using mmap'ed files try to seek to the end instead of the
4299         start to determine whether we can seek at all. This fixes the case
4300         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4301         seeks for everything afterwards fail. Fixes #400656
4302
4303 2007-01-25  Wim Taymans  <wim@fluendo.com>
4304
4305         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4306         Add some refcount debugging.
4307         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4308         in multiple streaming threads.
4309
4310 2007-01-25  Wim Taymans  <wim@fluendo.com>
4311
4312         Patch by: David Schleef <ds at schleef dot org>
4313
4314         * docs/libs/gstreamer-libs-sections.txt:
4315         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4316         * libs/gst/base/gstadapter.h:
4317         API: gst_adapter_copy() that can reduce the amount of memcpy when
4318         getting data from the adapter. Fixes #388201.
4319
4320 2007-01-25  Edward Hervey  <edward@fluendo.com>
4321
4322         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4323         In print statements, "%x" is for guint. Fixes build on macosx.
4324
4325 2007-01-24  Edward Hervey  <edward@fluendo.com>
4326
4327         * plugins/elements/gstmultiqueue.c:
4328         (gst_multi_queue_loop):
4329         Small fix.
4330         (single_queue_overrun_cb), (single_queue_underrun_cb),
4331         (single_queue_check_full), (gst_single_queue_new):
4332         Implement single queue growth system.
4333         This uses the extra-size properties, and will grow single queues by
4334         that much if one goes full whereas there are others empty. This is
4335         called extra-mode in the code.
4336         When a single queue's levels go back below the initial max-size
4337         limits, it is no longer in extra-mode. This is to ensure we don't
4338         consume too much memory.
4339         Fixes #399875
4340
4341 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4342
4343         * gst/gst.c: (gst_init_get_option_group):
4344           Make warning about late g_thread_init() calls a bit more explicit,
4345           so that it's more obvious to application developers what they need
4346           to do if a user files a bug against their application.
4347
4348 2007-01-22  Edward Hervey  <edward@fluendo.com>
4349
4350         * plugins/elements/gstmultiqueue.c:
4351         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4352         Remove previous hack of unsetting the flushing flag for the source pad
4353         instead of activating it. Instead, fix the source pad activate function
4354         so that it no longer depends on having a parent set or not.
4355
4356 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4357
4358         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4359
4360         * docs/manual/basics-bus.xml:
4361           Fix example code, gst_element_unref() doesn't exist any longer.
4362
4363 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4364
4365         Patch by: Mark Nauwelaerts <manauw at skynet be>
4366
4367         * gst/gstpad.c:
4368           Fix two docs typoes (#399094).
4369
4370 2007-01-19  Edward Hervey  <edward@fluendo.com>
4371
4372         * docs/faq/gst-uninstalled:
4373         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4374         depending on libgstbaseutils can work in uninstalled environment.
4375
4376 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4377
4378         * gst/gsttaglist.h:
4379         * gst/gsttagsetter.c:
4380         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4381         statement for new tag.
4382
4383 2007-01-17  Edward Hervey  <edward@fluendo.com>
4384
4385         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4386         When dynamically creating single queues, activate sinkpad before adding
4387         it.
4388         We should be doing the same thing for the source pad, but we can't
4389         since it would call a method which needs the parent to be set in order
4390         to work propertly. Instead of activating the source pad, we just unset
4391         the flushing flag, which is the minimal requirement for adding a pad
4392         to an element in a state greater than READY.
4393
4394 2007-01-17  Edward Hervey  <edward@fluendo.com>
4395
4396         * docs/faq/gst-uninstalled:
4397         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4398         Mac OS X.
4399
4400 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4401
4402         * tests/check/gst/gstabi.c:
4403         * tests/check/gst/struct_hppa.h:
4404         * tests/check/libs/libsabi.c:
4405         * tests/check/libs/struct_hppa.h:
4406           Add ABI structs for HPPA (see #393796).
4407
4408 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4409
4410         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4411           Actually write ABI structs to the file specified in the GST_ABI
4412           environment variable, as the message we print claims we would.
4413
4414 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4415
4416         * tests/check/gst/gsttask.c:
4417           Fix header comment.
4418
4419 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4420
4421         * gst/gsttaglist.c: (_gst_tag_initialize):
4422           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4423           previous two entries.
4424
4425 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4426
4427         * docs/gst/gstreamer-sections.txt:
4428         * gst/gsttaglist.c: (_gst_tag_initialize):
4429         * gst/gsttaglist.h:
4430           Add tag support for beat-per-minute.
4431
4432 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4433
4434         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4435         (gst_registry_binary_initialize_magic),
4436         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4437         (gst_registry_binary_save_pad_template),
4438         (gst_registry_binary_save_feature),
4439         (gst_registry_binary_save_plugin),
4440         (gst_registry_binary_write_cache),
4441         (gst_registry_binary_check_magic),
4442         (gst_registry_binary_load_pad_template),
4443         (gst_registry_binary_load_feature),
4444         (gst_registry_binary_load_plugin),
4445         (gst_registry_binary_read_cache):
4446         * gst/gstregistrybinary.h:
4447           Use glib types, cleanup comments, impement interfaces and uri-types.
4448
4449 2007-01-13  Andy Wingo  <wingo@pobox.com>
4450
4451         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4452         getrange() to return buffers with other caps, while we fix
4453         demuxers and typefind, or otherwise change part-negotiation.txt.
4454
4455 2007-01-12  Andy Wingo  <wingo@pobox.com>
4456
4457         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4458         Factor start/stop into this private function instead of partially
4459         in activate functions and partially in the change_state function.
4460         Fixes setup before the element has changed from READY->PAUSED, as
4461         is the case in pull-mode pipelines.
4462         (gst_base_transform_sink_activate_push)
4463         (gst_base_transform_src_activate_pull): Refactor to use
4464         gst_base_transform_activate().
4465         (gst_base_transform_change_state): Removed, not needed any more.
4466
4467         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4468         Truncate before fixating.
4469         
4470         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4471         Don't set_caps() if the result of fixating is ANY, as it's not
4472         supported, and not necessary in the case of a link with no
4473         template caps on either side. Fixes tests/check/libs/basesrc in
4474         some pull-mode tests.
4475
4476         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4477         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4478         (gst_base_transform_src_activate_pull): 
4479         Track the activation mode.
4480         (gst_base_transform_setcaps): In pull mode, when activating the
4481         src pad, after activating the sink pad, activate the sink pad's
4482         peer, as discussed in part-negotiation.txt.
4483
4484         * libs/gst/base/gstbasesrc.h: 
4485         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4486         vmethod, as in basesink.
4487
4488         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4489
4490         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4491         mode, first proxy the setcaps to the peer pad.
4492         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4493         new fixate vmethod.
4494         (gst_base_sink_default_activate_pull): Rename from
4495         gst_base_sink_activate_pull.
4496         (gst_base_sink_negotiate_pull): New function, performs negotiation
4497         in pull mode before calling ::activate_pull().
4498         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4499         vmethod instead of the default implementation. I have no idea how
4500         this worked before. Negotiate before calling activate_pull.
4501
4502         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4503         sink pads in pull mode. In addition to being correct, fixes
4504         filesrc ! decodebin ! identity ! fakesink.
4505         (gst_pad_get_range, gst_pad_pull_range): Don't call
4506         gst_pad_set_caps() if the caps changes; instead error out with
4507         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4508
4509 2007-01-12  Andy Wingo  <wingo@pobox.com>
4510
4511         * docs/design/part-negotiation.txt: Update with more policy.
4512
4513 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4514
4515         * libs/gst/check/gstbufferstraw.h:
4516         * libs/gst/check/gstcheck.h:
4517           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4518           belongs.
4519
4520 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4521
4522         * tests/check/Makefile.am:
4523         * tests/check/gst/.cvsignore:
4524         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4525         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4526         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4527         (GST_START_TEST), (gst_tag_setter_suite):
4528           Add minimal unit test for beforementioned GstTagSetter bug.
4529
4530 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         Patch by: René Stadler <mail at renestadler dot de>
4533
4534         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4535           gst_tag_list_merge() returns a new list, so it's not the best idea
4536           to ingore its return value. Effectively meant that tags could only
4537           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4538           Also add function guard to require a non-NULL taglist as input (has
4539           always been so due to gst_tag_list_copy(), just making it explicit).
4540
4541 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4542
4543         * docs/random/draft-missing-plugins.txt:
4544           Some additions: mention new API that is supposed to be used at the
4545           various stages; short blob about new gst-inspect introspection
4546           option; mention potential future problem with plugins that have
4547           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4548
4549 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * tools/gst-inspect.c:
4552         (print_plugin_automatic_install_info_codecs),
4553         (print_plugin_automatic_install_info_protocols),
4554         (print_plugin_automatic_install_info), (main):
4555         Add --print-plugin-auto-install-info option to gst-inspect, so we can
4556         introspect plugin files and get machine-parsable output that corresponds
4557         to the last bit of the missing-plugin installer string (small gotcha:
4558         doesn't take into account ranks).
4559
4560 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
4561
4562         * configure.ac:
4563         * docs/gst/gstreamer-sections.txt:
4564         * gst/Makefile.am:
4565         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4566         (gst_registry_lookup_locked):
4567         * gst/gstregistry.h:
4568         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4569         (gst_registry_binary_initialize_magic),
4570         (gst_registry_binary_save_string),
4571         (gst_registry_binary_save_pad_template),
4572         (gst_registry_binary_save_feature),
4573         (gst_registry_binary_save_plugin),
4574         (gst_registry_binary_write_cache),
4575         (gst_registry_binary_check_magic),
4576         (gst_registry_binary_load_pad_template),
4577         (gst_registry_binary_load_feature),
4578         (gst_registry_binary_load_plugin),
4579         (gst_registry_binary_read_cache):
4580         * gst/gstregistrybinary.h:
4581         * gst/gstregistryxml.c: (load_feature),
4582         (gst_registry_xml_read_cache):
4583           commit binary registry (disabled by default, see #359653)
4584
4585 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4586
4587         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4588           Fix 'make check' too.
4589
4590 2007-01-10  Andy Wingo  <wingo@pobox.com>
4591
4592         * docs/design/part-negotiation.txt: Fix a typo, add a couple
4593         notes.
4594         
4595         * docs/design/part-negotiation.txt: Update with, um, one way that
4596         pull-mode negotiation might work?
4597
4598         * gst/gstpad.h: 
4599         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4600         that the pad must be a src pad; makes sense to call it the other
4601         way in pull mode, and the logic is symmetric anyway.
4602
4603 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4604
4605         * plugins/elements/gstfilesink.c:
4606           Include <stdio.h> for fseeko().
4607
4608 2007-01-10  Wim Taymans  <wim@fluendo.com>
4609
4610         * gst/gstevent.c:
4611         * gst/gstevent.h:
4612         Reserve LATENCY event.
4613
4614 2007-01-09  Wim Taymans  <wim@fluendo.com>
4615
4616         * docs/design/draft-latency.txt:
4617         Updates.
4618
4619 2007-01-09  Wim Taymans  <wim@fluendo.com>
4620
4621         * docs/design/draft-latency.txt:
4622         Updates.
4623
4624         * gst/gstelement.h:
4625         * gst/gststructure.c:
4626         * gst/gsttrace.c:
4627         Small typo fixes.
4628
4629 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         * tests/check/.cvsignore:
4632           Ignore test-registry.xml as well.
4633
4634 2007-01-09  Wim Taymans  <wim@fluendo.com>
4635
4636         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4637         unref data at the end when we are done with the pad.
4638
4639 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * docs/gst/gstreamer-sections.txt:
4642         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4643         (init_post), (gst_deinit), (gst_update_registry):
4644         * gst/gst.h:
4645           API: add gst_update_registry() (#391296).
4646
4647         * tests/check/Makefile.am:
4648         * tests/check/gst/gstregistry.c:
4649         * tests/check/gst/.cvsignore:
4650           Simple unit test for the above.
4651
4652 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4653
4654         * gst/gstregistry.c: (gst_registry_scan_path_level):
4655           Plugin extension on HP-UX is .sl, add that to the list of approved
4656           plugin extensions (see #393796).
4657
4658         * tests/check/gst/gstpad.c: (GST_START_TEST):
4659           ulong => gulong. Fixes compilation with HP-UX compiler.
4660
4661         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4662           Fix compilation if valgrind headers are not available.
4663
4664 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
4665
4666         * win32/common/libgstreamer.def: 
4667           Add new exported function.
4668         * win32/vs6/libgstbase.dsp: 
4669           Add gstdataqueue.c to the build.
4670         * win32/vs6/libgstcoreelements.dsp:
4671           Add gstmultiqueue.c to the build.
4672         
4673 2007-01-06  Andy Wingo  <wingo@pobox.com>
4674
4675         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4676         activate_pull(), providing for a way to specialize the process of
4677         spawning a thread to pull on the sink pad. There is a default
4678         implementation.
4679
4680         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4681         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4682         (gst_base_sink_init): Renamed pad activation functions (inserting
4683         "_pad" in their names). Refactor to use the new activate_pull
4684         vmethod, as appropriate.
4685         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4686         default activate_pull function to start a task pulling from the
4687         sink pad, as before.
4688
4689         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4690         on the pads if necessary, as in push()/chain(). Update docs.
4691         Shouldn't affect existing pull() usage as it is currently only
4692         being used on buffers without caps.
4693
4694 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4695
4696         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4697         (init_pre):
4698           Call g_thread_init() first thing in gst_init() / gst_check_init().
4699           When initialisation is done via gst_init_get_option_group() and
4700           GOption parsing, issue a warning if the GLib thread system has not
4701           been initialised yet by the time gst_init_get_option_group() is
4702           called, as it's quite likely other GLib functions such as
4703           g_option_context_new() have been called already then, and
4704           g_thread_init() must be called before any other GLib function. The
4705           application in question must be fixed in that case, since memory
4706           corruption might happen otherwise.
4707           We issue the warning because even if the GLib folks decide to work
4708           around the problem on their end in future, this is still an issue
4709           with all GLib versions >= 2.10.0, so we should warn until we depend
4710           on a GLib version we know to be safe.
4711           Update documentation as well.
4712           Closes bug #391278.
4713
4714 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * tools/gst-inspect.c: (main):
4717         * tools/gst-launch.c: (main):
4718         * tools/gst-typefind.c: (main):
4719         * tools/gst-xmlinspect.c: (main):
4720           Call g_thread_init() really really early, before any other GLib
4721           function (see #342564 and recent discussion on gtk-devel-list).
4722
4723 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4724
4725         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
4726
4727         * gst/gst_private.h:
4728         * gst/gstconfig.h.in:
4729         * gst/gstinfo.h:
4730           On win32, all the __declspec stuff for symbol exporting is
4731           apparently only needed with MSVC, but doesn't work with MingW.
4732           Fixes compilation with MingW and #391909.
4733
4734 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4735
4736         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4737           Change some GST_ERROR_OBJECT that aren't really errors to
4738           GST_WARNING_OBJECT in order to reduce terminal spam.
4739
4740 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4741
4742         * tests/check/Makefile.am:
4743           disable test again, as there seem to be still race problems
4744
4745 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4746
4747         * tests/check/Makefile.am:
4748         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4749         (GST_START_TEST), (queue_suite):
4750           enable queue test again, add tests for the leaky behaviour
4751
4752 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
4753
4754         * configure.ac:
4755         * tests/examples/Makefile.am:
4756           Compile adapter test/example only if the required headers are
4757           available (fixes #391915).
4758
4759 2007-01-01  David Schleef  <ds@schleef.org>
4760
4761         * gst/gstplugin.c:
4762           Restore the previous signal handler for SIGSEGV instead of
4763           setting to default, since we may have stolen it away from
4764           someone.  (i.e., Mono)
4765
4766 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4767
4768         * docs/random/draft-missing-plugins.txt:
4769           Some small additions and clarifications.
4770
4771 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4774           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4775           since that can lead to random memory corruptions and crashes
4776           (may or may not be related to #383244, #386711, and #386711).
4777
4778 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4779
4780         * tests/check/.cvsignore:
4781         * tests/check/Makefile.am:
4782           sync .cvsignome and CLEANFILES
4783
4784 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4785
4786         * tests/check/Makefile.am:
4787           fix distcheck
4788
4789 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4790
4791         * docs/design/part-states.txt:
4792           two tiny additional comments
4793         
4794         * gst/gststructure.c:
4795           doc fixing
4796
4797         * tests/check/Makefile.am:
4798         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4799         (GST_START_TEST):
4800           disable test for now, unless it gets fixed
4801
4802 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4803
4804         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4805         (GST_START_TEST):
4806           fix race in underrun test
4807
4808 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4809
4810         * tests/check/elements/.cvsignore:
4811           ignore more
4812
4813         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4814         (GST_START_TEST):
4815           try to narrow test failure
4816
4817 2006-12-21  David Schleef  <ds@schleef.org>
4818
4819         * plugins/elements/gstfakesrc.c:
4820           Use g_random_int_range(), since it produces better random
4821           numbers in a range than almost-correct floating point code.
4822
4823 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4824
4825         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4826         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4827         (gst_check_teardown_sink_pad):
4828           do not automatically (de)activate pads
4829
4830         * tests/check/Makefile.am:
4831         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4832         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4833           add new, yet simple tests for queue
4834
4835         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4836         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4837         * tests/check/elements/filesrc.c: (cleanup_filesrc),
4838         (GST_START_TEST):
4839         * tests/check/elements/identity.c: (cleanup_identity):
4840           consistent pad (de)activation
4841
4842 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4843
4844         Patch by: Sebastian Dröge  <slomo ubuntu com>
4845
4846         * libs/gst/base/gstcollectpads.c:
4847           Fix two doc typos (#387866).
4848
4849 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4850
4851         * docs/manual/advanced-dparams.xml:
4852           Fix typo (g_object_control_properties() doesn't exist).
4853
4854 2006-12-19  Edward Hervey  <edward@fluendo.com>
4855
4856         * gst/gstsegment.c: (gst_segment_set_seek):
4857         Fine tune the cases where the segment start/stop values are really
4858         updated.
4859         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4860         Add tests for the return values of gst_segment_set_seek().
4861
4862 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4863
4864         * gst/gst.c:
4865           Docs typo fix.
4866
4867         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4868         (gst_queue_init):
4869           Fix incorrect documentation and flesh it out a bit more.
4870           Set default values for the max properties on the GParamSpec as well,
4871           so it shows up correctly in gst-inspect.
4872
4873 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
4874
4875         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4876           Correct docs of queue, add more detail and crosslink it more.
4877
4878 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4881           Print additional debug info when the stream isn't perfectly
4882           timestamped; don't try to use invalid durations.
4883
4884 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4885
4886         * docs/design/Makefile.am:
4887           Dist new design docs.
4888
4889 2006-12-16  Wim Taymans  <wim@fluendo.com>
4890
4891         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4892
4893         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4894         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4895         (gst_collect_pads_stop), (gst_collect_pads_event),
4896         (gst_collect_pads_chain):
4897         * libs/gst/base/gstcollectpads.h:
4898         Add refcounting to the collectpads data so we can track when it's safe
4899         to free the data. Fixes #383382.
4900
4901 2006-12-15  Wim Taymans  <wim@fluendo.com>
4902
4903         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4904         (gst_collect_pads_remove_pad):
4905         Automatically activate/deactivate pads when they are added to a
4906         started/stoped collectpads.
4907
4908 2006-12-15  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/gstelement.c: (gst_element_add_pad):
4911         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4912         * gst/gstpad.c: (gst_pad_init):
4913         Set pads to FLUSHING when they are created. Check, warn and fix when a
4914         demuxer adds an inactive pad to itself when running. Fixes #339326.
4915
4916 2006-12-15  Wim Taymans  <wim@fluendo.com>
4917
4918         * gst/gstelement.c: (gst_element_class_init),
4919         (gst_element_default_send_event), (gst_element_send_event),
4920         (gst_element_default_query), (gst_element_query):
4921         Expose default element send_event and query handling as vmethods that
4922         subclasses can chain up to.
4923
4924 2006-12-15  Wim Taymans  <wim@fluendo.com>
4925
4926         * gst/gstelement.c: (gst_element_set_state_func):
4927         Small documentation fixes.
4928
4929 2006-12-15  Wim Taymans  <wim@fluendo.com>
4930
4931         * docs/design/draft-latency.txt:
4932         Checked in draft for handling latency in pipelines.
4933
4934 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4935
4936         * Makefile.am:
4937         * gstreamer.doap:
4938         * gstreamer.spec.in:
4939           adding .doap file
4940
4941 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
4942
4943         * gst/gst.c: (init_pre), (init_post):
4944           init_pre() and init_post() might be called via our GOptionGroup or
4945           from gst_init(), and we should skip both of them if we've already
4946           been initialised, otherwise we will init some things twice or add
4947           two default log functions.
4948
4949 2006-12-13  Edward Hervey  <edward@fluendo.com>
4950
4951         * docs/manual/basics-bus.xml:
4952         No, gst_main_loop does not exist. Its g_main_loop.
4953         Discovered by somebody who abused the copy-paste technique of coding :)
4954
4955 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/gstghostpad.c:
4958           Log ghostpad debug stuff to the GST_PADS category as well rather
4959           than just to the default category.
4960
4961 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * configure.ac:
4964         * gst/gst.c: (init_pre):
4965           Add some basic system details such as OS and architecture
4966           to the debug output if possible, courtesy of uname().
4967
4968 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * docs/gst/running.xml:
4971           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4972           environment variables.
4973
4974 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4975
4976         * tests/check/gst/gstbin.c: (GST_START_TEST):
4977         It is acceptable to have a refcount of 2 or 3 at this point in the
4978         test, because the pipeline might be just posting its state_change
4979         message. The next line then waits for that message to appear using
4980         bus_poll, so that should be fine too.
4981
4982 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4983
4984         * gst/gst.c: (ensure_current_registry_forking):
4985         Ignore EINTR when reading from the child registry pipe.
4986         Explicitly ignore the return value from close, since it makes no
4987         difference.
4988
4989         * gst/gstminiobject.c: (gst_mini_object_ref),
4990         (gst_mini_object_unref):
4991         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4992
4993         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4994         When removing cached plugins, remove their features too, so they're
4995         not visible after they've disappeared.
4996
4997         * gst/gstutils.c: (prepare_link_maybe_ghosting):
4998         In the unlikely case that we are linking pads with no parents, don't
4999         crash trying to get the non-existent parent bin.
5000
5001         * gst/parse/grammar.y:
5002         Output debug in the PIPELINE category
5003
5004 2005-03-08  Wim Taymans  <wim@fluendo.com>
5005
5006         Patch by: René Stadler <mail at renestadler dot de>
5007
5008         * gst/gstclock.c: (gst_clock_new_periodic_id):
5009         Reject invalid clock times for interval of periodic ids.
5010         Fixes ##383506.
5011
5012 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5013
5014         * gst/gstelementfactory.c: (gst_element_factory_create):
5015         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5016         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5017         * tools/gst-inspect.c: (print_element_info):
5018         Fix refcounting of gst_plugin_feature_load to match the docs. 
5019         Fixes: #380129
5020
5021 2006-12-07  Wim Taymans  <wim@fluendo.com>
5022
5023         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5024         (gst_base_sink_get_position):
5025         Improve debugging of events.
5026
5027 2006-12-07  Wim Taymans  <wim@fluendo.com>
5028
5029         Patch by: René Stadler <mail at renestadler dot de>
5030
5031         * gst/gstclock.c: (gst_clock_id_wait):
5032         Make period ids add the interval to the origial requested time instead
5033         of the possibly updated time which can be wrong when there are multiple
5034         waiters for the same id. Fixes #382592.
5035
5036         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5037         (gst_system_clock_id_wait_jitter_unlocked),
5038         (gst_system_clock_id_wait_jitter):
5039         Fix restart in the async notify thread when an async entry is added to
5040         the front of the list. Fixes #381492. 
5041
5042         * tests/check/gst/gstsystemclock.c: (store_callback),
5043         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5044         Added test for multiple async waits.
5045         Added test for async wait order.
5046
5047 2006-12-07  Wim Taymans  <wim@fluendo.com>
5048
5049         * gst/gstbin.c: (gst_bin_query):
5050         Add some more docs about the POSITION query.
5051
5052 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5053
5054         * configure.ac:
5055         Bump version nano - back to CVS.
5056
5057 === release 0.10.11 ===
5058
5059 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5060
5061         * configure.ac:
5062           releasing 0.10.11, "Love never runs on time"
5063
5064 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5065
5066         * win32/common/libgstbase.def:
5067         * win32/common/libgstreamer.def:
5068         * win32/vs8/libgstbase.vcproj:
5069         * win32/vs8/libgstcoreelements.vcproj:
5070         * win32/vs8/libgstreamer.vcproj:
5071         Fix compilation on win32 under VS8
5072         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5073         Partially fixes #381175
5074
5075 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5076
5077         * gst/gstvalue.c: (gst_value_compare_fraction):
5078         If someone is foolish enough to compare 2 fractions with denominator =
5079         0, return UNORDERED rather than aborting.
5080
5081 2006-11-28  Edward Hervey  <edward@fluendo.com>
5082
5083         * libs/gst/base/Makefile.am:
5084         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5085         (gst_data_queue_base_init), (gst_data_queue_class_init),
5086         (gst_data_queue_init), (gst_data_queue_new),
5087         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5088         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5089         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5090         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5091         (gst_data_queue_set_flushing), (gst_data_queue_push),
5092         (gst_data_queue_pop), (gst_data_queue_drop_head),
5093         (gst_data_queue_set_property), (gst_data_queue_get_property):
5094         * libs/gst/base/gstdataqueue.h:
5095         New GstDataQueue object for threadsafe queueing. Most useful for
5096         elements that need some queueing functionnality.
5097         * docs/libs/gstreamer-libs-docs.sgml:
5098         * docs/libs/gstreamer-libs-sections.txt:
5099         Insert documentation for GstDataQueue
5100         * plugins/elements/Makefile.am:
5101         * plugins/elements/gstelements.c:
5102         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5103         (gst_multi_queue_class_init), (gst_multi_queue_init),
5104         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5105         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5106         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5107         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5108         (gst_multi_queue_loop), (gst_multi_queue_chain),
5109         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5110         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5111         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5112         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5113         (wake_up_next_non_linked), (compute_next_non_linked),
5114         (single_queue_overrun_cb), (single_queue_underrun_cb),
5115         (single_queue_check_full), (gst_single_queue_new):
5116         * plugins/elements/gstmultiqueue.h:
5117         New multiqueue element, using GstDataQueue. Used for queuing multiple
5118         streams.
5119         Closes #344639 and #347785
5120
5121 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5122
5123         * docs/pwg/advanced-types.xml:
5124           add more missing type details
5125
5126         * tools/gst-run.c: (main):
5127           remove unused variable
5128
5129 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5130
5131         * docs/libs/Makefile.am:
5132         * docs/libs/gstreamer-libs.types:
5133           add types of base classes to enable gobject specific stuff in the docs
5134
5135         * docs/random/ensonic/embedded.txt:
5136           more ideas about isolating platform specific things
5137
5138 2006-11-20  Wim Taymans  <wim@fluendo.com>
5139
5140         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5141
5142         * libs/gst/check/gstcheck.h:
5143         Fix compilation and running against 0.9.4. Fixes #377332.
5144
5145 2006-11-20  Wim Taymans  <wim@fluendo.com>
5146
5147         * gst/gstsegment.c: (gst_segment_set_seek),
5148         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5149         (gst_segment_to_running_time):
5150         Fix boundary checking in to_running_time() and to_stream_time().
5151         Fixes #377183.
5152
5153         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5154         stream and running time can now be calculated for the complete
5155         clipped segment.
5156
5157 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * gst/gstpad.c: (gst_pad_push_event):
5160           Can't access event structure after giving away ownership of
5161           the event.
5162
5163 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * docs/random/ensonic/embedded.txt:
5166         * docs/random/ensonic/profiling.txt:
5167         * docs/random/ensonic/receipies.txt:
5168           more thinking
5169
5170 2006-11-13  Wim Taymans  <wim@fluendo.com>
5171
5172         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5173
5174         * gst/gstpad.c:
5175         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5176
5177 2006-11-13  Wim Taymans  <wim@fluendo.com>
5178
5179         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5180
5181         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5182         Store new length in segment duration so we don't keep on calling the
5183         potentially expensize get_size() call. Fixes #370865.
5184
5185 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5186
5187         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5188
5189         * win32/common/libgstreamer.def:
5190           Add two missing symbols (#366492).
5191
5192 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5193
5194         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5195         (gst_adapter_take_buffer):
5196         Fix format string to use all its arguments.
5197         Remove useless >= check on a guint
5198
5199 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5200
5201         * tests/examples/adapter/.cvsignore:
5202         Ignore build file as commanded by the build-bot
5203
5204 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5205
5206         * tests/examples/adapter/Makefile.am:
5207         * tests/examples/adapter/adapter_test.c: (run_test_take),
5208         (run_test_take_buffer), (run_tests), (main):
5209
5210         Add new files from the previous commit
5211
5212 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5213
5214         * Makefile.am:
5215         * configure.ac:
5216         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5217         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5218         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5219         * libs/gst/base/gstadapter.h:
5220         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5221         (GST_START_TEST), (gst_adapter_suite):
5222         * tests/examples/Makefile.am:
5223         Do some optimisation work in GstAdapter to avoid copies in more cases.
5224         It could still do slightly better by merging buffers when
5225         gst_buffer_is_span_fast is true, but is already faster. 
5226
5227         Also, avoid traversing a single-linked list to append each incoming 
5228         buffer inside the adapter.
5229
5230         Add simple test app that times the adapter behaviour in different
5231         situations, and extend the unit test to check that bytes enter and
5232         exit the adapter in their original order.
5233
5234 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5235
5236         * docs/random/draft-missing-plugins.txt:
5237           Update: use element message instead of adding a new message
5238           type to the core; don't provide GStreamer API to initiate the
5239           plugin download, just provide API to compose the strings needed
5240           and let an external libgimmestuff handle the rest.
5241
5242 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5243
5244         * tools/gst-inspect.c: (print_element_properties_info):
5245         Print a string instead of 'unknown type' for GValueArray properties
5246
5247 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5248
5249         * docs/random/draft-missing-plugins.txt:
5250         More small fixes.
5251
5252 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5253
5254         * tests/examples/typefind/typefind.c: (type_found), (main):
5255           Make typefind element example work again (#371894); add a
5256           license header.
5257
5258 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * docs/random/draft-missing-plugins.txt:
5261           Commit initial draft about how to deal with missing plugins,
5262           needs work (API too).
5263
5264 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5265
5266         * docs/pwg/advanced-types.xml:
5267           documents the new caps elements (see #363118)
5268
5269 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5270
5271         * gst/gstplugin.c: (gst_plugin_load_file):
5272         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5273         (gst_file_src_map_region), (gst_file_src_start):
5274         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5275         (gst_file_index_commit):
5276           Use g_strerror() instead of strerror() - we want UTF-8.
5277
5278 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5279
5280         Patch by: Peter Kjellerstedt <pkj at axis com>
5281
5282         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5283           Another printf fix (#371493).
5284
5285 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5286
5287         * tests/check/gst/gsttag.c:
5288           relicence (okay with author=company)
5289
5290 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5291
5292         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5293         (gst_pad_push_event):
5294           Enhance debug and improve docs
5295         
5296         * gst/gsturi.c:
5297           Fix docs
5298
5299 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5300
5301         * docs/random/ensonic/distributed.txt:
5302         * docs/random/ensonic/profiling.txt:
5303           more ideas
5304
5305 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * docs/gst/gstreamer-sections.txt:
5308           add new API and fix the build
5309           
5310         * gst/gstbin.c: (gst_bin_recalc_state):
5311         * gst/gstelement.c: (gst_element_message_full),
5312         (gst_element_get_state_func), (gst_element_set_state_func):
5313           use new API and improve logging
5314         
5315         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5316         * gst/gstutils.h:
5317           API: add function to get StateChangereturn names to improve logs 
5318
5319 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5320
5321         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5322           I'm considering shooting the next person to put strerror stuff
5323           in the translateable part of the message.
5324
5325 2006-11-03  Wim Taymans  <wim@fluendo.com>
5326
5327         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5328         Get the type and printf conversion specifiers right.
5329
5330 2006-11-03  Wim Taymans  <wim@fluendo.com>
5331
5332         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5333
5334         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5335         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5336         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5337         Some small cleanups. Improve debugging.
5338         * gst/gstpad.h:
5339         Signal all waiting threads with a broadcast instead of just one.
5340         Fixes #369942.
5341
5342 2006-11-03  Wim Taymans  <wim@fluendo.com>
5343
5344         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5345         (gst_fd_src_create):
5346         Add some debugging. 
5347         Only update fd when it's different from the old.
5348
5349 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5350
5351         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5352           Printf fixes for PPC/OSX, take two (#369366).
5353
5354 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5355
5356         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5357
5358         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5359         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5360         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5361           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5362           don't cast to long long for portability reasons, but use
5363           GLib's types instead.
5364
5365 2006-10-30  Michael Smith  <msmith@fluendo.com>
5366
5367         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5368           Get the arguments to lseek() the right way around.
5369           Fixes 367677.
5370
5371 2006-10-30  Wim Taymans  <wim@fluendo.com>
5372
5373         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5374
5375         * gst/gstinfo.h:
5376         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5377
5378 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5381
5382         * docs/design/part-MT-refcounting.txt:
5383         * docs/random/wtay/capsnego2-docs:
5384         * gst/gstclock.c:
5385         * gst/gstxml.c:
5386           Typo fixes (#366212).
5387
5388 2006-10-28  Wim Taymans  <wim@fluendo.com>
5389
5390         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5391
5392         * gst/gst.c:
5393         * win32/common/libgstbase.def:
5394         * win32/common/libgstreamer.def:
5395         * win32/vs8/libgstbase.vcproj:
5396         * win32/vs8/libgstcontroller.vcproj:
5397         Add needed entries in .def files.
5398         Use HAVE_UNISTD_H.
5399         Rearrange def files in vs8 solutions. Fixes #366286.
5400
5401 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * win32/common/gstconfig.h:
5404           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5405           hand-made win32 gstconfig.h. Fixes #366321.
5406
5407 2006-10-27  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5410         (gst_ghost_pad_new_full):
5411         Make acceptcaps return TRUE when we don't have a target, just like
5412         setcaps does.
5413
5414 2006-10-27  Wim Taymans  <wim@fluendo.com>
5415
5416         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5417         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5418
5419 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * gst/gststructure.c: (gst_structure_id_set_value):
5422           If someone tries to set a non-UTF8 string field on a structure,
5423           don't just print a warning, but also ignore the request and do
5424           not change/add that field to the structure.
5425
5426         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5427           Test for the above.
5428
5429 2006-10-25  David Schleef  <ds@schleef.org>
5430
5431         * gst/gstinfo.c:
5432           g_hash_table_insert() needs a cast to a non-const pointer duh.
5433
5434 2006-10-25  David Schleef  <ds@schleef.org>
5435
5436         * gst/gstinfo.c:
5437         * gst/gstinfo.h:
5438           Change name parameter of _gst_debug_register_funcptr to const
5439           to reflect the constness of its use in the function as well
5440           as to quiet a gcc warning.
5441
5442 2006-10-25  Edward Hervey  <edward@fluendo.com>
5443
5444         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5445         Don't push the buffer if it's empty.
5446         Closes #363095
5447
5448 2006-10-24  Wim Taymans  <wim@fluendo.com>
5449
5450         * gst/gstevent.h:
5451         Add small comment.
5452
5453         * libs/gst/base/gstbasetransform.c:
5454         (gst_base_transform_sink_eventfunc):
5455         Debug segment values *after* updating them as this is more
5456         interesting.
5457
5458 2006-10-23  Wim Taymans  <wim@fluendo.com>
5459
5460         * docs/design/part-events.txt:
5461         Update some docs.
5462
5463         * docs/design/part-block.txt:
5464         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5465         (gst_pad_push_event):
5466         Revert BLOCKING patch, it tries to be smart without really having a
5467         clear idea what or how. So, now we discard all FLUSHING events again on
5468         a blocking pad. Should fix gnonlin again.
5469
5470 2006-10-23  Wim Taymans  <wim@fluendo.com>
5471
5472         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5473
5474         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5475         (gst_base_src_start), (gst_base_src_activate_push):
5476         Make sure size is always initialized. Fixes #364388.
5477
5478 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5479
5480         * docs/random/ensonic/distributed.txt:
5481           add some ideas about doing distributed processing
5482
5483         * docs/random/ensonic/profiling.txt:
5484           get_rusage look promising
5485
5486 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5487
5488         * docs/manual/basics-helloworld.xml:
5489           Add a cast in example to fix compile warning
5490
5491 2006-10-18  Wim Taymans  <wim@fluendo.com>
5492
5493         * gst/gstsegment.c: (gst_segment_set_last_stop),
5494         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5495         Relax arg checking again, -1 is allowed.
5496
5497 2006-10-18  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/gstsegment.c: (gst_segment_set_last_stop),
5500         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5501         _set_last_stop() must be with a value != -1
5502         A _TYPE_SET to -1 means seek to 0.
5503         Calc last_stop correctly for negative rates.
5504         Make sure we work with positive durations when updating a segment.
5505
5506 2006-10-18  Wim Taymans  <wim@fluendo.com>
5507
5508         * docs/design/part-live-source.txt:
5509         * gst/gstclock.h:
5510         Small docs fixes.
5511
5512 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5513
5514         * gst/gstbuffer.h:
5515           Add an explicit cast to GstBuffer** to keep old code that added an
5516           explicit cast to GstMiniObject** for gst_mini_object_replace()
5517           compiling without warning.
5518
5519 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5520
5521         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5522           check for validity of dates
5523
5524 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5525
5526         * docs/gst/gstreamer-sections.txt:
5527           Forgot this one, makes gtk-doc shut up.
5528
5529 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         Patch by: Peter Kjellerstedt <pkj at axis com>
5532
5533         * gst/gstobject.h:
5534           Don't define xmlNodePtr to gpointer if the core was built with
5535           --disable-loadsave and --disable-registry, this will break
5536           applications that want to use libxml2 but are buildling against a
5537           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5538           instead so we don't have to mess with the libxml2 namespace
5539           (#361675).
5540
5541 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5542
5543         * gst/gstbuffer.h:
5544           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5545           type-punned pointer warnings.
5546
5547 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5548
5549         * gst/gstelement.h:
5550           Add casts to the correct return type to state <=> state transition
5551           macros.
5552
5553 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
5554
5555         * docs/design/part-live-source.txt:
5556           describe howto handle latency
5557         
5558         * docs/random/ensonic/profiling.txt:
5559           more ideas
5560
5561         * tools/gst-plot-timeline.py:
5562           fix log parsing for solaris, remove unused function
5563
5564 2006-10-16  Wim Taymans  <wim@fluendo.com>
5565
5566         * docs/design/part-trickmodes.txt:
5567         * gst/gstevent.c:
5568         Update some docs regarding reverse playback.
5569
5570 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5571
5572         Patch by: Marcus Granado  <mrc dot gran at gmail com>
5573
5574         * win32/vs8/grammar.vcproj:
5575           Error out with a warning if glib-genmarshal.exe is not in path,
5576           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5577
5578 2006-10-13  Wim Taymans  <wim@fluendo.com>
5579
5580         * gst/gstsegment.c: (gst_segment_set_seek):
5581         When seeking to stop -1, set last_stop (current position) to the
5582         duration of the segment.
5583
5584 2006-10-13  Wim Taymans  <wim@fluendo.com>
5585
5586         * gst/gstelement.h:
5587         Clarify _NO_PREROLL a bit more.
5588
5589         * gst/gstevent.c:
5590         Fix docs.
5591
5592         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5593         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5594         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5595         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5596         due to wrong locking order. Fixes #361769.
5597         Remove some redundant/misplaced checks in pad_block.
5598
5599         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5600         For negative rates, count backwards from the duration.
5601
5602 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5603
5604         * gst/gsterror.c: (_gst_library_errors_init):
5605           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5606           up with something better).
5607
5608 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5609
5610         * win32/vs6/libgstreamer.dsp:
5611         * win32/vs7/libgstreamer.vcproj:
5612         * win32/vs8/libgstreamer.vcproj:
5613           Don't reference glib-compat.c which is currently not used and not
5614           disted; add gstquark.c which was recently added. Fixes #361730.
5615
5616 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5617
5618         * win32/common/libgstbase.def:
5619         * win32/common/libgstcontroller.def:
5620         * win32/common/libgstreamer.def:
5621           Add gst_caps_merge() and a bunch of other recently-added functions.
5622           Fixes #361732.
5623
5624 2006-10-11  Wim Taymans  <wim@fluendo.com>
5625
5626         * docs/plugins/gstreamer-plugins.args:
5627         * docs/plugins/inspect/plugin-coreelements.xml:
5628         * docs/plugins/inspect/plugin-coreindexers.xml:
5629         Update element args.
5630
5631         * gst/gstsystemclock.c:
5632         Small comment update.
5633
5634         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5635         (gst_tee_request_new_pad), (gst_tee_release_pad),
5636         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5637         (gst_tee_sink_activate_pull):
5638         * plugins/elements/gsttee.h:
5639         Some tee loving:
5640         Add default property defines.
5641         Implement release pad function.
5642         Give properties better blubs etc.
5643         Activate pads before adding them to a running tee.
5644         Do simple buffer_alloc on the first requested pad.
5645         Post error when activation fails.
5646
5647 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5648
5649         * gst/gst.c: (ensure_current_registry_forking):
5650           Check return value of write() to make compiler happy.
5651
5652 2006-10-11  Wim Taymans  <wim@fluendo.com>
5653
5654         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5655
5656         * plugins/elements/gstqueue.c: (gst_queue_chain):
5657         Recheck queue filledness after signalling the overrun when we're about
5658         to leak downstream because we released the lock when emitting the signal
5659         and the queue could be empty again. Fixes #352345.
5660
5661 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5662
5663         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5664           Fix refcounting here too, just like we did for _new_valist() a few
5665           days ago (#357180) (thanks to René Stadler). Also remove all those
5666           'Since: 0.9' from the gtk-doc blobs.
5667
5668         * tests/check/libs/controller.c: (controller_refcount_new_list),
5669         (gst_controller_suite):
5670           Unit test for the above.
5671
5672 2006-10-10  Wim Taymans  <wim@fluendo.com>
5673
5674         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5675
5676         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5677         (gst_pad_save_thyself):
5678         Update some docs.
5679         Write pad direction in XML output. Fixes #345496.
5680
5681 2006-10-10  Wim Taymans  <wim@fluendo.com>
5682
5683         Patch by: René Stadler <mail at renestadler dot de>
5684
5685         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5686         (gst_controller_new_list), (_gst_controller_dispose),
5687         (_gst_controller_finalize), (_gst_controller_class_init):
5688         Take ref to controlled object so that it cannot disappear. 
5689         Fixes #357432.
5690
5691 2006-10-10  Wim Taymans  <wim@fluendo.com>
5692
5693         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5694         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5695         (gst_check_teardown_sink_pad):
5696         Activate/deactivate pads in setup/teardown respectively.
5697
5698 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5699
5700         Patch by: Josep Torre Valles <josep@fluendo.com>
5701
5702         * gst/Makefile.am:
5703         Cast values when making gstenumtypes.h.  This pacifies Forte
5704         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5705         in the enumeration.
5706
5707 2006-10-09  Wim Taymans  <wim@fluendo.com>
5708
5709         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5710         Rename some more @cur to @start to fix docs. 
5711
5712         * gst/gstsegment.c: (gst_segment_set_seek):
5713         Fix typo.
5714         time and start must always stay in sync as defined in design doc.
5715
5716         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5717         Rename param to fix docs.
5718
5719         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5720         Check that start and time are in sync.
5721
5722         * tests/check/pipelines/parse-launch.c:
5723         (gst_parse_test_element_change_state):
5724         Activate pad before adding to the element.
5725
5726 2006-10-09  Wim Taymans  <wim@fluendo.com>
5727
5728         * docs/design/part-qos.txt:
5729         Fix typo.
5730
5731         * gst/gstevent.c:
5732         * gst/gstevent.h:
5733         Update seek event docs regarding negative rates.
5734         Rename @cur to @start. 
5735
5736         * gst/gstsegment.c: (gst_segment_set_seek):
5737         * gst/gstsegment.h:
5738         Update set_seek docs regarding negative rates.
5739         Correctly update last_stop to @stop when dealing with negative
5740         rates.
5741         Rename @cur to @start. 
5742
5743         * tests/check/gst/gstpad.c: (GST_START_TEST):
5744         Activate pads before trying to use them.
5745
5746         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5747         (gst_segment_suite):
5748         Add simple check for segments and negative rates.
5749
5750 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5751
5752         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5753         * gst/gsttaglist.h:
5754         * docs/gst/gstreamer-sections.txt:
5755           API: add gst_tag_list_is_empty() (#360467).
5756
5757         * tests/check/gst/gsttag.c: (GST_START_TEST):
5758           And a test case.
5759
5760 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5761
5762         * gst/gstmessage.h:
5763         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5764         a value that doesn't fit on enumeration.
5765
5766 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5767
5768         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5769         Remove local debugging system and use Gstreamer's instead.
5770
5771 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5772
5773         Patch by: Josep Torre Valles <josep@fluendo.com>
5774
5775         * common/m4/gst-error.m4:
5776         Disable warning of statement not reached on Forte.
5777         * gst/gstmessage.h:
5778         Fix warning on Forte (value doesn't fit on enumeration).
5779         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5780         Fix warning on Forte (value doesn't fit on enumeration).
5781         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5782         DEBUG macro says it takes minimum of 2 args and so Forte
5783         complains about the use with just 1 arg.
5784         * plugins/elements/gstfdsink.c:
5785         * plugins/elements/gstfdsrc.c:
5786         * plugins/elements/gstfilesink.c:
5787         * plugins/elements/gstfilesrc.c:
5788         Use correct return type for the uri handler implementations.
5789
5790         All these fix warnings in Forte.  Fixes bug #360860.
5791
5792 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5793
5794         * gst/gstelement.h:
5795           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5796           format string, so don't use G_GNUC_PRINTF for those versions.
5797
5798 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5799
5800         * gst/gsttaglist.c: (gst_is_tag_list):
5801         * gst/gsttaglist.h:
5802           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5803
5804         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5805           Small test for the above.
5806
5807 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5808
5809         * gst/gsttaglist.h:
5810           Less tabs, more spaces.
5811
5812 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5813
5814         * gst/gstinfo.h:
5815           Those two function declarations do actually belong there, revert
5816           commit from yesterday that turned them intro macros.
5817
5818 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5819
5820         Patch by: Josep Torre Valles <josep@fluendo.com>
5821
5822         * gst/gst.c: (gst_init_get_option_group):
5823         Fix empty declaration and type mismatch.
5824         * gst/gstbin.c: (gst_bin_change_state_func):
5825         Fix type mismatch.
5826         * gst/gstelement.c: (gst_element_continue_state),
5827         (gst_element_set_state_func), (gst_element_change_state),
5828         (gst_element_change_state_func):
5829         Fix type mismatches.
5830         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5831         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5832         Cast as appropriate.
5833         * gst/gstobject.c: (gst_class_signal_connect):
5834         Cast as appropriate.  The function pointer parameter really
5835         has the wrong type but would break API if we change it.
5836         * gst/gstquery.c:
5837         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5838         order of including string.h.
5839         * gst/gstutils.c: (gst_element_state_get_name):
5840         Remove unreachable line.
5841         * gst/gstxml.c: (gst_xml_parse_doc):
5842         Fix type mismatch.
5843         All these caught by Forte.
5844
5845 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5846
5847         Patch by: Josep Torre Valles <josep@fluendo.com>
5848
5849         * common/m4/gst-error.m4:
5850         Fixed bug #360151.
5851         We need to disable warnings on Forte for empty declarations
5852         due to gst-indent adding ;s to lines that just use macros
5853         where the macro actually doesn't need a ; at end to end
5854         statement.
5855
5856 2006-10-06  Wim Taymans  <wim@fluendo.com>
5857
5858         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5859         (gst_file_sink_close_file), (gst_file_sink_event),
5860         (gst_file_sink_render):
5861         Add some FIXME for the NEWSEGMENT handling.
5862
5863 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5864
5865         * gst/parse/grammar.y:
5866         Remove static function gst_parse_element_lock as all it does
5867         is return.  Looks like cruft from 0.8.
5868
5869 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5870
5871         Patch by: Josep Torre Valles <josep@fluendo.com>
5872
5873         * common/m4/gst-error.m4:
5874         * configure.ac:
5875         * libs/gst/net/Makefile.am:
5876         Fix a compilation issue with Forte on Solaris.  inet_aton is in
5877         libresolv.
5878
5879 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         * gst/gstpad.c: (pre_activate):
5882         * gst/gstregistry.c: (gst_registry_scan_path_level):
5883         * gst/gstregistryxml.c: (load_plugin):
5884         * libs/gst/controller/gstcontroller.c:
5885         (gst_controlled_property_set_interpolation_mode):
5886         * libs/gst/dataprotocol/dataprotocol.c:
5887         (gst_dp_packet_from_event_1_0):
5888         * libs/gst/net/gstnetclientclock.c:
5889         (gst_net_client_clock_observe_times):
5890         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5891           Printf fixes.
5892
5893 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5894
5895         * configure.ac:
5896         * docs/gst/gstreamer-sections.txt:
5897         * gst/gstconfig.h.in:
5898         * gst/gstelement.h:
5899         * gst/gstinfo.h:
5900           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5901           whether we can use G_GNUC_PRINTF in other header files and at
5902           least check the printf format/arguments of debug messages and
5903           GST_ELEMENT_ERROR messages when the printf extension is not
5904           being used.
5905           Replace more tabs with spaces in gstinfo.h and remove two spurious
5906           function declarations in GST_DISABLE_DEBUG part with macros.
5907
5908 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5909
5910         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5911           More docs for the sync-message signal (mention that it is not
5912           emitted by default); log message structures of messages posted on
5913           the bus as well.
5914
5915 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
5916
5917         * gst/gst.c: (ensure_current_registry_forking):
5918         Use a pipe pair to receive status results from the forked child, and
5919         ignore the result from waitpid. Fixes #355499
5920
5921 2006-10-02  Wim Taymans  <wim@fluendo.com>
5922
5923         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5924         (gst_ghost_pad_suite):
5925         Fix leak in check.
5926
5927 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/gstpad.c:
5930           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
5931
5932 2006-10-02  Edward Hervey  <edward@fluendo.com>
5933
5934         * docs/design/part-block.txt:
5935         Further explain the use of flushing on blocked pads.
5936         * docs/gst/gstreamer-sections.txt:
5937         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5938         (gst_pad_push_event):
5939         * gst/gstpad.h:
5940         Added new GstPadFlag : GST_PAD_BLOCKING.
5941         Adds the notion of pads really blocking, which enables to properly
5942         handle FLUSH_START/FLUSH_STOP events on blocked pads.
5943         Fixes #358999
5944         API: gst_pad_is_blocking()
5945         API: GST_PAD_IS_BLOCKING() macro
5946         API: GST_PAD_BLOCKING GstPadFlag
5947         
5948 2006-10-02  Wim Taymans  <wim@fluendo.com>
5949
5950         Patch by: mrcgran <mrc.gran at gmail dot com>
5951
5952         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
5953         Filter the proxied caps against the padtemplate if we have one.
5954
5955         * gst/gstquery.c: (gst_query_new_segment):
5956         Add include for gstinfo.h so that compilation with
5957         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
5958
5959 2006-10-02  Wim Taymans  <wim@fluendo.com>
5960
5961         Patch by: Alessandro Decina  <alessandro at nnva org>
5962
5963         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
5964         (gst_file_sink_set_location), (gst_file_sink_open_file),
5965         (gst_file_sink_close_file), (gst_file_sink_event),
5966         (gst_file_sink_render):
5967         Set file to NULL when closing filesink so that we can set a new filename
5968         in READY. Fixes #358613.
5969
5970 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5971
5972         Patch by: Alessandro Decina  <alessandro at nnva org>
5973
5974         * gst/gstevent.c: (_gst_event_copy):
5975           Fix gst_mini_object_make_writable() and gst_event_copy() for events
5976           with event structures by setting the parent refcount address of the
5977           copied structure to the address of the refcount member of the newly
5978           copied event rather than the address of the refcount member of the
5979           original event. Fixes #358737.
5980
5981         * tests/check/gst/gstevent.c: (GST_START_TEST):
5982           Unit test for the above.
5983
5984 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * docs/design/Makefile.am:
5987           Dist some more files.
5988
5989 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5990
5991         * tests/check/libs/controller.c: (GST_START_TEST),
5992         (gst_controller_suite):
5993           Add test for the previous fix; add some more tests
5994           for correct refcounting behaviour; fix a few leaks
5995           in test cases; call gst_controller_init() at start
5996           of all tests.
5997
5998 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5999
6000         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6001         (gst_controller_set_from_list):
6002           Don't g_return_val_if_fail() on timed values with invalid timestamps
6003           inside a critical section without unlocking the mutex. Spotted by
6004           René Stadler. (#357617)
6005           Also, fix up refcounting properly: when returning an existing
6006           controller, we should increase the reference only once and not
6007           once per property and when trying to control a property again
6008           we should also increase the refcount.
6009
6010 2006-09-29  Wim Taymans  <wim@fluendo.com>
6011
6012         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6013         * libs/gst/net/gstnettimeprovider.c:
6014         (gst_net_time_provider_thread):
6015         Stop reading commands when EOF as well.
6016
6017         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6018         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6019         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6020         Unify description of the dump property.
6021
6022 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6023
6024         * tests/examples/manual/.cvsignore:
6025         OK, so it's actually cvsignore that needs changing. Stop laughing.
6026
6027 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6028
6029         * tests/examples/manual/Makefile.am:
6030         Gah, declare vars *before* using them
6031
6032 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6033
6034         * gst/gst.c: (init_pre), (scan_and_update_registry),
6035         (ensure_current_registry_nonforking),
6036         (ensure_current_registry_forking), (ensure_current_registry),
6037         (init_post), (gst_debug_help), (gst_deinit):
6038         * gst/gst_private.h:
6039         * gst/gstregistry.c: (gst_registry_finalize),
6040         (gst_registry_remove_features_for_plugin_unlocked),
6041         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6042         (gst_registry_scan_path),
6043         (_priv_gst_registry_remove_cache_plugins),
6044         (_priv_gst_registry_cleanup):
6045         * gst/gstregistry.h:
6046         Re-commit the registry changes, along with an extra fix:
6047           When a cached plugin is encountered at a different file path,
6048           update the stored path in the registry cache so that the parent
6049           process knows where it actually is now when it re-reads the registry
6050           cache. Fixes the thing that broke distcheck with the previous commit.
6051
6052         * tests/check/Makefile.am:
6053         Clean up files named 'core' too when running make clean.
6054
6055         * tests/examples/manual/Makefile.am:
6056         Set up a registry path for running these tests, and clean it properly
6057         for distcheck.
6058
6059 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6060
6061         * configure.ac:
6062         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6063         want gmodule-no-export-2.0.pc instead so that we don't drag in
6064         --export-dynamic on every project that links to GStreamer.
6065
6066         Also, make our export regex only match the start of symbols, rather 
6067         than any symbol that contains '_gst' somewhere.
6068
6069         * libs/gst/check/Makefile.am:
6070         The libgstcheck we build does however need export-dynamic, as it
6071         produces some symbols that don't match our _gst... style regex.
6072         Fixes: #318031
6073
6074 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6075
6076         * gst/gst.c: (init_pre), (scan_and_update_registry),
6077         (ensure_current_registry_nonforking),
6078         (ensure_current_registry_forking), (ensure_current_registry),
6079         (init_post), (gst_debug_help), (gst_deinit):
6080         * gst/gst_private.h:
6081         * gst/gstregistry.c: (gst_registry_finalize),
6082         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6083         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6084         (_gst_registry_cleanup):
6085         * gst/gstregistry.h:
6086           Revert previous change until I figure out why it breaks distcheck.
6087
6088 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6089
6090         * gst/gst.c: (init_pre), (scan_and_update_registry),
6091         (ensure_current_registry_nonforking),
6092         (ensure_current_registry_forking), (ensure_current_registry),
6093         (init_post), (gst_debug_help), (gst_deinit):
6094
6095           Make init_pre and init_post take the full complement of GOptionFunc
6096           args so they can return useful GErrors. Make the registry updating
6097           functions do so.
6098
6099           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6100           ensure that the registry we're about to write out doesn't contain
6101           stale information about old-deleted plugin files.
6102
6103           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6104           that deletion of plugin files is considered a registry change.
6105
6106         * gst/gst_private.h:
6107         * gst/gstregistry.c: (gst_registry_finalize),
6108         (gst_registry_remove_features_for_plugin_unlocked),
6109         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6110         (gst_registry_scan_path),
6111         (_priv_gst_registry_remove_cache_plugins),
6112         (_priv_gst_registry_cleanup):
6113         * gst/gstregistry.h:
6114         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6115         by adding _priv prefix, so that they won't appear in the global
6116         symbol table. They still do atm though because of #318031. Move the
6117         prototypes to gst_private.h
6118
6119         When removing a plugin, remove all features for that plugin too. 
6120         Fixes #340878.
6121
6122 2006-09-27  Wim Taymans  <wim@fluendo.com>
6123
6124         * docs/random/moving-plugins:
6125         Make it clear that the "compiled-in descriptions" really mean
6126         the element details.
6127
6128         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6129         (gst_base_sink_wait_preroll):
6130         Update docs.
6131
6132         * docs/libs/gstreamer-libs-sections.txt:
6133         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6134         (gst_base_src_get_range), (gst_base_src_activate_push):
6135         * libs/gst/base/gstbasesrc.h:
6136         Added function to block while waiting for PLAYING, this function
6137         is used by live sources that block on the clock.
6138         API: gst_base_src_wait_playing()
6139
6140 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         Patch by: Peter Kjellerstedt <pkj at axis com>
6143
6144         * Makefile.am:
6145           gst-element-check.m4 is generated and should therefore be
6146           copied from the build dir rather than the source dir (#357593).
6147           'make distcheck' hasn't noticed this because we were disting
6148           the file as well, so stop doing that.
6149
6150 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6151
6152         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6153           Add some tests for gst_caps_intersect().
6154
6155         * tools/gst-launch.c: (event_loop):
6156           Print all buffering percentages we get, even the 100% one.
6157
6158 2006-09-26  Wim Taymans  <wim@fluendo.com>
6159
6160         * tools/gst-inspect.c: (print_element_properties_info),
6161         (print_signal_info):
6162         Fix printing of flags to match the look of enums.
6163
6164 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6165
6166         * gst/gstelementfactory.c:
6167           Fix typo in docs blurb.
6168
6169 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6170
6171         * gst/gsturi.c: (search_by_entry):
6172           Don't assert/crash here if a uri handler doesn't return any
6173           supported protocols. The list of protocols could be generated
6174           dynamically at runtime or at plugin registration, and an error
6175           in the underlying library shouldn't be fatal (#353301).
6176
6177 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6178
6179         * gst/gstinfo.c:
6180           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6181           (spotted by Peter Kjellerstedt).
6182
6183 2006-09-23  Wim Taymans  <wim@fluendo.com>
6184
6185         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6186
6187         * libs/gst/base/gstbasesrc.c:
6188         (gst_base_src_default_check_get_range), (gst_base_src_start),
6189         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6190         (gst_base_src_change_state):
6191         Match _start/_stop calls in the activate functions. Remove redundant
6192         _stop call from the state change function. Fixes #356910.
6193         Turn failure DEBUG into ERROR. 
6194
6195 2006-09-22  Wim Taymans  <wim@fluendo.com>
6196
6197         * docs/design/part-buffering.txt:
6198         * gst/gstmessage.c: (gst_message_new_buffering),
6199         (gst_message_parse_buffering):
6200         Update docs about buffering.
6201
6202         * docs/design/part-trickmodes.txt:
6203         Fix typo.
6204
6205 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6206
6207         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6208         (gst_controller_new_list):
6209           Ref instances when returning them again (fixes #357180)
6210
6211 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6212
6213         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6214           Don't forget to release proxy lock when there's an error.
6215
6216 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6217
6218         * gst/gstcaps.h:
6219           Add extra initialisers for Caps things, to fix some plugin warnings
6220           when using -Wextra
6221
6222 2006-09-18  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6225           Also set template on the internal pad so that a getcaps from the 
6226           target pad returns the template caps.
6227
6228 2006-09-18  Wim Taymans  <wim@fluendo.com>
6229
6230         * gst/gstelement.c: (gst_element_post_message),
6231         (gst_element_dispose):
6232         Use _DEBUG_OBJECT some more.
6233
6234         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6235         Avoid typechecks.
6236
6237         * tools/gst-launch.c: (main):
6238         If the toplevel element is not a GstPipeline, it must be put in a
6239         pipeline so that a bus and clock is selected.
6240
6241 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6242
6243         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6244           JITTER, RATE, and LATENCY query should be handled by the
6245           default case and not by the CONVERT query code.
6246
6247 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6248
6249         * gst/gstformat.c: (gst_format_register):
6250           Fix locking order (must take lock before using n_values).
6251
6252         * gst/gstvalue.c: (gst_value_serialize_enum),
6253         (gst_value_deserialize_enum_iter_cmp),
6254         (gst_value_deserialize_enum):
6255           Fix serialisation/deserialisation of custom registered GstFormats.
6256
6257         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6258           Unit test for custom format serialisation/deserialisation.
6259
6260 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6261
6262         * docs/pwg/building-boiler.xml:
6263         * plugins/elements/gstcapsfilter.c:
6264         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6265         section.
6266
6267 2006-09-16  Edward Hervey  <edward@fluendo.com>
6268
6269         * libs/gst/base/gstbasetransform.c:
6270         (gst_base_transform_buffer_alloc):
6271         Check if requested caps are the same as the sinks caps IF
6272         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6273         is FALSE.
6274         This fixes the renegotiation issues stated in #352827.
6275
6276 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6277
6278         * configure.ac:
6279         * docs/manual/advanced-autoplugging.xml:
6280         * tests/examples/Makefile.am:
6281         * tests/examples/manual/.cvsignore:
6282         * tests/examples/manual/Makefile.am:
6283         * tests/examples/manual/extract.pl:
6284           Extract the manual examples again like we used to do.
6285           Fix one of them.
6286
6287 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6288
6289         * win32/common/config.h:
6290           update for version
6291
6292 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6293
6294         * gst/gsterror.c:
6295           Documents how to receive errors.
6296
6297 2006-09-15  Wim Taymans  <wim@fluendo.com>
6298
6299         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6300         (event_loop), (main):
6301         Added some comments here and there.
6302         Post an application message when an interrupt is caught instead of doing
6303         an uncontrolled state change.
6304         Clean up the event loop.
6305         Handle buffering messages, pause/resume the pipeline.
6306         Make shutdown because of an interrupt more reliable.
6307
6308 2006-09-15  Wim Taymans  <wim@fluendo.com>
6309
6310         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6311         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6312         (gst_base_sink_preroll_object):
6313         Make sure that our internal state is correct when we commit our state
6314         asynchronously. This solves a race where a state change to PLAYING
6315         could cause the sink to remain blocked in preroll in some situations.
6316
6317 2006-09-15  Wim Taymans  <wim@fluendo.com>
6318
6319         * tools/gst-inspect.c: (print_element_properties_info),
6320         (print_signal_info):
6321         List flags as hex so it's easier to deal with.
6322
6323 2006-09-15  Wim Taymans  <wim@fluendo.com>
6324
6325         * docs/libs/gstreamer-libs-sections.txt:
6326         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6327         (gst_base_sink_do_sync):
6328         * libs/gst/base/gstbasesink.h:
6329         Expose logic to wait for preroll so that subclasses such as audiosink
6330         can also use this method.
6331         API: gst_base_sink_wait_preroll()
6332
6333 2006-09-15  Wim Taymans  <wim@fluendo.com>
6334
6335         * gst/gstobject.c: (gst_object_set_parent):
6336         * gst/gstpipeline.c: (do_pipeline_seek):
6337         Small cleanups in docs and code.
6338
6339         * gst/gstsegment.c: (gst_segment_clip):
6340         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6341         if stop == start and start is in the segment, no clipping should be
6342         done. Also add a test for this.
6343
6344 2006-09-15  Wim Taymans  <wim@fluendo.com>
6345
6346         * docs/design/part-buffering.txt:
6347         * docs/gst/gstreamer-sections.txt:
6348         * gst/gstmessage.c: (gst_message_new_buffering),
6349         (gst_message_parse_buffering):
6350         * gst/gstmessage.h:
6351         Added methods to create and parse BUFFERING messages.
6352         Added preliminary docs about buffering.
6353         API: gst_message_new_buffering
6354         API: gst_message_parse_buffering
6355
6356 2006-09-06  Wim Taymans  <wim@fluendo.com>
6357
6358         * gst/gstbin.c:
6359         Update documentation.
6360
6361         * gst/gstelement.c: (gst_element_class_init),
6362         (gst_element_release_request_pad), (gst_element_set_clock),
6363         (gst_element_get_index), (gst_element_add_pad),
6364         (gst_element_remove_pad), (gst_element_get_random_pad),
6365         (gst_element_send_event), (gst_element_get_query_types),
6366         (gst_element_query), (gst_element_post_message),
6367         (gst_element_message_full), (gst_element_continue_state),
6368         (gst_element_lost_state), (gst_element_save_thyself),
6369         (gst_element_restore_thyself):
6370         Documentation updates.
6371         Rename last bit of the new-pad -> pad-added signal rename.
6372         Fix the case where an element query would only work if the source
6373         pad was linked.
6374         Avoid some useless type checking in message handling.
6375
6376         * gst/gstevent.c:
6377         * gst/gstevent.h:
6378         * gst/gstutils.c:
6379         Documentation updates.
6380
6381 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6382
6383         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6384           add an INFO line for when we actually update the fd
6385
6386 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * configure.ac:
6389           back to TRUNK
6390
6391 === release 0.10.10 ===
6392
6393 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6394
6395         * configure.ac:
6396           releasing 0.10.10, "Pais"
6397
6398 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6399
6400         * docs/manual/advanced-position.xml:
6401           Fix typo in sample code.
6402
6403 2006-09-05  Wim Taymans  <wim@fluendo.com>
6404
6405         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6406         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6407         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6408         * libs/gst/net/gstnetclientclock.h:
6409         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6410         * libs/gst/net/gstnettimepacket.h:
6411         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6412         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6413         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6414         * libs/gst/net/gstnettimeprovider.h:
6415         Make stuff compile on windows. Fixes #345295.
6416
6417 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6418
6419         * gst/gst.c: (ensure_current_registry_forking):
6420           Print better details when child was terminated by signal.
6421
6422 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6425           Print a warning rather than g_assert() if a plugin feature
6426           is a URI handler but returns no protocols (#353976).
6427
6428 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6429
6430         * docs/random/moving-plugins:
6431         Fix two typos.         
6432
6433 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6434
6435         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6436           Fix locking order, handle NULL function values properly.
6437
6438         * gst/gstinfo.h:
6439           Fix docs.
6440
6441         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6442           Initialise variable before using it and fix debug statement to
6443           print the address of the function rather than the address of the
6444           variable on the stack holding the address of the function.
6445
6446 2006-09-01  Wim Taymans  <wim@fluendo.com>
6447
6448         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6449         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6450         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6451         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6452         (gst_ghost_pad_parent_unset),
6453         (gst_ghost_pad_internal_do_activate_push),
6454         (gst_ghost_pad_internal_do_activate_pull),
6455         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6456         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6457         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6458         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6459         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6460         (gst_ghost_pad_new_no_target_from_template),
6461         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6462         More cleanups.
6463         Avoid needless typechecking in macros.
6464         Since the internal pad is always present and never changes, there is
6465         no need to locking or ref when retrieving it.
6466         Improve debugging a bit.
6467         Handle link errors when setting the target. Fixes #341029.
6468
6469 2006-09-01  Wim Taymans  <wim@fluendo.com>
6470
6471         * docs/libs/gstreamer-libs-sections.txt:
6472         * docs/plugins/gstreamer-plugins-sections.txt:
6473         Fix docs some more.
6474
6475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6476         (gst_collect_pads_event):
6477         * libs/gst/base/gstcollectpads.h:
6478         Documentation updates.
6479         Free queued buffer when removing a pad.
6480
6481 2006-08-31  Michael Smith  <msmith@fluendo.com>
6482
6483         * gst/gstutils.c: (gst_element_link_pads),
6484         (gst_element_link_pads_filtered):
6485           Ensure that we set a capsfilter to NULL if we failed to link it
6486           when doing filtered linking, to avoid criticals.
6487
6488           No need to check for unreffing srcpad, which is explicly NULLed
6489           above (a trivial code cleanup).
6490
6491 2006-08-31  Wim Taymans  <wim@fluendo.com>
6492
6493         * docs/design/part-gstghostpad.txt:
6494         Update ascii art in documentation.
6495
6496         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6497         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6498         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6499         (gst_ghost_pad_internal_do_activate_push),
6500         (gst_ghost_pad_internal_do_activate_pull),
6501         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6502         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6503         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6504         (gst_ghost_pad_set_target):
6505         Small cleanups and leak fixes.
6506         Remove some checks now that the internal pad is never NULL.
6507         Fix the case where linking pads without a target would create nasty
6508         criticals. Fixes #341029.
6509         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6510         value of _set_target().
6511
6512         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6513         (gst_ghost_pad_suite):
6514         Some more tests for creating and linking untargeted ghostpads.
6515
6516 2006-08-31  Edward Hervey  <edward@fluendo.com>
6517
6518         * docs/gst/gstreamer-sections.txt:
6519         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6520         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6521         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6522         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6523         (gst_ghost_pad_new_from_template),
6524         (gst_ghost_pad_new_no_target_from_template):
6525         * gst/gstghostpad.h:
6526         Refactored *_new() functions.
6527         Templates are now used as a g_object_new() parameter.
6528         Use template in _do_getcaps() if we don't have a target.
6529         Small documentation cleanups.
6530         Added two new constructors:
6531         gst_ghost_pad_new_from_template()
6532         gst_ghost_pad_new_no_target_from_template()
6533         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6534         (gst_ghost_pad_suite):
6535         Added tests for new ghostpad instanciation functions.
6536
6537         API additions: gst_ghost_pad_new_from_template,
6538         gst_ghost_pad_new_no_target_from_template
6539
6540 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6541
6542         * docs/random/ensonic/profiling.txt:
6543           Ideas about qos profiling.
6544
6545 2006-08-29  Wim Taymans  <wim@fluendo.com>
6546
6547         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6548         Code cleanups.
6549         Fix memleak.
6550
6551 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
6552
6553         * gst/gstxml.c:
6554           Improve and detypofy docs.
6555
6556         * tests/check/Makefile.am:
6557         * tests/check/gst/.cvsignore:
6558         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6559           Add a basic test suite for GstXML.
6560
6561 2006-08-29  Wim Taymans  <wim@fluendo.com>
6562
6563         * gst/gstelement.c: (activate_pads), (clear_caps),
6564         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6565         Clear the pad caps when the element shut down all of the pads and
6566         is not streaming data that could modify the caps. 
6567         Fixes #352958.
6568
6569 2006-08-28  Michael Smith  <msmith@fluendo.com>
6570
6571         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6572           Revert previous change; I misunderstood single-segment mode.
6573
6574 2006-08-28  Michael Smith  <msmith@fluendo.com>
6575
6576         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6577           Unset DISCONT on buffers when using single-segment mode.
6578
6579 2006-08-28  Wim Taymans  <wim@fluendo.com>
6580
6581         * gst/gstcaps.c: (gst_caps_merge_structure):
6582         * gst/gstcaps.h:
6583         Fix docs and indentation again.
6584
6585         * tests/check/gst/gstquery.c: (GST_START_TEST):
6586         Fix leak in tests and add some more tests.
6587
6588 2006-08-28  Edward Hervey  <edward@fluendo.com>
6589
6590         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6591         Inform GstSegment of the last stop position in order for the current
6592         segment to have a proper duration if it doesn't have a specific stop
6593         position from which a duration could be calculated.
6594         This bug was noticeable when a non-flushing, non-update new segment was
6595         followed by another segment (all buffers from the new segment were being
6596         dropped).
6597
6598 2006-08-28  Wim Taymans  <wim@fluendo.com>
6599
6600         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6601         Small comment update.
6602
6603         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6604         (gst_identity_transform_ip):
6605         Drop-probability is broken, mention this in the code with a 
6606         FIXME and also in the property description.
6607         Make silent also be silent about the drop messages.
6608
6609 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
6610
6611         * docs/manual/appendix-win32.xml:
6612           Remove mention of popt, we don't depend on that any
6613           longer (#353136). Add some comments pointing out that
6614           this section is slightly outdated.
6615
6616 2006-08-28  Wim Taymans  <wim@fluendo.com>
6617
6618         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6619
6620         * gst/gstquery.c: (gst_query_new_segment):
6621         * tests/check/gst/gstquery.c: (GST_START_TEST):
6622         Initialize variables when creating a new segment query.
6623         Fixes #353121.
6624
6625 2006-08-28  Wim Taymans  <wim@fluendo.com>
6626
6627         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6628
6629         * gst/gstelement.c: (gst_element_get_bus):
6630         * tests/check/gst/gstelement.c: (GST_START_TEST):
6631         Check for NULL before _reffing the bus. Fixes #353122.
6632
6633 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
6634
6635         * docs/manual/basics-bus.xml:
6636           Docs update: fix wrong callback return value explanation; add
6637           some lines about the implicit relationship between main loop
6638           and main context; remove duplicate main loop variable declaration.
6639
6640 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
6641
6642         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6643           Don't leak caps in unit test; add a few more simple
6644           checks. 
6645
6646 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
6647
6648         * docs/gst/gstreamer-sections.txt:
6649         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6650         (gst_caps_structure_is_subset), (gst_caps_merge),
6651         (gst_caps_merge_structure):
6652         * gst/gstcaps.h:
6653         * libs/gst/base/gstbasetransform.c:
6654         (gst_base_transform_transform_caps):
6655         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6656           implement caps merging (fixes #352580)
6657
6658 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * tools/Makefile.am:
6661         * tools/gst-plot-timeline.py:
6662           add debug-log plotting developer tool (#340674)
6663
6664 2006-08-23  Wim Taymans  <wim@fluendo.com>
6665
6666         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6667         (gst_pad_stop_task):
6668         Improve debugging for task functions.
6669
6670         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6671         (gst_task_start), (gst_task_pause), (gst_task_join):
6672         Make sure that the task function started and finished after a 
6673         join(). 
6674         Don't try to push the task function on the threadpool multiple
6675         times.
6676         Improve the g_warning message with some useful suggestions
6677         about how to fix the problem. 
6678
6679 2006-08-23  Wim Taymans  <wim@fluendo.com>
6680
6681         * gst/gstutils.c: (gst_pad_proxy_getcaps):
6682         Handle RESYNC correctly in _proxy_getcaps.
6683
6684 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
6685
6686         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6687         (gst_xml_parse_memory), (gst_xml_get_element):
6688           Chain up to parent class in dispose function and also
6689           unref the elements in the toplevel_elements GList.
6690           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6691           Always return a reference in gst_xml_get_element() rather
6692           than only sometimes.
6693
6694         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6695           Don't leak GstXml object.
6696
6697 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
6698
6699         * docs/gst/gstreamer-sections.txt:
6700         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6701         (gst_caps_merge):
6702         * gst/gstcaps.h:
6703         * libs/gst/base/gstbasetransform.c:
6704         (gst_base_transform_transform_caps):
6705           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6706           in a better way
6707
6708 2006-08-21  Edward Hervey  <edward@fluendo.com>
6709
6710         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6711         Implement GObject::dispose virtual method in GstXML so we can free the
6712         top_elements GList.
6713
6714 2006-08-21  Wim Taymans  <wim@fluendo.com>
6715
6716         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6717         (gst_buffer_create_sub):
6718         Copy duration/offset_end/caps when creating a subbuffer of the
6719         complete parent.
6720         Make the subbuffer read-only when we make the metadata writable for
6721         now. Fixes #351768.
6722
6723         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6724         Added check for metadata copy when creating subbuffers.
6725
6726 2006-08-21  Edward Hervey  <edward@fluendo.com>
6727
6728         * libs/gst/base/gstbasetransform.c:
6729         (gst_base_transform_buffer_alloc):
6730         Only call downstream buffer_alloc if transform element is passthrough
6731         or always_in_place. Closes #350449.
6732
6733 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6734
6735         * ChangeLog:
6736           ChangeLog surgery to add comments to previous changes
6737
6738 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6739
6740         * gst/gst.c:
6741           Add comments
6742
6743         * gst/gstpad.c: (gst_pad_set_active):
6744           Be more verbose in the log
6745
6746         * libs/gst/base/gstbasetransform.c:
6747         (gst_base_transform_transform_caps):
6748           Simplify caps to get rid of duplicates, fixes #345444
6749
6750 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6751
6752         * gst/gstvalue.c:
6753         * gst/gstvalue.h:
6754           Use these optimizations only internally.
6755
6756 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6757
6758         * gst/gstvalue.c: (gst_value_compare_list),
6759         (gst_value_compare_fraction_range),
6760         (gst_value_intersect_fraction_fraction_range),
6761         (gst_value_intersect_fraction_range_fraction_range),
6762         (gst_value_subtract_fraction_fraction_range),
6763         (gst_value_subtract_fraction_range_fraction_range),
6764         (gst_value_get_compare_func), (gst_value_compare),
6765         (gst_value_compare_with_func):
6766         * gst/gstvalue.h:
6767           Saves the expensive lookup of the compare function in many cases
6768          (#345444)
6769
6770 2006-08-18  Edward Hervey  <edward@fluendo.com>
6771
6772         * tests/check/gst/gstinfo.c: (gst_info_suite):
6773         Disable test that require gstdebug if it wasn't built in core.
6774
6775 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * docs/random/ensonic/logging.txt:
6778           update ideas
6779           
6780         * gst/gstinfo.c: (gst_debug_log_default):
6781           reorder fields, save some columns, add optional color codes for log
6782           levels
6783
6784 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6785
6786         * docs/random/ensonic/logging.txt:
6787           add ideas about making the logs a bit more useful
6788
6789 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6790
6791         * docs/pwg/advanced-events.xml:
6792         * docs/pwg/titlepage.xml:
6793           Update for 0.10 API (#340627). Add myself
6794           to authors list.
6795
6796 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6797
6798         * docs/libs/gstreamer-libs-docs.sgml:
6799         * docs/libs/gstreamer-libs-sections.txt:
6800         * libs/gst/check/gstbufferstraw.c:
6801           Make gstcheck stuff show up in docs (still needs to
6802           be documented properly though).
6803
6804 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6805
6806         * docs/gst/gstreamer-sections.txt:
6807         * gst/Makefile.am:
6808         * gst/gst.c: (init_post):
6809         * gst/gst_private.h:
6810         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6811         * gst/gstquark.h:
6812         * gst/gstquery.c: (gst_query_new_position),
6813         (gst_query_set_position), (gst_query_parse_position),
6814         (gst_query_new_duration), (gst_query_set_duration),
6815         (gst_query_parse_duration), (gst_query_new_convert),
6816         (gst_query_set_convert), (gst_query_parse_convert),
6817         (gst_query_new_segment), (gst_query_set_segment),
6818         (gst_query_parse_segment), (gst_query_new_seeking),
6819         (gst_query_set_seeking), (gst_query_parse_seeking):
6820         Add internal helpers for pre-registering quarks from static strings
6821         and using the quark values directly instead of looking them up when
6822         creating and parsing queries. Can be used for event construction too.
6823         Closes #350432.
6824
6825 2006-08-16  Wim Taymans  <wim@fluendo.com>
6826
6827         * gst/gstbin.c:
6828         Fix bogus docs.
6829
6830 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6831
6832         * gst/gstutils.c: (gst_util_set_value_from_string):
6833           Fix memleak (#351502).
6834
6835         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6836           Add unit test for most of gst_util_set_value_from_string()
6837           (not that one would want to encourage use of this function).
6838
6839 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6840
6841         * libs/gst/check/gstcheck.h:
6842           Use const gchar * variables in fail_unless_equals_string
6843           macro to avoid compiler warnings (and don't use tabs for
6844           indenting).
6845
6846 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6847
6848         * tools/gst-launch.c: (print_tag):
6849           More space on the left for the tag names, to cater
6850           for the 'extended comment' tag (not touching the
6851           string for the first line since it's translated).
6852
6853 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * libs/gst/check/gstcheck.h:
6856           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6857           print something when they fail.
6858
6859 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6860
6861         * docs/gst/gstreamer-sections.txt:
6862         * gst/gsttaglist.c: (_gst_tag_initialize):
6863         * gst/gsttaglist.h:
6864           API: add GST_TAG_EXTENDED_COMMENT (#350935).
6865           Also change merge function for GST_TAG_COMMENT to
6866           use_first.
6867
6868 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6869
6870         * gst/gstinfo.c: (gst_debug_print_object):
6871           Make GST_PTR_FORMAT print messages as well.
6872
6873         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6874         (GST_START_TEST), (gst_info_suite):
6875           More tests.
6876
6877 2006-08-14  Edward Hervey  <edward@fluendo.com>
6878
6879         * gst/gstelementfactory.c: (gst_element_register):
6880         If the GstElementClass doesn't have a GstElementDetails with all fields
6881         filled up correctly (longname, description AND author), then error out
6882         nicely instead of crashing.
6883
6884 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6885
6886         * gst/gststructure.c:
6887           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6888
6889         * gst/gstvalue.h:
6890           Expand on the difference between arrays and lists as we use them.
6891           
6892 2006-08-14  Wim Taymans  <wim@fluendo.com>
6893
6894         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6895         If the parent state change function failed, don't assume we can safely
6896         stop the source, this will be done when the pads are deactivated.
6897
6898 2006-08-14  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstbuffer.c:
6901         * gst/gsttask.c: (gst_task_join):
6902         Small doc updates.
6903
6904         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6905         (gst_pad_stop_task):
6906         When pad (de)activation failed for some reason, restore the old
6907         activation mode and set the pad to flushing instead of assuming the
6908         pad is deactivated.
6909         If the _task_join() failed, reinstall the task on the pad so that it can
6910         be stopped later and return an error.
6911
6912 2006-08-11  Andy Wingo  <wingo@pobox.com>
6913
6914         * configure.ac:
6915         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6916         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6917         is only for users of API that don't want to see deprecated
6918         functions in the headers; people that want to compile out
6919         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6920         CFLAGS. Fixes the build of multifdsink, or will soon..
6921
6922 2006-08-11  Wim Taymans  <wim@fluendo.com>
6923
6924         * docs/gst/gstreamer-sections.txt:
6925         Add GstClockClass vmethod docs.
6926
6927         * gst/gstcaps.h:
6928         Mark #endif with comment for associated #if
6929
6930         * gst/gstclock.c: (gst_clock_id_wait):
6931         * gst/gstclock.h:
6932         Add vmethod wait_jitter to avoid an unneeded _get_time() for
6933         most clock implementations.
6934         Document vmethods.
6935         Flesh out docs about resolution methods.
6936         API: GstClockClass::wait_jitter
6937
6938         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6939         (gst_system_clock_async_thread),
6940         (gst_system_clock_id_wait_jitter_unlocked),
6941         (gst_system_clock_id_wait_jitter):
6942         Use base class wait_jitter variant for improved performance
6943         due to less clock polling.
6944
6945 2006-08-11  Edward Hervey  <edward@fluendo.com>
6946
6947         * gst/gst.c: (gst_init_check), (init_post):
6948         Set gst as being initialized before scanning/updating the registry,
6949         since there might be my python plugin loader that calls gst_init() and
6950         we don't want to loop back in.
6951         Closes #350879
6952
6953 2006-08-11  Wim Taymans  <wim@fluendo.com>
6954
6955         * docs/design/part-qos.txt:
6956         Bring docs in line with the code. Mostly the sign of the jitter was
6957         wrong in the docs. Fixes #349943.
6958
6959         * gst/gstclock.c:
6960         Fix the docs for the jitter.
6961
6962         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
6963         (gst_event_parse_tag), (gst_event_new_buffer_size),
6964         (gst_event_parse_buffer_size), (gst_event_parse_qos),
6965         (gst_event_new_seek), (gst_event_parse_seek),
6966         (gst_event_new_navigation):
6967         Make sure the GstStructure has no parent when creating custom
6968         events.
6969         Add some more argument checking so that we avoid 0.0 rates.
6970         Flesh out the docs for the QoS event some more.
6971
6972 2006-08-11  Wim Taymans  <wim@fluendo.com>
6973
6974         * docs/gst/gstreamer-sections.txt:
6975         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6976         (ensure_current_registry_forking), (ensure_current_registry),
6977         (parse_one_option), (parse_goption_arg), (gst_deinit),
6978         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
6979         * gst/gst.h:
6980         Doc updates.
6981         Added API and command line option to disable registry forking in
6982         addition to the environment variable.
6983         Constify some static arrays.
6984         Added some more debug.
6985         Don't deinit twice.
6986         API: gst_registry_fork_is_enabled()
6987         API: gst_registry_fork_set_enabled()
6988         API: --gst-disable-registry-fork command line option
6989         Fixes #348918.
6990
6991 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
6992
6993         * gst/gst.c: (gst_init):
6994           Fix typo in error message.
6995
6996 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6997
6998         * libs/gst/controller/gstcontroller.h:
6999           fix ABI size-correction
7000
7001         * tests/check/libs/gdp.c: (gst_dp_suite):
7002           make tests that use deprecated API conditional
7003
7004 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7005
7006         * docs/libs/gstreamer-libs-sections.txt:
7007         * libs/gst/controller/gstcontroller.c:
7008         (_gst_controller_get_property), (_gst_controller_set_property),
7009         (_gst_controller_init), (_gst_controller_class_init):
7010         * libs/gst/controller/gstcontroller.h:
7011         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7012         (gst_object_set_control_rate):
7013           API: add gst_object_{s,g}et_control_rate(), add private data section,
7014           fix docs
7015
7016         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7017         * libs/gst/dataprotocol/dataprotocol.h:
7018           add deprecation guards to make gtk-doc happy and allow disabling cruft
7019
7020 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7021
7022         * tests/check/Makefile.am:
7023         * tests/check/gst/.cvsignore:
7024           Let's enable the new unit test as well.
7025
7026 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7027
7028         * configure.ac:
7029         * docs/gst/gstreamer-sections.txt:
7030         * gst/gstconfig.h.in:
7031         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7032         (_gst_info_printf_extension_ptr),
7033         (_gst_info_printf_extension_segment):
7034           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7035           register that lets us easily dump GstSegments into debug
7036           logs (#350419).
7037
7038         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7039         (info_segment_format_printf_extension), (gst_info_suite):
7040           Add simple unit test that logs a bunch of different segments (not
7041           valgrinded at the moment because of leaks in
7042           gst_debug_add_log_function).
7043
7044 2006-08-09  Edward Hervey  <edward@fluendo.com>
7045
7046         * libs/gst/base/gstbasetransform.c:
7047         (gst_base_transform_buffer_alloc):
7048         Even if we can't figure out the proper format to request downstream,
7049         call buffer_alloc() downstream with the input parameters without setting
7050         the caps on the srcpad. This will force negotiation in the chain
7051         function.
7052         Closes #350449
7053
7054 2006-08-08  Edward Hervey  <edward@fluendo.com>
7055
7056         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7057         Unlinking from a pad without a target is now a perfectly valid case
7058         which should NOT raise an assertion.
7059         This case would happen if a linked ghostpad its target set to NULL after
7060         it was previously linked.
7061
7062 2006-08-08  Edward Hervey  <edward@fluendo.com>
7063
7064         * tests/check/libs/gdp.c:
7065         Also comment out the test (see below).
7066
7067 2006-08-08  Edward Hervey  <edward@fluendo.com>
7068
7069         * tests/check/libs/gdp.c: (gst_dp_suite):
7070         Use the architecture information from config.h and not gcc macros
7071         in order to properly disable a test that fails on PPC64.
7072
7073 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7074
7075         * gst/gstelement.c: (gst_element_remove_pad):
7076           Don't crash printing the warning if the pad has no parent.
7077
7078 2006-08-02  Wim Taymans  <wim@fluendo.com>
7079
7080         * libs/gst/dataprotocol/dataprotocol.c:
7081         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7082         (gst_dp_crc), (gst_dp_header_payload_length),
7083         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7084         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7085         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7086         (gst_dp_event_from_packet), (gst_dp_validate_header),
7087         (gst_dp_validate_payload):
7088         Make debug category static
7089         Constify the crc table.
7090         Do some more arg checking in public functions.
7091         Fix some docs and do some small cleanups.
7092
7093         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7094         Add some more checks to see if GDP deals with bogus input.
7095
7096 2006-07-31  Wim Taymans  <wim@fluendo.com>
7097
7098         * gst/gstvalue.c: (gst_value_compare_list):
7099         Fix GstValueList comparison code. Fixes #347293.
7100
7101         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7102         Check to test GstValueList comparison.
7103
7104 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7105
7106         * gst/gstelementfactory.c: (gst_element_factory_create):
7107         Remove unnecessary ref/unref pair
7108
7109         * gst/parse/grammar.y:
7110         Make sure to free the parse buffer on all code paths.
7111         Move a g_free up to the error handler where it's easier to see.
7112
7113         * tests/check/gst/gstevent.c: (test_event):
7114         Extending timeout for downstream travelling events to 10 seconds to
7115         hopefully avoid intermittent failure on the buildbots.
7116
7117         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7118         Don't manually set the state of the src element - it will happen as a
7119         natural consequence of the pipeline changing state, and that way it
7120         will do it in the right order too.
7121
7122 2006-07-31  Wim Taymans  <wim@fluendo.com>
7123
7124         * libs/gst/base/gstbasetransform.c:
7125         (gst_base_transform_buffer_alloc):
7126         Use OBJECT_LOCK and refcounting to get the pad caps in the
7127         buffer_alloc function because the caps could change while we are
7128         busy with them. Fixes #349105
7129
7130 2006-07-31  Wim Taymans  <wim@fluendo.com>
7131
7132         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7133         Protect _PAD_CAPS with OBJECT_LOCK.
7134
7135 2006-07-31  Wim Taymans  <wim@fluendo.com>
7136
7137         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7138         (gst_pad_get_property), (gst_pad_activate_pull),
7139         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7140         (gst_pad_set_activate_function),
7141         (gst_pad_set_activatepull_function),
7142         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7143         (gst_pad_set_getrange_function),
7144         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7145         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7146         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7147         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7148         (gst_pad_set_acceptcaps_function),
7149         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7150         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7151         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7152         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7153         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7154         (gst_pad_configure_sink), (gst_pad_configure_src),
7155         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7156         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7157         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7158         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7159         (gst_pad_send_event):
7160         Use _DEBUG_OBJECT when it makes sense.
7161         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7162         Small cleanups and code reflows.
7163         Avoid caps refcounting in _accept_caps.
7164         Refactor alloc_buffer so that the code performed on the peer is in a
7165         separate function. Also if the pad does not implement a buffer alloc
7166         function, we should still check if the pad is flushing before falling
7167         back to the default allocator.
7168
7169 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7170
7171         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7172         Make all uses of identity and fakesink have silent=true to avoid
7173         serialising every passing data structure, which is breaking tests
7174         on FC4 for some unknown reason.
7175
7176 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7177
7178         * gst/parse/Makefile.am:
7179         * gst/parse/grammar.y:
7180         * gst/parse/parse.l:
7181           Reverted previous patch as it required to bump the flex dependency to
7182           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7183
7184 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7185
7186         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7187
7188         * gst/parse/Makefile.am:
7189         * gst/parse/grammar.y:
7190         * gst/parse/parse.l:
7191           push & pop the state of the lexer for reentrant use case
7192           Fixes #349180
7193
7194 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7195
7196         * libs/gst/base/gstbasesrc.h:
7197           Note in the docs that the ::newsegment vfunc is not actually used by
7198           GstBaseSrc.
7199
7200 2006-07-28  Wim Taymans  <wim@fluendo.com>
7201
7202         * libs/gst/base/gstcollectpads.c:
7203         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7204         (gst_collect_pads_clear), (gst_collect_pads_flush),
7205         (gst_collect_pads_event), (gst_collect_pads_chain):
7206         When flushing a pad, also clear the queued buffer so that we don't
7207         accidentally use it when we shouldn't.
7208         Fix leaks by inreffing incomming buffer.
7209         Flush out queued buffers in case of errors.
7210         Fixes #347452.
7211
7212 2006-07-28  Wim Taymans  <wim@fluendo.com>
7213
7214         * docs/random/phonon-gst:
7215         Random notes about a Phonon backend.
7216
7217 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7218
7219         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7220         Extra debug output
7221         * tests/check/libs/gdp.c: (gst_dp_suite):
7222         Take a whack at fixing the ppc compile using a different define to
7223         disable the broken test.
7224
7225         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7226         Remove excess g_print()
7227
7228 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7229
7230         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7231         Oops, meant to uncomment this line too to dampen the noise a bit.
7232
7233 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7234
7235         * gst/parse/grammar.y:
7236         * gst/parse/parse.l:
7237         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7238         (GST_START_TEST), (parse_suite):
7239         Fix some of the leaks exposed by extending the parse-launch testsuite,
7240         and move the 3 I can't figure out into a separate test that won't run
7241         the pipelines unless the appropriate line is uncommented.
7242
7243 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7244
7245         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7246           Requesting 0 bytes before the end of the file should result in
7247           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7248           unit test.
7249
7250 2006-07-27  Wim Taymans  <wim@fluendo.com>
7251
7252         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7253         Fix useless assert, a uint is always positive.
7254
7255         * gst/gststructure.c: (gst_structure_nth_field_name),
7256         (gst_structure_foreach), (gst_structure_map_in_place):
7257         Check input arguments for public functions to avoid obvious crashes.
7258
7259         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7260         * plugins/elements/gstfakesink.h:
7261         Do less useless typechecking.
7262
7263 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7264
7265         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7266           Do not use mmap() by default since there are a number of error
7267           conditions that we would like to handle in a non-fatal way that
7268           will result in a SIGBUS if we use mmap(). Examples: external
7269           devices (USB harddrive, portable music player) being unplugged
7270           while in use; file on mounted CD/DVD that can't be read because
7271           the medium is partly damaged. Fixes #348455 and #348475.
7272
7273 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7274
7275         * gst/gstquery.h:
7276         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7277         rates are a gdouble
7278
7279 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7280
7281         * gst/gstregistry.c:
7282           Move big documentation comment into class section header, so that it
7283           appears in the API docs.
7284
7285 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7286
7287         * docs/gst/gstreamer-sections.txt:
7288         Oops. Commit the docs additions too for new API.
7289         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7290
7291 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7292
7293         * gst/gststructure.c: (gst_structure_id_set),
7294         (gst_structure_id_set_valist):
7295         * gst/gststructure.h:
7296         Add API for setting values into structures without performing
7297         a quark lookup, if the appropriate quark is already known.
7298
7299         API: gst_structure_id_set
7300         API: gst_structure_id_set_valist
7301
7302         * gst/parse/grammar.y:
7303         * gst/parse/parse.l:
7304         Remove some dead code shown by the coverage information.
7305         Don't throw a critical g_warning when encountering a syntax error,
7306         just warn and let the normal error path handle it.
7307
7308         * plugins/elements/gstelements.c:
7309         Bump the rank of filesink up to PRIMARY so that it is preferred over
7310         gnomevfssink for file:// sink uri's
7311
7312         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7313         (GST_START_TEST), (run_delayed_test),
7314         (gst_parse_test_element_base_init),
7315         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7316         (gst_parse_test_element_change_state),
7317         (gst_register_parse_element), (parse_suite):
7318         Beef up the tests for parse syntax to check that more error cases
7319         fail as they are supposed to. Increases the test coverage a bit.
7320
7321 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7322
7323         * docs/manual/basics-elements.xml:
7324           Fix gst_element_link() example.
7325
7326         * gst/gstutils.c:
7327           Mention in API docs that one should usually gst_bin_add()
7328           elements to a bin or pipeline before doing the linking.
7329           
7330 2006-07-26  Wim Taymans  <wim@fluendo.com>
7331
7332         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7333         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7334         Avoid function call for known types by keeping the buffer and
7335         subbuffer GType global.
7336
7337         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7338         Random silly optimisations in read() path.
7339
7340 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7341
7342         * tools/gst-launch.c: (main):
7343           If the top-level of the parse is a normal bin, it doesn't do the
7344           right logic to run as a top-level element, so place it inside a
7345           pipeline.
7346
7347 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7348
7349         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7350           Remove superfluous g_object_notify() calls, GObject does
7351           that for us automatically.
7352
7353 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7354
7355         * gst/gstinfo.h:
7356           on Win32, use dllspec to export the debug category symbols
7357
7358 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7359
7360         * gst/gsttaglist.c: (_gst_tag_initialize):
7361           Allow more than one GST_TAG_IMAGE per taglist.
7362
7363 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * gst/gstminiobject.c:
7366           update docs
7367         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7368         (gst_fd_src_create):
7369           log recurring events at LOG level
7370           add more debug for when the fd gets set
7371
7372 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7373
7374         * gst/gstparse.c: (gst_parse_launch):
7375           Also remove reentrance checks if flex is MT safe (#348179)
7376          Fix my empty ChangeLog entry below
7377
7378 2006-07-21  Andy Wingo  <wingo@pobox.com>
7379
7380         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7381
7382         * libs/gst/check/Makefile.am
7383         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7384         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7385         * libs/gst/check/gstbufferstraw.h:
7386         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7387         functions, thus proving I am still a GStreamer haxor. OK I wrote
7388         them a long time ago, but anyways.
7389
7390 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7391
7392         * configure.ac:
7393         * gst/gstparse.c: (gst_parse_launch):
7394           Check for flex version and omit mutex if we have a MT save flex
7395           (fixes #348179)
7396
7397 2006-07-21  Wim Taymans  <wim@fluendo.com>
7398
7399         * gst/gstparse.c: (gst_parse_launch):
7400         Protect recursive calls to _parse with a recursive mutex
7401         and busy flag.
7402
7403 2006-07-21  Wim Taymans  <wim@fluendo.com>
7404
7405         * tests/check/gst/gstpad.c: (GST_START_TEST):
7406         Fix leak in test.
7407
7408 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7409
7410         * gst/gstparse.c: (gst_parse_launch):
7411           Do not hang on recursive usage of gst_parse_launch()
7412
7413 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7414
7415         * gst/gsttaglist.c:
7416           Add some more docs, comments and FIXME 0.11s here and there
7417           and also fix some typos.
7418
7419 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7420
7421         * gst/gstsegment.h:
7422           Convert tabs to spaces for better readability. 
7423
7424 2006-07-20  Edward Hervey  <edward@fluendo.com>
7425
7426         * tests/check/libs/gdp.c: (gst_dp_suite):
7427         the test_buffer test fails at line 140 on ppc64 at the following
7428         check:
7429         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7430                 GST_BUFFER_FLAG_IN_CAPS),
7431                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7432         See bug #348114 for more details.
7433
7434 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * docs/pwg/advanced-scheduling.xml:
7437         * gst/gstpad.c:
7438           Fix typos (#348000).
7439
7440 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7441
7442         * docs/pwg/intro-basics.xml:
7443           Fix wrong links (#347927).
7444
7445 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7446
7447         * gst/gstregistry.h:
7448         * gst/gstregistryxml.c: (load_feature),
7449         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7450         * win32/common/config.h:
7451           make --disable-index work (#342564)
7452
7453 2006-07-18  Wim Taymans  <wim@fluendo.com>
7454
7455         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7456
7457         * gst/Makefile.am:
7458         * gst/gsttrace.h:
7459         The attached patch adds two missing defines to gsttrace.h when tracing
7460         is disabled.  It also corrects one existing define.
7461         Fixes #347756.
7462
7463 2006-07-17  Wim Taymans  <wim@fluendo.com>
7464
7465         * docs/gst/gstreamer-sections.txt:
7466         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7467         * gst/gst.h:
7468         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7469         Add two functions to check and change the SIGSEGV behaviour
7470         when loading plugins.
7471         Don't mess with the SIGSEGV handler when we were told not to.
7472         Fixes #347794.
7473         API: gst_segtrap_is_enabled
7474         API: gst_segtrap_set_enabled
7475
7476 2006-07-14  Wim Taymans  <wim@fluendo.com>
7477
7478         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7479         * tests/check/elements/filesrc.c: (GST_START_TEST):
7480         Revert fix for regression in #347408 after release.
7481
7482 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7483
7484         Patch by: Antoine Tremblay <hexa00 at gmail com>
7485
7486         * gst/gstutils.c: (gst_element_unlink):
7487           Free iterator when done (#347311).
7488
7489         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7490           And add a test case for this.
7491
7492 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7493
7494         * configure.ac:
7495         Bump nano back to CVS
7496
7497 === release 0.10.9 ===
7498
7499 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7500
7501         * configure.ac:
7502           releasing 0.10.9, "On the road again"
7503
7504 2006-07-13  Wim Taymans  <wim@fluendo.com>
7505
7506         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7507         * tests/check/elements/filesrc.c: (GST_START_TEST):
7508         Revert pull-0 fix for release. Disable check. Fixes #347408.
7509
7510 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7511
7512         * libs/gst/dataprotocol/dataprotocol.c:
7513         (gst_dp_event_from_packet_1_0):
7514           Fixes #347337: failure to deserialize event packets with
7515           empty payload (only event type)
7516
7517 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7518
7519         * gst/Makefile.am:
7520           do not install a .c file in the header directory
7521
7522 2006-07-13  Edward Hervey  <edward@fluendo.com>
7523
7524         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7525         GhostPad no longer implicitely use the padtemplates of the targets.
7526         Fixes #347384
7527
7528 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7529
7530         * gst/gstvalue.c: (gst_value_compare_list),
7531         (gst_value_compare_array), (_gst_value_initialize):
7532         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7533         Make GstValueArray comparison be order dependent as designed.
7534         Add checks for value lists and value array comparisons.
7535         Fixes #347221
7536
7537 2006-07-11  Edward Hervey  <edward@fluendo.com>
7538
7539         * gst/gstbin.c: (activate_pads),
7540         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7541         (gst_bin_change_state_func):
7542         (de)activate src pads before calling state_change on the childs.
7543         This is to avoid the case where a src ghostpad is blocked (holding the
7544         stream lock), which would block the deactivation of the ghostpad's
7545         target pad.
7546         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7547         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7548         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7549         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7550         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7551         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7552         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7553         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7554         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7555         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7556         (gst_ghost_pad_class_init),
7557         (gst_ghost_pad_internal_do_activate_push),
7558         (gst_ghost_pad_internal_do_activate_pull),
7559         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7560         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7561         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7562         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7563         GhostPads now create their internal GstProxyPad at creation (and not
7564         when they're linked, as it was being done previously).
7565         The internal and target pads are linked straight away.
7566         The data will also travel through the other pad in order to make
7567         pad blocking and probes non-hackish (the probe/block now really happens
7568         on the GhostPad and not on the target).
7569         * gst/gstpad.c: (gst_pad_set_blocked_async),
7570         (gst_pad_link_prepare), (gst_pad_push_event):
7571         Remove previous ghostpad cruft.
7572         * gst/gstutils.c: (gst_pad_add_data_probe),
7573         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7574         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7575         (gst_pad_remove_buffer_probe):
7576         Remove previous ghost pad cruft.
7577         Added more detailed debug statements.
7578         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7579         Fix the testsuite for refcounting changes.
7580         The comments about who has references were correct, but the refcount
7581         being checked wasn't the same (!?!).
7582
7583         Fixes #341029
7584
7585 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7586
7587         * docs/gst/gstreamer-sections.txt:
7588         * gst/gstconfig.h.in:
7589         More docs for configuration options, add docs to gtk-doc.
7590
7591 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7592
7593         * gst/Makefile.am:
7594         * gst/gstconfig.h.in:
7595         * win32/common/config.h:
7596         Fix build when disabling tracing (fixes #344016). Also start to document
7597         the defines that disable the sub-systems.
7598
7599 2006-07-10  Edward Hervey  <edward@fluendo.com>
7600
7601         * gst/gst.c: (ensure_current_registry_forking):
7602         let's make valgrind happy...
7603
7604 2006-07-09  Wim Taymans  <wim@fluendo.com>
7605
7606         * gst/gstelement.c: (activate_pads),
7607         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7608         Better pad activation code: Reset the collect value too on resync.
7609         Add some comments.
7610
7611 2006-07-09  Wim Taymans  <wim@fluendo.com>
7612
7613         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7614         (gst_pad_activate_push):
7615         Use some more macros where it makes sense.
7616         Allow pad mode switching instead of asserting. When a pad
7617         is activated in one mode and we activate it in another, 
7618         deactivate it first before activating it in a different mode.
7619         Fixes #329198.
7620
7621 2006-07-08  Andy Wingo  <wingo@pobox.com>
7622
7623         * tools/gst-launch.c (main): Handle err == NULL.
7624
7625         * gst/gst.c (init_post, ensure_current_registry)
7626         (ensure_current_registry_forking)
7627         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7628         factoring out the registry scanning into separate functions. Don't
7629         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7630         Better environment var name/interface suggestions accepted.
7631
7632 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7633
7634         * gst/gstobject.c: (gst_object_set_name_default),
7635         (gst_object_set_name):
7636           Random micro-optimisation: don't use a hash table
7637           with strings as keys and the usual strdup/strcmp
7638           involved, but rather just use the GQuark of the
7639           type name as key, since it needs to be looked up
7640           anyway to get the type name string.
7641
7642         * tests/check/gst/gstobject.c: (GST_START_TEST):
7643           Fix various leaks.
7644
7645 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7646
7647         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7648         (gst_bin_iterate_all_by_interface):
7649           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7650           GTypes are gulongs and thus the top 4 bytes might be cut
7651           off on some platforms when doing GPOINTER_TO_INT, leading
7652           to invalid GTypes and bad things happening (see RH bug #179654).
7653           Also add a check to make sure the type passed in is really
7654           an interface type.
7655
7656 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7657
7658         * .cvsignore:
7659           Ignore more.
7660
7661 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7662
7663         * Makefile.am:
7664         * configure.ac:
7665         * gst-element-check.m4:
7666         * gst-element-check.m4.in:
7667           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7668           instead of the unversioned gst-inspect (#324176, #168659).
7669
7670 2006-07-06  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/gstmessage.h:
7673         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7674         warnings.
7675
7676 2006-07-06  Wim Taymans  <wim@fluendo.com>
7677
7678         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7679         (gst_base_src_wait), (gst_base_src_update_length),
7680         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7681         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7682         (gst_base_src_loop), (gst_base_src_start),
7683         (gst_base_src_activate_pull):
7684         Update docs.
7685         blocksize == 0 now means the default blocksize when working in push
7686         based mode.
7687         Remove some pointless asserts in _wait function.
7688         Fix offset/length calculations and EOS handling. We can now pull 0
7689         bytes as well, which is allowed.
7690         use _check_get_range() to decide if we can operate in _pull based
7691         mode.
7692         Fix refcounting leak when check_get_range function was not 
7693         implemented.
7694         API GstBaseSrc::blocksize range can be 0 too now (default)
7695
7696         * tests/check/elements/filesrc.c: (GST_START_TEST),
7697         (filesrc_suite):
7698         Added check to test _get_range() behaviour.
7699
7700 2006-07-06  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7703         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7704         (gst_pad_pull_range):
7705         * gst/gstpad.h:
7706         Lots of comments and docs added to the pad functions.
7707         Flesh out the expected behaviour of the get_range() functions.
7708
7709 2006-07-06  Wim Taymans  <wim@fluendo.com>
7710
7711         * gst/gstbus.h:
7712         * gst/gstclock.h:
7713         * gst/gstevent.h:
7714         * gst/gstiterator.h:
7715         * gst/gstpad.h:
7716         * gst/gstplugin.h:
7717         * gst/gsttask.h:
7718         Remove comma at end of enumerator list. 
7719
7720 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
7721
7722         * win32/common/libgstbase.def:
7723         * win32/common/libgstdataprotocol.def:
7724         * win32/common/libsgtreamer.def:
7725         Add new exported functions.
7726
7727 2006-07-05  Wim Taymans  <wim@fluendo.com>
7728
7729         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7730         Add some more docs here and there.
7731
7732 2006-07-05  Wim Taymans  <wim@fluendo.com>
7733
7734         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7735         (gst_base_sink_loop), (gst_base_sink_get_position):
7736         When operating in pull mode update the offset so that we
7737         read sequentially.
7738
7739 2006-07-05  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/gstregistryxml.c: (read_string):
7742         Avoid strdup. (will happen in libxml, but hey!)
7743
7744         * gst/gsturi.c:
7745         Add some more docs.
7746
7747 2006-07-05  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7750         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7751         (gst_buffer_suite):
7752         No point in checking if the size of the subbuffer > 0, the
7753         code handles it correclty as demonstrated by unit test.
7754         Also add a unit test for the zero sized _new_and_alloc and
7755         _copy. Fixes #346663.
7756
7757 2006-07-05  Wim Taymans  <wim@fluendo.com>
7758
7759         * libs/gst/base/gstbasetransform.c:
7760         (gst_base_transform_prepare_output_buffer),
7761         (gst_base_transform_buffer_alloc),
7762         (gst_base_transform_handle_buffer):
7763         Make sure the buffer we pass to transform_ip has a refcount of
7764         1 and thus is writable. Fixes #343196
7765
7766 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
7767
7768         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7769         (gst_file_src_init), (gst_file_src_set_property),
7770         (gst_file_src_get_property), (gst_file_src_map_region):
7771         * plugins/elements/gstfilesrc.h:
7772         Add "sequential" property, off by default, to use madvise and hint
7773         to the kernel that sequential access is desired.
7774         Touch all retrieved pages by default to ensure they are pulled
7775         into memory. (Closes #345720)
7776
7777 2006-07-03  Wim Taymans  <wim@fluendo.com>
7778
7779         * docs/design/part-block.txt:
7780         * docs/design/part-dynamic.txt:
7781         Small docs updates.
7782
7783 2006-07-03  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7786         (gst_caps_unref), (gst_static_caps_get),
7787         (gst_caps_append_structure):
7788         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7789         Use GSlice when the glib we build against is >= 2.10
7790
7791 2006-07-03  Wim Taymans  <wim@fluendo.com>
7792
7793         * gst/gstelement.c: (gst_element_pads_activate):
7794         Small cleanup in pad activation code.
7795
7796 2006-07-03  Wim Taymans  <wim@fluendo.com>
7797
7798         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7799
7800         * gst/gst-i18n-app.h:
7801         * gst/gst-i18n-lib.h:
7802         * tools/gst-inspect.c: (print_signal_info):
7803         The attached patch will make the inclusion of gettext.h unconditional in
7804         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7805         libintl.h in tools/gst-inspect.c.
7806         This allows use of --disable-nls again and fixes #344642.
7807
7808 2006-07-03  Edward Hervey  <edward@fluendo.com>
7809
7810         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7811         Implement pad blocking on events according to part-block.txt.
7812         More comments on behaviour.
7813         * tests/check/gst/gstevent.c: (test_event):
7814         Send event to peer pad of blocked pad (else it will block).
7815
7816 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7817
7818         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7819         (gst_check_run_suite):
7820           if we get the wrong message, give us the types as string
7821         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7822           Fix a translatable
7823         * tests/check/elements/filesrc.c: (GST_START_TEST):
7824           add a test for trying to open a non-existing file
7825
7826 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7827
7828         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7829           add a test for adding self
7830
7831 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7832
7833         * libs/gst/check/gstcheck.h:
7834           add some assert_ as alias for fail_unless_*
7835         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7836           increase test coverage
7837
7838 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7839
7840         * Makefile.am:
7841           include lcov.mak for lcov coverage generation
7842         * tools/Makefile.am:
7843           add to CLEANFILES
7844
7845 2006-07-02  Edward Hervey  <edward@fluendo.com>
7846
7847         * tests/check/elements/.cvsignore:
7848         moaping
7849
7850 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * configure.ac:
7853           don't set CFLAGS and friends for gcov, done from GST_GCOV now
7854         * tests/check/Makefile.am:
7855           clean up gcov files
7856
7857 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7858
7859         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7860           remove gst_caps_simplify; it was not declared and not used
7861           and deprecated in 0.8
7862
7863 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * docs/faq/gst-uninstalled:
7866           don't put empty paths on PYTHONPATH
7867         * docs/gst/gstreamer-sections.txt:
7868           remove some symbols that are not there
7869
7870 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * gst/gstcaps.c: (gst_caps_compare_structures):
7873           whitespace fixes
7874         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7875         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7876           add more tests
7877
7878 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7879
7880         * libs/gst/dataprotocol/Makefile.am:
7881           build dataprotocol test by linking to the lib, instead of
7882           compiling the source, so we get coverage
7883         * tests/check/Makefile.am:
7884         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7885         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7886           add a test for filesrc
7887
7888 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * tests/check/gst/gststructure.c: (GST_START_TEST),
7891         (gst_structure_suite):
7892           Push coverage from 59.04% to 70.00%
7893
7894 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7895
7896         * tests/check/Makefile.am:
7897           gst-inspect every element; this makes sure that we also get
7898           coverage on element's get/set functions
7899
7900 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7901
7902         * configure.ac:
7903           set CFLAGS and friends to -O0 if gcov is being used
7904           add GCOV LIBS
7905         * gst/Makefile.am:
7906         * libs/gst/base/Makefile.am:
7907         * libs/gst/check/Makefile.am:
7908         * libs/gst/controller/Makefile.am:
7909         * libs/gst/dataprotocol/Makefile.am:
7910         * libs/gst/net/Makefile.am:
7911         * plugins/elements/Makefile.am:
7912         * plugins/indexers/Makefile.am:
7913           add makefile rules to generate gcov data and clean up
7914         * tests/check/Makefile.am:
7915           add a coverage target that generates an html overview
7916           of coverage data
7917
7918 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * tests/check/elements/fakesink.c:
7921         * tests/check/elements/fakesrc.c:
7922         * tests/check/elements/fdsrc.c:
7923         * tests/check/elements/identity.c:
7924         * tests/check/generic/sinks.c: (gst_sinks_suite):
7925         * tests/check/generic/states.c:
7926         * tests/check/gst/gst.c:
7927         * tests/check/gst/gstabi.c:
7928         * tests/check/gst/gstbin.c:
7929         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
7930         * tests/check/gst/gstbus.c: (gst_bus_suite):
7931         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7932         * tests/check/gst/gstelement.c:
7933         * tests/check/gst/gstevent.c: (gst_event_suite):
7934         * tests/check/gst/gstghostpad.c:
7935         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
7936         * tests/check/gst/gstmessage.c: (gst_message_suite):
7937         * tests/check/gst/gstminiobject.c:
7938         * tests/check/gst/gstobject.c:
7939         * tests/check/gst/gstpad.c:
7940         * tests/check/gst/gstpipeline.c:
7941         * tests/check/gst/gstplugin.c:
7942         * tests/check/gst/gstquery.c: (gst_query_suite):
7943         * tests/check/gst/gstsegment.c: (gst_segment_suite):
7944         * tests/check/gst/gststructure.c:
7945         * tests/check/gst/gstsystemclock.c:
7946         * tests/check/gst/gsttag.c:
7947         * tests/check/gst/gsttask.c: (gst_task_suite):
7948         * tests/check/gst/gstutils.c:
7949         * tests/check/gst/gstvalue.c:
7950         * tests/check/libs/adapter.c:
7951         * tests/check/libs/basesrc.c:
7952         * tests/check/libs/collectpads.c:
7953         * tests/check/libs/controller.c:
7954         * tests/check/libs/gdp.c: (gst_dp_suite):
7955         * tests/check/libs/gstnetclientclock.c:
7956         * tests/check/libs/gstnettimeprovider.c:
7957         * tests/check/libs/libsabi.c: (libsabi_suite):
7958         * tests/check/libs/typefindhelper.c:
7959         * tests/check/pipelines/cleanup.c:
7960         * tests/check/pipelines/parse-launch.c:
7961         * tests/check/pipelines/simple-launch-lines.c:
7962         * tests/check/pipelines/stress.c: (stress_suite):
7963           use the new macro
7964
7965 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7966
7967         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
7968         * libs/gst/check/gstcheck.h:
7969           create a macro and function so that the simple unit test
7970           case can be just one macro to create main()
7971
7972 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
7973
7974         * gst/gstbin.c: (gst_bin_restore_thyself):
7975         * gst/gstxml.c: (gst_xml_make_element):
7976           Fix deserialisation from XML. Set parent manually
7977           instead of using gst_bin_add(), since gst_bin_add()
7978           will unlink all pads of the element being added.
7979           Fixes #341667.
7980
7981 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
7982
7983         Patch by: Peter Kjellerstedt <pkj at axis com>
7984
7985         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
7986           Fix missing g_strdup() and double free when using the
7987           --gst-plugin-load command line option (#346097).
7988
7989 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7990
7991         * gst/gstinfo.c:
7992           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
7993
7994         * libs/gst/net/gstnetclientclock.c:
7995         * libs/gst/net/gstnettimeprovider.c:
7996           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
7997
7998 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7999
8000         * docs/manual/advanced-dataaccess.xml:
8001           Fix buffer probe example compilation in
8002           ADM (#345708).
8003         
8004 2006-06-22  Edward Hervey  <edward@fluendo.com>
8005
8006         * gst/gstelement.c: (gst_element_pads_activate):
8007         We need to deactivate src pads first and then sink pads.
8008         The reason is the src pads might be blocking while holding the streaming
8009         lock, so we need to deactivate them first so that deactivating the sink
8010         pads doesn't block (since it will require the streaming lock).
8011
8012 2006-06-22  Wim Taymans  <wim@fluendo.com>
8013
8014         * libs/gst/base/gstbasetransform.c:
8015         (gst_base_transform_buffer_alloc):
8016         Forgot to remove two unneeded unrefs.
8017         Simplify a check _is_equal allready checks the obvious case.
8018
8019 2006-06-22  Wim Taymans  <wim@fluendo.com>
8020
8021         * docs/design/part-block.txt:
8022         Some docs about what pad_block should do.
8023
8024 2006-06-22  Wim Taymans  <wim@fluendo.com>
8025
8026         * gst/gstcaps.c: (gst_caps_replace):
8027         Fix crasher when passed NULL. Doc clarification.
8028         Optimize for the trivial case.
8029
8030         * gst/gstpipeline.c: (gst_pipeline_change_state):
8031         Small cleanups.
8032
8033         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8034         Small documentation cleanup.
8035
8036         * libs/gst/base/gstbasetransform.c:
8037         (gst_base_transform_buffer_alloc):
8038         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8039         is what we need and it avoids a whole lot of redundant 
8040         refcount operations.
8041
8042 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8043
8044         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8045
8046         * docs/manual/advanced-dataaccess.xml:
8047           Fix 'Embedding static elements' section to use
8048           GST_PLUGIN_DEFINE_STATIC (#345607).
8049
8050 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8051
8052         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8053           Attempt to 'fix' spuriously failing test case: it seems like the
8054           timeout of half a second is simply too small when the system is under
8055           load otherwise, and the timeout doesn't really seem to serve any
8056           particular purpose here. Give the pipeline a few seconds to preroll
8057           first, and then give it another half a second to go from PAUSED to
8058           PLAYING and marshal the message into the main thread.
8059
8060 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * tools/gst-feedback-m.m:
8063           Don't only use unversioned tools, try versioned tools as well
8064           (#345086).
8065
8066 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8067
8068         * gst/gstbus.c: (gst_bus_class_init):
8069           Fix some typos, make docs more explicit.
8070
8071 2006-06-20  Wim Taymans  <wim@fluendo.com>
8072
8073         * tests/check/gst/gstghostpad.c: (block_callback),
8074         (GST_START_TEST), (gst_ghost_pad_suite):
8075         Added some more ghostpad tests, mainly blocking
8076         and probes.
8077
8078 2006-06-16  Wim Taymans  <wim@fluendo.com>
8079
8080         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8081         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8082         (gst_file_sink_event), (gst_file_sink_render):
8083         * plugins/elements/gstfilesink.h:
8084         Check if we can seek in the file instead of assuming
8085         we always can. Post an error when we are asked to seek in a
8086         non-seekable file (like a fifo). Fixes #343312.
8087         Some cleanups.
8088
8089 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * tools/gst-launch.1.in:
8092           Un-garble (fourcc) bit in filtered caps section.
8093
8094 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8095
8096         * docs/manual/advanced-autoplugging.xml:
8097         * docs/manual/basics-helloworld.xml:
8098         * docs/manual/highlevel-components.xml:
8099           Don't leak bus reference in sample code.
8100
8101 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8102
8103         * autogen.sh:
8104           Add default for new --enable-plugin-docs switch.
8105
8106         * configure.ac:
8107           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8108           Fixes #344039.
8109
8110         * docs/Makefile.am:
8111           Use new ENABLE_PLUGIN_DOCS conditional.
8112
8113 2006-06-14  Wim Taymans  <wim@fluendo.com>
8114
8115         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8116         Make it clear with a FIXME and a real define what the #if 0
8117         previously disabled.
8118
8119 2006-06-14  Wim Taymans  <wim@fluendo.com>
8120
8121         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8122         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8123         * libs/gst/base/gstbasetransform.c:
8124         (gst_base_transform_sink_eventfunc):
8125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8126         Don't randomly and silently reset a segment when the format 
8127         changes as this is a bug somewhere upstream. Fixes #330379.
8128
8129 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8130
8131         Patch by: Wouter Paesen  <wouter at kangaroot net>
8132
8133         * libs/gst/controller/gstcontroller.c:
8134         (gst_controlled_property_new):
8135           Fix controlling of float properties (#344849).
8136
8137         * tests/check/libs/controller.c:
8138         (gst_test_mono_source_get_property),
8139         (gst_test_mono_source_set_property),
8140         (gst_test_mono_source_class_init), (GST_START_TEST):
8141           While we're at it, add some float stuff to unit test.
8142
8143 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         * docs/README:
8146         * docs/images/gdp-header.svg:
8147           add a gdp image
8148         * docs/libs/Makefile.am:
8149         * docs/libs/gdp-header.png:
8150         * libs/gst/dataprotocol/dataprotocol.c:
8151           add it to the API docs
8152         * docs/manual/intro-motivation.xml:
8153           fix typo
8154
8155 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8156
8157         * gst/gst.c: (scan_and_update_registry), (init_post):
8158           If the fork()'ed child process can't write the updated registry cache
8159           file to disk for some reason, make it exit with a failure exit code,
8160           so that the parent can then re-scan the plugins itself and update the
8161           registry structures in memory and work with that (rather than failing
8162           when creating elements because seemingly no plugins are available).
8163           Refactor registry scanning code into separate function for this and
8164           also separate fork() and non-fork() code paths. Fixes #344748.
8165
8166 2006-06-13  Wim Taymans  <wim@fluendo.com>
8167
8168         * docs/manual/advanced-dataaccess.xml:
8169         Fix wrong PluginDesc. Fixes #344755.
8170
8171 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8174           Fix silly bug that prevented us from creating
8175           ~/.gstreamer-0.10 and writing the registry in one
8176           go (the first call to g_mkstemp() would overwrite the
8177           placeholder in the template string, so the second call
8178           to g_mkstemp() after creating the missing directory
8179           would then error out with 'invalid argument').
8180
8181 2006-06-13  Edward Hervey  <edward@fluendo.com>
8182
8183         * gst/gst.c: (init_post):
8184         Free string.
8185
8186 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8187
8188         * gst/glib-compat-private.h:
8189         * gst/glib-compat.c:
8190         * gst/glib-compat.h:
8191         * gst/gstvalue.c: (gst_value_serialize_flags):
8192           remove GLib 2.6 compatibility code
8193
8194 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * gst/parse/Makefile.am:
8197           Fix build with 'make -j N' even more (#340016).
8198
8199 2006-06-12  Wim Taymans  <wim@fluendo.com>
8200
8201         * docs/gst/gstreamer-sections.txt:
8202         Fix docs.
8203
8204 2006-06-12  Wim Taymans  <wim@fluendo.com>
8205
8206         * gst/gstsegment.c: (gst_segment_set_duration),
8207         (gst_segment_set_last_stop), (gst_segment_set_seek),
8208         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8209         (gst_segment_to_running_time), (gst_segment_clip):
8210         Use G_UNLIKELY to help the compiler a bit.
8211
8212 2006-06-12  Wim Taymans  <wim@fluendo.com>
8213
8214         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8215
8216         * gst/gstevent.c: (gst_event_get_type):
8217         * gst/gstmessage.c:
8218         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8219         (gst_pad_push):
8220         constify quark registration strings. Fixes #344115
8221         Avoid unneeded type checking is _pad_push() by internally
8222         calling gst_pad_chain_unchecked().
8223
8224 2006-06-12  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8227         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8228         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8229         (gst_buffer_is_span_fast), (gst_buffer_span):
8230         Init _type for consistency.
8231         Use _FLAGS macro to avoid type check.
8232         Avoid unneeded type checks in subbufer code.
8233
8234 2006-06-12  Wim Taymans  <wim@fluendo.com>
8235
8236         * gst/gst.c: (gst_debug_help):
8237         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8238         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8239         (gst_plugin_feature_list_free):
8240         * gst/gstregistry.c: (gst_registry_add_plugin),
8241         (gst_registry_add_feature), (gst_registry_plugin_filter),
8242         (gst_registry_feature_filter), (gst_registry_find_plugin),
8243         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8244         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8245         * gst/gstregistryxml.c: (load_feature),
8246         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8247         * gst/gstminiobject.c: (gst_mini_object_unref),
8248         (gst_mini_object_replace), (gst_value_mini_object_free),
8249         (gst_value_mini_object_copy):
8250         Use _CAST macros to avoid unneeded type checking.
8251         Added some more G_UNLIKELY.
8252
8253 2006-06-12  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/gstbuffer.h:
8256         Avoid unneeded type checking.
8257         API: GST_BUFFER_IS_DISCONT
8258
8259         * gst/gstminiobject.h:
8260         Avoid type check in flag accessor.
8261
8262         * gst/gstelementfactory.h:
8263         * gst/gstplugin.h:
8264         * gst/gstpluginfeature.h:
8265         Add _CAST macros.
8266         API: GST_ELEMENT_FACTORY_CAST
8267         API: GST_PLUGIN_CAST
8268         API: GST_PLUGIN_FEATURE_CAST
8269
8270 2006-06-12  Wim Taymans  <wim@fluendo.com>
8271
8272         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8273         (gst_object_unref):
8274         Add G_UNLIKELY in type registration.
8275         Avoid type check in _ref/_unref since that is also
8276         done in glib.
8277
8278 2006-06-12  Wim Taymans  <wim@fluendo.com>
8279
8280         * gst/gsterror.c: (gst_g_error_get_type):
8281         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8282         (gst_static_pad_template_get_type):
8283         * gst/gsttaglist.c: (gst_tag_list_get_type):
8284         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8285         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8286         * gst/gsturi.c: (gst_uri_handler_get_type):
8287         * gst/gstvalue.c: (gst_date_get_type):
8288         * gst/gstxml.c: (gst_xml_get_type):
8289         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8290         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8291         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8292         Add G_UNLIKELY in type registration.
8293
8294 2006-06-12  Wim Taymans  <wim@fluendo.com>
8295
8296         * tools/gst-inspect.c: (print_signal_info):
8297         Properly print enum values.
8298
8299 2006-06-12  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/gstinfo.c: (gst_debug_set_active),
8302         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8303         * gst/gstinfo.h:
8304         Add some G_[UN]LIKELY.
8305         Maintain __gst_debug_min to avoid formatting the arguments of
8306         debug messages that will be dropped anyway to avoid a lot of 
8307         overhead from the debugging system.
8308
8309 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8310
8311         * po/POTFILES.in:
8312         * po/POTFILES.skip:
8313           add missing files containing translatable strings, tell intltool about
8314           one exception
8315
8316 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8317
8318         * tests/check/libs/.cvsignore:
8319         add test-binary to ignore list
8320
8321 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8322
8323         * docs/libs/gstreamer-libs-docs.sgml:
8324         reorder (put dp into a chapter) and indent
8325
8326 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * configure.ac:
8329           back to HEAD
8330
8331 === release 0.10.8 ===
8332
8333 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8334
8335         * configure.ac:
8336           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8337
8338 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8339
8340         * gst/gst.c: (init_post):
8341           move pid declaration to declaration block
8342
8343 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8344
8345         * gst/gst.c: (init_post):
8346           use _exit() instead of exit() in our forked child; this ensures
8347           that none of the registered exit handlers from whatever is using
8348           GStreamer get executed.  This fixes gnome-mixer-applet failing
8349           to load, because ORBit would shut down.
8350           Spotted by: Edward Hervey  <edward@fluendo.com>
8351           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8352           Fixes #344474
8353
8354 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8355
8356         * configure.ac:
8357           back to TRUNK
8358
8359 === release 0.10.7 ===
8360
8361 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8362
8363         * configure.ac:
8364           releasing 0.10.7, "Soepeke, ik zie ou"
8365
8366 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * configure.ac:
8369         * po/af.po:
8370         * po/az.po:
8371         * po/bg.po:
8372         * po/ca.po:
8373         * po/cs.po:
8374         * po/de.po:
8375         * po/en_GB.po:
8376         * po/fr.po:
8377         * po/it.po:
8378         * po/nb.po:
8379         * po/nl.po:
8380         * po/ru.po:
8381         * po/sq.po:
8382         * po/sr.po:
8383         * po/sv.po:
8384         * po/tr.po:
8385         * po/uk.po:
8386         * po/vi.po:
8387         * po/zh_CN.po:
8388         * po/zh_TW.po:
8389         * win32/common/config.h:
8390           0.10.6.2 prerelease
8391
8392 2006-06-07  Wim Taymans  <wim@fluendo.com>
8393
8394         * gst/gstindex.c: (gst_index_gtype_resolver):
8395         * tools/gst-xmlinspect.c: (print_plugin_info):
8396         Fix leak spotted by coverity checker. Fixes #343827
8397         Fix another other leak found by paolo borelli.
8398
8399 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8400
8401         * libs/gst/dataprotocol/dataprotocol.c:
8402         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8403         (gst_dp_version_get_type), (gst_dp_init),
8404         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8405         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8406         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8407         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8408         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8409         (gst_dp_packetizer_free):
8410         * libs/gst/dataprotocol/dataprotocol.h:
8411           API: add a GstDPPacketizer object, and create/free functions
8412           API: add GstDPVersion enum
8413           Add 1.0 event function that uses the string serialization
8414           Serialize more useful buffer flags
8415           Fixes #343988
8416
8417 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8418
8419         * tests/check/Makefile.am:
8420         * tests/check/gst/gstabi.c:
8421         * tests/check/gst/struct_ppc64.h:
8422         * tests/check/libs/libsabi.c:
8423         * tests/check/libs/struct_ppc64.h:
8424           add ppc64 structure sizes
8425
8426 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8427
8428         * tests/check/Makefile.am:
8429         * tests/check/gst/gstabi.c:
8430         * tests/check/gst/struct_x86_64.h:
8431         * tests/check/libs/libsabi.c:
8432         * tests/check/libs/struct_x86_64.h:
8433           generate and add structure size lists for x86_64
8434
8435 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8438         * libs/gst/check/gstcheck.h:
8439           factor out the method from tests that checks size of structures,
8440           and add code to generate the header containing these sizes
8441         * tests/check/gst/gstabi.c: (GST_START_TEST):
8442         * tests/check/gst/struct_i386.h:
8443         * tests/check/libs/libsabi.c: (GST_START_TEST):
8444         * tests/check/libs/struct_i386.h:
8445           use it
8446
8447 2006-06-06  Michael Smith  <msmith@fluendo.com>
8448
8449         * gst/gstsegment.h:
8450           Don't use c++-style comments, fixes #343929
8451
8452 2006-06-05  Edward Hervey  <edward@fluendo.com>
8453
8454         * gst/gst.c:
8455         plugin_paths is not used if we build without registry support.
8456
8457         * gst/gstsegment.c: (gst_segment_copy): 
8458         _copy() was always returning NULL...
8459
8460 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8461
8462         * libs/gst/dataprotocol/dataprotocol.c:
8463         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8464         (gst_dp_packet_from_event):
8465           factor out CRC code
8466
8467 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8470           make sure we unset caps
8471
8472 2006-06-02  Michael Smith  <msmith@fluendo.com>
8473
8474         * libs/gst/check/gstcheck.c: (gst_check_init),
8475         (gst_check_chain_func):
8476         * libs/gst/check/gstcheck.h:
8477           Add a cond/mutex to the check support lib, signal this whenever we
8478           add to the buffers list. This will allow tests to not busy-wait on
8479           the buffer-list.
8480
8481 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * libs/gst/dataprotocol/dataprotocol.c:
8484         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8485         (gst_dp_packet_from_event):
8486           factor out some common header init code
8487
8488 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8489
8490         * docs/libs/gstreamer-libs-sections.txt:
8491         * docs/libs/tmpl/gstdataprotocol.sgml:
8492         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8493         * libs/gst/dataprotocol/dataprotocol.h:
8494           API: make gst_dp_crc() public
8495
8496 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8497
8498         * plugins/indexers/gstindexers.c: (plugin_init):
8499         conditionally register fileindexer (fixes #343598)
8500
8501 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8502
8503         * gst/gsttagsetter.h:
8504         Can't cast ifaces to a class
8505
8506         * libs/gst/net/gstnetclientclock.h:
8507         * libs/gst/net/gstnettimeprovider.h:
8508         * plugins/elements/gstfakesink.h:
8509         * plugins/elements/gstfakesrc.h:
8510         * plugins/elements/gstfdsink.h:
8511         * plugins/elements/gstfdsrc.h:
8512         * plugins/elements/gstfilesink.h:
8513         * plugins/elements/gstfilesrc.h:
8514         * plugins/elements/gstidentity.h:
8515         * plugins/elements/gstqueue.h:
8516         * plugins/elements/gsttee.h:
8517         * plugins/indexers/gstfileindex.c:
8518         * plugins/indexers/gstmemindex.c:
8519         * tests/old/examples/plugins/example.h:
8520         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8521
8522 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8523
8524         * libs/gst/dataprotocol/dataprotocol.c:
8525         (gst_dp_header_from_buffer):
8526           make sure we zero the whole ABI-compatible area
8527
8528 2006-06-01  Wim Taymans  <wim@fluendo.com>
8529
8530         Patch by: Alessandro Decina <alessandro at nnva dot org>
8531
8532         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8533         Make sure the EOS flag is cleared from pads after a flush
8534         or stop. Fixes #343538.
8535
8536         * tests/check/libs/collectpads.c: (GST_START_TEST),
8537         (gst_collect_pads_suite):
8538         Added test for collectpads reusage after EOS.
8539
8540 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8541
8542         * gst/gst.c:
8543          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8544         * win32/common/libgstbase.def:
8545          export gst_collect_pads_set_flushing
8546         * win32/common/libgstreamer.def:
8547          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8548          gst_value_fraction_multiply
8549         * win32/vs6/gst_inspect.dsp:
8550          add a link to intl.lib
8551
8552 2006-05-30  Wim Taymans  <wim@fluendo.com>
8553
8554         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8555         (gst_collect_pads_chain):
8556         Handle the case where a pad is removed from the collection
8557         that could cause the other pads to become collectable.
8558
8559 2006-05-30  Wim Taymans  <wim@fluendo.com>
8560
8561         * gst/gstelement.c:
8562         Clarify the use of _release_request_pad() and
8563         _get_request_pad() a bit better.
8564
8565         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8566         (gst_adapter_take_buffer):
8567         Fix some doc and comment typos.
8568
8569 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8570
8571         * docs/gst/gstreamer-sections.txt:
8572         * docs/libs/gstreamer-libs-sections.txt:
8573           add declared symbols
8574
8575 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
8576
8577         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8578         Add debug that can be enabled using a #define at the top of the file,
8579         for dumping stats about how late/early we were when waking up from
8580         waiting on the clock.
8581
8582 2006-05-30  Wim Taymans  <wim@fluendo.com>
8583
8584         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8585         When rebuilding the pad list, don't leak the previous list.
8586
8587 2006-05-30  Wim Taymans  <wim@fluendo.com>
8588
8589         Patch by: Lutz Mueller <lutz at topfrose dot de>
8590
8591         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8592         (gst_base_src_get_query_types), (gst_base_src_update_length):
8593         Publish supported query types.
8594         Update last_stop field in get_range mode so the position
8595         query works. Fixes #342321.
8596
8597 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
8598
8599         * docs/gst/gstreamer-sections.txt:
8600         * gst/gsttaglist.c: (_gst_tag_initialize):
8601         * gst/gsttaglist.h:
8602           API: add GST_TAG_PREVIEW_IMAGE (#343341).
8603
8604 2006-05-30  Wim Taymans  <wim@fluendo.com>
8605
8606         Patch by: Alessandro Decina <alessandro at nnva dot org>
8607
8608         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8609         Unlock mutex when removing an unknown pad.
8610         Fixes #343334.
8611
8612         * tests/check/Makefile.am:
8613         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8614         (push_event), (setup), (teardown), (GST_START_TEST),
8615         (gst_collect_pads_suite), (main):
8616         Added collecpads check, disabled for now as check crashes for
8617         some reason.
8618
8619 2006-05-29  Wim Taymans  <wim@fluendo.com>
8620
8621         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8622         Don't leak pads lists.
8623
8624 2006-05-29  Wim Taymans  <wim@fluendo.com>
8625
8626         * docs/libs/gstreamer-libs-sections.txt:
8627         * libs/gst/base/gstcollectpads.c:
8628         (gst_collect_pads_set_flushing_unlocked),
8629         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8630         (gst_collect_pads_stop):
8631         * libs/gst/base/gstcollectpads.h:
8632         API: gst_collect_pads_set_flushing()
8633         Added api to set the pads to flushing, useful for seeking
8634         code in elements using collectpads.
8635         Clear segment when receiving a flush.
8636
8637 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
8638
8639         * gst/gst.c: (add_path_func), (init_post):
8640           Don't scan registry paths passed via --gst-plugin-path immediately
8641           (will crash, because absolutely nothing is set up and no types are
8642           registered etc.); do this later in init_post(). Fixes #343057.
8643
8644 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8645
8646         * gst/gst.c: (init_post):
8647           if we have fork, fork while reading/rebuilding the registry
8648           so the parent doesn't take the hit of having all plugins loaded
8649           in memory.  Fixes #342777.
8650         * configure.ac:
8651           Check if we have fork()
8652         * win32/common/config.h.in:
8653           no fork() on win32
8654
8655 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8656
8657         * plugins/elements/gstelements.c:
8658         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8659         (gst_file_src_init), (gst_file_src_set_property),
8660         (gst_file_src_get_property), (gst_file_src_start):
8661         * plugins/elements/gstfilesrc.h:
8662           API: GstFileSrc::use-mmap
8663
8664         Add a use-mmap property to enable easier testing of all code paths.
8665         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8666         in the absence of gnomevfssrc. (Closes #340501)
8667
8668 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8669
8670         * tools/gst-inspect.c:
8671         Add missing include, removes warning of ngettext not being defined on
8672         some arches.
8673
8674 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8675
8676         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8677         Handle NULL input and output pointers silently as a failed conversion,
8678         rather than g_warnings.
8679
8680 2006-05-25  Wim Taymans  <wim@fluendo.com>
8681
8682         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8683         Initialize variable before using. Fixes #342820.
8684
8685 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8686
8687         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8688           Fix off-by-one bug that would only allow peeks of N-1 bytes
8689           from the start even if the buffer to typefind on contains
8690           in fact N bytes of data (makes vorbis typefinding from a
8691           vorbis identification header buffer work).
8692
8693         * tests/check/Makefile.am:
8694         * tests/check/libs/.cvsignore:
8695         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8696         (gst_typefindhelper_suite), (main), (foobar_typefind),
8697         (plugin_init):
8698           Add very basic unit test for gst_type_find_helper_for_buffer()
8699           that checks for the problem fixed above.
8700
8701 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * tools/gst-inspect.c: (print_interfaces),
8704         (print_element_properties_info), (print_element_list), (main):
8705           add more translatable strings
8706
8707 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
8708
8709         Patch by: Julien Moutte  <julien at moutte net>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8713           
8714         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8715         (gst_fake_sink_preroll):
8716         * plugins/elements/gstfakesink.h:
8717           API: Add new GstFakeSink::preroll-handoff signal (#337100).
8718
8719 2006-05-23  Wim Taymans  <wim@fluendo.com>
8720
8721         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8722         * gst/gstpad.h:
8723         Added _CUSTOM error and success GstFlowReturn that can be
8724         used be elements internally. 
8725         Added macro to check for SUCCESS flowreturns.
8726         API: GST_FLOW_CUSTOM_SUCCESS
8727         API: GST_FLOW_CUSTOM_ERROR
8728         API: GST_FLOW_IS_SUCCESS
8729
8730         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8731         Added check for GstFlowReturn sanity.
8732
8733 2006-05-23  Wim Taymans  <wim@fluendo.com>
8734
8735         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8736
8737         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8738         (gst_collect_pads_event):
8739         clear/reset segment info in FLUSH_STOP.
8740         Fixes #336929.
8741
8742 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
8743
8744         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8745         (gst_collect_pads_check_collected):
8746         Flush queued buffer on _stop(), fixes playing again (#342454)
8747
8748 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8749
8750         * tests/check/gst/gststructure.c: (GST_START_TEST),
8751         (gst_structure_suite):
8752           add a test for a complete structure
8753
8754 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8755
8756         * docs/faq/developing.xml:
8757         * docs/faq/faq.xml:
8758         * docs/faq/troubleshooting.xml:
8759         * docs/faq/using.xml:
8760           Some minor FAQ updates that won't change the fact that
8761           our FAQ is badly structured, full of information hardly
8762           anyone new to GStreamer needs to know and lacking lots
8763           of information people constantly ask for.
8764           
8765 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
8766
8767         * gst/gstpad.c: (gst_pad_set_caps):
8768           Short-circuit gst_pad_set_caps if setting the existing
8769           caps pointer again, and avoid printing debug and 
8770           reffing/unreffing the caps.
8771
8772         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8773           There's actually no need to set the caps before pushing -
8774           the acceptcaps method will handle it anyway.
8775
8776 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8777
8778         * docs/gst/gstreamer-sections.txt:
8779         * win32/common/libgstreamer.def:
8780         * gst/gstutils.c: (gst_element_seek_simple):
8781         * gst/gstutils.h:
8782           API: add gst_element_seek_simple() (#342238).
8783
8784 2006-05-18  Edward Hervey  <edward@fluendo.com>
8785
8786         * gst/gsttypefind.c: (gst_type_find_get_type):
8787         * gst/gsttypefind.h:
8788         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8789         registered for GstTypeFind pointers. This allows wrapping the structure
8790         in bindings (i.e. gst-python).
8791
8792 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8793
8794         * gst/gsttagsetter.c:
8795           Docs additions and fixes (see #339918).
8796
8797 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8798
8799         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8800         The caps intersection algorithm can produce multiple copies of the
8801         caps. Until that is fixed, we need to simplify the result to be
8802         sure whether the allowed caps are fixed or not.
8803
8804         * plugins/elements/gstqueue.c: (gst_queue_init),
8805         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8806         (gst_queue_push_one):
8807         Proxied buffer alloc should not set the caps on the source pad.
8808         When pushing buffers, we always accept the caps change that triggers.
8809         This prevents negotiation errors caused by caps changing mid-stream 
8810         and then being refused on our source pad (because upstream is now
8811         refusing those caps).
8812
8813 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8814
8815         * tests/examples/helloworld/helloworld.c: (main):
8816           Must plug audioconvert and audioresample between decoder
8817           and audio sink.
8818
8819 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8820
8821         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8822         (load_feature), (load_plugin):
8823         Allow empty strings for some of the plugin fields so we don't 
8824         drop valid plugin entries that were written out correctly
8825         (Fixes #341479)
8826
8827 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8828         
8829         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8830           Use g_remove and g_rename instead of remove and rename that don't 
8831           handle utf8 characters. rename was failing for users who had specific
8832           characters in their name then the registry was built at each 
8833           gstreamer init.
8834         * win32/vs6/gst_inspect.dsp:
8835         * win32/vs6/gst_launch.dsp:
8836         * win32/vs6/libgstbase.dsp:
8837         * win32/vs6/libgstcoreelements.dsp:
8838         * win32/vs6/libgstreamer.dsp:
8839           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
8840           build of libgstreamer and clean unused libraries in projects link 
8841           settings.
8842
8843 2006-05-17  Edward Hervey  <edward@fluendo.com>
8844
8845         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8846         The queue is not responsible for pushing an EOS when receiving a fatal
8847         flow error. It's up to the real element driving the pipeline to do that.
8848
8849 2006-05-16  Edward Hervey  <edward@fluendo.com>
8850
8851         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8852         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8853         buffer returned a fatal error. It should just send an EOS and stop
8854         its task.
8855         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8856         when pushing buffers on the queue and will be able to handle the event.
8857
8858 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8859
8860         * docs/manual/basics-bins.xml:
8861         * docs/manual/basics-init.xml:
8862           Fix typos and minor errors in sample code (#341856).
8863
8864 2006-05-16  Wim Taymans  <wim@fluendo.com>
8865
8866         * docs/design/part-qos.txt:
8867         Fix indexes in formulas to make more sense.
8868
8869 2006-05-15  Wim Taymans  <wim@fluendo.com>
8870
8871         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8872         Don't report POSITION based on clock time if sync is
8873         disabled in a sink.
8874
8875 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
8876
8877         * gst/gstobject.h:
8878           Add cast to make compiler happy - refcount variable was a gint
8879           in GstObject but is a guint in GObject and g_atomic_int_get()
8880           wants a gint *.
8881
8882 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * gst/parse/Makefile.am:
8885           chain commands using &&, which also makes parallel make work
8886
8887 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
8888
8889         * docs/gst/gstreamer-sections.txt:
8890         * gst/gstevent.c:
8891         * gst/gstevent.h:
8892         * gst/gstmessage.h:
8893           Minor docs fixes.
8894
8895 === release 0.10.6 ===
8896
8897 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
8898
8899         * configure.ac:
8900           releasing 0.10.6, "Take the cannoli"
8901
8902 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8903
8904         * tools/gst-launch.c: (print_tag):
8905           Fix use of uninitialized variable in the hypothetical
8906           case that some broken plugin creates a GST_TAG_IMAGE
8907           tag containing a NULL buffer (#341667).
8908
8909 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * tools/gst-launch.c: (print_tag):
8912           Print something more intelligible for image tags when
8913           using the -t switch (#341556).
8914
8915 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8916
8917         * Makefile.am:
8918           updates for win32
8919         * configure.ac:
8920           define GST_MAJORMINOR so we have it available in win32/common/config.h
8921           Possibly remove it from our Makefile.am files later
8922         * win32/common/config.h:
8923         * win32/common/config.h.in:
8924           added GST_MAJORMINOR
8925         * win32/common/gstenumtypes.c: (register_gst_resource_error):
8926         * win32/common/gstversion.h:
8927           updated
8928
8929 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
8930
8931         * win32/MANIFEST:
8932           Update win32 files listing.
8933         * win32/common/gstversion.h:
8934           Add GST_MAJORMINOR definition.
8935         * win32/common/libgstreamer.def:
8936           Add new exported functions.
8937           
8938 2006-05-12  Michael Smith  <msmith@fluendo.com>
8939
8940         * gst/gstplugin.c: (gst_plugin_load_file):
8941           If an so file has no plugin entry point, unload the module.
8942
8943 2006-05-11  Wim Taymans  <wim@fluendo.com>
8944
8945         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
8946         (gst_queue_set_property):
8947         Don't forget to signal the _chain or _loop function 
8948         when the queue size or thresholds change since that might
8949         cause them to make progres again.
8950
8951 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
8952
8953         * gst/gstclock.c: (gst_clock_class_init):
8954         * gst/gstindex.c: (gst_index_class_init):
8955         * gst/gstobject.c: (gst_object_class_init):
8956         * gst/gstpad.c: (gst_pad_class_init):
8957         * gst/gstpipeline.c: (gst_pipeline_class_init):
8958         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8959         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
8960         * libs/gst/base/gstbasetransform.c:
8961         (gst_base_transform_class_init):
8962         * libs/gst/net/gstnetclientclock.c:
8963         (gst_net_client_clock_class_init):
8964         * libs/gst/net/gstnettimeprovider.c:
8965         (gst_net_time_provider_class_init):
8966         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
8967         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8968         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8969         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
8970         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8971         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8972         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8973         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8974         * plugins/elements/gsttee.c: (gst_tee_class_init):
8975         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8976         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8977           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
8978
8979 2006-05-11  Wim Taymans  <wim@fluendo.com>
8980
8981         * gst/gstbuffer.c: (_gst_buffer_initialize):
8982         Register subbufer along with the buffer type so that
8983         it does not accidentally gets registered from N
8984         different streaming threads in a non threadsafe way.
8985
8986 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8987
8988         * gst/gstbuffer.h:
8989         * gst/gstevent.h:
8990         * gst/gstmessage.h:
8991           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
8992           gst_event_ref() and gst_message_ref() functions again
8993           (ugly hack, please do fix if there's a better way besides
8994           overrides.txt, which doesn't seem to work).
8995
8996 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8997
8998         * libs/gst/check/gstcheck.h:
8999           add an assert for setting state to avoid lots of repetitive code
9000           in the future
9001
9002 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9003
9004         * gst/gstvalue.c: (gst_value_serialize_flags):
9005           fix a leak if no flags are set
9006         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9007           fix leak in tests
9008
9009 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * docs/manual/basics-pads.xml:
9012           Expand a bit on caps and filtered links and update
9013           examples that were still using the no longer existing
9014           gst_pad_link_filtered() (#338206).
9015
9016 2006-05-10  Wim Taymans  <wim@fluendo.com>
9017
9018         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9019         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9020         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9021         (gst_collect_pads_stop):
9022         * libs/gst/base/gstcollectpads.h:
9023         No need to call _stop in _finalize.
9024         Iterate the main pad list in _finalize.
9025         Added some more debug.
9026         Free lists and data in the right order.
9027         Also free data whem doing _remove_pad when stopped for
9028         backward compatibility protect ::started with PAD_LOCK as
9029         well.
9030
9031 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9032
9033         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9034         (gst_structure_parse_value):
9035           add some comments
9036           rename a method so that it actually says what it does better
9037
9038 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9039
9040         * gst/gstevent.c: (_gst_event_initialize):
9041         * gst/gstformat.c: (_gst_format_initialize):
9042           make sure some essential types used by events are registered
9043           as part of gst_init()
9044         * gst/gstvalue.c: (gst_value_serialize_flags):
9045           if no flags are set, serialize them to a value that represents NONE
9046           so that deserializing them works
9047         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9048           add tests for serialization and deserialization of flags
9049
9050 2006-05-10  Wim Taymans  <wim@fluendo.com>
9051
9052         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9053         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9054         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9055         (gst_collect_pads_event), (gst_collect_pads_chain):
9056         Update docs.
9057         Better debug info.
9058         Catch and return errors from the collect function
9059         Refuse data on eos pads.
9060
9061 2006-05-10  Edward Hervey  <edward@fluendo.com>
9062
9063         * gst/gstinterface.h:
9064         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9065         GInterface type checking.
9066         They were previously using non-defined macros.
9067
9068 2006-05-09  Wim Taymans  <wim@fluendo.com>
9069
9070         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9071         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9072         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9073         (gst_collect_pads_start), (gst_collect_pads_stop),
9074         (gst_collect_pads_peek), (gst_collect_pads_pop),
9075         (gst_collect_pads_available), (gst_collect_pads_read),
9076         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9077         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9078         (gst_collect_pads_chain):
9079         * libs/gst/base/gstcollectpads.h:
9080         Clean up the mess that is collectpads, add comments and
9081         FIXMEs where needed.
9082         Maintain a separate pad list so we can add pads while
9083         collecting the other ones. For this we need a new separate 
9084         lock (see comics).
9085         Fix memory leak in finalize.
9086         Refactor some weird code to set/unset pad flushing flags, mark
9087         with comments.
9088         Don't crash in _available, _read, _flush when we're EOS.
9089
9090         * tests/check/libs/.cvsignore:
9091         Ignore adapter check binary.
9092
9093 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9094
9095         * gst/gstindex.c: (gst_index_resolver_get_type):
9096         * plugins/elements/gstfakesink.c:
9097         (gst_fake_sink_state_error_get_type):
9098         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9099         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9100         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9101           Const-ify GEnumValue arrays.
9102
9103 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9104
9105         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9106           Add test case for flags + gst_buffer_make_metadata_writable().
9107
9108 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9109
9110         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9111           gst_buffer_make_metadata_writable() should maintain the
9112           buffer flags (those that make sense at least) (see #340859).
9113
9114 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9115
9116         * tools/gst-inspect.c:
9117         * tools/gst-launch.c:
9118         * tools/gst-typefind.c:
9119         * tools/gst-xmlinspect.c:
9120         * tools/tools.h:
9121           Fix up includes: need to include stdlib.h in tools.h for exit().
9122
9123 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9124
9125         * gst/gsttaglist.c: (_gst_tag_initialize):
9126         * gst/gsttaglist.h:
9127           API: add GST_TAG_IMAGE tag (#340721).
9128
9129 2006-05-08  Wim Taymans  <wim@fluendo.com>
9130
9131         * gst/gstquery.c:
9132         Added some docs for the segment query.
9133
9134 2006-05-08  Wim Taymans  <wim@fluendo.com>
9135
9136         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9137         (gst_base_src_loop), (gst_base_src_change_state):
9138         Always push non-flushing serialized events in the streaming 
9139         thread.
9140
9141 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9142
9143         * gst/gsterror.c: (_gst_stream_errors_init):
9144           Add a missing error string.
9145
9146 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9147
9148         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9149         Add applied_rate to the debug
9150
9151         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9152         Copy applied_rate into the outgoing NEWSEGMENT event
9153
9154 2006-05-08  Wim Taymans  <wim@fluendo.com>
9155
9156         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9157
9158         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9159         (gst_base_sink_change_state):
9160         call ::unlock before taking the PREROLL_LOCK so we can safely
9161         handle elements that lock in ::render.
9162         Fixes #340174.
9163
9164 2006-05-08  Edward Hervey  <edward@fluendo.com>
9165
9166         * autogen.sh: (CONFIGURE_DEF_OPT): 
9167         Darwin's libtoolize is in fact called glibtoolize.
9168         Adding glibtoolize to the list of accepted names for libtoolize.
9169
9170 2006-05-08  Wim Taymans  <wim@fluendo.com>
9171
9172         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9173         Unify error handling, don't post an error message
9174         when a push() returns EOS but perform our normal EOS
9175         handling code. Fixes #340772.
9176
9177 2006-05-08  Wim Taymans  <wim@fluendo.com>
9178
9179         * docs/design/part-overview.txt:
9180         Make upsteam/downstream concepts more clear.
9181         Give an example of serialized/non-serialized events.
9182
9183         * docs/design/part-events.txt:
9184         * docs/design/part-streams.txt:
9185         Mention applied_rate.
9186
9187         * docs/design/part-trickmodes.txt:
9188         Mention applied rate, flesh out some more use cases.
9189
9190         * gst/gstevent.c: (gst_event_new_new_segment),
9191         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9192         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9193         (gst_event_parse_tag), (gst_event_new_buffer_size),
9194         (gst_event_parse_buffer_size), (gst_event_new_qos),
9195         (gst_event_parse_qos), (gst_event_parse_seek),
9196         (gst_event_new_navigation):
9197         * gst/gstevent.h:
9198         Add applied_rate field to NEWSEGMENT event.
9199         API: gst_event_new_new_segment_full()
9200         API: gst_event_parse_new_segment_full()
9201
9202         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9203         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9204         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9205         * gst/gstsegment.h:
9206         Add applied_rate to GstSegment structure.
9207         Make calculation of stream_time and running_time more correct
9208         wrt rate/applied_rate.
9209         Add some more docs.
9210         API: GstSegment::applied_rate field
9211         API: gst_segment_set_newsegment_full();
9212
9213         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9214         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9215         * libs/gst/base/gstbasetransform.c:
9216         (gst_base_transform_sink_eventfunc),
9217         (gst_base_transform_handle_buffer):
9218         Parse and use applied_rate in the GstSegment field.
9219
9220         * tests/check/gst/gstevent.c: (GST_START_TEST):
9221         Add check for applied_rate field.
9222
9223         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9224         (gstsegments_suite):
9225         Add more checks for various GstSegment operations.
9226
9227 2006-05-08  Wim Taymans  <wim@fluendo.com>
9228
9229         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9230         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9231         (gst_base_sink_get_position), (gst_base_sink_change_state):
9232         Store the sync time of the buffer end position separatly in a
9233         new variable eos_rtime so we can properly sync the EOS event.
9234         Fixes #340697.
9235         Fix the docs for gst_base_sink_set_qos_enabled().
9236         Don't set segment start to invalid value when we receive a 
9237         non TIME newsegment.
9238         get closer to handling position reporting for negative rates 
9239         correctly.
9240
9241 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9242
9243         * gst/gstcaps.c:
9244         Docs about how to print caps for debug purposes.
9245
9246         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9247         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9248
9249 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9250
9251         * gst/gstelement.c:
9252           use full enum names and preprend a '%' in docs strings to make recent 
9253           gtk-doc turn that into a link
9254
9255 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9256
9257         * docs/manual/basics-bins.xml:
9258         * docs/manual/basics-bus.xml:
9259         * docs/manual/basics-pads.xml:
9260           Some typo fixes, some additions, some clarifications. 
9261
9262 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9263
9264         * tools/gst-inspect.c: (main):
9265         * tools/gst-launch.c: (main):
9266         * tools/gst-run.c: (main):
9267         * tools/gst-typefind.c: (main):
9268         * tools/gst-xmlinspect.c: (main):
9269           Use the string passed to g_option_context_new() for
9270           what it's intended for - the program name is already
9271           printed elsewhere.
9272
9273 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * tools/Makefile.am:
9276         * tools/gst-inspect.c: (main):
9277         * tools/gst-launch.c: (main):
9278         * tools/gst-xmlinspect.c: (main):
9279         * tools/tools.h:
9280           Add back --version command line option (#340460).
9281
9282         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9283           Add --version option and use GOption for argument parsing; refactor a
9284           bit; accept directories as arguments and recurse into them; lastly,
9285           print a decent error message when things go wrong.
9286
9287 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9288
9289         * docs/manual/basics-bins.xml:
9290         Don't mention GstThread (#340611)
9291         * docs/manual/basics-elements.xml:
9292         Update link to GObject tutorial (#340607)
9293         
9294 2006-05-05  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/gstbuffer.h:
9297         * gst/gstminiobject.c:
9298         Add note about refcounting and miniobject/buffer writeability
9299         to docs. Fixes #340604
9300
9301         * gst/gstelementfactory.h:
9302         Added some explanation about @klass.
9303
9304 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9305
9306         * docs/manual/intro-motivation.xml:
9307         * docs/manual/manual.xml:
9308         Avoid CORBA & Bonobo references (#340598)
9309
9310 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9311
9312         * docs/manual/basics-bus.xml:
9313         * docs/manual/basics-pads.xml:
9314         Fix up some inaccuracies and omissions (#340609)
9315         
9316 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9317
9318         * gst/gstghostpad.c:
9319           Small typo in docs (#340625)
9320
9321 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9322
9323         * gst/parse/Makefile.am:
9324           Make 'make -j' proof (see #340698).
9325
9326 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * configure.ac:
9329           Require GLib-2.8 here as well.
9330
9331 2006-05-05  Wim Taymans  <wim@fluendo.com>
9332
9333         * gst/glib-compat.c:
9334         * gst/gst.c: (init_pre):
9335         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9336         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9337         (gst_object_dispatch_properties_changed):
9338         * gst/gstobject.h:
9339         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9340         * gst/gststructure.c: (gst_structure_set_valist):
9341         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9342         Remove pre glib2.8 compatibility, fixes #340508
9343
9344 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9345
9346         * gst/gsttaglist.h:
9347           Mention type of tags in doc blurbs.
9348
9349 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9350
9351         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9352         (gst_pad_configure_src), (gst_pad_push):
9353         Restore acceptcaps checking behaviour now that good plugins have
9354         been released.
9355
9356 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9357
9358         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9359
9360         * gst/gst.c:
9361         * gst/gstbus.c:
9362         * gst/gstclock.c:
9363         * gst/gstevent.c:
9364         * gst/gstformat.c:
9365         * gst/gstmessage.c:
9366         * gst/gstparse.c:
9367         * gst/gstquery.c:
9368         * gst/gstutils.c:
9369         * gst/parse/Makefile.am:
9370         * libs/gst/base/gstadapter.c:
9371         * libs/gst/base/gstbasesrc.c:
9372         * libs/gst/base/gstpushsrc.c:
9373         * libs/gst/base/gsttypefindhelper.c:
9374         * plugins/elements/gstfakesrc.c:
9375         * plugins/elements/gstidentity.c:
9376           Make sure gstprivate.h and/or config.h are
9377           always included first, otherwise some of our
9378           defines (like _FILE_OFFSET_BITS) might be
9379           redefined in the system headers. Fixes build
9380           on opensolaris (#340016).
9381
9382 2006-05-04  Wim Taymans  <wim@fluendo.com>
9383
9384         * docs/libs/gstreamer-libs-sections.txt:
9385         API: addition: gst_adapter_take_buffer()
9386         
9387         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9388         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9389         (gst_adapter_available_fast):
9390         * libs/gst/base/gstadapter.h:
9391         Prepare for optimizing the hell out of this hugely inefficient
9392         piece of code. 
9393         Added gst_adapter_take_buffer() so we can at least start thinking
9394         about subbuffering and merging.
9395         Added some comments.
9396
9397         * tests/check/Makefile.am:
9398         * tests/check/libs/adapter.c: (GST_START_TEST),
9399         (gst_adapter_suite), (main):
9400         Added GstAdapter check.
9401
9402 2006-05-04  Wim Taymans  <wim@fluendo.com>
9403
9404         * docs/design/part-overview.txt:
9405         Fix some typos, add blurb about buffer flags.
9406
9407 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * docs/libs/gstreamer-libs-sections.txt:
9410           make sure GstBaseTransformClass shows up in the docs
9411         * libs/gst/base/gstbasetransform.c:
9412         * libs/gst/base/gstbasetransform.h:
9413           move docs so gtk-doc picks it up now
9414
9415 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9416
9417         * docs/libs/gstreamer-libs-sections.txt:
9418           add missing symbols to docs
9419
9420 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9421
9422         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9423           back out the newsegment handling change, see #340060 for ongoing
9424           discussion
9425
9426 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9427
9428         * tools/gst-run.c: (get_candidates), (main):
9429           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9430           work); fix typo in error message. Fixes #340079.
9431
9432 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * common/Makefile.am:
9435         * docs/Makefile.am:
9436         * docs/faq/Makefile.am:
9437         * docs/gst/Makefile.am:
9438         * docs/libs/Makefile.am:
9439         * docs/manual/Makefile.am:
9440         * docs/plugins/Makefile.am:
9441         * docs/pwg/Makefile.am:
9442         * docs/slides/Makefile.am:
9443         * docs/upload.mak:
9444         * common/upload.mak:
9445           move upload.mak to common
9446
9447 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9448
9449         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9450           add more asserts on refcounts
9451           do more cleanup at end of tests
9452           fix test leaks showing in FC5
9453
9454 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9455
9456         * plugins/elements/gsttypefindelement.c:
9457         (gst_type_find_element_handle_event):
9458         reverted wrong change and reflowed code to avoid others falling into
9459         this trap
9460
9461 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9462
9463         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9464           fix changelog entry about last collectpads change,
9465           add notes about proper fix
9466
9467 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9468
9469         * gst/gst.c:
9470         * gst/gstregistry.c: (gst_registry_scan_path_level),
9471         (gst_registry_scan_path):
9472         * gst/gstregistry.h:
9473           only write out registry if it has changed, fixes #338339
9474
9475 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9476
9477         * gst/gstbin.c:
9478         * gst/gstpipeline.c:
9479         * plugins/elements/gstcapsfilter.c:
9480         * plugins/elements/gstfakesink.c:
9481         * plugins/elements/gstfakesrc.c:
9482         * plugins/elements/gstfdsink.c:
9483         * plugins/elements/gstfdsrc.c:
9484         * plugins/elements/gstfilesink.c:
9485         * plugins/elements/gstfilesrc.c:
9486         * plugins/elements/gstidentity.c:
9487         * plugins/elements/gstqueue.c:
9488         * plugins/elements/gsttee.c:
9489         * plugins/elements/gsttypefindelement.c:
9490         (gst_type_find_element_handle_event):
9491           make GstElementDetails const
9492
9493 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9494
9495         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9497         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9498           more detailed debug and formatting cleanup,
9499           forward newsegments to src-pad (so that e.g. adder not eats them)
9500
9501 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9502
9503         * gst/gstutils.c: (gst_element_link_pads):
9504           cleanup double code
9505
9506 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9507
9508         * libs/gst/controller/gstcontroller.c:
9509         (gst_controller_sync_values):
9510           some little tuning
9511         * tests/check/libs/controller.c: (GST_START_TEST),
9512         (gst_controller_suite):
9513           a new test for live value handling
9514
9515 2006-04-28  Wim Taymans  <wim@fluendo.com>
9516
9517         * gst/gstutils.c: (push_and_ref):
9518         Added some more docs.
9519         Fix refcount issue whith gst_element_found_tags() helper 
9520         function. Fixes #338335
9521
9522         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9523         Added testsuite for gst_element_found_tags().
9524
9525 2006-04-28  Michael Smith  <msmith@fluendo.com>
9526
9527         * gst/gstvalue.c: (gst_value_serialize_flags):
9528           Avoid NULL dereference when trying to serialize flags containing
9529           invalid values.
9530
9531 2006-04-28  Michael Smith  <msmith@fluendo.com>
9532
9533         * plugins/elements/gsttypefindelement.c:
9534         (gst_type_find_element_handle_event):
9535           If we get EOS before any data is accumulated, don't use
9536           uninitialised local variables.
9537
9538 2006-04-28  Michael Smith  <msmith@fluendo.com>
9539
9540         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9541         (gst_dp_event_from_packet):
9542           Fixes in reading/writing events over GDP (not currently used?) - 
9543           dereferencing NULL events for unknown/invalid event types, memory
9544           leak, and change g_warning to GST_WARNING.
9545
9546 2006-04-28  Wim Taymans  <wim@fluendo.com>
9547
9548         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9549         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9550         (gst_base_sink_get_position), (gst_base_sink_change_state):
9551         When frame dropping is enabled, we should not ignore frames
9552         without a duration.
9553         Update some documentation.
9554
9555 2006-04-28  Wim Taymans  <wim@fluendo.com>
9556
9557         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9558         (gst_base_src_send_event), (gst_base_src_change_state):
9559         Documentation updates.
9560
9561 2006-04-28  Wim Taymans  <wim@fluendo.com>
9562
9563         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9564         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9565         handle EAGAIN, EINTR and short writes correctly. Also clean
9566         up some error cases, avoid a deadlock on bad file descriptors and
9567         use GST_DEBUG_OBJECT.
9568         Fixes #339843
9569
9570 2006-04-28  Wim Taymans  <wim@fluendo.com>
9571
9572         * gst/gstvalue.c: (gst_value_serialize_buffer),
9573         (gst_value_deserialize_buffer):
9574         Don't try to serialize a GValue with a NULL buffer. 
9575         Fixes #339821.
9576
9577         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9578         Added check for serialisation of NULL buffers.
9579
9580 2006-04-28  Wim Taymans  <wim@fluendo.com>
9581
9582         * gst/gstminiobject.c: (gst_value_take_mini_object):
9583         Taking a NULL miniobject is valid, fix the case where
9584         we try to unref the NULL miniobject.
9585
9586 2006-04-28  Wim Taymans  <wim@fluendo.com>
9587
9588         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9589
9590         * gst/gstbin.c: (gst_bin_handle_message_func):
9591         Update docs.
9592         Don't leak bin refcount when a state recalc is
9593         in progress and we delay another one #339808.
9594
9595 2006-04-28  Wim Taymans  <wim@fluendo.com>
9596
9597         * docs/design/part-TODO.txt:
9598         Mention QoS as an ongoing work item.
9599
9600         * docs/design/part-buffering.txt:
9601         New doc about buffering that needs to be fleshed out
9602         at some point.
9603
9604         * docs/design/part-qos.txt:
9605         More QoS policy for decoders/demuxers/transforms
9606
9607         * docs/design/part-trickmodes.txt:
9608         Small update.
9609
9610 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * configure.ac:
9613           back to HEAD
9614
9615 === release 0.10.5 ===
9616
9617 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
9618
9619         * configure.ac:
9620           releasing 0.10.5, "Fogo"
9621
9622 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         patch by: Wim Taymans
9625
9626         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9627         (gst_pad_configure_src), (gst_pad_push):
9628         * gst/gstpipeline.c: (gst_pipeline_init):
9629           Fix internal data flow errors.  Fixes #338711.
9630
9631 2006-04-12  Wim Taymans  <wim@fluendo.com>
9632
9633         * tests/check/gst/gstelement.c: (GST_START_TEST):
9634         Don't leak the factory.
9635
9636 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9637
9638         * configure.ac:
9639         * win32/common/config.h:
9640           prerelease
9641
9642 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9643
9644         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9645         (gst_controller_unset_all):
9646           Free allocated GstTimedValues when freeing list nodes.
9647           Should fix leaks 'make check-valgrind' complains about.
9648
9649         * win32/common/libgstcontroller.def:
9650           Add gst_controller_unset_all.
9651
9652 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
9653
9654         * docs/libs/gstreamer-libs-sections.txt:
9655         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9656         (gst_controller_unset_all):
9657         * libs/gst/controller/gstcontroller.h:
9658         API: Added new method gst_controller_unset_all()
9659         fixed gst_controller_unset()
9660         * tests/check/libs/controller.c: (GST_START_TEST),
9661         (gst_controller_suite):
9662         Added two testcases for new and fixed method
9663
9664 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
9665
9666         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9667           MSG_DONTWAIT is not defined on Cygwin, so work
9668           around that (fixes #317048).
9669           
9670 2006-04-11  Wim Taymans  <wim@fluendo.com>
9671
9672         * gst/gstelementfactory.c: (gst_element_register),
9673         (gst_element_factory_create), (gst_element_factory_make):
9674         Some cleanups.
9675         Fixed a FIXME.
9676         Updated docs (Fixes #131079)
9677
9678         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9679         Small cleanups.
9680
9681         * tests/check/gst/gstelement.c: (GST_START_TEST),
9682         (gst_element_suite):
9683         Added testcase for elementfactory class field.
9684
9685 2006-04-10  Wim Taymans  <wim@fluendo.com>
9686
9687         * gst/gstsegment.c:
9688         Added some more docs.
9689
9690         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9691         (gst_base_sink_reset_qos):
9692         Calculate more accurate rate values.
9693
9694 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
9695
9696         * gst/gst_private.h:
9697           add a new #ifdef to use __declspec(dllimport) only for
9698           other modules and not for gstreamer core
9699         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9700           use gst_guint64_to_gdouble for conversion
9701         * win32/common/libgstreamer.def:
9702           add new exported functions
9703         * win32/vs6/gst_inspect.dsp:
9704         * win32/vs6/gst_launch.dsp:
9705         * win32/vs6/libgstbase.dsp:
9706         * win32/vs6/libgstcontroller.dsp:
9707         * win32/vs6/libgstcoreelements.dsp:
9708         * win32/vs6/libgstdataprotocol.dsp:
9709         * win32/vs6/libgstnet.dsp:
9710           update project files
9711
9712 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9713
9714         * gst/gstbuffer.c: (gst_subbuffer_class_init):
9715         * gst/gstclock.c: (gst_clock_class_init):
9716         * gst/gstelement.c: (gst_element_class_init):
9717         * gst/gstindex.c: (gst_index_class_init):
9718         * gst/gstindexfactory.c: (gst_index_factory_class_init):
9719         * gst/gstobject.c: (gst_object_class_init),
9720         (gst_signal_object_class_init):
9721         * gst/gstpad.c: (gst_pad_class_init):
9722         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9723         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9724         * gst/gstregistry.c: (gst_registry_class_init):
9725         * gst/gstsystemclock.c: (gst_system_clock_class_init):
9726         * gst/gsttask.c: (gst_task_class_init):
9727         * gst/gstxml.c: (gst_xml_class_init):
9728         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9729         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9730         (gst_base_src_loop):
9731         * libs/gst/controller/gstcontroller.c:/
9732         (_gst_controller_class_init):
9733         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9734         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9735         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9736         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9737         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9738         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9739
9740 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
9741
9742         * gst/gstpad.c: (gst_pad_link):
9743           Must set peer pads before calling the link function, otherwise
9744           a task started from a link function might get a flow-not-linked
9745           result when trying to push because the other thread where the
9746           linking happens hasn't had a chance to set the peers yet. This
9747           might happen for example when a queue gets linked to a downstream
9748           element, as queue starts a streaming task when its source pad
9749           gets linked. Happens in real life when playing back flac/musepack
9750           files in playbin (#332390).
9751           
9752 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9753
9754         * gst/gstindex.h:
9755         * gst/gstxml.h:
9756         * libs/gst/base/gstadapter.h:
9757         * libs/gst/base/gstbasesink.h:
9758         * libs/gst/base/gstbasesrc.h:
9759         * libs/gst/base/gstbasetransform.h:
9760         * libs/gst/base/gstcollectpads.h:
9761         * libs/gst/base/gstpushsrc.h:
9762         Fix broken GObject macros
9763
9764 2006-04-07  Wim Taymans  <wim@fluendo.com>
9765
9766         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9767         Initialize start and stop times, thanks valgrind.
9768
9769 2006-04-07  Wim Taymans  <wim@fluendo.com>
9770
9771         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9772         Be a bit nicer to badly behaving upstream elements that expect
9773         us to deal with non TIME segments and timestamps (such as fakesrc
9774         in the testsuite).
9775
9776 2006-04-07  Wim Taymans  <wim@fluendo.com>
9777
9778         * gst/gstbus.c:
9779         Small documentation clarification about the signal watch.
9780
9781         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9782         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9783         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9784         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9785         (gst_base_sink_get_position_last),
9786         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9787         Convert and store timestamps in stream time and running time, the
9788         raw timestamps are not useful, also document this better.
9789         Use different window sizes for good and bad QoS observations so
9790         we react to badness a little quicker.
9791         Keep track of the amount of rendered and dropped buffers.
9792         Send QoS timestamps in running time.
9793
9794         * libs/gst/base/gstbasetransform.c:
9795         (gst_base_transform_sink_eventfunc),
9796         (gst_base_transform_handle_buffer):
9797         Compare QoS timestamps against running time.
9798
9799 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/gstpad.c:
9802           Typo fixes in docs.
9803
9804 2006-04-06  Michael Smith  <msmith@fluendo.com>
9805
9806         * gst/gstpad.c: (gst_pad_set_property):
9807           Use g_value_get_object() instead of g_value_dup_gst_object(),
9808           to avoid double-reffing the pad template (which we then sink,
9809           so this worked previously if (and only if) the pad template
9810           was floating.
9811
9812         * gst/gstpadtemplate.c: (gst_pad_template_init),
9813         (gst_pad_template_pad_created):
9814           Never return floating references to pad templates, create
9815           them as initially-sunken.
9816
9817           Document an extra function (and make this stop sinking our
9818           pad template, since that is now guaranteed to do nothing,
9819           since we created it sunken).
9820
9821         * gst/gstghostpad.c:
9822           Fix docs typo.
9823
9824 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9825
9826         * gst/gstinfo.c: (__gst_in_valgrind):
9827           Add some newlines.
9828
9829         * plugins/elements/gsttypefindelement.c:
9830         (gst_type_find_element_chain):
9831           Don't leak buffer caps.
9832
9833 2006-04-06  Michael Smith  <msmith@fluendo.com>
9834
9835         * gst/parse/grammar.y:
9836           Fix a leak in parse-launch for any source-or-sink named element 
9837           references used.
9838
9839         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9840           Unref the pipeline if it exists after we've failed parsing.
9841
9842 2006-04-05  Michael Smith  <msmith@fluendo.com>
9843
9844         * gst/gstpipeline.c: (gst_pipeline_init):
9845           When we create a pipeline bus, initially create it in flushing mode.
9846           Fixes leaks in at least one test, and makes a new pipeline work the
9847           same as one that has gone to READY and then back to NULL.
9848
9849         * gst/gstelement.c:
9850           Typo fix in docs.
9851
9852 2006-04-05  Michael Smith  <msmith@fluendo.com>
9853
9854         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9855           Unref a pad we reffed.
9856         * tests/check/gst/gstutils.c: (GST_START_TEST):
9857           Unref bins
9858
9859 2006-04-05  Michael Smith  <msmith@fluendo.com>
9860
9861         * gst/gstquery.c: (gst_query_set_formats),
9862         (gst_query_set_formatsv):
9863           Fix leaking GValues in queries, as shown by valgrind/testsuite.
9864
9865 2006-04-05  Michael Smith  <msmith@fluendo.com>
9866
9867         * tests/check/generic/sinks.c: (GST_START_TEST):
9868           Fix a variety of memleaks in sinks check, which are only sometimes 
9869           shown by running the tests under valgrind (weird?).
9870
9871 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
9872
9873         * docs/version.entities.in:
9874           Fix the substituted entity name after thomas' changes on the
9875           weekend.
9876
9877 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9878
9879         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9880         VALGRIND_PRINTF
9881         
9882 2006-04-05  Andy Wingo  <wingo@pobox.com>
9883
9884         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9885
9886         * libs/gst/base/gstbasetransform.c
9887         (gst_base_transform_sink_eventfunc): When resetting our segment on
9888         FLUSH_STOP, also update the flag saying we haven't seen a
9889         newsegment.
9890
9891 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9892
9893         Patch by: Paolo Borelli  <pborelli at katamail dot com>
9894
9895         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9896         (gst_plugin_check_license):
9897           minor clean-ups: G_DEFINE_TYPE already takes care of the
9898           parent_class stuff, no need to do it twice. Mark array of
9899           license strings as constant. (#337103)
9900           
9901 2006-04-04  Michael Smith  <msmith@fluendo.com>
9902
9903         * tools/gst-inspect.c: (print_element_list):
9904           Free the right plugin list; fixes a memory leak.
9905
9906 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9907
9908         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
9909
9910         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9911           Don't error out on empty buffers (#336945).
9912           
9913 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
9914
9915         * docs/libs/gstreamer-libs-sections.txt:
9916         * gst/gsttaglist.c:
9917         * libs/gst/base/gstbasesink.c:
9918         * libs/gst/base/gstbasesink.h:
9919         * libs/gst/base/gstbasesrc.c:
9920         * libs/gst/base/gstbasesrc.h:
9921           Documentation updates. Make BaseSink and BaseSrc docs contain the
9922           class structure so that people can actually see the prototypes for
9923           virtual functions they're supposed to be overriding.
9924
9925 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9926
9927         * plugins/elements/gsttypefindelement.c:
9928         (gst_type_find_element_chain):
9929           More debug info; when skipping typefinding, send cached
9930           events in all cases.
9931
9932 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9933
9934         * configure.ac:
9935           use new AS_VERSION and AS_NANO macros
9936         * gst/gst-i18n-lib.h:
9937         * gst/gst.c:
9938         * gst/gsterror.c:
9939         * gst/gstversion.h.in:
9940         * win32/common/config.h:
9941         * win32/common/config.h.in:
9942           update accordingly
9943
9944 2006-03-31  Michael Smith  <msmith@fluendo.com>
9945
9946         * plugins/elements/gsttypefindelement.c:
9947         (gst_type_find_element_chain):
9948           Do not typefind content if the buffers already have caps.
9949           Neccesary for icydemux (#333657), and the right thing to do anyway.
9950
9951 2006-03-30  Wim Taymans  <wim@fluendo.com>
9952
9953         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9954         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
9955         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
9956         (gst_base_sink_record_qos_observation),
9957         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9958         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9959         (gst_base_sink_change_state):
9960         More QoS measurements as described in the design doc.
9961         Get rid of ringbuffer with observations, running average is
9962         more simple and equally good.
9963         Calculates valid proportion now.
9964         Added beginning of flood measurement.
9965
9966 2006-03-29  Wim Taymans  <wim@fluendo.com>
9967
9968         * docs/design/part-qos.txt:
9969         * gst/gstclock.c:
9970         Small documentation updates and additions.
9971
9972 2006-03-29  Wim Taymans  <wim@fluendo.com>
9973
9974         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9975         (gst_base_src_send_event), (gst_base_src_loop),
9976         (gst_base_src_change_state):
9977         Perform the EOS logic when we reach the segment stop position.
9978         Fix compilation on gcc4.1
9979
9980 2006-03-29  Wim Taymans  <wim@fluendo.com>
9981
9982         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9983
9984         * plugins/elements/gstqueue.c: (gst_queue_init),
9985         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9986         (gst_queue_set_property):
9987         * plugins/elements/gstqueue.h:
9988         In queue, when EOS is received, if minimum threshold > max_size -
9989         current_level, there is chance that queue blocks forever in conditional
9990         item del wait. This is because the queue is not emptied completely due
9991         to minimum threshold.  Here is another approach. Instead of setting
9992         cur_levels to max in EOS, just zero all minimum threshold levels. This
9993         should make sure that queue gives out all data. When going to READY
9994         (stop) state, just reset the original minimum threshold levels.
9995         Fixes #336336.
9996
9997 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
9998
9999         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10000         (gst_type_find_element_handle_event),
10001         (gst_type_find_element_send_cached_events),
10002         (gst_type_find_element_change_state):
10003         * plugins/elements/gsttypefindelement.h:
10004           When typefinding is done in push mode, we should cache
10005           events we receive during typefinding instead of just
10006           dropping them (e.g. newsegment, custom events from
10007           dvdreadsrc etc.) and then send them out once we've
10008           determined the type of the stream (and decodebin
10009           has had a chance to plug in a decoder/demuxer).
10010           
10011 2006-03-27  Wim Taymans  <wim@fluendo.com>
10012
10013         * docs/design/part-qos.txt:
10014         First QoS ideas.
10015
10016 2006-03-27  Wim Taymans  <wim@fluendo.com>
10017
10018         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10019
10020         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10021         (gst_base_src_send_event), (gst_base_src_change_state):
10022         Handle element seek correctly when we are streaming.
10023         Fixes #326998.
10024
10025 2006-03-24  Michael Smith  <msmith@fluendo.com>
10026
10027         * docs/faq/gst-uninstalled:
10028           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10029           allow you to correctly run intalled applications built against old 
10030           core, using plugins that require updated core (e.g. running
10031           installed totem against a full uninstalled gstreamer stack)
10032
10033 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10034
10035         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10036         more debug details
10037
10038 2006-03-24  Wim Taymans  <wim@fluendo.com>
10039
10040         * docs/gst/gstreamer-sections.txt:
10041         Rearrange the order of the methods so that related methods
10042         are grouped together in sections.
10043
10044 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10045
10046         * gst/gstelement.c:
10047           Little clarification in the docs
10048
10049 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10050
10051         * docs/README:
10052         formatting fix
10053         * plugins/elements/gstidentity.c:
10054         * plugins/elements/gstqueue.c:
10055         * plugins/elements/gsttee.c:
10056         * plugins/elements/gsttypefindelement.c:
10057         GST_ELEMENT_DETAILS formatting
10058
10059 2006-03-24  Wim Taymans  <wim@fluendo.com>
10060
10061         * libs/gst/base/gstbasesink.h:
10062         Only add fields, not insert or we break ABI.
10063
10064 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10065
10066         * win32/common/libgstbase.def:
10067         * win32/common/libgstreamer.def:
10068           Update, add recently added functions.
10069
10070 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10071
10072         * docs/gst/gstreamer-sections.txt:
10073         * gst/gstutils.c: (gst_pad_query_peer_position),
10074         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10075         * gst/gstutils.h:
10076           API: add some new utility functions:
10077            - gst_pad_query_peer_position()
10078            - gst_pad_query_peer_duration()
10079            - gst_pad_query_peer_convert()
10080           
10081 2006-03-23  Wim Taymans  <wim@fluendo.com>
10082
10083         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10084         (gst_base_sink_init), (gst_base_sink_finalize),
10085         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10086         (gst_base_sink_set_property), (gst_base_sink_get_property),
10087         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10088         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10089         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10090         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10091         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10092         (gst_base_sink_preroll_object), (gst_base_sink_event),
10093         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10094         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10095         (gst_base_sink_query), (gst_base_sink_change_state):
10096         Decouple max-lateness and the fact that QoS messages are generated
10097         with a new property (qos).
10098         added API: GstBaseSink::async_play()
10099         Add vmethod so subclasses can be notified of ASYNC playing
10100         state changes.
10101         Collect timestamp start and stop to report better current
10102         position in EOS/PLAYING/PAUSED/READY/NULL.
10103         Refactor QoS/frame dropping and other measurements.
10104         API: GstBaseSrc::qos
10105         Fixes #326311
10106
10107         * libs/gst/base/gstbasesink.h:
10108         Added Private struct.
10109         API: gst_base_sink_set_qos_enabled()
10110         API: gst_base_sink_is_qos_enabled()
10111
10112 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10113
10114         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10115           If compiling against GLib-2.8 or newer, try to read the
10116           registry file using GMappedFile first before falling back
10117           to fopen() + fread() (#332151).
10118
10119 2006-03-22  Wim Taymans  <wim@fluendo.com>
10120
10121         * gst/gstinfo.c: (gst_debug_set_active),
10122         (gst_debug_category_set_threshold):
10123         Disable debugging unless explicitly activated.
10124         Fixes #335480.
10125
10126 2006-03-22  Wim Taymans  <wim@fluendo.com>
10127
10128         * gst/gstelement.c: (gst_element_set_locked_state),
10129         (gst_element_dispose):
10130         Cleanup the error case.
10131
10132         * gst/gstobject.c: (gst_object_dispose):
10133         print a critical when some object was disposed with
10134         a parent, also revive the object since it might
10135         crash the parent.
10136
10137 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10138
10139         * tools/gst-launch.1.in:
10140           Fix another typo.
10141
10142 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * configure.ac:
10145         * tests/check/Makefile.am:
10146           disable some tests when we don't have a registry
10147         * tests/check/gst/gstutils.c: (gst_utils_suite):
10148           don't build the part that needs parsing
10149
10150 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * gst/Makefile.am
10153         * tests/examples/Makefile.am:
10154           fix --disable-parse build
10155
10156 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10157
10158         * tools/gst-feedback.1.in:
10159           Fix typo: s/feeback/feedback/ (#133494).
10160
10161 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10162
10163         * tools/Makefile.am:
10164         * tools/gst-launch.1.in:
10165           Add FILES section and correct entry about GST_REGISTRY_PATH
10166           environment variable (#133495; #133494).
10167
10168 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10169
10170         * tools/Makefile.am:
10171         * tools/gst-md5sum.1.in:
10172         * tools/gst-md5sum.c:
10173           Remove gst-md5sum and man page (the md5sink element
10174           required was removed ages ago)
10175
10176 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * gst/gststructure.c: (gst_structure_id_set_value):
10179           Make sure that string fields in structures/taglists
10180           contain valid UTF-8 - we don't want to pass rubbish to
10181           applications because of a buggy plugin (cp. #334167).
10182
10183 2006-03-21  Edward Hervey  <edward@fluendo.com>
10184
10185         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10186         (gst_bin_handle_message_func):
10187         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10188         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10189         (gst_element_set_bus_func):
10190         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10191         * gst/gstminiobject.c: (gst_value_set_mini_object),
10192         (gst_value_take_mini_object):
10193         * gst/gstpad.c: (gst_pad_set_pad_template):
10194         * gst/gstpipeline.c: (gst_pipeline_dispose),
10195         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10196         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10197         (gst_collect_pads_chain):
10198         * libs/gst/net/gstnettimeprovider.c:
10199         (gst_net_time_provider_set_property):
10200         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10201         It's in fact all issues with gst_*object_replace().
10202
10203 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10204
10205         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10206         
10207         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10208         * pkgconfig/gstreamer-check.pc.in:
10209           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10210
10211 2006-03-21  Edward Hervey  <edward@fluendo.com>
10212
10213         * gst/gstbuffer.h:
10214         * gst/gstevent.h:
10215         * gst/gstmessage.h:
10216         gst_[buffer|event|message]_ref() macros are replaced by a static
10217         inline functions because gcc-4.1 will about if the return value
10218         isn't used.
10219         * tests/check/gst/gstevent.c: (event_probe):
10220         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10221
10222 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10223
10224         * gst/gstutils.h:
10225         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10226         the type' case. (Closes: #335195 for now). In the future, when we
10227         depend on GLib 2.10, we could also intern the type name using
10228         g_intern_static_string()
10229
10230 2006-03-20  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstbin.c: (gst_bin_handle_message_func),
10233         (bin_query_max_init), (bin_query_position_fold),
10234         (bin_query_position_done), (gst_bin_query):
10235         Position query should also take max of all streams.
10236
10237 2006-03-20  Wim Taymans  <wim@fluendo.com>
10238
10239         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10240         (gst_fake_src_finalize):
10241         Fix leaks in fakesrc.
10242
10243         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10244         Fix leaks in the testcase.
10245
10246 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10247
10248         * gst/gst_private.h:
10249           add win32 specific import decoration(__declspec(dllimport)) 
10250           for all extern GstDebugCategory * variables
10251         * win32/common/libgstbase.def:
10252         * win32/common/libgstcontroller.def:
10253         * win32/common/libgstreamer.def:
10254           Add some exports, remove empty lines
10255         * win32/common/libgstdataprotocol.def:
10256         * win32/common/libgstdataprotocol.dsp:
10257         * win32/common/libgstnet.def:
10258         * win32/common/libgstnet.dsp:
10259           new project files and exportation files added
10260         
10261 2006-03-19  Wim Taymans  <wim@fluendo.com>
10262
10263         * tests/check/libs/basesrc.c: (eos_event_counter):
10264         Use proper return value for probe.
10265
10266 2006-03-17  Wim Taymans  <wim@fluendo.com>
10267
10268         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10269         (gst_pad_push):
10270         Don't leak buffers, caps and pads on negotiation errors.
10271
10272 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/faq/cvs.xml:
10275         * docs/faq/dependencies.xml:
10276         * docs/faq/developing.xml:
10277         * docs/faq/faq.xml:
10278         * docs/faq/general.xml:
10279         * docs/faq/getting.xml:
10280         * docs/faq/legal.xml:
10281         * docs/faq/troubleshooting.xml:
10282         * docs/faq/using.xml:
10283         Faq review and update.
10284
10285 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10286
10287         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10288         (gst_pad_push):
10289         Don't pound the cpu to pieces by checking get_caps when accept_caps
10290         is called with the same caps as the pad already has.
10291         Use GST_DEBUG_OBJECT when outputting caps change information.
10292
10293 2006-03-15  Wim Taymans  <wim@fluendo.com>
10294
10295         * gst/gstclock.c: (gst_clock_class_init):
10296         Fix docs.
10297
10298 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10299
10300         * gst/gstbuffer.h:
10301         Documentation fix.
10302
10303         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10304         (gst_pad_accept_caps), (gst_pad_configure_sink),
10305         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10306         Make the default acceptcaps behaviour be to check the requested 
10307         caps against the gst_pad_get_caps output. 
10308
10309         Ensure that gst_pad_accept_caps is used to check caps when a pad
10310         doesn't have a setcaps function, so that pads automatically refuse 
10311         caps that they don't allow in their pad template. (Fixes #332986)
10312
10313         When a buffer with attached caps is pushed, ensure that the source 
10314         pad receives those caps even if the element didn't call
10315         gst_pad_set_caps first.
10316
10317 2006-03-15  Wim Taymans  <wim@fluendo.com>
10318
10319         * libs/gst/base/gstadapter.c:
10320         Add some docs.
10321
10322 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10323
10324         * win32/common/libgstbase.def:
10325         * win32/common/libgstcontroller.def:
10326         * win32/common/libgstreamer.def:
10327           Add a whole bunch of missing functions (#334434).
10328
10329 2006-03-14  Wim Taymans  <wim@fluendo.com>
10330
10331         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10332         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10333         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10334         Better debug info when we receive a segment event.
10335         Reorganize a bit so we can pass the get_times() results around.
10336         Use the segment format when calculating the running time.
10337         Don't do QoS is sync is disabled or we have no clock or the
10338         element does not want us to sync to the clock.
10339         Don't drop buffers if QoS is disabled for now.
10340
10341 2006-03-14  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10344         Marked the stats property as unimplemented so people don't get
10345         wild ideas.
10346         Add debug message when regression goes wrong.
10347         Added some more docs.
10348
10349 2006-03-14  Wim Taymans  <wim@fluendo.com>
10350
10351         * gst/gstsegment.c: (gst_segment_to_stream_time):
10352         Return correct return type in case of errors.
10353
10354 2006-03-14  Wim Taymans  <wim@fluendo.com>
10355
10356         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10357           Don't segfault on invalid formats.
10358
10359 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10360
10361         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10362           Can't use gst_segment_to_running_time() when the segment
10363           is not in GST_TIME_FORMAT (like with filesink, for example).
10364           Stops flac encoding pipelines from spewing critical warnings
10365           at EOS (#331248).
10366           
10367 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10368
10369         * gst/gstpipeline.c: (gst_pipeline_class_init):
10370           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10371
10372         * plugins/elements/gsttypefindelement.c:
10373         (gst_type_find_element_handle_event):
10374           Don't try to typefind empty streams.
10375
10376 2006-03-14  Wim Taymans  <wim@fluendo.com>
10377
10378         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10379         (gst_base_sink_do_qos):
10380         Separate QoS calculation.
10381         Only drop buffers when lateness is bigger than the 
10382         duration of the buffer.
10383
10384 2006-03-13  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/gstpipeline.c: (gst_pipeline_set_property),
10387         (gst_pipeline_get_property), (do_pipeline_seek),
10388         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10389         (gst_pipeline_get_delay):
10390         Don't deadlock when reading properties.
10391
10392 2006-03-13  Wim Taymans  <wim@fluendo.com>
10393
10394         * libs/gst/base/gstbasetransform.c:
10395         (gst_base_transform_class_init), (gst_base_transform_init),
10396         (gst_base_transform_sink_event),
10397         (gst_base_transform_sink_eventfunc),
10398         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10399         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10400         (gst_base_transform_set_property),
10401         (gst_base_transform_get_property),
10402         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10403         (gst_base_transform_set_qos_enabled),
10404         (gst_base_transform_is_qos_enabled):
10405         * libs/gst/base/gstbasetransform.h:
10406         Make basetransform virtual method for src events too.
10407         Handle QOS in basetransform.
10408         API: gst_base_transform_update_qos()
10409         API: gst_base_transform_set_qos_enabled()
10410         API: gst_base_transform_is_qos_enabled()
10411
10412 2006-03-13  Wim Taymans  <wim@fluendo.com>
10413
10414         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10415         (gst_base_sink_do_sync):
10416         Small cleanups.
10417         Use QOS debug category.
10418
10419 2006-03-13  Wim Taymans  <wim@fluendo.com>
10420
10421         * plugins/elements/gstqueue.c:
10422         Very small doc update.
10423
10424 2006-03-13  Wim Taymans  <wim@fluendo.com>
10425
10426         * gst/gst_private.h:
10427         * gst/gstinfo.c: (_gst_debug_init):
10428         Added QOS debug category
10429
10430 2006-03-13  Wim Taymans  <wim@fluendo.com>
10431
10432         * docs/gst/gstreamer-sections.txt:
10433         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10434         * gst/gstbin.h:
10435         * gst/gstbus.c: (gst_bus_class_init):
10436         * gst/gstbus.h:
10437         * gst/gstclock.c:
10438         * gst/gstelement.c: (gst_element_set_locked_state):
10439         * gst/gstsegment.c:
10440         Documentation updates.
10441
10442         * gst/gstpipeline.c: (gst_pipeline_get_type),
10443         (gst_pipeline_class_init), (gst_pipeline_init),
10444         (gst_pipeline_dispose), (gst_pipeline_set_property),
10445         (gst_pipeline_get_property), (do_pipeline_seek),
10446         (gst_pipeline_send_event), (gst_pipeline_change_state),
10447         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10448         (gst_pipeline_get_delay):
10449         * gst/gstpipeline.h:
10450         Added methods for setting the delay.
10451         API: gst_pipeline_set_delay()
10452         API: gst_pipeline_get_delay()
10453         Add pipeline debug category
10454         Various cleanups.
10455         Updated docs.
10456         Don't reset stream time when seek failed.
10457
10458 2006-03-13  Wim Taymans  <wim@fluendo.com>
10459
10460         * docs/design/draft-klass.txt:
10461         * docs/design/part-clocks.txt:
10462         * docs/design/part-events.txt:
10463         * docs/design/part-gstbin.txt:
10464         * docs/design/part-gstpipeline.txt:
10465         * docs/design/part-messages.txt:
10466         * docs/design/part-negotiation.txt:
10467         * docs/design/part-overview.txt:
10468         * docs/design/part-preroll.txt:
10469         * docs/design/part-seeking.txt:
10470         * docs/design/part-states.txt:
10471         * docs/design/part-streams.txt:
10472         Documentation updates.
10473
10474 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10475
10476         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10477         us to leak strings...
10478
10479 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10480
10481         * libs/gst/net/gstnettimeprovider.c:
10482           fix docs
10483         * win32/common/config.h:
10484           update
10485
10486 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10487
10488         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10489
10490         * configure.ac:
10491           Don't check for libgnomeui (leftover from old examples
10492           that aren't built or disted any longer) (#334303).
10493           
10494 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10495
10496         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10497         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10498           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10499           there's no space left on the device.
10500
10501 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10502
10503         * gst/gstclock.h:
10504           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10505           to cast the input to GstClockTime before comparing with
10506           another GstClockTime value.
10507
10508 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10509
10510         * configure.ac:
10511           back to trunk
10512
10513 === release 0.10.4 ===
10514
10515 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10516
10517         * configure.ac:
10518           releasing 0.10.4, "Light"
10519
10520 2006-03-10  Michael Smith  <msmith@fluendo.com>
10521
10522         * libs/gst/dataprotocol/dataprotocol.c:
10523           Fix docs for dataprocotol to not get the return types completely
10524           wrong for a few functions.
10525
10526 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10527
10528         * docs/gst/gstreamer-sections.txt:
10529         * gst/gstpipeline.c: (gst_pipeline_class_init),
10530         (gst_pipeline_init), (gst_pipeline_set_property),
10531         (gst_pipeline_get_property), (gst_pipeline_change_state),
10532         (gst_pipeline_set_auto_flush_bus),
10533         (gst_pipeline_get_auto_flush_bus):
10534         * gst/gstpipeline.h:
10535           Add new API: gst_pipeline_set_auto_flush_bus() and
10536           gst_pipeline_get_auto_flush_bus() to disable automatic
10537           flushing of the pipeline's GstBus when going from READY
10538           to NULL state (#332045).
10539
10540 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10541
10542         * docs/gst/gstreamer-sections.txt:
10543         * gst/gsturi.c: (gst_uri_has_protocol):
10544         * gst/gsturi.h:
10545            Add new API: gst_uri_has_protocol() (#333779).
10546
10547 2006-03-09  Wim Taymans  <wim@fluendo.com>
10548
10549         * gst/gstclock.c: (gst_clock_entry_new),
10550         (gst_clock_id_compare_func), (gst_clock_id_wait),
10551         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10552         (gst_clock_init), (gst_clock_get_internal_time),
10553         (gst_clock_set_master), (do_linear_regression),
10554         (gst_clock_add_observation), (gst_clock_set_property):
10555         * gst/gstclock.h:
10556         Review docs.
10557         Small cleanups.
10558         Fix a possible segfault when the window-size is made smaller.
10559         Calculate jitter before performing the clock wait. Ideally
10560         the clock implementation should calculate jitter but we need
10561         API breakage for that.
10562
10563         * gst/gstsystemclock.c: (gst_system_clock_init):
10564         Docs review.
10565         
10566         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10567         Remove leftover else
10568
10569         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10570         (gst_systemclock_suite):
10571         Added check to test GST_CLOCK_DIFF.
10572
10573 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10574
10575         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10576         (gst_type_find_helper_get_range):
10577           If we are provided with the size, we should implement
10578           GstTypeFind::get_length, so that typefind functions who
10579           want to can actually peek at the middle of a file.
10580
10581 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
10582
10583         * docs/manual/advanced-dataaccess.xml:
10584           Add some very very basic error checking.
10585
10586         * docs/pwg/appendix-checklist.xml:
10587           Some updates to the list of things to check when writing an element.
10588
10589 2006-03-08  Wim Taymans  <wim@fluendo.com>
10590
10591         * docs/design/part-element-transform.txt:
10592         Added some docs about the design of tranform elements.
10593
10594         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10595         (gst_base_src_loop), (gst_base_src_change_state):
10596         Mark buffers with the DISCONT flag.
10597
10598 2006-03-08  Michael Smith  <msmith@fluendo.com>
10599
10600         * gst/gstregistry.h:
10601         * gst/gstregistryxml.c: (gst_registry_save),
10602         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10603         (gst_registry_xml_save_pad_template),
10604         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10605         (gst_registry_xml_write_cache):
10606           Rewrite registry-saving to avoid race conditions and check for
10607           failed writes.
10608
10609 2006-03-08  Wim Taymans  <wim@fluendo.com>
10610
10611         * libs/gst/base/gstbasetransform.c:
10612         (gst_base_transform_transform_caps),
10613         (gst_base_transform_transform_size),
10614         (gst_base_transform_prepare_output_buffer),
10615         (gst_base_transform_get_unit_size),
10616         (gst_base_transform_buffer_alloc),
10617         (gst_base_transform_handle_buffer),
10618         (gst_base_transform_change_state):
10619         Cleanups, separate normal flow from errors, add sensible
10620         DEBUG lines.
10621         Don't try to renegotiate when allocating an output buffer.
10622         Also copy DISCONT buffer flag when copying a buffer.
10623         Reset the transform after we finish streaming, not during.
10624
10625 2006-03-08  Wim Taymans  <wim@fluendo.com>
10626
10627         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10628         Use last buffer timestamp in qos message.
10629
10630 2006-03-07  Wim Taymans  <wim@fluendo.com>
10631
10632         Patch by: Christophe Fergeau
10633
10634         * docs/pwg/advanced-tagging.xml:
10635         * docs/pwg/building-pads.xml:
10636           fixes #333416
10637
10638 2006-03-07  Wim Taymans  <wim@fluendo.com>
10639
10640         * docs/libs/gstreamer-libs-sections.txt:
10641         Added basesink new methods.
10642
10643         * gst/gstevent.c:
10644         * gst/gstevent.h:
10645         Docs updates. Flesh out the QoS docs.
10646
10647         * libs/gst/base/gstadapter.c:
10648         Small doc clarification about ownership and flushing.
10649
10650         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10651         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10652         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10653         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10654         * libs/gst/base/gstbasesink.h:
10655         API additions: 
10656         Added new methods to allow subclass to control max-lateness 
10657         and sync.
10658         Generate very basic QoS events based on last sync observation.
10659         Updated docs, fix typo, added some QoS blurb.
10660
10661         * libs/gst/base/gstbasesrc.c:
10662         Remove obsolete _get_state() calls from docs.
10663
10664 2006-03-07  Wim Taymans  <wim@fluendo.com>
10665
10666         * docs/libs/gstreamer-libs-sections.txt:
10667         * libs/gst/base/gstbasetransform.h:
10668         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10669         Fix docs for GstBaseSrc.
10670
10671 2006-03-07  Wim Taymans  <wim@fluendo.com>
10672
10673         * docs/gst/gstreamer-sections.txt:
10674         * gst/gstbuffer.h:
10675         * gst/gstvalue.c:
10676         * libs/gst/base/gstbasetransform.h:
10677         Small documentation fixes.
10678
10679 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10680
10681         * gst/gstvalue.c:
10682           Document thread-unsafety of gst_value_register_foo_func()
10683           when used at the same time as gst_value_foo() (#322628).
10684
10685 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10686
10687         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10688         (gst_push_src_check_get_range):
10689           Push sources don't support pull mode by default.
10690
10691 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10692
10693         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10694         (gst_base_src_init), (gst_base_src_pad_check_get_range),
10695         (gst_base_src_default_check_get_range):
10696         * libs/gst/base/gstbasesrc.h:
10697           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10698           provide default implementation, and rename
10699           gst_base_src_check_get_range() to
10700           gst_base_src_pad_check_get_range() for clarity.
10701
10702 2006-03-06  Wim Taymans  <wim@fluendo.com>
10703
10704         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10705         Make property overridable.
10706
10707 2006-03-06  Wim Taymans  <wim@fluendo.com>
10708
10709         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10710         (gst_base_sink_init), (gst_base_sink_set_property),
10711         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10712         * libs/gst/base/gstbasesink.h:
10713         API addition: Make max-lateness a property.
10714
10715 2006-03-06  Wim Taymans  <wim@fluendo.com>
10716
10717         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10718         (gst_base_sink_do_sync), (gst_base_sink_render_object):
10719         Don't ever draw a frame that is >10ms late.
10720
10721 2006-03-06  Michael Smith  <msmith@fluendo.com>
10722
10723         * gst/gstmessage.c: (_gst_message_copy):
10724           When copying a message, set the parent_refcount of the enclosed
10725           structure to point at the copy, not the original message.
10726
10727 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10728
10729         Patch by: Christophe Fergeau
10730
10731         * gst/gstutils.h:
10732           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10733           usable in c++ code (#333417)
10734
10735 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * gst/gstclock.h:
10738           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10739
10740 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
10741
10742         * libs/gst/base/gstbasetransform.c:
10743         (gst_base_transform_transform_caps):
10744           Make sure caps are writable before passing them to
10745           gst_caps_append().
10746
10747 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10748
10749         * gst/gsterror.h:
10750           Fix some minor docs errors.
10751
10752 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10753
10754           Patch by: Ross Burton <ross at burtonini dot com>
10755
10756         * gst/gsterror.c: (_gst_resource_errors_init):
10757         * gst/gsterror.h:
10758           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10759
10760 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10761
10762         * gst/gst.c:
10763         Add a check and output a g_warning when GStreamer is built
10764         against GLib 2.6 but running against 2.8 or higher, and vice 
10765         versa. (Closes: #323542)
10766
10767 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10768
10769         * gst/parse/parse.l:
10770           Commit patch for parse_launch syntax from #331255. Removes 
10771           support for quoted strings and mimetypes when writing filtered 
10772           caps. See the bug report for more details - I'm pretty sure this
10773           obscure feature is not in use by _anyone_ anywhere.
10774
10775           With this simple change, the size of the gstreamer.so here 
10776           drops from 2193KB to 1565KB.
10777
10778 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         * plugins/elements/gsttypefindelement.h:
10781         * plugins/elements/gsttypefindelement.c:
10782         (gst_type_find_element_src_event), (start_typefinding),
10783         (stop_typefinding), (gst_type_find_element_handle_event),
10784         (gst_type_find_element_chain),
10785         (gst_type_find_element_chain_do_typefinding):
10786           Use gst_type_find_helper_for_buffer() for chain-based
10787           typefinding.
10788
10789 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * plugins/elements/gsttypefindelement.c:
10792         (gst_type_find_element_class_init),
10793         (gst_type_find_element_set_property),
10794         (gst_type_find_element_get_property):
10795           Deprecate "maximum" property (not only was it only taken into
10796           account for typefinding in push-mode anyway, it also was never
10797           actually possible to set it in the first place because the
10798           property was registered with the numeric property ID for the
10799           "minimum" property). Register "maximum" property correctly,
10800           for the sake of future copy'n'pasters. Remove some cruft
10801           from property get/set functions.
10802
10803 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10804
10805         * plugins/elements/gsttypefindelement.c:
10806         (gst_type_find_element_activate):
10807           Use gst_type_find_helper_get_range() here, so we
10808           can honour the "minimum" property and also emit
10809           the signal with the correct probability of the found caps.
10810
10811 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10812
10813         * docs/libs/gstreamer-libs-sections.txt:
10814         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10815         (helper_find_suggest), (gst_type_find_helper_get_range),
10816         (gst_type_find_helper):
10817         * libs/gst/base/gsttypefindhelper.h:
10818           New API: gst_type_find_helper_get_range() (#333042).
10819
10820 2006-03-02  Michael Smith  <msmith@fluendo.com>
10821
10822         * gst/gstregistryxml.c: (load_feature):
10823           Asserting on a failure to read part of the registry is Not Cool.
10824           Just log a warning and return NULL (which is already handled)
10825
10826 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10827
10828         * win32/common/libgstbase.def:
10829           added export of gst_type_find_helper_for_buffer
10830         * win32/common/libgstbase.def:
10831           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10832           gst_ghost_pad_get_target
10833
10834 2006-02-28  Wim Taymans  <wim@fluendo.com>
10835
10836         * docs/design/draft-klass.txt:
10837         We use Filter now.
10838         Added Connector to mark elements that are only used to
10839         allow pipeline connections.
10840         Moved Debug to extra feature since most of them are 
10841         functionally something else.
10842
10843 2006-02-28  Wim Taymans  <wim@fluendo.com>
10844
10845         * docs/design/draft-klass.txt:
10846         Some updates and clarifications.
10847
10848 2006-02-28  Wim Taymans  <wim@fluendo.com>
10849
10850         * docs/design/draft-klass.txt:
10851         Proposal for klass field values.
10852
10853         * docs/design/part-streams.txt:
10854         Start of a doc describing stream anatomy.
10855
10856 2006-02-28  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10859         Help the compiler a bit with type registration.
10860         Use existing forward cod path instead of duplicating it when 
10861         handling a message.
10862         
10863         * gst/gstbus.c: (gst_bus_get_type):
10864         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10865         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10866         * gst/gstclock.c: (gst_clock_get_type):
10867         * gst/gstelement.c: (gst_element_get_type),
10868         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10869         * gst/gstindexfactory.c: (gst_index_factory_get_type):
10870         * gst/gstminiobject.c: (gst_mini_object_get_type):
10871         * gst/gstpad.c: (gst_pad_get_type):
10872         * gst/gstsegment.c: (gst_segment_get_type):
10873         * gst/gststructure.c: (gst_structure_get_type):
10874         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10875         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10876         * gst/gstvalue.c:
10877         Help compiler with type registration.
10878
10879         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10880         Small doc update.
10881
10882 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10883
10884         * plugins/elements/gsttypefindelement.c:
10885         (gst_type_find_element_handle_event):
10886           When we get an EOS event and have not found a type yet
10887           (most likely because we had not yet accumulated
10888           TYPE_FIND_MIN_SIZE of data yet), try to determine the
10889           type given the data we have so far. Fixes typefinding
10890           for very short streams again, most notably quicktime
10891           redirections as used on Apple's trailer site (#331701).
10892
10893 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10894
10895         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10896         (gst_type_find_helper):
10897           Try typefinding factories with the highest rank first.
10898
10899 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10900
10901         * docs/libs/gstreamer-libs-docs.sgml:
10902         * docs/libs/gstreamer-libs-sections.txt:
10903         * libs/gst/base/gsttypefindhelper.c:
10904           Add section for typefind helper and add documentation
10905           for the old and the new function.
10906
10907 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10910         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10911         (gst_type_find_helper_for_buffer):
10912         * libs/gst/base/gsttypefindhelper.h:
10913           New API: gst_type_find_helper_for_buffer() (#332723).
10914           
10915 2006-02-27  Michael Smith  <msmith@fluendo.com>
10916
10917         Patch by: Loïc Minier
10918
10919         * configure.ac:
10920         * docs/Makefile.am:
10921         * docs/slides/Makefile.am:
10922           prevent CVS directories getting disted.
10923
10924 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10925
10926         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10927           Use the REFCOUNTING category for caps refcounting.
10928           
10929 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10932           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
10933
10934 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10935
10936         * plugins/elements/gsttypefindelement.c:
10937         (gst_type_find_element_activate):
10938           Use gst_pad_check_pull_range() before _activate_pull()
10939           to avoid unnecessary open/close (see #331690).
10940
10941 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10942
10943         * gst/gstutils.c:
10944           Docs enhancement: make it crystal clear what the
10945           gst_pad_add_*_probe() callbacks should look like.
10946
10947 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10948
10949         * libs/gst/base/gstbasesrc.c:
10950           Document how applications can stop recording from
10951           live sources (see #330996).
10952
10953 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10954
10955         * tests/check/Makefile.am:
10956         * tests/check/libs/basesrc.c: (eos_event_counter),
10957         (basesrc_eos_events_pull), (basesrc_eos_events_push),
10958         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
10959         (gst_basesrc_suite), (main):
10960           ... and add some tests for the base source EOS stuff.
10961
10962 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10963
10964         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
10965           Test case originally showed the problem fixed below,
10966           but was then amended. Add checks back at the place
10967           where they used to be.
10968
10969 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10970
10971         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10972         (gst_base_src_init), (gst_base_src_loop),
10973         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10974         (gst_base_src_change_state):
10975         * libs/gst/base/gstbasesrc.h:
10976           Don't unconditionally send EOS when going from PAUSED to
10977           READY state, esp. make sure we don't send two EOS events
10978           in some cases (e.g. one when reaching EOS and one when
10979           going from PAUSED to READY). Also, we don't want to send
10980           EOS events when operating in pull mode. However, we do
10981           want to send an EOS event when shutting down a live
10982           source explicitly, for example (fixes #330996).
10983           
10984 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10985
10986         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10987           Update src->read_position after a seek when not using mmap.
10988           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
10989
10990 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
10991
10992         * gst/Makefile.am:
10993         * gst/gstparse.h:
10994         * gst/gstutils.c:
10995         * gst/gstutils.h:
10996         Make things work with --disable-parse as they do with 
10997         --disable-load-save - the symbols involved disappear, but the
10998         header is still installed and GST_DISABLE_PARSE is included via
10999         gstconfig.h
11000
11001 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11002
11003         * libs/gst/base/gstbasetransform.c:
11004         (gst_base_transform_change_state): Fix a stupid bug. I was 
11005         sure I compiled that.
11006
11007 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11008
11009         * gst/gstpad.c: (gst_pad_set_blocked_async):
11010         * gst/gstutils.c: (gst_pad_add_data_probe),
11011         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11012         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11013         (gst_pad_remove_buffer_probe): Make those function act on the
11014         ghostpad target when it's a ghostpad. (Closes #331727)
11015
11016 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11017
11018         * libs/gst/base/gstbasetransform.c:
11019         (gst_base_transform_change_state): Make basetransform reusable.
11020         (Closes #331898)
11021
11022 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11023
11024         * docs/random/release:
11025         Move the current documentation of how to do a release to the top
11026         of the file.
11027
11028         * gst/gstbin.c: (gst_bin_class_init),
11029         (gst_bin_handle_message_func):
11030         Allow multiple state-recalculation threads. (Closes #328873)
11031
11032 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11033
11034         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11035         * gst/gstpad.c: (gst_pad_set_event_function),
11036         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11037         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11038         2 strings. You can't use the STR_NULL macro on that.
11039
11040 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11041
11042         * gst/gstpad.c: (gst_pad_set_event_function),
11043         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11044         (gst_pad_set_getcaps_function)
11045         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11046           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11047           So now, we can use --gst-debug-level=5 on Windows
11048         * win32/common/libgstcontroller.def:
11049           Added export of gst_controller_init
11050         * win32/vs6/libgstcontroller.dsp:
11051           Fixed Release post build configuration
11052
11053 2006-02-17  Wim Taymans  <wim@fluendo.com>
11054
11055         * tests/check/gst/gstquery.c: (GST_START_TEST):
11056         Added another check.
11057
11058 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11059
11060         * plugins/elements/gsttypefindelement.c: (find_peek):
11061           We can do peeks at non-zero offsets, as long as they
11062           fall within the buffer we have.
11063
11064 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11065
11066         * tests/check/Makefile.am:
11067         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11068         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11069         (parse_suite), (main):
11070           Add testsuite for parse launch syntax
11071
11072 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11073
11074         * plugins/elements/gsttypefindelement.c:
11075         (gst_type_find_element_chain):
11076           When typefinding is unsuccessful in the chain function, don't
11077           error out immediately. Only error out with NO_CAPS_FOUND if
11078           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11079           otherwise simply wait for more data so we can try typefinding
11080           again with more data later. Also, don't attempt to typefind
11081           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11082           this should improve typefinding from network sources where the
11083           size of the first buffer can be somewhat random.
11084
11085 2006-02-14  Wim Taymans  <wim@fluendo.com>
11086
11087         * docs/gst/gstreamer-sections.txt:
11088         * gst/gstpadtemplate.c:
11089         * gst/gstpadtemplate.h:
11090         Fix padtemplate docs, fixes #328805.
11091
11092 2006-02-14  Wim Taymans  <wim@fluendo.com>
11093
11094         * tools/gst-launch.c: (main):
11095         NO_PREROLL is not an ERROR so don't send confusing messages
11096         to the user.
11097
11098 2006-02-14  Wim Taymans  <wim@fluendo.com>
11099
11100         Patch by: Torsten Schoenfeld
11101
11102         * gst/gstregistry.c: (gst_registry_get_default),
11103         (_gst_registry_cleanup):
11104         Protect default registry with lock and ref/sink it.
11105         Fixes #324818
11106
11107 2006-02-14  Wim Taymans  <wim@fluendo.com>
11108
11109         * gst/gstbuffer.c:
11110         * gst/gstquery.c: (gst_query_list_add_format),
11111         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11112         (gst_query_parse_formats_nth):
11113         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11114         Docs fixes.
11115
11116 2006-02-14  Wim Taymans  <wim@fluendo.com>
11117
11118         * docs/gst/gstreamer-sections.txt:
11119         Reworked query docs.
11120
11121         * gst/gstquery.c: (gst_query_new_formats),
11122         (gst_query_list_add_format), (gst_query_set_formats),
11123         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11124         (gst_query_parse_formats_nth):
11125         * gst/gstquery.h:
11126         Flesh out formats query, added some new methods.
11127         Fix part of #324398.
11128
11129         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11130         Added query creation tests.
11131
11132 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11133
11134         * gst/gstpad.c: (fixate_value):
11135         Add a default fixation for fraction lists.
11136
11137 2006-02-13  Wim Taymans  <wim@fluendo.com>
11138
11139         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11140         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11141         (gst_task_join):
11142         * gst/gsttask.h:
11143         Detect and warn for obvious deadlocks. fixes #320340
11144         Fix error case where lock was not released.
11145
11146         * tests/check/Makefile.am:
11147         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11148         (task_func), (gst_element_suite), (main):
11149         Add task check.
11150
11151 2006-02-13  Wim Taymans  <wim@fluendo.com>
11152
11153         * docs/gst/gstreamer-sections.txt:
11154         * gst/gstbus.c:
11155         Add new functions to docs.
11156
11157 2006-02-13  Wim Taymans  <wim@fluendo.com>
11158
11159         * docs/design/part-TODO.txt:
11160         Updated TODO list, basesrc supports seeking to non-bytes
11161         formats.
11162
11163         * docs/design/part-element-sink.txt:
11164         Update docs.
11165
11166         * gst/gstbin.c: (bin_replace_message),
11167         (gst_bin_handle_message_func):
11168         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11169         * gst/gstevent.c: (gst_event_finalize):
11170         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11171         (gst_pad_send_event):
11172         Use shiny new _TYPE_NAME macros.
11173
11174         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11175         Move debug statement up.
11176
11177         * gst/gstelement.c: (gst_element_set_locked_state):
11178         Add some debugging.
11179
11180 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11181
11182         * docs/gst/gstreamer-sections.txt:
11183         * gst/gstmessage.h:
11184         * gst/gstquery.h:
11185           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11186           macros (#330906). Also, document the already existing
11187           GST_QUERY_TYPE macro.
11188
11189 2006-02-13  Wim Taymans  <wim@fluendo.com>
11190
11191         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11192         (event_probe), (GST_START_TEST):
11193         Only events up to the pipeline EOS are counted, there are
11194         some more when going to NULL currently which we don't care
11195         about for now.
11196
11197 2006-02-13  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/gstpad.c: (gst_pad_send_event):
11200         Correctly check flushing and emit probes. fixes #330125
11201
11202 2006-02-10  Andy Wingo  <wingo@pobox.com>
11203
11204         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11205         structure.
11206         (gst_bus_init): Cache the location of the private data in the
11207         instance structure.
11208         (gst_bus_enable_sync_message_emission) 
11209         (gst_bus_disable_sync_message_emission): Implement new public
11210         functions.
11211         (gst_bus_post): Emit the sync-message signal if the user asked for
11212         it. Fixes #330684.
11213
11214         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11215         location of the bus-private structure.
11216         (gst_bus_enable_sync_message_emission)
11217         (gst_bus_disable_sync_message_emission): API addition
11218
11219 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11220
11221         Patch by: Vincent Torri
11222
11223         * docs/pwg/building-boiler.xml:
11224         PWG patch from #326800
11225
11226 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11227
11228         * configure.ac:
11229         * docs/Makefile.am:
11230         * docs/design/Makefile.am:
11231           Dist design docs.
11232
11233 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11234
11235         * configure.ac:
11236           back to CVS
11237
11238 === release 0.10.3 ===
11239
11240 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11241
11242         * configure.ac:
11243           releasing 0.10.3, "Like a virgin"
11244
11245 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11246
11247         * configure.ac:
11248           2nd prerelease of 0.10.3
11249           Bump libtool versioning.
11250
11251 2006-02-07  Andy Wingo  <wingo@pobox.com>
11252
11253         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11254         update last_stop if we're in TIME format and the timestamp is
11255         valid.
11256
11257         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11258         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11259         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11260         If we get a new newsegment with a different format, adapt
11261         accordingly.
11262
11263         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11264         of 0. Not a problem, really.
11265
11266         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11267         warn if sync=true.
11268
11269 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11270
11271         * configure.ac:
11272           Prelease of 0.10.3
11273
11274 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11275
11276         * win32/vs7:
11277           project files updated to the default vs7 configuration
11278         * win32/common/libgstbase.def:
11279         * win32/common/libgstreamer.def:
11280           added new symbols,
11281           removed empty lines,
11282           sorted all exported symbols alphabetically
11283         * win32/common/dirent.c:
11284         * win32/common/dirent.h:
11285         * win32/common/gchar.h:
11286           use windows line end.
11287           
11288 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11289
11290         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11291           Send EOS event when stopping.
11292
11293 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11294
11295         * docs/README:
11296           Tell folks what to do if the plugin-foobar.xml file
11297           hasn't been generated for a newly-added plugin.
11298
11299 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11300
11301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11302         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11303         (gst_collect_pads_start), (gst_collect_pads_stop),
11304         (gst_collect_pads_event): Collectpads now holds a reference
11305         to the GstPad that was added. Indeed we don't want to look
11306         at pads that might just go away with no warning...
11307
11308 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11309
11310         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11311         (gst_collect_pads_start), (gst_collect_pads_stop),
11312         (gst_collect_pads_event), (gst_collect_pads_chain):
11313         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11314         Mark Nauwelaerts's patch on bug #328491.
11315
11316 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11317
11318         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11319         (gst_utils_suite):
11320           Add some simple tests for gst_parse_bin_from_description() and
11321           gst_bin_find_unconnected_pad() (#329069).
11322
11323 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11324
11325         * tools/gst-launch.c: (event_loop), (main):
11326           Catch errors during preroll (#320084).
11327
11328 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11329
11330         * plugins/elements/gsttypefindelement.c:
11331         (gst_type_find_element_activate):
11332           Post TYPE_NOT_FOUND error message when typefinding
11333           is unsuccessful in the activate function as well.
11334
11335 2006-02-02  Wim Taymans  <wim@fluendo.com>
11336
11337         * docs/design/part-element-sink.txt:
11338         Updated doc.
11339
11340 2006-02-02  Wim Taymans  <wim@fluendo.com>
11341
11342         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11343         (gst_base_sink_render_object),
11344         (gst_base_sink_queue_object_unlocked):
11345         Only keep track of prerollable items when we are 
11346         prerolling.
11347         Before rendering after preroll, always check if we
11348         have queued items.
11349         Added some more debugging.
11350
11351 2006-02-02  Wim Taymans  <wim@fluendo.com>
11352
11353         * gst/gstelement.c: (gst_element_continue_state),
11354         (gst_element_set_state_func), (gst_element_change_state):
11355         Fixed #326576, been running this for quite some time with
11356         no regressions at all.
11357
11358 2006-02-02  Wim Taymans  <wim@fluendo.com>
11359
11360         * common/gst.supp:
11361         Added more suppressions
11362
11363 2006-02-02  Wim Taymans  <wim@fluendo.com>
11364
11365         * docs/design/part-element-sink.txt:
11366         Updated document.
11367
11368         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11369         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11370         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11371         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11372         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11373         (gst_base_sink_preroll_object),
11374         (gst_base_sink_queue_object_unlocked),
11375         (gst_base_sink_queue_object), (gst_base_sink_event),
11376         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11377         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11378         (gst_base_sink_get_position), (gst_base_sink_change_state):
11379         * libs/gst/base/gstbasesink.h:
11380         Totally refactored matching the design doc.
11381         Use two segments, one to clip incomming buffers and another to
11382         perform sync.
11383         Handle queueing correctly, bypass the queue when playing.
11384         Make EOS cancelable.
11385         Handle errors correctly when operating in pull based mode.
11386
11387         * tests/check/elements/fakesink.c: (GST_START_TEST),
11388         (fakesink_suite):
11389         Added new check for sinks.
11390
11391 2006-02-02  Wim Taymans  <wim@fluendo.com>
11392
11393         * gst/gstsegment.c: (gst_segment_clip):
11394         No reason to refuse to clip when start == -1
11395
11396 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11397
11398         * docs/README:
11399         * docs/manual/intro-basics.xml:
11400         * docs/manual/intro-preface.xml:
11401         * docs/manual/manual.xml:
11402         * docs/pwg/advanced-dparams.xml:
11403         * docs/pwg/intro-basics.xml:
11404         * docs/pwg/intro-preface.xml:
11405         * docs/pwg/pwg.xml:
11406           describe dparams (controller) for plugins
11407           unify docs a little more
11408
11409 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11410
11411         * docs/gst/gstreamer-sections.txt:
11412         * gst/gstutils.c: (element_find_unconnected_pad),
11413         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11414         * gst/gstutils.h:
11415           Add new API: gst_parse_bin_from_description() and
11416           gst_bin_find_unconnected_pad() (#329069).
11417
11418 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11419
11420         * docs/manual/README:
11421           uncover a nasty detail of the docs build
11422
11423 2006-01-31  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11426         Don't cache duration messages if we're not going to use or
11427         free them.
11428
11429 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11430
11431         * docs/manual/advanced-dparams.xml:
11432         * docs/pwg/advanced-dparams.xml:
11433           more dparam docs
11434         * gst/gstindex.c:
11435           fix docs
11436         * libs/gst/controller/lib.c: (gst_controller_init):
11437           init just once
11438
11439 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11440
11441         * gst/gstelement.c: (gst_element_message_full):
11442           also show file/line/func if no additional debug was given
11443
11444 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11445         
11446         * win32/vs7/grammar.vcproj:
11447           activate copy of autogenerated files for Release mode
11448
11449 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11450         
11451         * win32/common/libgstreamer.def:
11452           export gst_value_compare
11453
11454 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11455
11456         * plugins/elements/Makefile.am:
11457         * plugins/elements/gstelements.c:
11458         * plugins/elements/gstfdsink.c: (_do_init),
11459         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11460         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11461         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11462         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11463         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11464         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11465         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11466         * plugins/elements/gstfdsink.h:
11467         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11468
11469 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11470
11471         * docs/manual/advanced-dparams.xml:
11472           describe controller
11473         * docs/manual/advanced-position.xml:
11474         * docs/manual/basics-init.xml:
11475         * docs/manual/manual.xml:
11476         * docs/manual/titlepage.xml:
11477         * docs/pwg/pwg.xml:
11478         * docs/pwg/titlepage.xml:
11479           cleanup xml (more to come)
11480         * libs/gst/controller/gstcontroller.c:
11481           fix typo
11482
11483 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11484         
11485         * win32/vs6/grammar.dsp:
11486           add autogen of gstmarshal.c,h for Release mode
11487                 
11488 2006-01-30  Wim Taymans  <wim@fluendo.com>
11489
11490         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11491         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11492         (gst_base_sink_handle_object), (gst_base_sink_event),
11493         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11494         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11495         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11496         (gst_base_sink_deactivate), (gst_base_sink_activate),
11497         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11498         (gst_base_sink_query), (gst_base_sink_change_state):
11499         Basesink cleanups, remove some old code.
11500         Handle the case where a subclass can preroll in the render
11501         method (mostly audiosinks).
11502         Handle more events.
11503         Remove some locks around variables that are now protected
11504         with the PREROLL_LOCK (clock_id, flushing, ..).
11505         Optimize position query some more, do correct locking.
11506         Remove old code to push queue in state change, this is not
11507         needed anymore since preroll blocks on all prerollable items 
11508         now.
11509         Almost implemented as described in design doc.
11510
11511 2006-01-30  Wim Taymans  <wim@fluendo.com>
11512
11513         * tests/check/gst/gstbin.c: (GST_START_TEST):
11514         Wait for refcount to settle down before checking.
11515
11516 2006-01-30  Wim Taymans  <wim@fluendo.com>
11517
11518         * docs/design/part-element-sink.txt:
11519         Pseudo code overview of desired sink behaviour regarding
11520         preroll.
11521
11522 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11523         * win32/vs6/grammar.dsp:
11524           fix some bugs in Release mode for autogenerated files
11525                 
11526 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11527         * win32/common/libgstbase.def:
11528         * win32/common/libgstreamer.def:
11529           export some new symbols: gst_base_src_set_format,
11530           gst_iterator_next, gst_structure_set_valist
11531
11532 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11533
11534         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11535         Set pad functions unconditionally. Fixes #329105.
11536
11537 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11538         * win32/vs8:
11539           add vs8 project files created by Sergey Scobich
11540
11541 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11542
11543         * gst/gstutils.c: (gst_element_unlink_pads):
11544         Don't leak pad references.
11545
11546         * tests/check/elements/fakesink.c: (GST_START_TEST):
11547         * tests/check/generic/sinks.c: (GST_START_TEST):
11548         * tests/check/generic/states.c: (GST_START_TEST):
11549         * tests/check/gst/gstbin.c: (GST_START_TEST):
11550         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11551         * tests/check/gst/gstelement.c: (GST_START_TEST):
11552         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11553         * tests/check/gst/gstiterator.c: (GST_START_TEST):
11554         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11555         Fix a bunch of leaks. Make generic/sinks.c
11556         use a bit less cpu by slowing the buffer rate
11557         between fakesrc and fakesink.
11558         
11559 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11560         * gst/gstcaps.c:
11561         * gst/gstelement.c: (gst_element_send_event):
11562         * gst/gstevent.c:
11563         * gst/gstinfo.c:
11564         * gst/gstiterator.c:
11565         * gst/gstiterator.h:
11566         * gst/gstpad.c: (gst_pad_send_event):
11567         * gst/gststructure.c:
11568         * gst/gsturi.c:
11569         * gst/gstutils.c:
11570         * gst/gstvalue.c:
11571         * libs/gst/base/gstadapter.c:
11572           doc fixes, to link to function, just write gst_cool_function(), don't
11573           prefix with '#'
11574
11575 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11576
11577         * plugins/elements/gsttee.c: (gst_tee_do_push),
11578         (gst_tee_handle_buffer):
11579         Always prefer an actual return value from a src
11580         pad in place of NOT_LINKED. This means we return
11581         WRONG_STATE when all src pads are WRONG_STATE
11582         instead of NOT_LINKED.
11583
11584         Lock when replacing the last message to prevent
11585         racing with the get_property method.
11586
11587         Add debug output
11588
11589 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11590
11591         * tests/check/Makefile.am:
11592         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11593         (main):
11594         Add a very simple check that should have caught the memleak I fixed
11595         last night (if not for the slice allocator hiding it)
11596
11597 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11598
11599         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11600         (gst_bin_remove_func), (gst_bin_handle_message_func),
11601         (bin_query_duration_fold), (bin_query_generic_fold):
11602         Clean up references to the clock provider when disposed or when
11603         handling a clock-lost message from it.
11604
11605         Unref sinks when performing a query via gst_iterator_fold, as the
11606         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11607
11608         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11609         (gst_clock_set_master):
11610         Drop our reference to the master clock, if any, when we are disposed.
11611
11612         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11613         Chain up in dispose. 
11614
11615 2006-01-26  Wim Taymans  <wim@fluendo.com>
11616
11617         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11618         Add some debugging.
11619
11620 2006-01-26  Julien MOUTTE  <julien@moutte.net>
11621
11622         * plugins/elements/gsttee.c: (gst_tee_do_push),
11623         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11624         handles pad being NOT_LINKED or in WRONG_STATE.
11625
11626 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11627
11628         * win32/MANIFEST:
11629           more updating
11630
11631 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11632
11633         * win32/MANIFEST:
11634           remove obsolete entry
11635
11636 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11637
11638         * docs/gst/gstreamer-sections.txt:
11639         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11640         (gst_bin_iterate_sources), (gst_bin_send_event):
11641         * gst/gstbin.h:
11642         * gst/gstelement.c: (gst_element_send_event):
11643         * gst/gstevent.c:
11644         * gst/gstpad.c: (gst_pad_send_event):
11645           added code for downstream events, reviewed docs in gstevent.c
11646
11647 2006-01-25  Julien MOUTTE  <julien@moutte.net>
11648
11649         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11650         We only query position using the clock in the playing state.
11651         Query peer in the other cases.
11652         * win32/common/config.h: Updates.
11653
11654 2006-01-24  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11657         A clock entry that is scheduled for the exact time of the
11658         clock is still in time.
11659
11660         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11661         (gst_base_sink_do_sync):
11662         Add some more debug info.
11663
11664 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11665
11666         * win32/vs7:
11667           Add new vs7 project files and solution.
11668
11669 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11670
11671         * win32/vs7:
11672           all files removed as they were out-dated.
11673
11674 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * docs/random/release:
11677           update notes
11678         * gst/gstbin.c: (gst_bin_init):
11679         * gst/gstbus.c: (gst_bus_new):
11680         * gst/gstbus.h:
11681         * gst/gstpipeline.c: (gst_pipeline_init):
11682           use gst_bus_new(), improve logging, fix docs
11683         * win32/common/config.h:
11684           update for cvs build
11685
11686 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11687
11688         * autogen.sh:
11689           up required version of automake to 1.7
11690
11691 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
11692
11693         * win32/common/libgstreamer.def:
11694           export gst_buffer_is_metadata_writable
11695
11696 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
11697
11698         * docs/gst/gstreamer-sections.txt:
11699         * gst/gstevent.h:
11700           Add gst_event_replace() (#327001)
11701
11702 2006-01-20  Wim Taymans  <wim@fluendo.com>
11703
11704         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11705         Make it actually compile too..
11706
11707 2006-01-20  Wim Taymans  <wim@fluendo.com>
11708
11709         * gst/gstcaps.c:
11710         Clarify behaviour of _is_equal() when passing NULL parameters.
11711
11712         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11713         (gst_pad_set_caps):
11714         Cleanups. Don't unref NULL caps.
11715         When setting the same caps, protect caps of the pad with
11716         proper lock.
11717         Use full functionality of _is_equal() when comparing caps.
11718
11719 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11720
11721         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11722         Don't loop infinitely if there are no buffers to present. Partially
11723         fixes #327197, but collectpads is just broken for reusing elements
11724         to do multiple encodes atm.
11725
11726 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11727
11728         * tools/gst-inspect.c: (print_element_features):
11729         * tools/gst-xmlinspect.c: (main):
11730         URL_HANDLER is not a plugin feature we can search for in
11731         the registry.
11732
11733 2006-01-19  Edward Hervey  <edward@fluendo.com>
11734
11735         * gst/gstelement.c: (gst_element_pads_activate): 
11736         When activating, do src pads first, then sink pads.
11737         When de-activating, do sink pads first, then src pads.
11738
11739 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11740
11741         * docs/gst/gstreamer-sections.txt:
11742         Add gst_index_add_associationv to the docs
11743
11744 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11745
11746         * gst/gstevent.c:
11747           Fix docs typo
11748
11749         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11750         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11751           Do some refactoring. Doesn't actually change functionality,
11752           but makes landing the DRAIN event easier later.
11753
11754 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
11755
11756         * docs/pwg/advanced-scheduling.xml:
11757           Update from 0.9.x to 0.10 API and make example a bit
11758           clearer.
11759
11760 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11761
11762         * docs/gst/gstreamer-sections.txt:
11763         Add gst_buffer_(is|make)_metadata_writable methods.
11764
11765 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11766
11767         * docs/design/part-sparsestreams.txt:
11768         Update sparse streams doc, hopefully for greater clarity
11769
11770 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11771
11772         * docs/design/part-events.txt:
11773         Remove mention of FILLER events.
11774         Add DRAIN event.
11775
11776         * docs/design/part-sparsestreams.txt:
11777         Write some things about using NEWSEGMENT to keep sparse streams
11778         flowing.
11779
11780 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11781
11782         * gst/gstbin.c: (gst_bin_dispose):
11783           Guard gst_object_unref call against a NULL object (dispose
11784           can theoretically be called multiple times).
11785           
11786 2006-01-18  Wim Taymans  <wim@fluendo.com>
11787
11788         * gst/gstbin.c: (gst_bin_element_set_state):
11789         * gst/gstclock.c: (gst_clock_id_wait):
11790         Added some more debug info.
11791
11792         * libs/gst/base/gstadapter.c:
11793         Added more docs.
11794
11795         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11796         (gst_base_sink_do_sync), (gst_base_sink_chain):
11797         Added some comments.
11798
11799 2006-01-18  Wim Taymans  <wim@fluendo.com>
11800
11801         * tests/check/Makefile.am:
11802         * tests/check/elements/fakesink.c: (chain_async_buffer),
11803         (chain_async), (chain_async_return), (GST_START_TEST),
11804         (fakesink_suite), (main):
11805         Added fakesink test that checks prerolling and clipping
11806         behaviour.
11807
11808         * tests/check/gst/gstutils.c: (GST_START_TEST):
11809         Make check run faster so that buildbots don't timeout.
11810
11811 2006-01-18  Wim Taymans  <wim@fluendo.com>
11812
11813         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11814         (gst_base_sink_do_sync):
11815         Some cleanups.
11816         When the sink finishes blocking on the preroll buffer, it can
11817         immediatly render it instead of rendering when the next buffer
11818         arrives.
11819
11820 2006-01-18  Wim Taymans  <wim@fluendo.com>
11821
11822         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11823         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11824         (gst_base_sink_chain):
11825         Small cleanups.
11826         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11827         Don't store _last_stop if the buffer is dropped.
11828
11829 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11830
11831         * plugins/elements/gsttypefindelement.c:
11832         (gst_type_find_element_class_init):
11833           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11834           object method handler that sets the caps on the pad and we want
11835           that to happen before we emit the signal (fixes e.g. feeding a
11836           plain text file to decodebin).
11837
11838 2006-01-18  Christian Schaller  <Christian@fluendo.com>
11839
11840         * gst/gstplugin.c: Add MPL and Proprietary as license options
11841
11842 2006-01-18  Andy Wingo  <wingo@pobox.com>
11843
11844         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11845         symbol was exported before, it appears this was just an oversight.
11846         Fixes #168703.
11847         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11848
11849         * gst/gstindex.c (gst_index_add_associationv): Changed int in
11850         prototype to gint. OK since this prototype was not in the header.
11851
11852 2006-01-17  Andy Wingo  <wingo@pobox.com>
11853
11854         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11855         registry while we remove plugins.
11856
11857         * tools/gst-inspect.c (print_element_info): Don't unref the
11858         factory arg, that should be the responsibility of whatever code
11859         received the ref. Fixes a double-free when called from
11860         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11861         (main): Unref the factory if we have one.
11862         (print_element_list): No change -- relies on the
11863         plugin_feature_list_free to free the list of features.
11864
11865 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
11866
11867         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11868         (gst_buffer_make_metadata_writable):
11869         * gst/gstbuffer.h:
11870         * libs/gst/base/gstbasetransform.c:
11871         (gst_base_transform_prepare_output_buf):
11872         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11873         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11874           Replace gst_buffer_(make|is)_metadata_writable patch now
11875           that the release is out.
11876
11877 2006-01-17  Andy Wingo  <wingo@pobox.com>
11878
11879         * gst/gstregistry.c: Reflow design comment. Update so as to speak
11880         in the present tense without reference to versions.
11881
11882         * gst/gstregistry.c (gst_registry_add_plugin)
11883         (gst_registry_remove_plugin, gst_registry_remove_feature)
11884         (gst_registry_find_feature, gst_registry_get_feature_list)
11885         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11886         (gst_registry_lookup, gst_registry_scan_path)
11887         (_gst_registry_remove_cache_plugins)
11888         (gst_registry_get_feature_list_by_plugin): Add argument
11889         validation.
11890
11891 === release 0.10.2 ===
11892
11893 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
11894
11895         * configure.ac:
11896           releasing 0.10.2, "If man is five"
11897
11898 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11899
11900         * gst/gstbuffer.c:
11901         * gst/gstbuffer.h:
11902         * libs/gst/base/gstbasetransform.c:
11903         (gst_base_transform_prepare_output_buf):
11904         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11905         * tests/check/gst/gstbuffer.c: (gst_test_suite):
11906           Back out patch until after the release.
11907
11908 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11909
11910         * gst/gstminiobject.c:
11911           Spelling fix in docs.
11912         * ChangeLog - remove conflict indicator
11913
11914 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11915
11916         Reviewed By: Andy Wingo
11917
11918         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11919         (gst_buffer_make_metadata_writable):
11920         * gst/gstbuffer.h:
11921           Add gst_buffer_(is|make)_metadata_writable as analogues of
11922           gst_buffer_(is|make)_writable.
11923
11924         * libs/gst/base/gstbasetransform.c:
11925         (gst_base_transform_prepare_output_buf):
11926         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11927           Use name gst_buffer_(is|make)_metadata_writable functions.
11928
11929         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11930           Test gst_buffer_(is|make)_metadata_writable
11931         
11932           (Closes: #324162)
11933
11934 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11935
11936         * docs/manual/Makefile.am:
11937           don't do parallel make
11938         * configure.ac:
11939           AC_SUBST HOST_CPU
11940         * win32/common/config.h.in:
11941           add generations for HOST_CPU and GST_MAJORMINOR
11942         * win32/common/config.h:
11943           commit generated result
11944
11945 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
11946
11947         * docs/manual/appendix-integration.xml:
11948           Update GNOME integration section to use gst_init_get_option_group()
11949           instead of the old popt stuff (#322911). Also, GNOME applications
11950           should  now use gconf*sink and gconf*src instead of the old gconf
11951           helper lib we had.
11952
11953 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
11954
11955
11956         * docs/gst/gstreamer-docs.sgml:
11957         * docs/gst/gstreamer-sections.txt:
11958         * docs/libs/gstreamer-libs-sections.txt:
11959           add new API entries to the docs
11960         * libs/gst/controller/Makefile.am:
11961         * libs/gst/controller/gstcontroller.c:
11962         * libs/gst/controller/gstcontroller.h:
11963         * libs/gst/controller/gstcontrollerprivate.h:
11964         * libs/gst/controller/gsthelper.c:
11965         * libs/gst/controller/gstinterpolation.c:
11966           move private structs to private header
11967         * po/README:
11968           gstreamer-0.7 -> gstreamer-0.10
11969         * tests/check/libs/struct_i386.h:
11970           remove private structs
11971
11972 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11973
11974         * plugins/indexers/Makefile.am:
11975           Fixes as part of #317048
11976
11977 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11978
11979         * plugins/indexers/Makefile.am:
11980           fix #316086 - compilation when mmap is missing
11981
11982 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
11983
11984         * libs/gst/base/gstbasesink.c:
11985           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
11986           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
11987         * win32/common/config.h:
11988           added some defines GST_MAJORMINOR and HOST_CPU
11989         * win32/common/libgstbase.def:
11990         * win32/common/libgstreamer.def:
11991           added some exported functions.
11992
11993 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11994
11995         * libs/gst/controller/gstcontroller.c:
11996         (gst_controlled_property_set_interpolation_mode),
11997         (gst_controlled_property_new):
11998         * libs/gst/controller/gstcontroller.h:
11999         * libs/gst/controller/gstinterpolation.c:
12000         (interpolate_none_get_string_value_array):
12001           make G_TYPE_STRING controlable
12002
12003 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12004
12005         * tools/README:
12006         * tools/gst-feedback.1.in:
12007         * tools/gst-inspect.1.in:
12008         * tools/gst-launch.1.in:
12009         * tools/gst-md5sum.1.in:
12010         * tools/gst-typefind.1.in:
12011         * tools/gst-xmlinspect.1.in:
12012         * tools/gst-xmllaunch.1.in:
12013           cleanup man-pages, remove reference to gst-register, document env-vars
12014
12015 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12016
12017         * gst/gstbuffer.c: (gst_buffer_span):
12018           gst_buffer_span should copy the timestamp of the first buffer
12019           if they were both originally overlapping subbuffers of the 
12020           same parent, using the same logic as the 'slow copy' case.
12021
12022 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12023
12024         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12025           Need to awaken ALL the pads when we pop a buffer, otherwise
12026           collectpads only works when there is 2 input streams.
12027
12028 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12029
12030         * docs/random/ensonic/media-device-daemon.txt:
12031           more ideas (dbus)
12032         * gst/gstbuffer.c:
12033           fix doc example, add clarification
12034         * tools/gst-launch.1.in:
12035           add initial info about GST_PLUGIN_PATH, needs more work
12036
12037 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12038
12039         * docs/manual/basics-bins.xml:
12040         * docs/manual/basics-elements.xml:
12041         * docs/manual/intro-basics.xml:
12042           Some more minor docs additions and updates.
12043
12044 2006-01-11  Wim Taymans  <wim@fluendo.com>
12045
12046         * docs/manual/basics-bins.xml:
12047         * docs/manual/basics-elements.xml:
12048         Some small fixes as pointed out by Ser-ver on IRC.
12049
12050 2006-01-10  Edward Hervey  <edward@fluendo.com>
12051
12052         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12053         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12054         the single-segment mode.
12055
12056 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12057
12058         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12059
12060         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12061         (gst_base_src_perform_seek), (gst_base_src_send_event),
12062         (gst_base_src_set_property), (gst_base_src_get_property),
12063         (gst_base_src_loop), (gst_base_src_start),
12064         (gst_base_src_activate_push):
12065         * libs/gst/base/gstbasesrc.h:
12066           Name (private) union; makes Sun's Forte compiler happy (#324900).
12067
12068 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * README:
12071           gst-register is gone.
12072
12073 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12074
12075         * gst/gstvalue.c: (_gst_value_initialize):
12076           make the G_TYPE_DATE instantiation work if debug is disabled
12077
12078 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12079
12080         * gst/gstmessage.c: (gst_message_parse_tag),
12081         (gst_message_parse_error), (gst_message_parse_warning):
12082           Don't crash when return location for error/warning debug
12083           string is NULL; add fact that return locations can be
12084           NULL to docs where appropriate.
12085
12086 2006-01-05  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/gstplugin.c: (gst_plugin_load_file):
12089         Replace strdup by g_strdup.
12090
12091 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12092
12093         * docs/pwg/advanced-types.xml:
12094           fix doc borkage
12095
12096 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         submitted by: Abel Cheung
12099
12100         * po/LINGUAS:
12101         * po/zh_TW.po:
12102           Added Chinese (traditional) translation
12103
12104 2006-01-04  Wim Taymans  <wim@fluendo.com>
12105
12106         * docs/manual/basics-pads.xml:
12107         * docs/plugins/Makefile.am:
12108         * docs/plugins/gstreamer-plugins-docs.sgml:
12109         * docs/plugins/gstreamer-plugins-sections.txt:
12110         * docs/pwg/advanced-clock.xml:
12111         * docs/pwg/advanced-scheduling.xml:
12112         * docs/pwg/advanced-types.xml:
12113         * plugins/elements/gstfdsink.c:
12114         * plugins/elements/gstfdsrc.c:
12115         * plugins/elements/gstfdsrc.h:
12116         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12117         * plugins/elements/gstidentity.h:
12118         * plugins/elements/gstqueue.h:
12119         * plugins/elements/gsttee.c:
12120         * plugins/elements/gsttee.h:
12121         * plugins/elements/gsttypefindelement.c:
12122         (gst_type_find_element_class_init):
12123         * plugins/elements/gsttypefindelement.h:
12124         Small updates to various docs.
12125         Added core plugins to docs.
12126
12127 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12128
12129         * common/gst.supp:
12130           add a suppression for liboil's uninitialized variable
12131
12132 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12133
12134         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12135
12136         * gst/gstutils.h:
12137           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12138           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12139           compiler switch is being used (#325429).
12140
12141 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12142
12143         * gst/gstbin.c: (gst_bin_query):
12144           Disable duration query caching in bins until it gets
12145           fixed (see #324807).
12146
12147 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12148
12149         * tools/gst-inspect.c: (print_element_properties_info):
12150           Handle properties of POINTER and BOXED type.
12151
12152 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12153
12154         * gst/gst.c: (init_post):
12155           Init tags stuff and some other things before loading
12156           any static plugins (there may be other static plugins
12157           than just the GStreamer ones, and they may want to
12158           register their own tags or formats or whatever, and
12159           preferably without segfaulting).
12160
12161         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12162           Print at least a warning in the debug logs if we drop a
12163           query just because we don't know how to adjust the value
12164           in the particular format.
12165
12166 2005-12-24  David Schleef  <ds@schleef.org>
12167
12168         * tools/gstreamer-completion:
12169           Replacement for gst-complete written in sh and sed.  Only
12170           completes names of features, but that's 90% of what I want
12171           it for.  Properties are not available in registry.xml.  (Maybe
12172           they should be...)
12173
12174 === release 0.10.1 ===
12175
12176 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12177
12178         * configure.ac:
12179           releasing 0.10.1, "Nollaig chridheil"
12180
12181 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12182
12183         * docs/faq/cvs.xml:
12184           Add missing quote, should be make ERROR_CFLAGS="".
12185
12186 2005-12-20  Wim Taymans  <wim@fluendo.com>
12187
12188         * docs/design/part-trickmodes.txt:
12189         More documentation on trickmodes.
12190
12191 2005-12-20  Edward Hervey  <edward@fluendo.com>
12192
12193         * gst/gstcaps.c: (gst_static_caps_get_type):
12194         * gst/gstcaps.h:
12195           API addition: GST_TYPE_STATIC_CAPS
12196         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12197         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12198         * gst/gstpadtemplate.h:
12199           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12200         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12201         bindings.
12202
12203 2005-12-18  Wim Taymans  <wim@fluendo.com>
12204
12205         * libs/gst/base/gstadapter.c:
12206         * libs/gst/base/gstadapter.h:
12207         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12208         (gst_base_sink_get_position):
12209         * libs/gst/base/gstbasesink.h:
12210         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12211         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12212         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12213         (gst_base_src_send_event), (gst_base_src_update_length),
12214         (gst_base_src_get_range), (gst_base_src_loop),
12215         (gst_base_src_start):
12216         * libs/gst/base/gstbasesrc.h:
12217         * libs/gst/base/gstbasetransform.h:
12218         * libs/gst/base/gstcollectpads.h:
12219         * libs/gst/base/gstpushsrc.c:
12220         * libs/gst/base/gstpushsrc.h:
12221         * libs/gst/dataprotocol/dataprotocol.c:
12222         * libs/gst/dataprotocol/dataprotocol.h:
12223         * libs/gst/net/gstnetclientclock.h:
12224         * libs/gst/net/gstnettimeprovider.h:
12225         Documentation updates.
12226
12227 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12228
12229         * docs/manual/basics-helloworld.xml:
12230           Remove superfluous closing bracket in helloworld example.
12231
12232 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12233
12234         * tools/gst-launch.1.in:
12235           Update gst-launch man page; add a section with useful
12236           environment variables. Fixes #323882.
12237
12238 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12239
12240         * gst/gst.c:
12241         * gst/gst_private.h:
12242           change some char* into char[]
12243
12244 2005-12-16  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gstregistryxml.c: (load_feature):
12247         Cleanups.
12248         Don't use g_object_unref on GstObjects so that we avoid
12249         leaks on unsafe glibs.
12250
12251 2005-12-16  Wim Taymans  <wim@fluendo.com>
12252
12253         * gst/gstbin.c: (gst_bin_recalc_state):
12254         Small doc updates.
12255
12256 2005-12-16  Wim Taymans  <wim@fluendo.com>
12257
12258         * common/check.mak:
12259         Added make forever target for check.
12260
12261 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * gst/gst.c: (init_post):
12264           make the registry cache file HOST_CPU-dependent
12265
12266 2005-12-16  Andy Wingo  <wingo@pobox.com>
12267
12268         * plugins/elements/gstbufferstore.c
12269         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12270         return value.
12271
12272         * tests/check/gst/gstobject.c
12273         (test_fake_object_name_threaded_unique): Pay attention to
12274         g_list_sort return value.
12275
12276 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12277
12278         * tools/gst-feedback-m.m:
12279           Update for 0.9/0.10 (fixes #323870).
12280
12281 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12282
12283         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12284           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12285           
12286         * tests/check/gst/gstminiobject.c: (my_foo_init),
12287         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12288         (test_value_collection), (gst_mini_object_suite):
12289           Add test to ensure refcounts end up as expected when passing
12290           GstMiniObjects through g_object_get() and g_object_set().
12291
12292 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12293
12294         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12295         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12296         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12297         of collectpads. This version removes a lot of races without
12298         touching API/ABI. Yay !
12299
12300 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12301
12302         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12303           Don't allow activation of a srcpad in pull_range if it has no
12304           getrange function.
12305           Change some debug statements to be a little clearer
12306
12307         * plugins/elements/gsttypefindelement.c:
12308         (gst_type_find_handle_src_query):
12309           Check that we have a peer before executing queries thereupon.
12310
12311         * tests/examples/metadata/read-metadata.c: (message_loop):
12312           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12313           immediately return us any available message with 0 timeout.
12314
12315 2005-12-12  Michael Smith  <msmith@fluendo.com>
12316
12317         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12318           Don't unref factories after calling them.
12319         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12320         * plugins/elements/gsttypefindelement.c:
12321         (gst_type_find_element_chain):
12322           Free lists of factories after using them. Fixing typefinding memory
12323           leaks.
12324
12325 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12326
12327         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12328         (gst_plugin_feature_load):
12329           more meaningful debug output
12330         * configure.ac:
12331         * tests/Makefile.am:
12332         * tests/old/examples/Makefile.am:
12333           make make distcheck happy again
12334
12335 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12336
12337         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12338           Catch the special case where we are operating chain-based,
12339           but the downstream peer pad has no chain function. Emit a
12340           custom error message in this case instead of letting the
12341           core generate one implying that this is some sort of core
12342           bug. It's not, it just means that whatever got plugged
12343           into the pipeline downstream when we announced the type
12344           can only operate pull-based, while our source can only
12345           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12346           Error string has not been marked for translation yet, as
12347           it probably needs some more work first.
12348
12349         (gst_type_find_element_get_best_possibility):
12350           Add helper function to find the best of all available
12351           found possibilities that qualify given the min. threshold.
12352
12353         (gst_type_find_element_handle_event):
12354           Fix the case where we get an EOS while still in TYPEFIND
12355           mode (we want to chose the best of all possible types,
12356           not just the first type that happens to be in our unsorted
12357           list of possible types).
12358
12359         (gst_type_find_element_chain):
12360           Make sure we return GST_FLOW_ERROR when we errored out
12361           in stop_typefinding(); also, don't just find the best of
12362           all found type entries and then use the last examined
12363           type entry, but actually use the best entry.
12364
12365 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12366
12367         * tests/examples/typefind/typefind.c: (type_found):
12368         * tests/examples/xml/runxml.c: (xml_loaded):
12369           More gcc4 fixes and a mem leak fix.
12370
12371 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12372
12373         * tests/examples/xml/createxml.c: (object_saved):
12374           gcc 4 fixes
12375
12376 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12377
12378         * tests/Makefile.am:
12379           enable the examples even more
12380
12381 2005-12-12  Andy Wingo  <wingo@pobox.com>
12382
12383         * libs/gst/net/gstnettimeprovider.c
12384         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12385         (gst_net_time_provider_set_property)
12386         (gst_net_time_provider_get_property):
12387         API addition: Export "active" as a GObject property.
12388         (gst_net_time_provider_thread): Only respond to time queries if
12389         the time provider is active.
12390
12391         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12392         NetTimeProvider, preserving binary compat.
12393
12394 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12395
12396         * tests/examples/controller/audio-example.c: (main):
12397         * tests/examples/launch/Makefile.am:
12398           convert comments again
12399
12400 2005-12-12  Wim Taymans  <wim@fluendo.com>
12401
12402         * libs/gst/base/gstpushsrc.c:
12403         Fix typo.
12404
12405 2005-12-12  Wim Taymans  <wim@fluendo.com>
12406
12407         * docs/libs/gstreamer-libs-sections.txt:
12408         Added new symbol to docs.
12409
12410         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12411         (gst_base_src_init), (gst_base_src_set_format),
12412         (gst_base_src_default_query), (gst_base_src_query),
12413         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12414         (gst_base_src_perform_seek), (gst_base_src_send_event),
12415         (gst_base_src_default_event), (gst_base_src_event_handler),
12416         (gst_base_src_set_property), (gst_base_src_get_property),
12417         (gst_base_src_wait), (gst_base_src_do_sync),
12418         (gst_base_src_update_length), (gst_base_src_get_range),
12419         (gst_base_src_check_get_range), (gst_base_src_loop),
12420         (gst_base_src_default_negotiate), (gst_base_src_start),
12421         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12422         (gst_base_src_change_state):
12423         * libs/gst/base/gstbasesrc.h:
12424         Implement seeking to other formats than _BYTES.
12425         Implement more seeking methods correctly.
12426         Doc updates.
12427         Added query vmethod.
12428         Added do_seek vmethod to make life easier for subclasses
12429         when seeking.
12430         API addition: gst_base_src_set_format()
12431
12432 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12433
12434         * tests/examples/Makefile.am:
12435           added that too
12436
12437 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12438
12439         * configure.ac:
12440         * docs/random/ensonic/media-device-daemon.txt:
12441         * tests/examples/controller/.cvsignore:
12442         * tests/examples/controller/Makefile.am:
12443         * tests/examples/controller/audio-example.c: (main):
12444         * tests/examples/helloworld/.cvsignore:
12445         * tests/examples/helloworld/Makefile.am:
12446         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12447         * tests/examples/launch/.cvsignore:
12448         * tests/examples/launch/Makefile.am:
12449         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12450         * tests/examples/metadata/.cvsignore:
12451         * tests/examples/metadata/Makefile.am:
12452         * tests/examples/metadata/read-metadata.c: (message_loop),
12453         (make_pipeline), (print_tag), (main):
12454         * tests/examples/queue/.cvsignore:
12455         * tests/examples/queue/Makefile.am:
12456         * tests/examples/queue/queue.c: (event_loop), (main):
12457         * tests/examples/typefind/.cvsignore:
12458         * tests/examples/typefind/Makefile.am:
12459         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12460         (main):
12461         * tests/examples/xml/.cvsignore:
12462         * tests/examples/xml/Makefile.am:
12463         * tests/examples/xml/createxml.c: (object_saved), (main):
12464         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12465         * tests/old/examples/Makefile.am:
12466         * tests/old/examples/TODO:
12467         * tests/old/examples/controller/.cvsignore:
12468         * tests/old/examples/controller/Makefile.am:
12469         * tests/old/examples/controller/audio-example.c:
12470         * tests/old/examples/helloworld/.cvsignore:
12471         * tests/old/examples/helloworld/Makefile.am:
12472         * tests/old/examples/helloworld/helloworld.c:
12473         * tests/old/examples/launch/.cvsignore:
12474         * tests/old/examples/launch/Makefile.am:
12475         * tests/old/examples/launch/mp3parselaunch.c:
12476         * tests/old/examples/launch/mp3play:
12477         * tests/old/examples/manual/Makefile.am:
12478         * tests/old/examples/metadata/Makefile.am:
12479         * tests/old/examples/metadata/read-metadata.c:
12480         * tests/old/examples/queue/.cvsignore:
12481         * tests/old/examples/queue/Makefile.am:
12482         * tests/old/examples/queue/queue.c:
12483         * tests/old/examples/typefind/.cvsignore:
12484         * tests/old/examples/typefind/Makefile.am:
12485         * tests/old/examples/typefind/typefind.c:
12486         * tests/old/examples/xml/.cvsignore:
12487         * tests/old/examples/xml/Makefile.am:
12488         * tests/old/examples/xml/createxml.c:
12489         * tests/old/examples/xml/runxml.c:
12490           applied some simple fixing to some examples
12491           re-enabled the working examples
12492
12493 2005-12-12  Wim Taymans  <wim@fluendo.com>
12494
12495         * gst/gstsegment.c: (gst_segment_init),
12496         (gst_segment_set_last_stop), (gst_segment_set_seek),
12497         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12498         (gst_segment_to_running_time):
12499         Added more documentation.
12500         Make sure the last_pos value is updated properly.
12501         Make sure to_stream_time and to_running_time don't
12502         operate on wrong values.
12503
12504         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12505         Update check.
12506
12507 2005-12-12  Michael Smith  <msmith@fluendo.com>
12508
12509         * plugins/elements/gsttypefindelement.c: (free_entry),
12510         (gst_type_find_element_chain):
12511           Now that we're not leaking factories, make sure we keep references
12512           to them while we need them.
12513
12514 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12515
12516         * tests/check/gst/struct_i386.h:
12517           ifdef out the XML structs
12518
12519 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12520
12521         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12522           floor is not needed, F is always positive; this obviates the
12523           need for adding -lm when building without libxml
12524
12525 2005-12-12  Wim Taymans  <wim@fluendo.com>
12526
12527         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12528         Take current playback rate into account when reporting
12529         the position.
12530
12531 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12532
12533         * docs/manual/mime-world.fig:
12534           Let's try this again, this time with a file that is
12535           actually in XFig format.
12536
12537 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12538
12539         * docs/manual/mime-world.fig:
12540           Add audioconvert element to diagram so that it
12541           matches the text and the code (fixes #319526).
12542
12543 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12544
12545         * docs/pwg/building-chainfn.xml:
12546         * docs/pwg/building-pads.xml:
12547         * docs/pwg/building-state.xml:
12548         * docs/pwg/other-source.xml:
12549           Update state change stuff for 0.10 (fixes #322969).
12550
12551 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12552
12553         * docs/manual/advanced-dataaccess.xml:
12554         * docs/manual/appendix-checklist.xml:
12555         * docs/manual/appendix-programs.xml:
12556         * docs/manual/basics-pads.xml:
12557         * docs/manual/highlevel-components.xml:
12558         * docs/manual/manual.xml:
12559           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12560           add converters in front of pipelines; remove curly
12561           brackets for threads stuff, they no longer exist; use
12562           GST_TYPE_FRACTION for framerates; update some pieces of
12563           code to 0.10, but there's plenty more to do.
12564
12565         * docs/manual/appendix-porting.xml:
12566           Expand on asynchroneous state changes; s/0.9/0.10/;
12567           mention disappearance of gst_init_get_popt_table()
12568           (fixes #322916).
12569
12570 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12571
12572         * docs/faq/using.xml:
12573           Spider no longer exists, and neither does gst-launch-ext.
12574           Update examples to use decodebin and playbin and put
12575           converters in front of sinks (fixes #323726).
12576
12577 2005-12-09  Michael Smith  <msmith@fluendo.com>
12578
12579         * plugins/elements/gsttypefindelement.c: (find_peek),
12580         (gst_type_find_element_chain):
12581           Fix leaking element factories in typefinding.
12582           Fix problem where we forgot about a probable type on non-seekable
12583           files, and thus later mis-typefound it.
12584
12585 2005-12-09  Michael Smith  <msmith@fluendo.com>
12586
12587         * common/m4/gst-makecontext.m4:
12588         * common/m4/gst-mcsc.m4:
12589         * configure.ac:
12590         * win32/common/config.h:
12591         * win32/common/config.h.in:
12592           Remove makecontext stuff; not used in 0.10 and causes problems on
12593           HPUX according to bug #322441
12594
12595 2005-12-07  Wim Taymans  <wim@fluendo.com>
12596
12597         * tests/check/Makefile.am:
12598         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12599         (main):
12600         * tests/check/libs/struct_i386.h:
12601         Added ABI check for libs
12602
12603 2005-12-07  Wim Taymans  <wim@fluendo.com>
12604
12605         * tests/check/Makefile.am:
12606         And add the struct_i386.h to dist.
12607
12608 2005-12-07  Wim Taymans  <wim@fluendo.com>
12609
12610         * tests/check/Makefile.am:
12611         * tests/check/gst/.cvsignore:
12612         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12613         (main):
12614         * tests/check/gst/struct_i386.h:
12615         Added check for ABI compatibility.
12616
12617 2005-12-07  Wim Taymans  <wim@fluendo.com>
12618
12619         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12620         (gst_fake_src_get_times), (gst_fake_src_create):
12621         Fix broken sync option, fixes #323259
12622
12623 2005-12-07  Wim Taymans  <wim@fluendo.com>
12624
12625         * gst/gstbuffer.c:
12626         Small docs update.
12627
12628         * gst/gstcaps.c: (gst_caps_is_equal):
12629         Don't assert on NULL <--> X. Fixes #323260
12630
12631         * gst/gstminiobject.c: (gst_mini_object_replace):
12632         If we're doing atomic operations, we might just as well use
12633         the proper way to get an atomic pointer.
12634
12635         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12636         Clean up debugging.
12637
12638 2005-12-07  Michael Smith  <msmith@fluendo.com>
12639
12640         * gst/parse/grammar.y:
12641           Remove handling of { } for threads.
12642
12643 2005-12-06  David Schleef  <ds@schleef.org>
12644
12645         * libs/gst/base/gstbasetransform.c: speling fix.
12646
12647 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12648
12649         * docs/libs/tmpl/gstdataprotocol.sgml:
12650         * docs/random/omega/testing/gstobject.c:
12651         * gst/gst.c:
12652         * gst/gstclock.c:
12653         * gst/gstelement.c:
12654         * gst/gstelementfactory.c:
12655         * gst/gsterror.c:
12656         * gst/gstevent.c:
12657         * gst/gstghostpad.c:
12658         * gst/gstinfo.c:
12659         * gst/gstpadtemplate.c:
12660         * gst/gstregistryxml.c:
12661         * gst/gsttaglist.c:
12662         * gst/gsttagsetter.c:
12663         * gst/gsttypefind.c:
12664         * gst/gstvalue.c:
12665         * libs/gst/base/gstbasesrc.c:
12666         * libs/gst/net/gstnetclientclock.c:
12667         * libs/gst/net/gstnettimeprovider.c:
12668         * plugins/elements/gstfakesrc.c:
12669         * plugins/elements/gstfdsrc.c:
12670         * plugins/elements/gstfilesrc.c:
12671         * plugins/elements/gstidentity.c:
12672         * plugins/elements/gstqueue.c:
12673         * plugins/elements/gsttypefindelement.c:
12674         * plugins/indexers/gstfileindex.c:
12675         * plugins/indexers/gstmemindex.c:
12676         * tests/check/gst/gsttag.c:
12677         * tests/old/examples/cutter/cutter.c:
12678         * tests/old/examples/mixer/mixer.c:
12679         * tests/old/examples/xml/runxml.c: (main):
12680         * tests/old/testsuite/caps/normalisation.c:
12681         * tests/old/testsuite/debug/global.c:
12682         * tests/old/testsuite/parse/parse1.c:
12683         * tools/gst-xmlinspect.c:
12684         * win32/common/dirent.c:
12685           expand tabs
12686
12687 === release 0.10.0 ===
12688
12689 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12690
12691         * configure.ac:
12692           releasing 0.10.0, "Maroilles"
12693
12694 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12695
12696         submitted by: Funda Wang <fundawang@linux.net.cn>
12697
12698         * po/LINGUAS:
12699         * po/zh_CN.po:
12700           added Chinese (Traditional) translation
12701
12702 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12703
12704         * docs/gst/gstreamer-sections.txt:
12705         * docs/libs/tmpl/gstdataprotocol.sgml:
12706         * docs/random/thomasvs/TODO:
12707         * gst/gstutils.c:
12708         * gst/gstutils.h:
12709           fix docs
12710
12711 2005-12-05  Andy Wingo  <wingo@pobox.com>
12712
12713         patch by: Wim Taymans <wim@fluendo.com>
12714
12715         * libs/gst/base/gstbasetransform.c
12716         (gst_base_transform_prepare_output_buf)
12717         (gst_base_transform_buffer_alloc):
12718         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12719         alloc_buffer_and_set_caps.
12720
12721         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12722         set_caps on the source pad.
12723         (gst_pad_alloc_buffer_and_set_caps): New function, does what
12724         alloc_buffer used to do. Fixes #322874.
12725
12726         * docs/gst/gstreamer-sections.txt: 
12727         * docs/design/part-negotiation.txt: 
12728         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12729         changes.
12730
12731 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12732
12733         patch by: Sebastien Moutte
12734
12735         * win32/MANIFEST:
12736         * win32/common/config.h.in:
12737         * win32/vs6/libgstcontroller.dsp:
12738           win32 build fixes
12739
12740 2005-12-05  Wim Taymans  <wim@fluendo.com>
12741
12742         * gst/gstcaps.c: (gst_caps_is_equal):
12743         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12744         (gst_fake_src_create):
12745         Back out previous code changes, leave doc updates, file bugs 
12746         instead. 
12747
12748 2005-12-05  Wim Taymans  <wim@fluendo.com>
12749
12750         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12751         (gst_fake_src_get_times), (gst_fake_src_create):
12752         * plugins/elements/gstfakesrc.h:
12753         Fix broken sync code.
12754
12755 2005-12-05  Wim Taymans  <wim@fluendo.com>
12756
12757         * gst/gstcaps.c: (gst_caps_is_equal):
12758         Comparing NULL against !NULL yields different caps, not a
12759         failure.
12760
12761 2005-12-05  Wim Taymans  <wim@fluendo.com>
12762
12763         * gst/gstpipeline.c:
12764         Fix small typo in docs.
12765
12766 2005-12-05  Andy Wingo  <wingo@pobox.com>
12767
12768         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12769
12770         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12771         registries/plugins with a MAJORMINOR one.
12772         (plugin_desc): Rename library from gstcoreleements to
12773         staticelements. Fixes #323222.
12774
12775 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12776
12777         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12778           Change debug category to 'collectpads' from 'collect_pads'
12779           (fixes #323250).
12780
12781 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         patch by: Sebastien Moutte
12784
12785         * libs/gst/controller/gstinterpolation.c:
12786           use convert function for uint64/double
12787         * win32/vs6/libgstcontroller.dsp:
12788           link to GLib
12789
12790 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12791
12792         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12793         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12794         * gst/gstutils.h:
12795         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12796           add tests that seem to show that the guint64/gdouble conversions
12797           are correct.
12798
12799 2005-12-02  Wim Taymans  <wim@fluendo.com>
12800
12801         * gst/gstregistry.c: (gst_registry_add_path):
12802         * gst/gstregistry.h:
12803         * gst/gstregistryxml.c:
12804         Fix docs again.
12805
12806 2005-12-02  Wim Taymans  <wim@fluendo.com>
12807
12808         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12809         (gst_util_uint64_scale_int):
12810         Small cleanup.
12811
12812         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12813         Add debug log line.
12814
12815         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12816         Add FIXME.
12817
12818 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12819
12820         * win32/MANIFEST:
12821         * win32/common/config.h:
12822         * win32/vs6/gstreamer.dsw:
12823         * win32/vs6/libgstcoreelements.dsp:
12824         * win32/vs6/libgstelements.dsp:
12825           renamed core elements plugin
12826
12827 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12828
12829         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12830         (get_candidates):
12831           do piece-wise major/minor comparison so 0.9 < 0.10
12832           also allow .exe extensions for tools
12833
12834 2005-12-02  Michael Smith  <msmith@fluendo.com>
12835
12836         * gst/gst.c:
12837           Escape a % to make gtkdoc happier; bug 322958.
12838
12839 === release 0.9.7 ===
12840
12841 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12842
12843         * configure.ac:
12844           releasing 0.9.7, "My Dog Has No Nose"
12845
12846 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12847
12848         * common/gst-xmlinspect.py:
12849         * configure.ac:
12850         * docs/libs/tmpl/gstdataprotocol.sgml:
12851         * docs/random/release:
12852         * po/af.po:
12853         * po/az.po:
12854         * po/bg.po:
12855         * po/ca.po:
12856         * po/cs.po:
12857         * po/de.po:
12858         * po/en_GB.po:
12859         * po/fr.po:
12860         * po/it.po:
12861         * po/nb.po:
12862         * po/nl.po:
12863         * po/ru.po:
12864         * po/sq.po:
12865         * po/sr.po:
12866         * po/sv.po:
12867         * po/tr.po:
12868         * po/uk.po:
12869         * po/vi.po:
12870         * win32/common/config.h:
12871         * win32/common/config.h.in:
12872         * win32/vs6/gst_inspect.dsp:
12873         * win32/vs6/gst_launch.dsp:
12874         * win32/vs6/libgstbase.dsp:
12875         * win32/vs6/libgstelements.dsp:
12876         * win32/vs6/libgstreamer.dsp:
12877         * win32/vs7/GStreamer.vcproj:
12878         * win32/vs7/gst-inspect.vcproj:
12879         * win32/vs7/gst-launch.vcproj:
12880         * win32/vs7/libgstbase.vcproj:
12881           bump GST_MAJORMINOR to 0.10
12882           reset libtool version
12883
12884 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12885
12886         * po/LINGUAS:
12887         * po/bg.po:
12888           Added Bulgarian translation by (Alexander Shopov)
12889
12890 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12891
12892         * tests/check/gst/gstplugin.c:
12893           fix test
12894
12895 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12896
12897         * common/gst-xmlinspect.py:
12898         * common/gtk-doc-plugins.mak:
12899         * configure.ac:
12900         * docs/Makefile.am:
12901         * docs/gst/Makefile.am:
12902         * docs/gst/gstreamer-docs.sgml:
12903         * docs/gst/gstreamer-sections.txt:
12904         * docs/gst/gstreamer.types:
12905         * docs/gst/gstreamer.types.in:
12906         * docs/plugins/Makefile.am:
12907         * docs/plugins/gstreamer-plugins-docs.sgml:
12908         * docs/plugins/gstreamer-plugins-sections.txt:
12909         * docs/plugins/gstreamer-plugins.types:
12910         * docs/plugins/inspect.stamp:
12911         * docs/plugins/inspect/plugin-coreelements.xml:
12912         * docs/plugins/inspect/plugin-coreindexers.xml:
12913         * docs/plugins/scanobj-build.stamp:
12914         * gstreamer.spec.in:
12915         * plugins/elements/Makefile.am:
12916         * plugins/elements/gstelements.c:
12917         * plugins/elements/gstfakesink.c:
12918         * plugins/elements/gstfakesrc.c:
12919         * plugins/elements/gstfilesink.c:
12920         * plugins/elements/gstfilesrc.c:
12921         * plugins/elements/gstqueue.c:
12922         * plugins/indexers/Makefile.am:
12923         * plugins/indexers/gstindexers.c:
12924           document core plugins in a separate document just like all the
12925           others
12926           rename these plugins to something starting with core
12927
12928 2005-12-01  Andy Wingo  <wingo@pobox.com>
12929
12930         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
12931         padding here before, but it missed the commit.
12932
12933 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12934
12935         * libs/gst/controller/gstinterpolation.c:
12936           whitespace prices have crashed, we should feel free to use some now
12937           use gst_guint64_to_gdouble
12938
12939 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12940
12941         * libs/gst/controller/gstcontroller.c:
12942         * libs/gst/controller/gsthelper.c:
12943         * libs/gst/controller/gstinterpolation.c:
12944         * libs/gst/controller/lib.c:
12945           wrap config.h include
12946
12947 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * docs/gst/gstreamer-sections.txt:
12950           update docs
12951
12952 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * plugins/elements/gstelements.c:
12955         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
12956         (gst_fd_sink__class_init), (gst_fd_sink__init),
12957         (gst_fd_sink__chain), (gst_fd_sink__set_property),
12958         (gst_fd_sink__get_property):
12959         * plugins/elements/gstfdsink.h:
12960         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
12961         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
12962         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12963         (gst_fd_src_unlock), (gst_fd_src_set_property),
12964         (gst_fd_src_get_property), (gst_fd_src_create),
12965         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
12966         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
12967         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
12968         (gst_fd_src_uri_handler_init):
12969         * plugins/elements/gstfdsrc.h:
12970         * plugins/elements/gstqueue.c: (gst_queue_get_type):
12971           more anal cleanup
12972
12973 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12974
12975         * docs/gst/Makefile.am:
12976         * docs/gst/gstreamer.types.in:
12977         * gst/Makefile.am:
12978           fix the docs build
12979
12980 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12981
12982         * configure.ac:
12983         * gst/Makefile.am:
12984         * gst/gst.c:
12985         * gst/gstplugin.h:
12986         * gst/gstregistry.h:
12987         * tests/benchmarks/complexity.c:
12988         * tests/benchmarks/mass-elements.c:
12989         * tests/check/Makefile.am:
12990         * tools/Makefile.am:
12991         * tools/gst-inspect.c:
12992         * tools/gst-xmlinspect.c:
12993           various fixes to make
12994           --disable-nls --disable-registry --disable-loadsave
12995           --disable-parse --disable-gst-debug
12996           work and get the core .so down to 360444 bytes after stripping
12997
12998 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12999
13000         * Makefile.am:
13001         * configure.ac:
13002           descend into tests
13003         * docs/random/thomasvs/TODO:
13004         * tests/Makefile.am:
13005         * tests/README:
13006           add a README
13007
13008 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13009
13010         * win32/GStreamer.vcproj:
13011         * win32/MANIFEST:
13012         * win32/Makefile:
13013         * win32/Makefile.inspect:
13014         * win32/Makefile.launch:
13015         * win32/Makefile.register:
13016         * win32/README.txt:
13017         * win32/gst-inspect.vcproj:
13018         * win32/gst-launch.vcproj:
13019         * win32/gst-register.vcproj:
13020         * win32/gstelements.vcproj:
13021         * win32/gstgetbits.def:
13022         * win32/gstgetbits.vcproj:
13023         * win32/gstreamer-dbg.def:
13024         * win32/gstreamer.def:
13025         * win32/libgstbase.def:
13026         * win32/libgstbase.vcproj:
13027         * win32/link_oldruntime.c:
13028         * win32/mman.c:
13029         * win32/mman.h:
13030         * win32/mman.inl:
13031         * win32/msvc71.sln:
13032           move even more stuff, win32/ is nice and clean now
13033
13034 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13035
13036         * libs/gst/control/.cvsignore:
13037         * win32/MANIFEST:
13038         * win32/config.h:
13039         * win32/dirent.c:
13040         * win32/dirent.h:
13041         * win32/gstbytestream.def:
13042         * win32/gstbytestream.vcproj:
13043         * win32/gstconfig.h:
13044         * win32/gstenumtypes.c:
13045         * win32/gstenumtypes.h:
13046         * win32/gstoptimalscheduler.vcproj:
13047         * win32/gstversion.h:
13048         * win32/gtchar.h:
13049         * win32/testsuite/bins.vcproj:
13050         * win32/testsuite/bytestream.vcproj:
13051         * win32/testsuite/caps.vcproj:
13052         * win32/testsuite/cleanup.vcproj:
13053         * win32/testsuite/clock.vcproj:
13054         * win32/testsuite/debug.vcproj:
13055         * win32/testsuite/dlopen.vcproj:
13056         * win32/testsuite/dynparams.vcproj:
13057         * win32/testsuite/elements.vcproj:
13058         * win32/testsuite/ghostpads.vcproj:
13059         * win32/testsuite/indexers.vcproj:
13060         * win32/testsuite/negotiation.vcproj:
13061         * win32/testsuite/parse.vcproj:
13062         * win32/testsuite/plugin.vcproj:
13063         * win32/testsuite/refcounting.vcproj:
13064         * win32/testsuite/schedulers.vcproj:
13065         * win32/testsuite/states.vcproj:
13066         * win32/testsuite/tags.vcproj:
13067         * win32/testsuite/threads.vcproj:
13068           remove old win32 stuff that isn't maintained and should be
13069           reorganized
13070
13071 2005-11-30  Andy Wingo  <wingo@pobox.com>
13072
13073         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13074         loading the gst.interfaces python module bork.
13075
13076         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13077         available since GLib 2.2. Fixes #318031.
13078
13079 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13080
13081         * Makefile.am:
13082         * check/.cvsignore:
13083         * check/Makefile.am:
13084         * check/elements/.cvsignore:
13085         * check/elements/fakesrc.c:
13086         * check/elements/fdsrc.c:
13087         * check/elements/identity.c:
13088         * check/generic/.cvsignore:
13089         * check/generic/states.c:
13090         * check/gst-libs/.cvsignore:
13091         * check/gst-libs/controller.c:
13092         * check/gst-libs/gdp.c:
13093         * check/gst/.cvsignore:
13094         * check/gst/capslist.h:
13095         * check/gst/gst.c:
13096         * check/gst/gstbin.c:
13097         * check/gst/gstbuffer.c:
13098         * check/gst/gstbus.c:
13099         * check/gst/gstcaps.c:
13100         * check/gst/gstelement.c:
13101         * check/gst/gstevent.c:
13102         * check/gst/gstghostpad.c:
13103         * check/gst/gstiterator.c:
13104         * check/gst/gstmessage.c:
13105         * check/gst/gstminiobject.c:
13106         * check/gst/gstobject.c:
13107         * check/gst/gstpad.c:
13108         * check/gst/gstpipeline.c:
13109         * check/gst/gstplugin.c:
13110         * check/gst/gstsegment.c:
13111         * check/gst/gststructure.c:
13112         * check/gst/gstsystemclock.c:
13113         * check/gst/gsttag.c:
13114         * check/gst/gstutils.c:
13115         * check/gst/gstvalue.c:
13116         * check/net/.cvsignore:
13117         * check/net/gstnetclientclock.c:
13118         * check/net/gstnettimeprovider.c:
13119         * check/pipelines/.cvsignore:
13120         * check/pipelines/cleanup.c:
13121         * check/pipelines/simple_launch_lines.c:
13122         * check/pipelines/stress.c:
13123         * check/states/.cvsignore:
13124         * check/states/sinks.c:
13125         * configure.ac:
13126         * examples/Makefile.am:
13127         * examples/appreader/.cvsignore:
13128         * examples/appreader/Makefile.am:
13129         * examples/appreader/appreader.c:
13130         * examples/controller/.cvsignore:
13131         * examples/controller/Makefile.am:
13132         * examples/controller/audio-example.c:
13133         * examples/cutter/.cvsignore:
13134         * examples/cutter/Makefile.am:
13135         * examples/cutter/cutter.c:
13136         * examples/cutter/cutter.h:
13137         * examples/events/Makefile.am:
13138         * examples/events/seek.c:
13139         * examples/helloworld/.cvsignore:
13140         * examples/helloworld/Makefile.am:
13141         * examples/helloworld/helloworld.c:
13142         * examples/helloworld2/.cvsignore:
13143         * examples/helloworld2/Makefile.am:
13144         * examples/helloworld2/helloworld2.c:
13145         * examples/launch/.cvsignore:
13146         * examples/launch/Makefile.am:
13147         * examples/launch/mp3parselaunch.c:
13148         * examples/launch/mp3play:
13149         * examples/manual/.cvsignore:
13150         * examples/manual/Makefile.am:
13151         * examples/manual/extract.pl:
13152         * examples/metadata/Makefile.am:
13153         * examples/metadata/read-metadata.c:
13154         * examples/mixer/.cvsignore:
13155         * examples/mixer/Makefile.am:
13156         * examples/mixer/mixer.c:
13157         * examples/mixer/mixer.h:
13158         * examples/pingpong/.cvsignore:
13159         * examples/pingpong/Makefile.am:
13160         * examples/pingpong/pingpong.c:
13161         * examples/plugins/.cvsignore:
13162         * examples/plugins/Makefile.am:
13163         * examples/plugins/example.c:
13164         * examples/plugins/example.h:
13165         * examples/pwg/.cvsignore:
13166         * examples/pwg/Makefile.am:
13167         * examples/pwg/extract.pl:
13168         * examples/queue/.cvsignore:
13169         * examples/queue/Makefile.am:
13170         * examples/queue/queue.c:
13171         * examples/queue2/.cvsignore:
13172         * examples/queue2/Makefile.am:
13173         * examples/queue2/queue2.c:
13174         * examples/queue3/.cvsignore:
13175         * examples/queue3/Makefile.am:
13176         * examples/queue3/queue3.c:
13177         * examples/queue4/.cvsignore:
13178         * examples/queue4/Makefile.am:
13179         * examples/queue4/queue4.c:
13180         * examples/retag/.cvsignore:
13181         * examples/retag/Makefile.am:
13182         * examples/retag/retag.c:
13183         * examples/retag/transcode.c:
13184         * examples/thread/.cvsignore:
13185         * examples/thread/Makefile.am:
13186         * examples/thread/thread.c:
13187         * examples/typefind/.cvsignore:
13188         * examples/typefind/Makefile.am:
13189         * examples/typefind/typefind.c:
13190         * examples/xml/.cvsignore:
13191         * examples/xml/Makefile.am:
13192         * examples/xml/createxml.c:
13193         * examples/xml/runxml.c:
13194         * tests/Makefile.am:
13195         * tests/check/Makefile.am:
13196         * testsuite/.cvsignore:
13197         * testsuite/Makefile.am:
13198         * testsuite/Rules:
13199         * testsuite/caps/.cvsignore:
13200         * testsuite/caps/Makefile.am:
13201         * testsuite/caps/app_fixate.c:
13202         * testsuite/caps/audioscale.c:
13203         * testsuite/caps/caps.c:
13204         * testsuite/caps/caps.h:
13205         * testsuite/caps/caps_strings:
13206         * testsuite/caps/compatibility.c:
13207         * testsuite/caps/deserialize.c:
13208         * testsuite/caps/enumcaps.c:
13209         * testsuite/caps/eratosthenes.c:
13210         * testsuite/caps/filtercaps.c:
13211         * testsuite/caps/fixed.c:
13212         * testsuite/caps/fraction-convert.c:
13213         * testsuite/caps/fraction-multiply-and-zero.c:
13214         * testsuite/caps/intersect2.c:
13215         * testsuite/caps/intersection.c:
13216         * testsuite/caps/normalisation.c:
13217         * testsuite/caps/random.c:
13218         * testsuite/caps/renegotiate.c:
13219         * testsuite/caps/sets.c:
13220         * testsuite/caps/simplify.c:
13221         * testsuite/caps/string-conversions.c:
13222         * testsuite/caps/structure.c:
13223         * testsuite/caps/subtract.c:
13224         * testsuite/caps/union.c:
13225         * testsuite/debug/.cvsignore:
13226         * testsuite/debug/Makefile.am:
13227         * testsuite/debug/category.c:
13228         * testsuite/debug/commandline.c:
13229         * testsuite/debug/global.c:
13230         * testsuite/debug/output.c:
13231         * testsuite/debug/printf_extension.c:
13232         * testsuite/dlopen/.cvsignore:
13233         * testsuite/dlopen/Makefile.am:
13234         * testsuite/dlopen/dlopen_gst.c:
13235         * testsuite/dlopen/loadgst.c:
13236         * testsuite/elements/.cvsignore:
13237         * testsuite/elements/Makefile.am:
13238         * testsuite/elements/gst-inspect-check.in:
13239         * testsuite/elements/struct_i386.h:
13240         * testsuite/elements/struct_size.c:
13241         * testsuite/indexers/.cvsignore:
13242         * testsuite/indexers/Makefile.am:
13243         * testsuite/indexers/cache1.c:
13244         * testsuite/indexers/indexdump.c:
13245         * testsuite/parse/.cvsignore:
13246         * testsuite/parse/Makefile.am:
13247         * testsuite/parse/parse1.c:
13248         * testsuite/parse/parse2.c:
13249         * testsuite/plugin/.cvsignore:
13250         * testsuite/plugin/Makefile.am:
13251         * testsuite/plugin/README:
13252         * testsuite/plugin/dynamic.c:
13253         * testsuite/plugin/linked.c:
13254         * testsuite/plugin/loading.c:
13255         * testsuite/plugin/registry.c:
13256         * testsuite/plugin/static.c:
13257         * testsuite/plugin/static2.c:
13258         * testsuite/plugin/testplugin.c:
13259         * testsuite/plugin/testplugin2.c:
13260         * testsuite/plugin/testplugin2_s.c:
13261         * testsuite/plugin/testplugin_s.c:
13262         * testsuite/refcounting/.cvsignore:
13263         * testsuite/refcounting/Makefile.am:
13264         * testsuite/refcounting/bin.c:
13265         * testsuite/refcounting/element.c:
13266         * testsuite/refcounting/element_pad.c:
13267         * testsuite/refcounting/mainloop.c:
13268         * testsuite/refcounting/mem.c:
13269         * testsuite/refcounting/mem.h:
13270         * testsuite/refcounting/object.c:
13271         * testsuite/refcounting/pad.c:
13272         * testsuite/refcounting/sched.c:
13273         * testsuite/refcounting/thread.c:
13274         * testsuite/states/.cvsignore:
13275         * testsuite/states/Makefile.am:
13276         * testsuite/states/bin.c:
13277         * testsuite/states/locked.c:
13278         * testsuite/states/parent.c:
13279         * testsuite/threads/.cvsignore:
13280         * testsuite/threads/159566.c:
13281         * testsuite/threads/159852.c:
13282         * testsuite/threads/Makefile.am:
13283         * testsuite/threads/queue.c:
13284         * testsuite/threads/signals.c:
13285         * testsuite/threads/staticrec.c:
13286         * testsuite/threads/thread.c:
13287         * testsuite/threads/threadb.c:
13288         * testsuite/threads/threadc.c:
13289         * testsuite/threads/threadd.c:
13290         * testsuite/threads/threade.c:
13291         * testsuite/threads/threadf.c:
13292         * testsuite/threads/threadg.c:
13293         * testsuite/threads/threadh.c:
13294         * testsuite/threads/threadi.c:
13295           move all of these under tests
13296
13297 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13298
13299         * configure.ac:
13300         * tests/Makefile.am:
13301           fix distcheck
13302
13303 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13304
13305         * docs/gst/gstreamer-sections.txt:
13306         * tests/sched/.cvsignore:
13307         * tests/sched/Makefile.am:
13308         * tests/sched/cases/(fs-fs).xml:
13309         * tests/sched/cases/(fs-i-fs).xml:
13310         * tests/sched/cases/(fs-i-i-fs).xml:
13311         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13312         * tests/sched/dynamic-pipeline.c:
13313         * tests/sched/interrupt1.c:
13314         * tests/sched/interrupt2.c:
13315         * tests/sched/interrupt3.c:
13316         * tests/sched/runtestcases:
13317         * tests/sched/runxml.c:
13318         * tests/sched/sched-stress.c:
13319         * tests/sched/sort.c:
13320         * tests/sched/testcases:
13321         * tests/sched/testcases1.tc:
13322         * tests/seeking/.cvsignore:
13323         * tests/seeking/Makefile.am:
13324         * tests/seeking/seeking1.c:
13325         * tests/threadstate/.cvsignore:
13326         * tests/threadstate/Makefile.am:
13327         * tests/threadstate/test1.c:
13328         * tests/threadstate/test2.c:
13329         * tests/threadstate/threadstate1.c:
13330         * tests/threadstate/threadstate2.c:
13331         * tests/threadstate/threadstate3.c:
13332         * tests/threadstate/threadstate4.c:
13333         * tests/threadstate/threadstate5.c:
13334           remove obsolete tests
13335         * configure.ac:
13336         * tests/bench-complexity.scm:
13337         * tests/bench-mass_elements.scm:
13338         * tests/complexity.c:
13339         * tests/complexity.gnuplot:
13340         * tests/instantiate/.cvsignore:
13341         * tests/instantiate/Makefile.am:
13342         * tests/instantiate/caps.c:
13343         * tests/mass_elements.c:
13344         * tests/network-clock-utils.scm:
13345         * tests/network-clock.scm:
13346         * tests/plot-data:
13347         First pass at cleaning up tests/ dir before moving the rest
13348         Combined with CVS surgery
13349
13350 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13351
13352         * po/POTFILES.in:
13353           queue has moved, update
13354
13355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13356
13357         * docs/gst/gstreamer-sections.txt:
13358           remove double entries from the docs
13359         * gst/gst_private.h:
13360         * gst/gstinfo.c: (_gst_debug_init):
13361           remove the THREAD debug category
13362         * gst/Makefile.am:
13363         * gst/gstqueue.c:
13364         * gst/gstqueue.h:
13365         * docs/gst/gstreamer.types:
13366         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13367         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13368           completely move queue and fix up debugging categories
13369
13370 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13371
13372         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13373           make initialization portable, using LL is not
13374
13375 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13376
13377         * win32/common/gstconfig.h:
13378           add large padding
13379
13380 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13381
13382         * win32/common/libgstreamer.def:
13383           rename symbols; sort base section
13384
13385 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13386
13387         * gst/gstclock.c: (do_linear_regression):
13388           remove crack non-portable handrolled DEBUG macro
13389
13390 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13391
13392         * docs/random/release:
13393           update notes
13394         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13395         (gst_object_flags_get_type), (register_gst_bin_flags),
13396         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13397         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13398         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13399         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13400         (gst_caps_flags_get_type), (register_gst_clock_return),
13401         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13402         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13403         (gst_clock_flags_get_type), (register_gst_state),
13404         (gst_state_get_type), (register_gst_state_change_return),
13405         (gst_state_change_return_get_type), (register_gst_state_change),
13406         (gst_state_change_get_type), (register_gst_element_flags),
13407         (gst_element_flags_get_type), (register_gst_core_error),
13408         (gst_core_error_get_type), (register_gst_library_error),
13409         (gst_library_error_get_type), (register_gst_resource_error),
13410         (gst_resource_error_get_type), (register_gst_stream_error),
13411         (gst_stream_error_get_type), (register_gst_event_type_flags),
13412         (gst_event_type_flags_get_type), (register_gst_event_type),
13413         (gst_event_type_get_type), (register_gst_seek_type),
13414         (gst_seek_type_get_type), (register_gst_seek_flags),
13415         (gst_seek_flags_get_type), (register_gst_format),
13416         (gst_format_get_type), (register_gst_index_certainty),
13417         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13418         (gst_index_entry_type_get_type),
13419         (register_gst_index_lookup_method),
13420         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13421         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13422         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13423         (gst_index_flags_get_type), (register_gst_debug_level),
13424         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13425         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13426         (gst_iterator_result_get_type), (register_gst_iterator_item),
13427         (gst_iterator_item_get_type), (register_gst_message_type),
13428         (gst_message_type_get_type), (register_gst_mini_object_flags),
13429         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13430         (gst_pad_link_return_get_type), (register_gst_flow_return),
13431         (gst_flow_return_get_type), (register_gst_activate_mode),
13432         (gst_activate_mode_get_type), (register_gst_pad_direction),
13433         (gst_pad_direction_get_type), (register_gst_pad_flags),
13434         (gst_pad_flags_get_type), (register_gst_pad_presence),
13435         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13436         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13437         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13438         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13439         (gst_plugin_flags_get_type), (register_gst_rank),
13440         (gst_rank_get_type), (register_gst_query_type),
13441         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13442         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13443         (gst_tag_flag_get_type), (register_gst_task_state),
13444         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13445         (gst_alloc_trace_flags_get_type),
13446         (register_gst_type_find_probability),
13447         (gst_type_find_probability_get_type), (register_gst_uri_type),
13448         (gst_uri_type_get_type), (register_gst_parse_error),
13449         (gst_parse_error_get_type):
13450         * win32/common/gstenumtypes.h:
13451         * win32/common/gstversion.h:
13452           update visual studio generated files
13453
13454 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13455
13456         * win32/vs6/libgstbase.dsp:
13457         * win32/vs6/libgstelements.dsp:
13458           update project files for new locations
13459
13460 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13461
13462         * Makefile.am:
13463           remove some files
13464         * README:
13465           reinstate and update
13466         * DEVEL:
13467         * REQUIREMENTS:
13468           removed
13469         * LICENSE:
13470         * docs/random/LICENSE:
13471           moved to random
13472
13473 2005-11-30  Edward Hervey  <edward@fluendo.com>
13474
13475         * gst/gsttypefind.c: (gst_type_find_register):
13476         * gst/gsttypefind.h:
13477         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13478         (gst_type_find_factory_dispose):
13479         * gst/gsttypefindfactory.h:
13480         Fix memory leak in GstTypeFindFactory.
13481
13482 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13483
13484         * gst/gst.c:
13485         * plugins/elements/Makefile.am:
13486         * plugins/elements/gstelements.c:
13487         * plugins/elements/gstqueue.c:
13488           move queue from core to the elements plugin
13489
13490 2005-11-29  Andy Wingo  <wingo@pobox.com>
13491
13492         * libs/gst/base/gstbasetransform.h: 
13493         * libs/gst/base/gstbasesrc.h: 
13494         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13495
13496         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13497         of pointers by which to pad very extensible base classes (like the
13498         ones in libs/gst/base).
13499
13500 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13501
13502         * docs/gst/gstreamer-docs.sgml:
13503         * docs/gst/gstreamer-sections.txt:
13504         * docs/libs/gstreamer-libs-docs.sgml:
13505         * docs/libs/gstreamer-libs-sections.txt:
13506           moving documentation from core to lib
13507
13508 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13509
13510         * check/Makefile.am:
13511         * configure.ac:
13512         * docs/gst/Makefile.am:
13513         * gst/Makefile.am:
13514         * gst/base/.cvsignore:
13515         * gst/base/Makefile.am:
13516         * gst/base/README:
13517         * gst/base/gstadapter.c:
13518         * gst/base/gstadapter.h:
13519         * gst/base/gstbasesink.c:
13520         * gst/base/gstbasesink.h:
13521         * gst/base/gstbasesrc.c:
13522         * gst/base/gstbasesrc.h:
13523         * gst/base/gstbasetransform.c:
13524         * gst/base/gstbasetransform.h:
13525         * gst/base/gstcollectpads.c:
13526         * gst/base/gstcollectpads.h:
13527         * gst/base/gstpushsrc.c:
13528         * gst/base/gstpushsrc.h:
13529         * gst/base/gsttypefindhelper.c:
13530         * gst/base/gsttypefindhelper.h:
13531         * gst/check/Makefile.am:
13532         * gst/check/gstcheck.c:
13533         * gst/check/gstcheck.h:
13534         * gst/net/Makefile.am:
13535         * gst/net/gstnet.h:
13536         * gst/net/gstnetclientclock.c:
13537         * gst/net/gstnetclientclock.h:
13538         * gst/net/gstnettimepacket.c:
13539         * gst/net/gstnettimepacket.h:
13540         * gst/net/gstnettimeprovider.c:
13541         * gst/net/gstnettimeprovider.h:
13542         * libs/gst/Makefile.am:
13543         * libs/gst/base/Makefile.am:
13544         * libs/gst/base/gstbasetransform.c:
13545         * libs/gst/check/Makefile.am:
13546         * plugins/elements/Makefile.am:
13547         * po/POTFILES.in:
13548           CVS surgery + support to move base, check, and net out of gst
13549           and into libs/gst
13550
13551 2005-11-29  Andy Wingo  <wingo@pobox.com>
13552
13553         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13554
13555         * gst/gststructure.h (struct _GstStructure): Only one pointer of
13556         padding.
13557
13558         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13559
13560         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13561
13562         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13563
13564         * gst/gstobject.h: (struct _GstObject): Only one pointer of
13565         padding; reduces object size by about 30%. We don't expect
13566         anything else to go into gstobject.
13567
13568         * gst/gstminiobject.h (struct _GstMiniObject)
13569         (struct _GstMiniObjectClass): Only one pointer of padding; the
13570         payload is only a pointer and two ints anyway. For the class there
13571         are only two methods as well.
13572         
13573         * gst/gstelement.h (struct _GstElementClass): Removed
13574         the state_changed signal callback, it is not used.
13575
13576 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13577
13578         * docs/gst/gstreamer.types:
13579           fix includes, though they are a little dinky
13580
13581 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13582
13583         * check/Makefile.am:
13584           look in the right place for elements, a lot more chance of
13585           success
13586         * gst/Makefile.am:
13587           remove indexers and elements subdirs
13588         * plugins/Makefile.am:
13589           make indexers conditional
13590
13591 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13592
13593         * Makefile.am:
13594         * configure.ac:
13595         * plugins/elements/Makefile.am:
13596         * plugins/elements/gstcapsfilter.c:
13597         * plugins/elements/gstfilesink.c:
13598         * plugins/elements/gstfilesrc.c:
13599         * plugins/elements/gstidentity.c:
13600         * plugins/indexers/Makefile.am:
13601           do CVS surgery and related build fixery to move elements
13602           and indexers in a new gstreamer/plugins directory, out of the
13603           gst/ directory
13604
13605 2005-11-29  Andy Wingo  <wingo@pobox.com>
13606
13607         * check/Makefile.am:
13608         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13609         * pkgconfig/gstreamer-net.pc.in:
13610         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13611         #322257.
13612
13613 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13614
13615         * tools/Makefile.am:
13616         * tools/gst-complete.1.in:
13617         * tools/gst-complete.c:
13618         * tools/gst-compprep.1.in:
13619         * tools/gst-compprep.c:
13620           removing -compprep and -complete
13621
13622 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13623
13624         * gst/gstevent.c: (gst_event_new_new_segment),
13625         (gst_event_parse_new_segment):
13626         * gst/gstevent.h:
13627           fix #320529 - clean up new_segment API and structure.
13628           Let's hope everyone was using the methods, and not the structure.
13629
13630 2005-11-29  Edward Hervey  <edward@fluendo.com>
13631
13632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13633         (gst_base_sink_event), (gst_base_sink_do_sync),
13634         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13635         Properly handle non GST_FORMAT_TIME segment
13636         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13637         Properly handle non GST_FORMAT_TIME segment
13638         * gst/gstsegment.c:
13639         This function is valid if the accumulator is 0 and the format
13640         is different from the requested format.
13641         
13642 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13643
13644         * docs/gst/gstreamer-sections.txt:
13645         Add gst_query_new_seeking and gst_query_parse_seeking to the
13646         docs.
13647
13648 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13649
13650         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13651           Treat a pad alloc with new caps the same as if we were not
13652           negotiated, in order to allow a changing upstream output
13653           to produce a new format of data.
13654
13655 2005-11-29  Edward Hervey  <edward@fluendo.com>
13656
13657         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13658         (gst_base_transform_event), (gst_base_transform_eventfunc):
13659         The event virtual method is now properly implemented, with a default
13660         handler
13661         Sub classes should call the parent_class event method. They should
13662         return FALSE if they had a problem handling the given event, or don't
13663         want GstBaseTransform to send that even downstream
13664         * gst/elements/gstidentity.c: (gst_identity_class_init),
13665         (gst_identity_init), (gst_identity_event),
13666         (gst_identity_transform_ip), (gst_identity_set_property),
13667         (gst_identity_get_property):
13668         * gst/elements/gstidentity.h:
13669         Added the single-segment boolean property.
13670         If set to TRUE, it will output a single segment of data, starting from
13671         0, will eat up all incoming newsegment, and modify the timestamp of the
13672         buffers accordingly
13673
13674 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
13675
13676         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13677           Don't ref NULL target pad (#322751). Improve docs.
13678
13679 2005-11-29  Michael Smith  <msmith@fluendo.com>
13680
13681         * gst/gstregistryxml.c: (load_plugin):
13682           Don't crash if we failed to load a feature from a plugin. 
13683
13684 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13685
13686         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13687         (GST_START_TEST):
13688           use more check API and less GLib API
13689
13690 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * Makefile.am:
13693           don't run checks if we don't have check
13694         * common/check.mak:
13695           remove the registry when running make torture
13696         * docs/gst/gstreamer-sections.txt:
13697           remove second multiply
13698         * gst/gstqueue.c: (gst_queue_loop):
13699           fix a compile warning when disabling debug
13700
13701 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13702
13703         * gst/gstinfo.h:
13704         Hey! Let's print the pad name if the pointer != NULL instead
13705         of when it == NULL :-)
13706
13707 2005-11-28  Wim Taymans  <wim@fluendo.com>
13708
13709         * check/gst/gstutils.c: (GST_START_TEST):
13710         Updated check, add some scaling accuracy checking code.
13711
13712         * gst/gstutils.c: (gst_util_div128_64),
13713         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13714         (gst_util_uint64_scale_int):
13715         Fix 6 times faster division code. Optimize for common 
13716         1/1 and less common X/1 cases.
13717
13718 2005-11-28  Wim Taymans  <wim@fluendo.com>
13719
13720         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13721         More checks.
13722
13723         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13724         (do_linear_regression), (gst_clock_add_observation):
13725         Cleanups.
13726         Release lock when the clock cannot be slaved.
13727         Catch the case where the regression returned an invalid denominator.
13728
13729         * gst/gstutils.c: (gst_util_div128_64_iterate),
13730         (gst_util_div128_64), (gst_util_uint64_scale_int64),
13731         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13732         Add protentially more performant non-iterative 128/64 divide function
13733         that unfortunatly does not work yet.
13734         Shortcut the trivial 0/X = 0 case.
13735         Remove the warnings on overflow.
13736
13737 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13738
13739         * gst/gstplugin.c: (gst_plugin_register_func):
13740           everything causing a plugin not to load should be at least a WARNING
13741
13742 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
13743
13744         * docs/random/ensonic/dparams.txt:
13745           some TODOs for the next dev cycle
13746         * libs/gst/controller/gstcontroller.c:
13747         (gst_controlled_property_set_interpolation_mode),
13748         (gst_controlled_property_new):
13749         * libs/gst/controller/gstcontroller.h:
13750           use base type to assign acccessor functions
13751
13752 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13753
13754         * check/Makefile.am:
13755         Oops, that should have been top_srcdir
13756
13757 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13758
13759         * check/Makefile.am:
13760         * check/elements/fdsrc.c: (GST_START_TEST):
13761         Use a cmdline define to specify the location of a file to use for
13762         testing, to avoid breaking distcheck.
13763
13764 2005-11-28  Andy Wingo  <wingo@pobox.com>
13765
13766         * gst/gstpad.c (fixate_value): Use array functions for arrays.
13767
13768 2005-11-28  Edward Hervey  <edward@fluendo.com>
13769
13770         * tools/gst-launch.c: (main):
13771         Clarify the output strings, makes it easier to translate.
13772         Fixes #322626
13773
13774 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13775
13776         * gst/Makefile.am:
13777           don't try and build net if we don't even have <sys/socket.h>
13778
13779 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13780
13781         * check/Makefile.am:
13782         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13783         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13784           Add tests for fdsrc seekability
13785
13786         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13787         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13788         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13789         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13790         * gst/elements/gstfdsrc.h:
13791           fdsrc should not be a 'live' source.
13792           Implement seeking on seekable fd's.
13793
13794         * gst/gstquery.c: (gst_query_new_seeking),
13795         (gst_query_parse_seeking):
13796         * gst/gstquery.h:
13797           Implement SEEKING query functions: 
13798             *_new_seeking and *_parse_seeking
13799
13800 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13801
13802         * gst/gstelement.c: (gst_element_dispose):
13803           don't loop forever
13804
13805         * gst/gstiterator.c:
13806         * gst/gststructure.c:
13807           doc fixes
13808
13809         * libs/gst/controller/gstcontroller.c:
13810         (gst_controlled_property_set_interpolation_mode):
13811         * libs/gst/controller/gstcontroller.h:
13812         * libs/gst/controller/gstinterpolation.c:
13813         (interpolate_none_get_enum_value_array):
13814           support controlling enums
13815
13816 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13817
13818         * gst/gstvalue.c:
13819           Improve documentation for gst_value_union().
13820
13821         * gst/gstvalue.h:
13822           Change return value for union, intersect and subtract functions
13823           from gint to gboolean.
13824
13825 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13826
13827         * gst/gstvalue.c: (gst_value_serialize_any_list),
13828         (gst_value_transform_any_list_string),
13829         (gst_value_deserialize_list), (gst_value_deserialize_array),
13830         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13831         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13832         (gst_value_set_fraction_range_full),
13833         (gst_value_deserialize_fraction_range),
13834         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13835         (gst_value_deserialize_boolean),
13836         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13837         (gst_value_serialize_float), (gst_value_deserialize_float),
13838         (gst_string_wrap), (gst_value_deserialize_string),
13839         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13840         (gst_value_union_int_range_int_range),
13841         (gst_value_intersect_int_range_int_range),
13842         (gst_value_intersect_double_range_double_range),
13843         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13844         (gst_value_subtract_int_range_int_range),
13845         (gst_value_subtract_double_double_range),
13846         (gst_value_subtract_double_range_double_range),
13847         (gst_value_deserialize_fraction):
13848         * gst/gstvalue.h:
13849           Use gint, gdouble and gchar in our API instead of int, double and
13850           char (and make usage in gstvalue.c more consistent).
13851
13852 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13853
13854         * check/Makefile.am:
13855         * libs/gst/controller/Makefile.am:
13856         * libs/gst/dataprotocol/Makefile.am:
13857           fix up Makefile.am and remove GST_ENABLE_NEW
13858
13859 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * configure.ac:
13862         * gst/Makefile.am:
13863         * gst/base/Makefile.am:
13864         * gst/check/Makefile.am:
13865         * gst/elements/Makefile.am:
13866         * gst/net/Makefile.am:
13867           update LDFLAGS use some more
13868
13869 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13870
13871         * common/m4/gst-doc.m4:
13872           Fixes #312589
13873
13874 2005-11-26  Edward Hervey  <edward@fluendo.com>
13875
13876         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13877         This shouldn't issue a g_warning since it returns NULL if it
13878         couldn't find the plugin, and all functions using this behave
13879         properly on a NULL return. Switching to a GST_WARNING.
13880
13881 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
13882
13883         * gst/gstbin.c: (gst_bin_handle_message_func):
13884         Don't leak clock messages.
13885
13886 2005-11-25  Wim Taymans  <wim@fluendo.com>
13887
13888         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13889         (gst_util_uint64_scale_int):
13890         Optimisations, remove unneeded vars.
13891
13892 2005-11-25  Wim Taymans  <wim@fluendo.com>
13893
13894         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13895         Added more checks for the high precision uint64 cases.
13896
13897         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13898         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13899         Implement high precision (guint64 * guint64) / guint64.
13900
13901 2005-11-24  Wim Taymans  <wim@fluendo.com>
13902
13903         * gst/base/gstbasesrc.c: (gst_base_src_query):
13904         Fix wrong percentage query.
13905
13906         * gst/gstutils.c: (gst_util_uint64_scale),
13907         (gst_util_uint64_scale_int):
13908         Add some more common cases that can be handled 
13909         efficiently to _scale.
13910
13911 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13912
13913         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13914         (gst_mini_object_suite):
13915           don't use check calls from threads; check probably isn't
13916           threadsafe and using a lock to make it threadsafe would
13917           defeat the purpose of this check
13918         * gst/check/gstcheck.c:
13919         * gst/check/gstcheck.h:
13920           use GST_DEBUG some more
13921
13922 2005-11-24  Wim Taymans  <wim@fluendo.com>
13923
13924         * gst/gstutils.c: (gst_util_uint64_scale),
13925         (gst_util_uint64_scale_int):
13926         Chain trivial case to _scale_int.
13927
13928 2005-11-24  Wim Taymans  <wim@fluendo.com>
13929
13930         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13931         Added test for scaling.
13932
13933         * gst/gstclock.h:
13934         Small doc fix.
13935
13936         * gst/gstutils.c: (gst_util_uint64_scale_int):
13937         Implemented high precision scaling code.
13938
13939 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
13940
13941         * gst/gstinfo.h:
13942           do not crash on pad==NULL
13943
13944 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13945
13946         Patch by: Stefan Kost
13947
13948         * common/gtk-doc.mak:
13949         * docs/gst/Makefile.am:
13950         * docs/libs/Makefile.am:
13951           Fix distcheck issues for the libraries docs build
13952           Closes #319599.
13953
13954 2005-11-24  Michael Smith <msmith@fluendo.com>
13955
13956         * docs/manual/basics-helloworld.xml:
13957           Fix bug #315027: memory leak in example code in docs.
13958
13959 2005-11-24  Michael Smith <msmith@fluendo.com>
13960
13961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13962           Unlock the PREROLL_LOCK in a failure case.
13963
13964 2005-11-24  Wim Taymans  <wim@fluendo.com>
13965
13966         * docs/gst/gstreamer-sections.txt:
13967         * gst/base/gstadapter.h:
13968         * gst/base/gstbasesink.h:
13969         * gst/base/gstbasesrc.h:
13970         * gst/base/gstbasetransform.h:
13971         * gst/base/gstpushsrc.h:
13972         * gst/elements/gstfakesink.h:
13973         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
13974         * gst/elements/gstfakesrc.h:
13975         * gst/elements/gstfilesink.h:
13976         * gst/elements/gstfilesrc.h:
13977         * gst/gst.c:
13978         * gst/gstbin.c:
13979         * gst/gstbuffer.c: (_gst_buffer_copy):
13980         * gst/gstbus.h:
13981         * gst/gstcaps.c:
13982         * gst/gstchildproxy.c:
13983         * gst/gstclock.c:
13984         * gst/gstelement.c:
13985         * gst/gstelementfactory.c:
13986         * gst/gstelementfactory.h:
13987         * gst/gstevent.c:
13988         * gst/gstghostpad.h:
13989         * gst/gstindex.h:
13990         * gst/gstinterface.h:
13991         * gst/gstminiobject.c:
13992         * gst/gstminiobject.h:
13993         * gst/gstpad.c:
13994         * gst/gstpad.h:
13995         * gst/gstpadtemplate.h:
13996         * gst/gstpipeline.h:
13997         * gst/gstpluginfeature.h:
13998         * gst/gstquery.h:
13999         * gst/gstqueue.h:
14000         * gst/gsttaglist.c:
14001         * gst/gsttaglist.h:
14002         * gst/gsttagsetter.c:
14003         * gst/gsttagsetter.h:
14004         * gst/gsttrace.c:
14005         * gst/gsttrace.h:
14006         * gst/gsttypefind.h:
14007         * gst/gsturi.h:
14008         * gst/gstvalue.c:
14009         * gst/net/gstnetclientclock.c:
14010         * gst/net/gstnetclientclock.h:
14011         * gst/net/gstnettimepacket.c:
14012         * gst/net/gstnettimeprovider.c:
14013         * gst/net/gstnettimeprovider.h:
14014         Doc fixes.
14015
14016 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14017
14018         * configure.ac: back to HEAD
14019
14020 === release 0.9.6 ===
14021
14022 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14023
14024         * configure.ac:
14025           releasing 0.9.6, "Always On Time"
14026
14027 2005-11-23  Wim Taymans  <wim@fluendo.com>
14028
14029         * docs/gst/gstreamer-sections.txt:
14030         * gst/glib-compat.c:
14031         * gst/gsttagsetter.c:
14032         * gst/gstvalue.c:
14033         * gst/net/gstnetclientclock.c:
14034         * gst/net/gstnettimepacket.h:
14035         Doc updates.
14036
14037 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14038
14039         * docs/faq/using.xml:
14040         * docs/libs/tmpl/gstcontrol.sgml:
14041         * docs/manual/advanced-dparams.xml:
14042         * docs/manual/appendix-checklist.xml:
14043         * docs/manual/basics-elements.xml:
14044         * docs/pwg/other-source.xml:
14045         * docs/random/moving-plugins:
14046         * gst/gstpad.c:
14047         * tools/gst-launch.1.in:
14048           remove mentions of sinesrc
14049
14050 2005-11-23  Michael Smith <msmith@fluendo.com>
14051
14052         * docs/gst/gstreamer-sections.txt:
14053           Update for new API and API changes.
14054         * gst/gstobject.h:
14055           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14056         * gst/gstvalue.c:
14057           Documentation typo fix.
14058         * gst/net/gstnettimepacket.c:
14059           Documentation fixes for arguments.
14060
14061 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14062
14063         * gst/gststructure.c: (gst_structure_get_fraction),
14064         (gst_structure_parse_value),
14065         (gst_structure_fixate_field_nearest_fraction):
14066         * gst/gststructure.h:
14067         * gst/gstutils.c: (gst_util_uint64_scale_int):
14068         * gst/gstutils.h:
14069         * scripts/update-funcnames:
14070         API Changes. 
14071         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14072         Make gst_structure_fixate_field_nearest_fraction take a numerator
14073         and denominator argument instead of a GValue
14074         add gst_structure_get_fraction helper function.
14075
14076 2005-11-23  Wim Taymans  <wim@fluendo.com>
14077
14078         * docs/design/part-TODO.txt:
14079         Update TODO.
14080
14081         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14082         * gst/net/gstnetclientclock.h:
14083         Use parent fields for timeout and window_size.
14084
14085 2005-11-23  Andy Wingo  <wingo@pobox.com>
14086
14087         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14088         rate_num/rate_denom change.
14089
14090         * gst/net/gstnetclientclock.c
14091         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14092         OBJECT_LOCK. Don't call add_observation with the lock.
14093
14094         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14095         fraction.
14096         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14097         rate fraction.
14098         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14099         deal with rate as a fraction whose numerator and denominator are
14100         GstClockTime values.
14101         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14102         master; the other fields are protected by the SLAVE_LOCK.
14103         (do_linear_regression): Note that this must be called with the
14104         SLAVE_LOCK.
14105         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14106         OBJECT_LOCK. Call set_calibration instead of touching the
14107         variables directly.
14108         (gst_clock_set_property, gst_clock_get_property): Protect
14109         master/slave parameters with the SLAVE_LOCK.
14110
14111         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14112         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14113         note that all of the instance variables that add_observation and
14114         the set_master functions use are protected by that lock and not
14115         the OBJECT_LOCK.
14116         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14117
14118         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14119         the caller to take the object lock.
14120
14121 2005-11-23  Wim Taymans  <wim@fluendo.com>
14122
14123         * gst/gsterror.c: (_gst_core_errors_init):
14124         * gst/gsterror.h:
14125         Add error for clock stuff.
14126
14127         * gst/gstpipeline.c: (gst_pipeline_change_state),
14128         (gst_pipeline_set_clock):
14129         Post clock error when clock cannot be used in a pipeline.
14130
14131 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14132
14133         * docs/gst/gstreamer-sections.txt:
14134           make two symbols from gstinfo private for the docs
14135         * gst/base/gstcollectpads.h:
14136         * gst/gstutils.c:
14137           fix doc typos, update docs
14138
14139 2005-11-22  Wim Taymans  <wim@fluendo.com>
14140
14141         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14142         (gst_base_sink_wait), (gst_base_sink_do_sync),
14143         (gst_base_sink_handle_event):
14144         * gst/base/gstbasesink.h:
14145         No need to store the clock, the parent element class already
14146         has it.
14147
14148         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14149         Updates for clock_set returning a gboolean
14150
14151         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14152         (gst_clock_id_wait_async), (gst_clock_class_init),
14153         (gst_clock_init), (gst_clock_finalize),
14154         (gst_clock_get_internal_time), (gst_clock_get_time),
14155         (gst_clock_slave_callback), (gst_clock_set_master),
14156         (gst_clock_get_master), (do_linear_regression),
14157         (gst_clock_add_observation), (gst_clock_set_property),
14158         (gst_clock_get_property):
14159         * gst/gstclock.h:
14160         Implement master/slave. When setting a clock as a slave, a
14161         periodic timeout is scheduled to sample master and slave times.
14162         Then the slave clock is recalibrated to match offset and rate
14163         of the master clock.
14164         Update logging a bit.
14165         Add flag so that a clock can state that is cannot be slaved to
14166         another clock.
14167
14168         * gst/gstelement.c: (gst_element_set_clock):
14169         * gst/gstelement.h:
14170         The set clock returns a gboolean for when an element cannot
14171         deal with the selected clock in the pipeline. 
14172
14173         * gst/gstpipeline.c: (gst_pipeline_change_state),
14174         (gst_pipeline_set_clock):
14175         * gst/gstpipeline.h:
14176         Handle the case where the selected clock cannot be set on
14177         the pipeline.
14178
14179         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14180         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14181         (gst_net_client_clock_set_property),
14182         (gst_net_client_clock_get_property),
14183         (gst_net_client_clock_observe_times):
14184         * gst/net/gstnetclientclock.h:
14185         Use regression code in GstClock parent, remove duplicated
14186         functionality.
14187
14188 2005-11-22  Michael Smith <msmith@fluendo.com>
14189
14190         * gst/gstutils.c: (gst_util_clock_time_scale):
14191         * gst/gstutils.h:
14192         * docs/gst/gstreamer-sections.txt:
14193           Rename method to have extra underscore.
14194
14195 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14196
14197         * gst/elements/Makefile.am:
14198         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14199         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14200         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14201         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14202         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14203         * gst/elements/gstfakesrc.h:
14204         * gst/gstqueue.c: (queue_leaky_get_type):
14205           correctly fix GEnumValues so that nick is the short lowercase
14206           dashed tag
14207         * tools/gst-inspect.c: (print_element_properties_info):
14208           also show the nick, since it's useful to use from parse_launch
14209           syntax
14210           Fixes #322139
14211
14212 2005-11-22  Michael Smith <msmith@fluendo.com>
14213
14214         * gst/gstutils.c: (gst_util_clocktime_scale):
14215         * gst/gstutils.h:
14216         * docs/gst/gstreamer-sections.txt:
14217           Add util method for scaling a clocktime by a fraction. Useful 
14218           implementation is left as an exercise for the reader.
14219
14220 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14221
14222         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14223         If needed, allocate storage in the destination value during
14224         collection.
14225
14226 2005-11-22  Edward Hervey  <edward@fluendo.com>
14227
14228         * docs/gst/gstreamer-sections.txt:
14229         * gst/Makefile.am:
14230         * gst/gst.h:
14231         * gst/gsturitype.c:
14232         * gst/gsturitype.h:
14233         * gst/gstutils.c: (gst_util_set_object_arg):
14234         * tools/gst-compprep.c: (main):
14235         * tools/gst-inspect.c: (print_element_properties_info):
14236         Removed GstURI, closes bug #321061
14237
14238 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14239
14240         * check/gst/gststructure.c: (GST_START_TEST):
14241         * gst/gststructure.c: (gst_structure_parse_value):
14242           Oops, broke automatic string type parsing.
14243           Add a test to catch it in future.
14244
14245 2005-11-22  Andy Wingo  <wingo@pobox.com>
14246
14247         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14248         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14249         Actually rename the function implementations. Grr.
14250
14251 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14252
14253         * check/gst/capslist.h:
14254           Comment test cases
14255         * check/gst/gststructure.c: (GST_START_TEST),
14256         (gst_structure_suite):
14257           Test automatic value type detection in gst_structure_from_string.
14258         * gst/gststructure.c: (gst_structure_parse_value):
14259           Add fraction as a type we try and guess automatically in
14260           caps/structure strings.
14261
14262 2005-11-22  Andy Wingo  <wingo@pobox.com>
14263
14264         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14265
14266         * gst/gsttagsetter.h:
14267         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14268         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14269         (gst_tag_setter_add_tag_valist)
14270         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14271         _add_values, _add_valist, and _add_valist_values. Since this is an
14272         interface the function suffixes should be more explicit so
14273         language binding don't end up with element.add_valist ->
14274         gst_tag_setter_add_valist, for example. Fixes #322069.
14275
14276 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14277
14278         * check/gst/gstcaps.c: (GST_START_TEST):
14279           Extend caps string tests to check that a caps to string
14280           conversion is reversible and produces the same caps.
14281
14282         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14283           Output "fraction" as the generic type fraction range, so caps
14284           serialisation and deserialisation works.
14285         * check/gst/capslist.h:
14286         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14287           Support 'MIN' and 'MAX' for deserialising fractions.
14288
14289 2005-11-22  Andy Wingo  <wingo@pobox.com>
14290
14291         * gst/gstevent.h (gst_event_new_new_segment)
14292         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14293         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14294         Renamed from *_newsegment, *_buffersize, *_notarget.
14295
14296         * scripts/update-funcnames: New script, performs the changes
14297         listed above.
14298
14299 2005-11-22  Wim Taymans  <wim@fluendo.com>
14300
14301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14302         Make sure the GstFlowReturn is returned.
14303
14304         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14305         (gst_bus_add_signal_watch):
14306         * gst/gstbus.h:
14307         add gst_bus_add_signal_watch_full.
14308
14309         * gst/gstplugin.c: (gst_plugin_load_file):
14310         Small style cleanup.
14311
14312 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14313
14314         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14315           Block the fakesrc srcpad when we send an event, to avoid
14316           contention on the stream_lock causing random test failures.
14317
14318 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14319
14320         * check/gst/gstvalue.c: (GST_START_TEST):
14321         * gst/gstvalue.c: (gst_value_fraction_subtract):
14322           Fix subtraction.
14323
14324 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14325
14326         * gst/gst.h:
14327           include "gstchildproxy.h"
14328         * gst/gstchildproxy.h:
14329         * libs/gst/controller/gstcontroller.h:
14330           use G_GNUC_NULL_TERMINATED
14331
14332 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14333
14334         * check/gst/capslist.h:
14335         * check/gst/gstcaps.c: (GST_START_TEST):
14336         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14337         * gst/gststructure.c: (gst_structure_parse_range),
14338         (gst_structure_fixate_field_nearest_fraction):
14339         * gst/gststructure.h:
14340         * gst/gstvalue.c: (gst_value_init_fraction_range),
14341         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14342         (gst_value_collect_fraction_range),
14343         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14344         (gst_value_set_fraction_range_full),
14345         (gst_value_get_fraction_range_min),
14346         (gst_value_get_fraction_range_max),
14347         (gst_value_serialize_fraction_range),
14348         (gst_value_transform_fraction_range_string),
14349         (gst_value_compare_fraction_range),
14350         (gst_value_deserialize_fraction_range),
14351         (gst_value_intersect_fraction_fraction_range),
14352         (gst_value_intersect_fraction_range_fraction_range),
14353         (gst_value_subtract_fraction_fraction_range),
14354         (gst_value_subtract_fraction_range_fraction),
14355         (gst_value_subtract_fraction_range_fraction_range),
14356         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14357         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14358         (gst_value_transform_string_fraction), (_gst_value_initialize):
14359         * gst/gstvalue.h:
14360           Implement fraction ranges and extend GstFraction to support
14361           arithmetic subtraction, as well as deserialization from integer
14362           strings such as "100"
14363           Add a testsuite as for int and double range set operations
14364
14365 2005-11-21  Andy Wingo  <wingo@pobox.com>
14366
14367         * gst/gsttaglist.h: 
14368         * gst/gstcaps.h: 
14369         * gst/gststructure.h: Add glib-compat.h.
14370
14371 2005-11-21  Wim Taymans  <wim@fluendo.com>
14372
14373         * gst/gstbin.c: (gst_bin_change_state_func):
14374         Fix for #321595
14375
14376 2005-11-21  Wim Taymans  <wim@fluendo.com>
14377
14378         * gst/gstsegment.h:
14379         And add a nice define too.
14380
14381 2005-11-21  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14384         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14385         (gst_segment_set_duration), (gst_segment_set_last_stop),
14386         (gst_segment_set_seek), (gst_segment_set_newsegment),
14387         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14388         (gst_segment_clip):
14389         * gst/gstsegment.h:
14390         Make binding friendly.
14391
14392 2005-11-21  Andy Wingo  <wingo@pobox.com>
14393
14394         * gst/gsttagsetter.h: 
14395         * gst/gsttaglist.h: 
14396         * gst/gststructure.h: 
14397         * gst/gstcaps.h: 
14398         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14399         #319940.
14400
14401         * gst/gsterror.c (_gst_core_errors_init):
14402         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14403         category.
14404
14405         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14406         (noinst_HEADERS): noinst the -private.
14407
14408 2005-11-21  Michael Smith <msmith@fluendo.com>
14409
14410         * gst/gstplugin.h:
14411         * gst/gstregistry.h:
14412           Remove unimplemented declarations for which we can see no sensible
14413           use.
14414
14415 2005-11-21  Andy Wingo  <wingo@pobox.com>
14416
14417         * gst/gst.h: Include glib-compat.h.
14418
14419         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14420
14421         * gst/glib-compat.c: Include the public and the private header.
14422
14423         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14424
14425         * gst/gstvalue.c: 
14426         * gst/gstpad.c: 
14427         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14428
14429         * check/gst/gstevent.c (create_custom_events): Check that
14430         FLUSH_STOP is serialized.
14431
14432         * check/elements/identity.c (event_func): 
14433         * check/elements/fakesrc.c (event_func): No stream lock, the core
14434         takes it.
14435
14436         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14437         stream lock taking, yay.
14438
14439         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14440         ensure that core takes the stream lock.
14441
14442         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14443         lock name change.
14444
14445         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14446         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14447         it already. For the flush start we do take it though so we get the
14448         right preroll state change messages.
14449
14450         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14451         the stream lock here, the core does it for us.
14452
14453         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14454         GST_STREAM_GET_LOCK.
14455         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14456         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14457         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14458         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14459         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14460         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14461
14462         * gst/gstpad.c: Update for stream lock name change.
14463
14464         * gst/base/gstbasesink.c: Update for preroll lock name change.
14465
14466 2005-11-21  Wim Taymans  <wim@fluendo.com>
14467
14468         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14469         (gst_clock_get_master):
14470         * gst/gstclock.h:
14471         * gst/gstsystemclock.c: (gst_system_clock_init):
14472         Convert Clock flags to object flags.
14473         Added methods to manage master/slave clocks.
14474
14475 2005-11-21  Wim Taymans  <wim@fluendo.com>
14476
14477         * check/gst/gstsegment.c: (GST_START_TEST):
14478         * docs/design/part-TODO.txt:
14479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14480         (gst_base_sink_event), (gst_base_sink_do_sync),
14481         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14482         (gst_base_sink_query), (gst_base_sink_change_state):
14483         * gst/base/gstbasesink.h:
14484         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14485         (gst_base_src_default_newsegment),
14486         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14487         (gst_base_src_get_range), (gst_base_src_loop),
14488         (gst_base_src_change_state):
14489         * gst/base/gstbasesrc.h:
14490         * gst/base/gstbasetransform.c:
14491         (gst_base_transform_prepare_output_buf),
14492         (gst_base_transform_event), (gst_base_transform_change_state):
14493         * gst/base/gstbasetransform.h:
14494         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14495         (gst_collect_pads_event):
14496         * gst/base/gstcollectpads.h:
14497         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14498         (gst_fake_src_create):
14499         * gst/elements/gstfakesrc.h:
14500         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14501         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14502         (gst_segment_set_last_stop), (gst_segment_set_seek),
14503         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14504         (gst_segment_to_running_time), (gst_segment_clip):
14505         * gst/gstsegment.h:
14506         More segment updates, replace code in plugins with segment
14507         helper functions.
14508
14509 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14510
14511         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14512         Don't ignore sscanf results
14513
14514 2005-11-21  Andy Wingo  <wingo@pobox.com>
14515
14516         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14517
14518         * *.h:
14519         * *.c: Ran scripts/update-macros. Oh yes.
14520
14521         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14522         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14523         GST_GET_LOCK, etc.
14524
14525         * scripts/update-macros: New script. Run it on your files to
14526         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14527         well.
14528
14529 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14530
14531         * docs/gst/Makefile.am:
14532         * docs/gst/gstreamer-docs.sgml:
14533         * docs/gst/gstreamer-sections.txt:
14534         * docs/gst/gstreamer.types:
14535         * gst/gstinfo.h:
14536           more docs fixes, add new api to the docs
14537
14538 2005-11-21  Andy Wingo  <wingo@pobox.com>
14539
14540         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14541         state_broadcast call.
14542
14543         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14544
14545 2005-11-21  Julien MOUTTE  <julien@moutte.net>
14546
14547         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14548         function calls for arrays.
14549
14550 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14551
14552         * docs/random/ensonic/media-device-daemon.txt:
14553           wild idea, can this be done?
14554         * docs/gst/gstreamer-sections.txt:
14555         * gst/gsterror.h:
14556         * gst/gstfilter.c:
14557         * gst/gstfilter.h:
14558         * gst/gstplugin.h:
14559         * gst/gstpluginfeature.c:
14560         * gst/gsttrace.c:
14561         * gst/gstvalue.c:
14562         * gst/gstvalue.h:
14563           doc fixes and additions
14564
14565 2005-11-21  Andy Wingo  <wingo@pobox.com>
14566
14567         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
14568         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
14569         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
14570         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14571         private to the basesrc implementation.
14572
14573         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14574         behalf of event function if necessary. It should no longer be
14575         necessary to take the stream lock in pad's event functions. Fixes
14576         #320299.
14577
14578 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14579         * docs/gst/gstreamer-sections.txt:
14580         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14581         (gst_structure_fixate_field_nearest_double),
14582         (gst_structure_fixate_field_boolean):
14583         * gst/gststructure.h:
14584         * win32/common/libgstreamer.def:
14585         * win32/gstreamer.def:
14586
14587         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14588         (#322027)
14589
14590 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14591
14592         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14593         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14594         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14595         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14596         (gst_fdsrc_uri_handler_init):
14597         * gst/elements/gstfdsrc.h:
14598           Port fd:// URI handler from 0.8 to fdsrc
14599
14600 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14601
14602         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14603         (gst_value_serialize_fourcc):
14604         * gst/gstvalue.h:
14605           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14606           consistent with our other format defines (#320324).
14607
14608 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14609
14610         * gst/gstvalue.c: (gst_value_is_fixed):
14611           Revert previous commit. Value lists are by definition
14612           not fixed, as they are a list of possible values.
14613
14614 2005-11-21  Andy Wingo  <wingo@pobox.com>
14615
14616         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14617         during the stable series if we need it. Fixes #319178.
14618
14619         * gst/gstevent.c (gst_event_new_filler): Removed.
14620
14621         * check/gst/gstevent.c: Update comment about filler events.
14622
14623 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14624
14625         * gst/gstvalue.c: (gst_value_is_fixed):
14626           Should handle both value arrays and value lists.
14627
14628 2005-11-21  Andy Wingo  <wingo@pobox.com>
14629
14630         patch by: Alessandro Dessina <alessandro nnva org>
14631
14632         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14633         functions to access arrays. Fixes #321962.
14634
14635 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14636
14637         * docs/gst/gstreamer.types:
14638           gst_collectpads_get_type => gst_collect_pads_get_type.
14639           
14640         * gst/base/gstbasetransform.c:
14641           Remove unused SIGNAL_HANDOFF enum.
14642
14643 2005-11-21  Andy Wingo  <wingo@pobox.com>
14644
14645         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14646         the event type (upstream, downstream, serialized). Renamed
14647         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14648         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14649         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14650
14651         * gst/gstevent.c: Update for new CUSTOM event names.
14652
14653         * check/gst/gstevent.c: Update check for new CUSTOM event names.
14654
14655         * gst/gstevent.h:
14656         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14657         bug #319392.
14658
14659 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14660
14661         * docs/gst/gstreamer-sections.txt:
14662         * win32/common/libgstbase.def:
14663         * win32/libgstbase.def:
14664         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14665         (gst_collect_pads_class_init), (gst_collect_pads_init),
14666         (gst_collect_pads_finalize), (gst_collect_pads_new),
14667         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14668         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14669         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14670         (gst_collect_pads_start), (gst_collect_pads_stop),
14671         (gst_collect_pads_peek), (gst_collect_pads_pop),
14672         (gst_collect_pads_available), (gst_collect_pads_read),
14673         (gst_collect_pads_flush), (gst_collect_pads_event),
14674         (gst_collect_pads_chain):
14675         * gst/base/gstcollectpads.h:
14676           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14677           unimplemented functions as unimplemented. Add padding to
14678           GstCollectData. (#320766, #320423)
14679
14680 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14681
14682         * gst/gstmessage.c:
14683           Improve docs for DURATION message (usage of duration parameter)
14684           (#320113)
14685
14686 2005-11-20  Wim Taymans  <wim@fluendo.com>
14687
14688         * check/Makefile.am:
14689         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14690         (main):
14691         * gst/Makefile.am:
14692         * gst/gst.h:
14693         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14694         (gst_segment_set_seek), (gst_segment_set_newsegment),
14695         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14696         (gst_segment_clip):
14697         * gst/gstsegment.h:
14698         Added segment helper structure and methods. Not fully implemented
14699         yet.
14700         Added segment check.
14701
14702 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
14703
14704         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14705           Add a deserialisation test for fractions
14706         * examples/metadata/read-metadata.c: (message_loop),
14707         (make_pipeline), (main):
14708           Fix up metadata reading sample.
14709         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14710           Debug format fix
14711         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14712           Don't try and fixate empty caps
14713         * gst/gst_private.h:
14714           Wrap in G_BEGIN_DECLS/G_END_DECLS
14715         * gst/gstvalue.c: (gst_value_collect_fraction),
14716         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14717         (gst_value_transform_string_fraction),
14718         (gst_value_compare_fraction):
14719           Add some extra guards to ensure that we don't end up 
14720           with an invalid denominator of 0 in a gstfraction and
14721           that fractions always get reduced.
14722
14723 2005-11-20  Wim Taymans  <wim@fluendo.com>
14724
14725         * docs/gst/gstreamer-sections.txt:
14726         * gst/gstbuffer.h:
14727         * gst/gstelement.c:
14728         * gst/gstformat.c:
14729         * gst/gstformat.h:
14730         * gst/gstindex.h:
14731         * gst/gstquery.c:
14732         * gst/gstquery.h:
14733         * gst/gstvalue.c:
14734         Doc fixes.
14735
14736 2005-11-20  Wim Taymans  <wim@fluendo.com>
14737
14738         * docs/design/part-TODO.txt:
14739         * gst/gstcaps.h:
14740         Make a proper enum of the flag.
14741
14742 2005-11-19  Wim Taymans  <wim@fluendo.com>
14743
14744         * docs/design/part-TODO.txt:
14745         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14746         (gst_format_to_quark), (gst_format_register):
14747         * gst/gstformat.h:
14748         * gst/gstquery.c: (_gst_query_initialize),
14749         (gst_query_type_get_name), (gst_query_type_to_quark),
14750         (gst_query_type_register):
14751         * gst/gstquery.h:
14752         Add type to quark and type to string conversions.
14753
14754 2005-11-19  Andy Wingo  <wingo@pobox.com>
14755
14756         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14757         #320097.
14758
14759 2005-11-19  Wim Taymans  <wim@fluendo.com>
14760
14761         * docs/design/part-TODO.txt:
14762         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14763         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14764         (gst_bin_handle_message_func):
14765         * gst/gstbin.h:
14766         Make message handling overridable.
14767
14768 2005-11-19  Andy Wingo  <wingo@pobox.com>
14769
14770         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14771
14772         * gst/gstclock.h:
14773         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14774         be a GstClockTime.
14775         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14776         is a GstClockTime. Fixes #321710.
14777
14778         * gst/gstclock.h (GstClock): Remove offset property. Add
14779         internal_calibration and external_calibration. Fix padding. Pad
14780         also by GstClockTime so we don't run into problems.
14781
14782         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14783         (gst_clock_get_rate_offset): Remove.
14784         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14785
14786         * gst/gstutils.h:
14787         * gst/gstutils.c (g_static_rec_cond_wait)
14788         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14789
14790         * gst/gstbin.c: Remove terrible continue_state prototype.
14791
14792         * gst/gstelement.h (gst_element_continue_state): Make public.
14793
14794         * gst/gstelement.h:
14795         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14796         by continue_state. Fixes #319389.
14797
14798         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14799         Really fixes #168438. However I don't see anywhere where the
14800         filter function is called... stupid GStreamer...
14801         
14802         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14803         don't have a dispose function, so it won't get called when the
14804         object is unreffed, but oh well!
14805
14806         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14807         allows a destroy function to be set so user_data can be freed.
14808         Fixes #168438.
14809         (gst_index_set_filter): Call gst_index_set_filter_full.
14810
14811         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14812
14813         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14814         string should produce an error, given the lack of a way to
14815         represent NULL strings. Fixes #165650.
14816         
14817         * gst/gstvalue.h: 
14818         * gst/gstvalue.c (gst_value_array_append_value) 
14819         (gst_value_array_prepend_value, gst_value_array_get_size) 
14820         (gst_value_array_get_value): New API, copied from
14821         gst_value_list_*, only operates on arrays.
14822         (gst_value_list_append_value, gst_value_list_prepend_value) 
14823         (gst_value_list_concat, gst_value_list_get_size) 
14824         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14825
14826         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14827         init_list, because it works on both.
14828         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14829         (gst_value_copy_list_or_array): Renamed from copy_list.
14830         (gst_value_free_list_or_array): Renamed from free_list.
14831         (gst_value_collect_list_or_array): Renamed from collect_list.
14832         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14833         (gst_value_list_or_array_peek_pointer): Renamed from
14834         list_peek_pointer.
14835         (_gst_value_array_value_table, _gst_value_list_value_table):
14836         Update value table functions.
14837         (gst_value_compare_list_or_array): Renamed from compare_list.
14838
14839         * gsttaglist.h: Whoops, foreach function returns void. Also fix
14840         some constness.
14841
14842         * gst/gsttaglist.c:
14843         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14844         GstTagList*. Fixes #143472.
14845
14846         * gst/gststructure.h: Clarify what the foreach/map functions can
14847         or can't do to their arguments.
14848
14849 2005-11-18  Wim Taymans  <wim@fluendo.com>
14850
14851         * gst/gstclock.c: (gst_clock_set_calibration),
14852         (gst_clock_get_calibration):
14853         Doc and API fixes.
14854         Calibration can be set with internal time equal to current
14855         internal time too.
14856
14857 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14858
14859         * gst/gsterror.c:
14860         * gst/gsterror.h:
14861           document
14862
14863 2005-11-18  Andy Wingo  <wingo@pobox.com>
14864
14865         * configure.ac: 
14866         * pkgconfig/gstreamer-net.pc.in:
14867         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14868         * pkgconfig/Makefile.am: Add net pkgconfig files.
14869
14870 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
14871
14872         * gst/gstcaps.c:
14873         * gst/gstghostpad.c:
14874         * gst/gsttrace.c:
14875         * gst/gstvalue.c:
14876         * gst/gstvalue.h:
14877           docs fixes
14878
14879 2005-11-18  Andy Wingo  <wingo@pobox.com>
14880
14881         * gst/net/gstnetclientclock.c: Turn off debugging.
14882
14883         * check/net/gstnetclientclock.c (test_functioning): Assert that the
14884         times connverge somewhat. Can't make a real test.
14885
14886         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14887         integer arithmetic. Return the minimum of the domain, which can be
14888         set as "internal" for gst_clock_set_calibration.
14889         (gst_net_client_clock_observe_times): Call _set_calibration.
14890         (gst_net_client_clock_new): Call _set_calibration instead of
14891         rate_offset.
14892
14893         * check/net/gstnetclientclock.c (test_functioning): Use the right
14894         adjustment api.
14895
14896         * gst/gstclock.h:
14897         * gst/gstclock.c (gst_clock_get_calibration) 
14898         (gst_clock_set_calibration): New functions, obsolete the ones I
14899         added yesterday. Doh. Precision issues mean we have to extrapolate
14900         from a point in the more recent past than 1970.
14901         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14902         obsolete.
14903         (gst_clock_adjust_unlocked): Use the right calibration data.
14904
14905 2005-11-18  Edward Hervey  <edward@fluendo.com>
14906
14907         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
14908         Also reset the ->current_* values in READY->PAUSED
14909
14910 2005-11-18  Andy Wingo  <wingo@pobox.com>
14911
14912         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14913         Whoops, check the right fd. Also add some debugging.
14914         (gst_net_client_clock_observe_times): Adjust for int64 offset.
14915         (do_linear_regression): Add a crapload of debugging. Subtract off
14916         the minimum values from the input series to discard unneeded bits.
14917         Use only int arithmetic. There is still double arithmetic when
14918         calculating the intercept that needs fixing. Return boolean to
14919         indicate success; FALSE would mean the domain or range is too
14920         great. Still needs fixes.
14921
14922 2005-11-18  Wim Taymans  <wim@fluendo.com>
14923
14924         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14925         For the current position in stream time, we need to subtract
14926         accumulated time.
14927         
14928         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14929         Release lock before calling the callback function of async
14930         entries.
14931
14932 2005-11-18  Andy Wingo  <wingo@pobox.com>
14933
14934         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
14935         Port goes all the way to MAXUINT16.
14936
14937         * gst/net/gstnettimeprovider.c: Make the port range the same as
14938         for the kernel: 0 assigns, otherwise ports are less than
14939         MAXUINT16.
14940
14941         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
14942         port change.
14943
14944         * check/net/gstnetclientclock.c (test_functioning): Add the start
14945         of another test. 
14946
14947 2005-11-18  Wim Taymans  <wim@fluendo.com>
14948
14949         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14950         (gst_bin_remove_func), (bin_bus_handler):
14951         * gst/gstbin.h:
14952         Removing a clock provider from a bin, triggers a clock lost message
14953         so that a new clock will be selected.
14954         Adding a clock to a bin triggers a clock provider message.
14955         Make sure we reselect a clock when we received a clock lost message.
14956         Keep a reference to the element that provided the clock.
14957
14958 2005-11-18  Andy Wingo  <wingo@pobox.com>
14959
14960         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
14961         the clock initially so it produces values around the base time.
14962         (gst_net_client_clock_class_init): Typo fix.
14963         (gst_net_client_clock_thread): Add note on when the socket gets
14964         closed.
14965
14966 2005-11-17  Wim Taymans  <wim@fluendo.com>
14967
14968         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
14969         Free remote and local time arrays.
14970
14971 2005-11-17  Wim Taymans  <wim@fluendo.com>
14972
14973         * gst/net/gstnetclientclock.c: (do_linear_regression),
14974         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
14975         Fix compilation, uninitialized vars and a forgotten continue.
14976
14977 2005-11-17  Andy Wingo  <wingo@pobox.com>
14978
14979         * check/Makefile.am (check_PROGRAMS): 
14980         * check/net/gstnetclientclock.c: Add a most minimal test for the
14981         net client clock. More to come later.
14982
14983         * gst/net/gstnet.h: 
14984         * gst/net/Makefile.am: Add netclientclock.
14985
14986         * gst/net/gstnetclientclock.h:
14987         * gst/net/gstnetclientclock.c: New files, implement an untested
14988         GstClock that takes its time from a network time provider.
14989         Implements the algorithm in network-clock.scm.
14990
14991         * tests/network-clock.scm (*window-size*): Rename from
14992         *queue-length*.
14993         * tests/network-clock.scm (network-time): 
14994         * tests/network-clock-utils.scm (q-push): Update callers.
14995
14996 2005-11-17  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/gstbin.c: (gst_bin_provide_clock_func),
14999         (gst_bin_sort_iterator_new):
15000         And unref the child too..
15001
15002 2005-11-17  Wim Taymans  <wim@fluendo.com>
15003
15004         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15005         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15006         Refactor the sort iterator so it can be used while holding the
15007         LOCK too.
15008         Make clock selection select a clock closest to the source.
15009
15010 2005-11-17  Michael Smith <msmith@fluendo.com>
15011
15012         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15013         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15014         * gst/gstclock.h:
15015           Anonymous structs are a gcc (and some other compilers) extension, so
15016           don't use them. Since this is only for ABI-compatibility, and our
15017           API/ABI freeze is over in a few days, this whole thing will only
15018           last a few days, so don't bother trying to think up a meaningful
15019           name for the struct.
15020
15021 2005-11-17  Andy Wingo  <wingo@pobox.com>
15022
15023         * gst/gstclock.h (GstClock): Add rate and offset properties,
15024         preserving ABI stability. Add rate/offset accessors. Will file bug
15025         for the freeze break.
15026
15027         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15028         and offset, trying to keep precision and avoiding
15029         underflow/overflow.
15030         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15031         functions. Make gst_clock_set_time_adjust obsolete.
15032         (gst_clock_set_time_adjust): Note that this function is obsolete.
15033         Will file bug soon.
15034
15035         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15036         greppable by using GST_PADDING-1+1.
15037
15038 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15039
15040         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15041
15042         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15043           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15044
15045         * gst/gstpadtemplate.h:
15046         * gst/gstpluginfeature.h:
15047           Don't use c++ style comments in headers (#321638).
15048
15049 2005-11-16  Andy Wingo  <wingo@pobox.com>
15050
15051         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15052         buffer.
15053
15054         * check/net/gstnettimeprovider.c: Check to see that the time
15055         provider actually provides times. Works, yo!
15056
15057 2005-11-16  Wim Taymans  <wim@fluendo.com>
15058
15059         * check/Makefile.am:
15060         Enable more tests.
15061
15062         * check/elements/fakesrc.c: (GST_START_TEST):
15063         Set element to NULL before disposing it.
15064
15065 2005-11-16  Andy Wingo  <wingo@pobox.com>
15066
15067         * gst/net/Makefile.am:
15068         * gst/net/gstnet.h:
15069         * gst/net/gstnettimeprovider.c: 
15070         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15071         provider, include it from gstnet.h, and add it to the build.
15072
15073         * gst/net/gstnettimepacket.h: 
15074         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15075         sending and receiving.
15076
15077 2005-11-16  Wim Taymans  <wim@fluendo.com>
15078
15079         * check/Makefile.am:
15080         Enable valgrind check.
15081
15082         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15083         (gst_fake_src_alloc_buffer):
15084         Fix memleak.
15085
15086 2005-11-16  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15089         Call parent finalize too.
15090
15091 2005-11-16  Wim Taymans  <wim@fluendo.com>
15092
15093         * check/Makefile.am:
15094         Enable valgrind check that should work fine now.
15095
15096         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15097         * gst/gstqueue.c: (gst_queue_init):
15098         Fix memleaks in pad allocation.
15099
15100 2005-11-16  Andy Wingo  <wingo@pobox.com>
15101
15102         * gst/net/Makefile.am:
15103         * gst/net/gstnet.h: New part of core to hold network elements and
15104         objects. Put in core because it exposes API that applications want
15105         to use. The library is named libgstnet-tempname right now because
15106         of the existing libgstnet in gst-plugins-base. Solution is
15107         probably to rename the one in plugins-base; will file a bug for
15108         the freeze break.
15109
15110         * gst/net/gstnettimeprovider.c: 
15111         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15112         get_time call over the network.
15113
15114         * configure.ac: 
15115         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15116
15117         * check/Makefile.am:
15118         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15119         get additions shortly.
15120
15121 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15122
15123         * gst/gstpad.c: (gst_pad_new_from_static_template):
15124         * gst/gstpad.h:
15125           add gst_pad_new_from_static_template functions
15126         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15127         (gst_check_setup_sink_pad):
15128         * gst/elements/gsttee.c: (gst_tee_init):
15129           and use them
15130
15131 2005-11-16  Wim Taymans  <wim@fluendo.com>
15132
15133         * gst/gstpad.c: (gst_pad_pause_task):
15134         Removed warning, it's not really an error either.
15135
15136 2005-11-16  Wim Taymans  <wim@fluendo.com>
15137
15138         * gst/base/gstbasetransform.c:
15139         (gst_base_transform_prepare_output_buf),
15140         (gst_base_transform_event):
15141         Check if the caps are NULL, this can happen if the element
15142         is shutting down and the pad caps are set to NULL.
15143
15144 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15145
15146         * gst/elements/gsttee.c: (gst_tee_init):
15147           fix pad template leak in tee
15148
15149 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15150
15151         * gst/glib-compat.c: (g_value_dup_gst_object):
15152         * gst/glib-compat.h:
15153         * gst/gstpad.c: (gst_pad_set_property):
15154           use gst_object_ref when setting the pad template; this will
15155           trigger the pad template leaks on GLib 2.6 and the slaves
15156
15157 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15158
15159         * gst/glib-compat.c: (gst_flags_get_first_value):
15160         * gst/glib-compat.h:
15161         * gst/gstregistryxml.c:
15162           remove functions copied from GLib 2.6
15163
15164 2005-11-16  Michael Smith <msmith@fluendo.com>
15165
15166         * gst/Makefile.am:
15167           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15168           do, but only breaks with newer valgrind versions. We're not a
15169           valgrind tool, we have no link-time dependencies on libcoregrind.
15170
15171 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15172
15173         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15174           some debug changes
15175         * gst/gstmessage.h:
15176           typo fixes
15177
15178 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15179
15180         * gst/base/gstbasesrc.c: (gst_base_src_init):
15181         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15182         * gst/gstqueue.c: (gst_queue_init):
15183         * gst/gstregistryxml.c: (load_feature):
15184           Revert all these unrefs, they don't even pass make check !
15185
15186 2005-11-15  Johan Dahlin  <johan@gnome.org>
15187
15188         * gst/base/gstbasesrc.c: (gst_base_src_init):
15189         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15190         * gst/gstqueue.c: (gst_queue_init): 
15191         Free pad templates, fixes a couple of leaks.
15192
15193 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15194
15195         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15196
15197         * gst/gstpad.c: (gst_pad_get_property):
15198           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15199           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15200           (#321452)
15201
15202 2005-11-15  Wim Taymans  <wim@fluendo.com>
15203
15204         * gst/gstevent.c:
15205         Small doc update.
15206
15207 2005-11-15  Andy Wingo  <wingo@pobox.com>
15208
15209         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15210
15211         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15212         using GST_CLOCK_TIME_NONE to disable base time management.
15213         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15214         time if it was NONE before.
15215         (gst_pipeline_change_state): Only munge the base time if
15216         stream_time != GST_CLOCK_TIME_NONE.
15217
15218         * check/gst/gstpipeline.c (test_base_time): Punt around the
15219         problem of the probe not being called, because that's not the
15220         issue I'm looking at. Add a check that setting stream_time to NONE
15221         disables base time management.
15222         
15223 2005-11-15  Wim Taymans  <wim@fluendo.com>
15224
15225         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15226         segment_stop == -1 at startup.
15227
15228         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15229         (gst_base_transform_change_state):
15230         Init segment values at start.
15231
15232 2005-11-15  Wim Taymans  <wim@fluendo.com>
15233
15234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15235         0 segment values are 0 in any format.
15236
15237         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15238         * gst/base/gstbasetransform.h:
15239         Parse newsegment correctly in basetransform
15240
15241         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15242         Sync to clock using updated segment values.
15243
15244 2005-11-15  Andy Wingo  <wingo@pobox.com>
15245
15246         * check/gst/gstpipeline.c (test_base_time): Add check that the
15247         base time and stream time are reset correctly.
15248
15249 2005-11-15  Wim Taymans  <wim@fluendo.com>
15250
15251         * docs/design/part-TODO.txt:
15252         Some more TODO items.
15253
15254 2005-11-15  Andy Wingo  <wingo@pobox.com>
15255
15256         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15257         error if the user selected "no clock" as the clocking method.
15258
15259         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15260         timestamps with live capture.
15261
15262         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15263         is 0 but we are a live source, timestamp the buffers using the
15264         element's clock.
15265
15266 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15267
15268         * docs/gst/gstreamer-sections.txt:
15269         * gst/gsterror.c:
15270         * gst/gstghostpad.c:
15271         * gst/gstobject.h:
15272         * gst/gstxml.c:
15273           more section docs
15274
15275 2005-11-14  Wim Taymans  <wim@fluendo.com>
15276
15277         * common/gst.supp:
15278           add suppressions from Wim's Debian machine
15279
15280 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15281
15282         * common/gst.supp:
15283           add suppressions from Andy's AMD64 Ubuntu machine
15284
15285 2005-11-14  Andy Wingo  <wingo@pobox.com>
15286
15287         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15288         STATE_LOCK not necessary. Fixes #311489.
15289
15290         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15291         #305291.
15292
15293         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15294         this function is not implemented.
15295
15296 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15297
15298         * gst/base/gstbasetransform.c:
15299         (gst_base_transform_prepare_output_buf):
15300         Ref the source pad caps while we need them.
15301         Fixes (#321386)
15302
15303 2005-11-11  Wim Taymans  <wim@fluendo.com>
15304
15305         * docs/gst/gstreamer-sections.txt:
15306         Added some docs for GstCollectData.
15307
15308         * gst/base/gstadapter.c:
15309         Some small code example fix.
15310
15311         * gst/base/gstcollectpads.c:
15312         * gst/base/gstcollectpads.h:
15313         Document some more.
15314
15315 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15316
15317         * configure.ac: back to HEAD
15318
15319 === release 0.9.5 ===
15320
15321 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15322
15323         * configure.ac:
15324           releasing 0.9.5, "Bike Lunch Day"
15325
15326 2005-11-11  Wim Taymans  <wim@fluendo.com>
15327
15328         * gst/gstbuffer.c: (_gst_buffer_copy):
15329         Copy more flags.
15330
15331         * gst/gstcaps.c: (gst_caps_is_equal):
15332         Fix some docs.
15333         Make _is_equal fast in the trivial cases.
15334
15335         * gst/gstminiobject.c:
15336         * gst/gstminiobject.h:
15337         More docs. Spifify .h file.
15338
15339         * gst/gstutils.c:
15340         Small doc update.
15341
15342 2005-11-11  Wim Taymans  <wim@fluendo.com>
15343
15344         * gst/base/gstbasetransform.c:
15345         (gst_base_transform_prepare_output_buf),
15346         (gst_base_transform_handle_buffer):
15347         Small cleanups.
15348         If we're processing a buffer and need to allocate an output
15349         buffer, we cannot accept a format change. If we did get a 
15350         format change, we have to alloc a buffer ourselves of the 
15351         right size.
15352
15353 2005-11-11  Wim Taymans  <wim@fluendo.com>
15354
15355         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15356         While checking the flag for reentrancy in the gstcaps function
15357         is nice to detect recursive invocations, it also makes it 
15358         impossible to call getcaps from multiple threads, which must be
15359         possible. So, checking for recursive calls has to go.
15360
15361 2005-11-11  Michael Smith <msmith@fluendo.com>
15362
15363         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15364           Don't sync on buffers that fall partially outside our current
15365           segment. Prevents an assertion failure/abort playing some files.
15366
15367 2005-11-10  Andy Wingo  <wingo@pobox.com>
15368
15369         * check/gst/gstbin.c (test_message_state_changed_children): Style
15370         fix..
15371
15372         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15373         gst_bus_poll with the signal watch. Ensures that poll and a signal
15374         watch see the same messages.
15375
15376         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15377         a poll and a watch at the same time get the same messages.
15378
15379 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15380
15381         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15382         * gst/gstcaps.c: (gst_caps_intersect):
15383           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15384           and it's not needed.
15385
15386 2005-11-10  Wim Taymans  <wim@fluendo.com>
15387
15388         * docs/design/part-TODO.txt:
15389         Updated todo.
15390
15391 2005-11-10  Wim Taymans  <wim@fluendo.com>
15392
15393         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15394         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15395         (gst_base_src_do_sync), (gst_base_src_get_range):
15396         Implement clock sync in base class.
15397
15398 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15399
15400         patch by: Tim-Philipp Müller <tim at centricular dot net>
15401
15402         * gst/gststructure.c: (gst_structure_parse_field),
15403         (gst_structure_from_string):
15404           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15405           so that gst_parse_launch() can deal with spaces in filtered link
15406           caps (fixes #164479)
15407         * check/gst/capslist.h:
15408         * check/gst/gststructure.c: (GST_START_TEST):
15409           add unit tests for this change
15410
15411 2005-11-10  Wim Taymans  <wim@fluendo.com>
15412
15413         * docs/gst/gstreamer-sections.txt:
15414         * gst/gstelement.c:
15415         * gst/gstelement.h:
15416         Fix docs, move some STATE macros to private.
15417
15418 2005-11-10  Wim Taymans  <wim@fluendo.com>
15419
15420         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15421         Added check for bug #317341
15422
15423         * gst/gstbuffer.c:
15424         * gst/gstbuffer.h:
15425         Some more spiffifying.
15426
15427         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15428         Call peer linkfunction if we are a source pad. Totally fixes
15429         #317341
15430
15431         * gst/gstpad.c:
15432         Update docs, source pads should call the peer linkfunction
15433         so they can atomically perform the pad link.
15434
15435 2005-11-09  Wim Taymans  <wim@fluendo.com>
15436
15437         * gst/gstbuffer.c:
15438         * gst/gstbuffer.h:
15439         Uber-spiffy-spiffify some more.
15440
15441 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15442
15443         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15444         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15445         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15446         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15447         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15448         * gst/gstpad.c: (gst_pad_init):
15449           Use GST_DEBUG_FUNCPTR() more extensively.
15450
15451 2005-11-09  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/gstobject.c: (gst_object_class_init):
15454         * gst/gstobject.h:
15455         Documentation fixes.
15456
15457 2005-11-09  Edward Hervey  <edward@fluendo.com>
15458
15459         * gst/gsttypefindfactory.c:
15460         Fix docs.
15461         
15462 2005-11-09  Edward Hervey  <edward@fluendo.com>
15463
15464         * gst/base/gsttypefindhelper.c:
15465         * gst/gsttypefind.c:
15466         * gst/gsttypefind.h:
15467         Fix docs.
15468
15469 2005-11-09  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstiterator.c:
15472         Fix revision data.
15473
15474         * gst/gsttask.c:
15475         * gst/gsttask.h:
15476         Fix docs.
15477
15478 2005-11-09  Wim Taymans  <wim@fluendo.com>
15479
15480         * gst/gstevent.h:
15481         * gst/gsturi.h:
15482         Fix docs.
15483
15484 2005-11-09  Wim Taymans  <wim@fluendo.com>
15485
15486         * docs/gst/gstreamer-sections.txt:
15487         Moved the message async delivery private lock and cond
15488         to the private section.
15489
15490         * gst/gstmessage.c:
15491         * gst/gstmessage.h:
15492         Fixed docs.
15493
15494 2005-11-09  Edward Hervey  <edward@fluendo.com>
15495
15496         * docs/gst/gstreamer-sections.txt:
15497         * gst/gsturi.c:
15498         * gst/gsturi.h:
15499         Document GstURIHandler
15500
15501 2005-11-09  Wim Taymans  <wim@fluendo.com>
15502
15503         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15504         (gst_iterator_find_custom):
15505         * gst/gstiterator.h:
15506         Fix iterator docs.
15507
15508 2005-11-09  Wim Taymans  <wim@fluendo.com>
15509
15510         * gst/gstbin.h:
15511         Document another field.
15512
15513         * gst/gststructure.c:
15514         * gst/gststructure.h:
15515         Document.
15516
15517 2005-11-09  Wim Taymans  <wim@fluendo.com>
15518
15519         * gst/gstbin.h:
15520         Documented structs.
15521
15522 2005-11-09  Wim Taymans  <wim@fluendo.com>
15523
15524         * docs/gst/gstreamer-sections.txt:
15525         Added some new macros.
15526
15527         * gst/gstclock.c:
15528         * gst/gstclock.h:
15529         * gst/gstobject.h:
15530         Docs updates.
15531
15532 2005-11-09  Wim Taymans  <wim@fluendo.com>
15533
15534         * docs/design/part-TODO.txt:
15535         Some more items for the TODO
15536
15537         * gst/gstcaps.c:
15538         * gst/gstcaps.h:
15539         Document GstCaps.
15540
15541 2005-11-09  Andy Wingo  <wingo@pobox.com>
15542
15543         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15544         to work on something else now tho...
15545
15546         * gst/base/gstadapter.c: More adapter docs.
15547
15548         * gst/elements/gstfilesink.c (gst_file_sink_start) 
15549         (gst_file_sink_stop): New functions, replace the state change
15550         handler.
15551         (gst_file_sink_class_init): Hook up the start and stop functions.
15552         (gst_file_sink_base_init): Don't set the state change handler any
15553         more. It was a bit ugly too, being set from here...
15554         (gst_file_sink_get_property, gst_file_sink_set_property):
15555         Cleanups...
15556         (gst_file_sink_set_location): More robust check that doesn't call
15557         GST_STATE. Ugggggg.
15558
15559 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
15560
15561         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15562           Hold STREAM_LOCK while pushing newsegment or tag events as well.
15563
15564 2005-11-08  Wim Taymans  <wim@fluendo.com>
15565
15566         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15567         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15568         (gst_base_sink_chain), (gst_base_sink_change_state):
15569         * gst/base/gstbasesink.h:
15570         * gst/base/gstbasesrc.h:
15571         * gst/gstelement.h:
15572         * gst/gstevent.h:
15573         Avoid excessive typechecking in macros.
15574
15575         * gst/gstminiobject.c: (gst_mini_object_get_type),
15576         (gst_mini_object_init), (gst_mini_object_new),
15577         (gst_mini_object_free):
15578         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15579         (gst_object_finalize):
15580         Remove cruft code, optimize alloc_trace.
15581
15582 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15583
15584         * docs/faq/gst-uninstalled:
15585           fix up PS1 for systems that try to reset it
15586
15587 2005-11-07  Wim Taymans  <wim@fluendo.com>
15588
15589         * gst/base/gstbasesrc.c: (gst_base_src_init),
15590         (gst_base_src_get_range):
15591         Set the segment_end to -1 initially. Fixed typefind.
15592
15593 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
15594
15595         * gst/base/gstadapter.c:
15596           Debug category should be 'adapter', not 'GstAdapter'.
15597           
15598         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15599         (gst_collectpads_class_init), (gst_collectpads_init),
15600         (gst_collectpads_peek), (gst_collectpads_pop),
15601         (gst_collectpads_event), (gst_collectpads_chain):
15602           Add debug category and some debugging output. Use boilerplate
15603           macros. Remove some extraneous words from docs.
15604
15605 2005-11-05  Andy Wingo  <wingo@pobox.com>
15606
15607         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15608         macro.
15609
15610 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15611
15612         * docs/gst/gstreamer-sections.txt:
15613         * gst/gstcaps.h:
15614         * gst/gstinfo.c:
15615         * gst/gstminiobject.h:
15616         * gst/gstobject.h:
15617         * gst/gstutils.h:
15618           more docs added
15619
15620 2005-11-04  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15623         Small update to stop at the configured segment_end
15624         position.
15625
15626 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15627
15628         * gst/gstregistry.c:
15629         * gst/gstregistry.h:
15630           added missing docs
15631
15632 2005-11-04  Edward Hervey  <edward@fluendo.com>
15633
15634         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15635         Check if we are doing a segment seek and have arrived at the
15636         end of that segment.
15637
15638 2005-11-04  Wim Taymans  <wim@fluendo.com>
15639
15640         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15641         Don't leak a mutex unlock in case of an error.
15642
15643         * gst/gstbus.h:
15644         Doc fixes.
15645
15646 2005-11-04  Wim Taymans  <wim@fluendo.com>
15647
15648         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15649         (gst_bus_post):
15650         Get the context to wake up only once.
15651
15652 2005-11-03  Wim Taymans  <wim@fluendo.com>
15653
15654         * check/states/sinks.c: (GST_START_TEST):
15655         Uncomment fixed check.
15656
15657         * docs/design/part-TODO.txt:
15658         Updated TODO.
15659
15660         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15661         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15662         (gst_base_sink_get_position):
15663         If we are going to PLAYING, post the right pending state
15664         when we post the intermediate paused message.
15665
15666         * gst/gstelement.c: (gst_element_continue_state),
15667         (gst_element_set_state_func), (gst_element_change_state):
15668         Don't post state changes that were between the same state
15669         and were not ASYNC.
15670
15671 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15672
15673         * docs/gst/gstreamer-sections.txt:
15674         * gst/gstcaps.h:
15675         * gst/gstinfo.c:
15676         * gst/gstminiobject.h:
15677         * gst/gstobject.h:
15678         * gst/gstutils.h:
15679           more docs and doc style fixes
15680
15681 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15682
15683         * docs/gst/gstreamer-sections.txt:
15684         * gst/gstelement.c:
15685         * gst/gstminiobject.c:
15686         doc fixes
15687
15688 2005-11-03  Andy Wingo  <wingo@pobox.com>
15689
15690         * check/states/sinks.c (test_livesrc_sink): Add checks that the
15691         state-changed messages actually have the right order and the right
15692         values.
15693
15694 2005-11-03  Wim Taymans  <wim@fluendo.com>
15695
15696         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15697         Added some more checks. Specifically the case where NO_PREROLL
15698         elements are in the pipeline.
15699
15700         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15701         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15702         (gst_base_sink_get_position):
15703         Post READY->PAUSED state change messages too.
15704         Fix bug where VOID was posted as pending state...
15705
15706         * gst/gstbin.c: (gst_bin_recalc_state):
15707         use _element_continue_state() to continue the state change.
15708
15709         * gst/gstelement.c: (gst_element_continue_state),
15710         (gst_element_commit_state), (gst_element_set_state_func),
15711         (gst_element_change_state), (gst_element_change_state_func):
15712         Lots of state change cleanups, assign the STATE_RETURN in
15713         a new continue_state() function that also propagates the
15714         last return value from a state change to the app.
15715         Update some debug statements with proper category.
15716
15717 2005-11-03  Wim Taymans  <wim@fluendo.com>
15718
15719         * docs/design/part-events.txt:
15720         * docs/design/part-gstpipeline.txt:
15721         * docs/design/part-messages.txt:
15722         * docs/design/part-overview.txt:
15723         * docs/design/part-seeking.txt:
15724         * docs/design/part-states.txt:
15725         * docs/design/part-trickmodes.txt:
15726         * docs/manual/advanced-position.xml:
15727         Small docs updates.
15728
15729         * gst/gstobject.h:
15730         People think !! is ugly, this looks better.
15731
15732         * gst/gstpad.c: (gst_pad_set_blocked_async):
15733         Remove !! since it's fixed elsewhere now.
15734
15735 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15736
15737         * gst/gstminiobject.h:
15738         * gst/gstobject.h:
15739           Add !! to _FLAG_IS_SET macros to make the result boolean.
15740
15741 2005-11-03  Edward Hervey  <edward@fluendo.com>
15742
15743         * gst/gstpad.c: (gst_pad_set_blocked_async):
15744         comparing a flag and a gboolean rarely returns coherent results...
15745         Added two characters (!!) to make that work correctly.
15746         
15747 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15748
15749         * gst/gstbus.c: (gst_bus_class_init):
15750           Fix some typos.
15751           
15752         * gst/gstqueue.c: (gst_queue_loop):
15753           Don't assume a miniobject that isn't a buffer is an
15754           event (it could be that there is a refcounting
15755           problem somewhere and the pointer is stale and
15756           refers to an already destroyed miniobject).
15757
15758 2005-11-03  Julien MOUTTE  <julien@moutte.net>
15759
15760         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15761
15762 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15763
15764         * docs/manual/advanced-position.xml:
15765           Update seek example and explanations to current 0.9 API.
15766
15767         * gst/elements/gsttypefindelement.c:
15768         (gst_type_find_element_activate):
15769           Remove FIXME comment now that the found caps
15770           are unreffed.
15771
15772 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15773
15774         * gst/gstregistryxml.c: (load_feature):
15775           Add another GST_STR_NULL instance
15776
15777 2005-11-02  Edward Hervey  <edward@fluendo.com>
15778
15779         * gst/gstpad.c: (handle_pad_block):
15780         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15781         
15782 2005-11-02  Wim Taymans  <wim@fluendo.com>
15783
15784         * gst/gstbin.c:
15785         Fix typo in docs.
15786
15787         * gst/gstelement.c: (gst_element_commit_state):
15788         Remove unused value.
15789
15790         * gst/gstiterator.c:
15791         Mention that the returned element is reffed in the docs.
15792
15793 2005-11-02  Wim Taymans  <wim@fluendo.com>
15794
15795         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15796         (gst_pad_push), (gst_pad_push_event):
15797         Unlock blocked pads when they are flushed.
15798
15799 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15800
15801         * docs/README:
15802         * docs/gst/gstreamer-sections.txt:
15803         * gst/gstbin.c:
15804           doc updates
15805         * gst/gstregistry.c: (gst_registry_scan_path_level):
15806           fix for a nasty little missed situation where an installed plug-in
15807           which was in the cache did not get overridden by an uninstalled one
15808           which was earlier in the plugin path because the newly created plugin
15809           for the uninstalled one (not in the registry) didn't get its
15810           ->registered set to TRUE
15811
15812 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15813
15814         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15815         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15816         (gst_collectpads_is_active), (gst_collectpads_collect),
15817         (gst_collectpads_collect_range), (gst_collectpads_start),
15818         (gst_collectpads_stop), (gst_collectpads_peek),
15819         (gst_collectpads_pop), (gst_collectpads_available),
15820         (gst_collectpads_read), (gst_collectpads_flush):
15821           Guard public API with assertions.
15822         
15823         * gst/gstpad.c:
15824           Fix docs for gst_pad_set_link_function().
15825
15826 2005-11-02  Johan Dahlin  <johan@gnome.org>
15827
15828         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15829         Unref found_caps after we used it.
15830
15831 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15832
15833         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15834           Don't try to ref NULL.
15835
15836 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15837
15838         * win32/common/config.h.in:
15839           provide a GST_FUNCTION that just gives a string for now
15840
15841 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15842
15843         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15844         (gst_object_flags_get_type), (register_gst_bin_flags),
15845         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15846         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15847         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15848         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15849         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15850         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15851         (gst_clock_flags_get_type), (register_gst_state),
15852         (gst_state_get_type), (register_gst_state_change_return),
15853         (gst_state_change_return_get_type), (register_gst_state_change),
15854         (gst_state_change_get_type), (register_gst_element_flags),
15855         (gst_element_flags_get_type), (register_gst_core_error),
15856         (gst_core_error_get_type), (register_gst_library_error),
15857         (gst_library_error_get_type), (register_gst_resource_error),
15858         (gst_resource_error_get_type), (register_gst_stream_error),
15859         (gst_stream_error_get_type), (register_gst_event_type),
15860         (gst_event_type_get_type), (register_gst_seek_type),
15861         (gst_seek_type_get_type), (register_gst_seek_flags),
15862         (gst_seek_flags_get_type), (register_gst_format),
15863         (gst_format_get_type), (register_gst_index_certainty),
15864         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15865         (gst_index_entry_type_get_type),
15866         (register_gst_index_lookup_method),
15867         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15868         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15869         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15870         (gst_index_flags_get_type), (register_gst_debug_level),
15871         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15872         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15873         (gst_iterator_result_get_type), (register_gst_iterator_item),
15874         (gst_iterator_item_get_type), (register_gst_message_type),
15875         (gst_message_type_get_type), (register_gst_mini_object_flags),
15876         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15877         (gst_pad_link_return_get_type), (register_gst_flow_return),
15878         (gst_flow_return_get_type), (register_gst_activate_mode),
15879         (gst_activate_mode_get_type), (register_gst_pad_direction),
15880         (gst_pad_direction_get_type), (register_gst_pad_flags),
15881         (gst_pad_flags_get_type), (register_gst_pad_presence),
15882         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15883         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15884         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15885         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15886         (gst_plugin_flags_get_type), (register_gst_rank),
15887         (gst_rank_get_type), (register_gst_query_type),
15888         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15889         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15890         (gst_tag_flag_get_type), (register_gst_task_state),
15891         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15892         (gst_alloc_trace_flags_get_type),
15893         (register_gst_type_find_probability),
15894         (gst_type_find_probability_get_type), (register_gst_uri_type),
15895         (gst_uri_type_get_type), (register_gst_parse_error),
15896         (gst_parse_error_get_type):
15897         * win32/common/gstversion.h:
15898           update win32 copies
15899
15900 2005-11-01  Luca Ognibene  <luogni@tin.it>
15901
15902         * gst/gst.c:
15903           fix docs. popt is dead, long live GOption.
15904
15905 2005-10-31  Wim Taymans  <wim@fluendo.com>
15906
15907         * gst/gstbuffer.h:
15908         Small doc fix.
15909
15910 2005-10-31  Andy Wingo  <wingo@pobox.com>
15911
15912         * Boo!
15913
15914         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15915
15916         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15917         need to serialize property notifications on GLib 2.8. GLib 2.6 has
15918         the possibility of deadlocks here if code calling notify() or
15919         set() has a lock that can be taken in another notify handler (ABBA
15920         with class lock and e.g. python GIL state lock).
15921
15922 2005-10-28  Julien MOUTTE  <julien@moutte.net>
15923
15924         * gst/gstbus.c: Doc updates.
15925
15926 2005-10-28  Wim Taymans  <wim@fluendo.com>
15927
15928         * docs/design/part-TODO.txt:
15929         * gst/gstiterator.c:
15930         * gst/gstsystemclock.c:
15931         * gst/gstsystemclock.h:
15932         Doc updates.
15933
15934 2005-10-28  Edward Hervey  <edward@fluendo.com>
15935
15936         * docs/gst/gstreamer-docs.sgml:
15937         * docs/gst/gstreamer-sections.txt:
15938         the GstURIType documentation page is private, it only defines GstURIType
15939         which should be defined in the GstURIHandler page
15940         
15941 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15942
15943         * gst/gstbin.c: (gst_bin_class_init):
15944         * gst/gstbin.h:
15945         * gst/gstutils.c:
15946         Documentation updates.
15947
15948 2005-10-28  Wim Taymans  <wim@fluendo.com>
15949
15950         * docs/gst/gstreamer-sections.txt:
15951         * gst/gstclock.c:
15952         * gst/gstclock.h:
15953         Documented the clocks.
15954
15955 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
15956
15957         * docs/gst/gstreamer-sections.txt:
15958           move some macros to private sections
15959         * gst/gstminiobject.c:
15960         * gst/gstminiobject.h:
15961           add descriptions provided by ds and some more
15962         * gst/gstpad.h:
15963           mark macro as to be removed
15964
15965 2005-10-28  Wim Taymans  <wim@fluendo.com>
15966
15967         * docs/design/part-TODO.txt:
15968         Add an item to TODO.
15969
15970         * gst/gstiterator.c: (gst_iterator_fold),
15971         (gst_iterator_find_custom):
15972         * gst/gstiterator.h:
15973         Add iterator docs.
15974
15975 2005-10-28  Wim Taymans  <wim@fluendo.com>
15976
15977         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15978         (gst_base_transform_init):
15979         Don't leak class.
15980
15981         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
15982         An EOS event marks the queue as completely filled.
15983
15984 2005-10-27  Wim Taymans  <wim@fluendo.com>
15985
15986         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15987         (gst_base_sink_do_sync), (gst_base_sink_get_position):
15988         Some more debugging.
15989
15990         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
15991         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
15992         (gst_base_transform_event), (gst_base_transform_getrange),
15993         (gst_base_transform_chain):
15994         * gst/base/gstbasetransform.h:
15995         Fix debugging,
15996         Protect transform and concurrent buffer alloc with a new lock.
15997         Try not to break ABI/API.
15998
15999 2005-10-27  Wim Taymans  <wim@fluendo.com>
16000
16001         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16002         (gst_base_src_init), (gst_base_src_query),
16003         (gst_base_src_default_newsegment),
16004         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16005         (gst_base_src_send_event), (gst_base_src_event_handler),
16006         (gst_base_src_pad_get_range), (gst_base_src_loop),
16007         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16008         (gst_base_src_start), (gst_base_src_deactivate),
16009         (gst_base_src_activate_push), (gst_base_src_change_state):
16010         Move some stuff around and cleanup things.
16011
16012 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16013
16014         * gst/base/gstbasesrc.c: (gst_base_src_query):
16015           Add missing break statements.
16016
16017 2005-10-27  Wim Taymans  <wim@fluendo.com>
16018
16019         * check/gst/gstbin.c: (GST_START_TEST):
16020         An extra refcount is taken in basesrc.
16021
16022         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16023         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16024         (gst_base_src_loop):
16025         Small cleanups, check for flushing after being unlocked from the 
16026         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16027         Don't send out EOS when going to READY.
16028
16029 2005-10-27  Wim Taymans  <wim@fluendo.com>
16030
16031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16032         (gst_base_sink_get_position):
16033         Some more debug.
16034
16035         * gst/gstbin.c: (message_check), (bin_replace_message),
16036         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16037         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16038         (bin_query_duration_init), (bin_query_duration_fold),
16039         (bin_query_duration_done), (bin_query_generic_fold),
16040         (gst_bin_query):
16041         * tools/gst-launch.c: (main):
16042         Remove old option.
16043
16044 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16045
16046         * examples/controller/audio-example.c: (main):
16047         * examples/queue/queue.c: (event_loop):
16048         * gst/base/gstbasetransform.h:
16049         * gst/gstelement.c: (gst_element_send_event):
16050         * gst/gstevent.h:
16051         * gst/gstpad.c: (gst_pad_send_event):
16052           fixing examples
16053           fixing docs typos
16054           changing log priority in error situations
16055
16056 2005-10-25  Wim Taymans  <wim@fluendo.com>
16057
16058         * gst/gstbin.c: (message_check), (bin_replace_message),
16059         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16060         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16061         (bin_query_duration_init), (bin_query_duration_fold),
16062         (bin_query_duration_done), (bin_query_generic_fold),
16063         (gst_bin_query):
16064         Some doc and debug updates.
16065         Cache previously requested query DURATION for speed. invalidate
16066         cached duration if element posts a DURATION message.
16067
16068 2005-10-25  Wim Taymans  <wim@fluendo.com>
16069
16070         * docs/design/part-TODO.txt:
16071         Update TODO.
16072
16073         * gst/gstbin.c: (message_check), (bin_replace_message),
16074         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16075         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16076         (bin_query_duration_init), (bin_query_duration_fold),
16077         (bin_query_duration_done), (bin_query_generic_fold),
16078         (gst_bin_query):
16079         Handle SEGMENT_START/DONE messages correctly.
16080         More evolved query algorithm that handles duration queries
16081         correctly.
16082
16083         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16084         (gst_element_get_state_func), (gst_element_abort_state),
16085         (gst_element_commit_state), (gst_element_lost_state):
16086         Some more debugging.
16087
16088         * gst/gstmessage.h:
16089         Added doc.
16090
16091 2005-10-25  Wim Taymans  <wim@fluendo.com>
16092
16093         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16094         Don't use invalid stream_time.
16095
16096         * gst/gstevent.c: (gst_event_new_newsegment):
16097         stream_time in newsegment cannot be undefined.
16098
16099 2005-10-24  Wim Taymans  <wim@fluendo.com>
16100
16101         * gst/gstbus.c:
16102         Doc fix.
16103
16104         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16105         (gst_queue_loop):
16106         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16107
16108 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16109
16110         * docs/libs/tmpl/gstdparam.sgml:
16111         * docs/libs/tmpl/gstdplinint.sgml:
16112         * docs/libs/tmpl/gstdpman.sgml:
16113         * docs/libs/tmpl/gstdpsmooth.sgml:
16114         * docs/libs/tmpl/gstunitconvert.sgml:
16115           these are obsolete
16116
16117 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16118
16119         * configure.ac:
16120           back to HEAD
16121
16122 === release 0.9.4 ===
16123
16124 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16125
16126         * configure.ac:
16127           releasing 0.9.4, "Tyrannosaurus Rex"
16128
16129 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16130
16131         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16132         (gst_file_sink_get_current_offset):
16133           Use fseeko() and ftello() if available. When falling back on
16134           lseek() to get the current offset, fflush() first to make sure
16135           everything is up-to-date and we get the right offset.
16136
16137 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16138
16139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16140         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16141         * gst/gsterror.c: (_gst_stream_errors_init):
16142         * gst/gsterror.h:
16143         * gst/gstqueue.c: (gst_queue_loop):
16144         * po/POTFILES.in:
16145           remove prematurely added error category and clean up the instances
16146
16147 2005-10-21  Wim Taymans  <wim@fluendo.com>
16148
16149         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16150         (gst_base_sink_get_position), (gst_base_sink_query),
16151         (gst_base_sink_change_state):
16152         Simply set the right flag when going to playing, that's all
16153         we need to do instead of calling a function inside the object
16154         lock (that could take the lock as well and deadlock)
16155
16156 2005-10-21  Wim Taymans  <wim@fluendo.com>
16157
16158         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16159         (gst_base_src_loop):
16160         Don't warn, the peer element knows what to do best when
16161         the seek failed, it might try something else.
16162
16163 2005-10-21  Wim Taymans  <wim@fluendo.com>
16164
16165         * gst/base/gstbasesrc.c: (gst_base_src_init),
16166         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16167         Fix seeking.
16168
16169 2005-10-21  Wim Taymans  <wim@fluendo.com>
16170
16171         * docs/design/part-segments.txt:
16172         More docs.
16173
16174         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16175         Correctly set caps, even on the subbufer.
16176
16177 2005-10-21  Wim Taymans  <wim@fluendo.com>
16178
16179         * docs/gst/gstreamer-docs.sgml:
16180         * docs/gst/gstreamer-sections.txt:
16181         * gst/gstelement.h:
16182         * gst/gstevent.c:
16183         * gst/gstevent.h:
16184         * gst/gstmessage.h:
16185         * gst/gstpad.h:
16186         * gst/gstparse.h:
16187         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16188         * gst/gsttask.h:
16189         * gst/gstutils.c:
16190         * gst/gstutils.h:
16191         And 2% more doc coverage.
16192
16193 2005-10-21  Andy Wingo  <wingo@pobox.com>
16194
16195         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16196         position reporting.
16197
16198 2005-10-20  Wim Taymans  <wim@fluendo.com>
16199
16200         * gst/gsterror.c: (gst_error_get_message):
16201         * gst/gstparse.h:
16202         * gst/gstquery.h:
16203         * gst/gststructure.c:
16204         * gst/gsttrace.c:
16205         * gst/gstutils.c:
16206         More docs.
16207
16208 2005-10-20  Wim Taymans  <wim@fluendo.com>
16209
16210         * gst/gstbuffer.h:
16211         * gst/gstpad.c:
16212         * gst/gstparse.c:
16213         Another 1% more coverage.
16214
16215 2005-10-20  Wim Taymans  <wim@fluendo.com>
16216
16217         * docs/gst/gstreamer-sections.txt:
16218         * gst/gstelement.c: (gst_element_get_state_func),
16219         (gst_element_abort_state), (gst_element_commit_state),
16220         (gst_element_lost_state):
16221         * gst/gstevent.h:
16222         * gst/gstquery.c: (gst_query_set_position),
16223         (gst_query_parse_position), (gst_query_set_duration),
16224         (gst_query_parse_duration), (gst_query_new_convert):
16225         * gst/gstutils.c:
16226         Yay! 1% more docs coverage.
16227
16228 2005-10-20  Wim Taymans  <wim@fluendo.com>
16229
16230         * gst/gstpad.h:
16231         * gst/gstquery.c: (gst_query_set_position),
16232         (gst_query_parse_position), (gst_query_set_duration),
16233         (gst_query_parse_duration), (gst_query_new_convert):
16234         * gst/gstquery.h:
16235         * gst/gstutils.c: (gst_element_query_convert):
16236         * gst/gstutils.h:
16237         Docs and consistency fixes.
16238
16239 2005-10-20  Wim Taymans  <wim@fluendo.com>
16240
16241         * gst/gsttask.c:
16242         * gst/gsttask.h:
16243         More docs.
16244
16245 2005-10-20  Wim Taymans  <wim@fluendo.com>
16246
16247         * gst/gstbin.c: (message_check), (bin_replace_message),
16248         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16249         (update_degree), (gst_bin_sort_iterator_next),
16250         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16251         Reworked the message handling a bit, cache the messages instead of
16252         only the senders. alows us to do more in the future.
16253
16254 2005-10-20  Wim Taymans  <wim@fluendo.com>
16255
16256         * docs/design/part-TODO.txt:
16257         Update TODO
16258
16259         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16260         (gst_base_sink_query):
16261         Don't use clock time to report position when in EOS.
16262
16263 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16264
16265         * tools/gst-inspect.c: (print_interfaces),
16266         (print_element_properties_info), (print_element_info):
16267           Fix interface output with gst-inspect -a; don't print
16268           newlines after double/float properties.
16269
16270 2005-10-20  Wim Taymans  <wim@fluendo.com>
16271
16272         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16273         (gst_base_sink_query):
16274         Speed up current position calculation.
16275
16276         * gst/base/gstbasesrc.c: (gst_base_src_query),
16277         (gst_base_src_default_newsegment):
16278         Correctly set stream position in newsegment.
16279
16280         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16281         (update_degree), (gst_bin_sort_iterator_next),
16282         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16283         * gst/gstmessage.c: (gst_message_new_custom):
16284         Clean up debugging info
16285
16286         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16287         (gst_queue_loop), (gst_queue_handle_src_query):
16288         Pause task faster.
16289
16290 2005-10-19  Wim Taymans  <wim@fluendo.com>
16291
16292         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16293         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16294         Fix query handling again.
16295
16296 2005-10-19  Wim Taymans  <wim@fluendo.com>
16297
16298         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16299         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16300         * gst/base/gstbasesrc.c: (gst_base_src_query):
16301         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16302         * gst/elements/gsttypefindelement.c:
16303         (gst_type_find_handle_src_query), (find_element_get_length),
16304         (gst_type_find_element_activate):
16305         API change fix.
16306
16307         * gst/gstquery.c: (gst_query_new_position),
16308         (gst_query_set_position), (gst_query_parse_position),
16309         (gst_query_new_duration), (gst_query_set_duration),
16310         (gst_query_parse_duration), (gst_query_set_segment),
16311         (gst_query_parse_segment):
16312         * gst/gstquery.h:
16313         Bundling query position/duration is not a good idea since duration
16314         does not change much and we don't want to recalculate it for every
16315         position query, so they are separated again..
16316         Base value in segment query is not needed.
16317
16318         * gst/gstqueue.c: (gst_queue_handle_src_query):
16319         * gst/gstutils.c: (gst_element_query_position),
16320         (gst_element_query_duration), (gst_pad_query_position),
16321         (gst_pad_query_duration):
16322         * gst/gstutils.h:
16323         Updates for query API change.
16324         Added some docs here and there.
16325
16326 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16327
16328         * check/gst/gstbin.c: (GST_START_TEST):
16329         * check/gst/gstghostpad.c: (GST_START_TEST):
16330         * check/pipelines/cleanup.c: (GST_START_TEST):
16331           wait on thread to die so we can check refcount correctly
16332
16333 2005-10-18  Wim Taymans  <wim@fluendo.com>
16334
16335         * check/pipelines/stress.c: (GST_START_TEST):
16336         Make check a little more time consuming.
16337
16338 2005-10-18  Wim Taymans  <wim@fluendo.com>
16339
16340         * check/Makefile.am:
16341         * check/pipelines/stress.c: (GST_START_TEST),
16342         (simple_launch_lines_suite), (main):
16343         Small state change torture test.
16344
16345         * docs/design/part-states.txt:
16346         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16347         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16348         (gst_base_sink_change_state):
16349         Never take state lock from streaming thread, clean up ugly
16350         hacks. Unfortunatly core does not yet support nice ways to
16351         async commit state.
16352         
16353         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16354         (bin_bus_handler):
16355         Start state recalc if a STATE_DIRTY message is posted, but only
16356         on the toplevel bin.
16357
16358         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16359         (gst_element_get_state_func), (gst_element_abort_state),
16360         (gst_element_commit_state), (gst_element_lost_state),
16361         (gst_element_set_state_func), (gst_element_change_state):
16362         * gst/gstelement.h:
16363         State variables are now protected with the LOCK, the state
16364         lock is only used to serialize _set_state().
16365
16366 2005-10-18  Wim Taymans  <wim@fluendo.com>
16367
16368         * check/gst/gstbin.c: (GST_START_TEST):
16369         * check/gst/gstmessage.c: (GST_START_TEST):
16370         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16372         (bin_bus_handler):
16373         * gst/gstelement.c: (gst_element_abort_state),
16374         (gst_element_commit_state), (gst_element_lost_state):
16375         * gst/gstmessage.c: (gst_message_new_state_changed),
16376         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16377         (gst_message_new_segment_done), (gst_message_new_duration),
16378         (gst_message_parse_state_changed),
16379         (gst_message_parse_segment_start),
16380         (gst_message_parse_segment_done), (gst_message_parse_duration):
16381         * gst/gstmessage.h:
16382         * tools/gst-launch.c: (event_loop):
16383         Seriously, this is better than a previous commit as we only need
16384         to notify the fact that an element changed state in a streaming
16385         thread, marking the state of the parents dirty, hence the 
16386         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16387         message.
16388
16389 2005-10-18  Wim Taymans  <wim@fluendo.com>
16390
16391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16392         (gst_bin_recalc_func):
16393         * gst/gstelement.c: (gst_element_set_clock),
16394         (gst_element_abort_state), (gst_element_lost_state):
16395         Cleanups, prepare for state change fixes.
16396
16397 2005-10-18  Wim Taymans  <wim@fluendo.com>
16398
16399         * gst/gstbin.h:
16400         * gst/gstelement.c: (gst_element_class_init),
16401         (gst_element_set_state), (gst_element_set_state_func):
16402         * gst/gstelement.h:
16403         Pending ABI changes.
16404         GThreadPool in GstBinClass to monitor async state changes.
16405         state_cookie in GstElement to detect concurrent gst/set state.
16406         set_state is now virtual too in case a very complicated element
16407         has to be constructed.
16408
16409 2005-10-18  Wim Taymans  <wim@fluendo.com>
16410
16411         * check/gst/gstbin.c: (GST_START_TEST):
16412         * check/gst/gstmessage.c: (GST_START_TEST):
16413         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16414         * gst/gstbin.c: (bin_bus_handler):
16415         * gst/gstelement.c: (gst_element_commit_state),
16416         (gst_element_lost_state):
16417         * gst/gstmessage.c: (gst_message_new_state_changed),
16418         (gst_message_new_segment_start), (gst_message_new_segment_done),
16419         (gst_message_new_duration), (gst_message_parse_state_changed),
16420         (gst_message_parse_segment_start),
16421         (gst_message_parse_segment_done), (gst_message_parse_duration):
16422         * gst/gstmessage.h:
16423         * tools/gst-launch.c: (event_loop):
16424         Make messages future proof.
16425         state-change gets a flag if it was a message comming from the
16426         streaming thread.
16427         segment-start/stop can also be specified in other formats.
16428         A message to notify an app that a pipeline changed playback 
16429         duration.
16430         Also fix a GstMessage leak in -launch
16431
16432 2005-10-18  Andy Wingo  <wingo@pobox.com>
16433
16434         * gst/gstelement.c (gst_element_dispose): More helpful message.
16435
16436 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16437
16438         reviewed by: <delete if not using a buddy>
16439
16440         * common/gtk-doc.mak:
16441
16442 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16443
16444         * gst/gstregistry.c: (gst_registry_scan_path_level):
16445           unref a plug-in we get that was already initialized
16446
16447 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16448
16449         * docs/gst/gstreamer-sections.txt:
16450         * docs/libs/gstreamer-libs-sections.txt:
16451         * gst/gstelement.h:
16452           add new api entries
16453           hide internal macro
16454
16455 2005-10-17  Andy Wingo  <wingo@pobox.com>
16456
16457         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16458         cleanup.
16459
16460         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16461
16462         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16463
16464         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16465         (gst_element_get_state_func): Better debug message.
16466         (gst_element_commit_state): s/INFO/DEBUG/.
16467         (gst_element_lost_state, gst_element_change_state): 
16468
16469         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16470         (gst_message_new_custom): s/INFO/LOG/.
16471
16472 2005-10-17  Michael Smith <msmith@fluendo.com>
16473
16474         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16475           Check if end time is valid using end time, not start time.
16476
16477 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16478
16479         * check/gst-libs/controller.c: (GST_START_TEST),
16480         (gst_controller_suite):
16481         * libs/gst/controller/gstcontroller.c:
16482         (gst_controlled_property_set_interpolation_mode):
16483         * libs/gst/controller/gstcontroller.h:
16484         * libs/gst/controller/gstinterpolation.c:
16485         * testsuite/controller/.cvsignore:
16486         * testsuite/controller/Makefile.am:
16487         * testsuite/controller/interpolator.c:
16488           merge controller testsuites
16489           fix broken tests
16490           remove mem-chunk from docs
16491
16492 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16493
16494         * gst/gstmemchunk.c:
16495         * gst/gstmemchunk.h:
16496         * gst/gsttrashstack.c:
16497         * gst/gsttrashstack.h:
16498           out.  get out.  you're fired.  to the Attic !
16499
16500 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16501
16502         * gst/gstcaps.c: (gst_caps_intersect):
16503           fix signedness issues in a (hopefully) correct way
16504         * gst/gstelement.c: (gst_element_pads_activate):
16505           some debugging
16506         * gst/gstobject.c: (gst_object_set_parent):
16507           some debugging
16508
16509 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16510
16511         * gst/gstvalue.h: Fix prototypes.
16512
16513 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16514
16515         * docs/gst/gstreamer-sections.txt:
16516         * gst/gst.c: (gst_version_string):
16517         * gst/gst.h:
16518         * gst/gstversion.h.in:
16519         * win32/common/libgstreamer.def:
16520           add gst_version_string ()
16521
16522 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16523
16524         * configure.ac:
16525           clean up further
16526         * gst/gst.c: (init_post):
16527         * win32/common/config.h.in:
16528           it's PLUGINDIR now
16529         * gst/gstcaps.c: (gst_caps_intersect):
16530           use gint64, the range could be bigger than a guint
16531
16532 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16533
16534         * gst/gstclock.h:
16535           document potential problem in 2038
16536
16537 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16538
16539         * gst/gstcaps.c: (gst_caps_intersect):
16540           Fix guint j diving under 0
16541
16542 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16543
16544         * configure.ac:
16545         * win32/common/config.h:
16546         * win32/common/config.h.in:
16547           check for process.h, declares getpid() on Windows
16548         * gst/gstinfo.c:
16549           include process.h if we have it
16550         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16551         * gst/gstmemchunk.h:
16552           fix signedness issues
16553         * win32/common/libgstreamer.def:
16554           fix get_type's
16555
16556 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16557
16558         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16559         fix. Because of unsigned ints, caps intersection was going nuts and
16560         trying to access structures with G_MAXUINT index. That fixes
16561         videotestsrc ! ffmpegcolorspace ! fakesink
16562         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16563         consistency.
16564
16565 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16566
16567         * configure.ac:
16568           use the gettext macro
16569         * gst/elements/gstelements.c:
16570         * gst/gst.c:
16571         * gst/indexers/gstindexers.c:
16572           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16573         * win32/common/config.h:
16574           updated config.h
16575         * win32/common/config.h.in:
16576           add the template to generate config.h
16577         * win32/common/gstenumtypes.c:
16578         * win32/common/gstversion.h:
16579           updated copies
16580
16581 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16582
16583         * gst/gst.c: (gst_version):
16584         * gst/gstversion.h.in:
16585           add the nano
16586
16587 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16588
16589         * gst/gstevent.h:
16590           Oops, add missing closing bracket.
16591
16592 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16593
16594         * configure.ac:
16595           use common m4's for argument checking
16596
16597 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16598
16599         * docs/gst/gstreamer-sections.txt:
16600         * gst/gstevent.h:
16601           Add GST_EVENT_TYPE_NAME() macro.
16602
16603 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16604
16605         * gst/gstinfo.c:
16606         * gst/gstpluginfeature.c:
16607         * gst/gsttask.c:
16608           privatize more symbols
16609
16610 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16611
16612         * configure.ac:
16613           add srcdir, builddir includes to GST_ALL_CFLAGS, since
16614           everything that uses GStreamer API should have the includes
16615
16616 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16617
16618         * docs/gst/gstreamer-sections.txt:
16619         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16620         * gst/gstvalue.h:
16621           give each value a _get_type, removes the DATA exports
16622
16623 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16624
16625         * gst/gst.c:
16626         * gst/gst.h:
16627           remove _gst_registry_auto_load, not used anymore
16628         * gst/gstbin.c: (gst_bin_get_type):
16629         * gst/gstbin.h:
16630         * gst/gstelement.c: (gst_element_get_type):
16631         * gst/gstelement.h:
16632         * gst/gstobject.c: (gst_object_get_type):
16633         * gst/gstobject.h:
16634         * gst/gstpad.c: (gst_pad_get_type):
16635         * gst/gstpad.h:
16636           make _get_type functions similar, fixes data export from library
16637
16638 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16639
16640         * configure.ac:
16641           correctly make conditionals
16642         * gst/elements/Makefile.am:
16643         * gst/elements/gstelements.c:
16644           fix typo causing fdsrc not to build
16645
16646 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16647
16648         * testsuite/Makefile.am:
16649         * testsuite/bytestream/.cvsignore:
16650         * testsuite/bytestream/Makefile.am:
16651         * testsuite/bytestream/filepadsink.c:
16652         * testsuite/bytestream/gstbstest.c:
16653         * testsuite/bytestream/test1.c:
16654         * testsuite/bytestream/testfile1:
16655         * testsuite/caps/normalisation.c:
16656         * testsuite/caps/random.c: (main):
16657         * testsuite/cleanup/.cvsignore:
16658         * testsuite/cleanup/Makefile.am:
16659         * testsuite/cleanup/cleanup1.c:
16660         * testsuite/cleanup/cleanup2.c:
16661         * testsuite/cleanup/cleanup3.c:
16662         * testsuite/cleanup/cleanup4.c:
16663         * testsuite/cleanup/cleanup5.c:
16664         * testsuite/controller/interpolator.c:
16665         * testsuite/debug/printf_extension.c: (main):
16666         * testsuite/elements/tee.c:
16667         * testsuite/negotiation/.cvsignore:
16668         * testsuite/negotiation/Makefile.am:
16669         * testsuite/negotiation/pad_link.c:
16670         * testsuite/pad/Makefile.am:
16671         * testsuite/pad/chainnopull.c:
16672         * testsuite/pad/getnopush.c:
16673         * testsuite/pad/link.c:
16674         * testsuite/refcounting/sched.c: (create_pipeline):
16675         * testsuite/registry/Makefile.am:
16676         * testsuite/registry/gst-print-formats.c:
16677         * testsuite/schedulers/.cvsignore:
16678         * testsuite/schedulers/142183-2.c:
16679         * testsuite/schedulers/142183.c:
16680         * testsuite/schedulers/143777-2.c:
16681         * testsuite/schedulers/143777.c:
16682         * testsuite/schedulers/147713.c:
16683         * testsuite/schedulers/147819.c:
16684         * testsuite/schedulers/147894-2.c:
16685         * testsuite/schedulers/147894.c:
16686         * testsuite/schedulers/Makefile.am:
16687         * testsuite/schedulers/group_link.c:
16688         * testsuite/schedulers/queue_link.c:
16689         * testsuite/schedulers/relink.c:
16690         * testsuite/schedulers/unlink.c:
16691         * testsuite/schedulers/unref.c:
16692         * testsuite/schedulers/useless_iteration.c:
16693         * testsuite/states/bin.c:
16694           clean out/remove some stuff from the testsuite directories
16695
16696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16697
16698         * configure.ac:
16699           check for some headers
16700         * gst/elements/Makefile.am:
16701         * gst/elements/gstelements.c:
16702           don't compile fdsrc without sys/socket.h
16703         * gst/indexers/Makefile.am:
16704         * gst/indexers/gstindexers.c: (plugin_init):
16705           don't compile fileindex without mmap
16706
16707 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16708
16709         * configure.ac:
16710           reorganize
16711           clean up
16712           document more
16713           remove cruft
16714         * check/Makefile.am:
16715         * docs/gst/Makefile.am:
16716         * examples/helloworld/Makefile.am:
16717         * gst/Makefile.am:
16718         * gst/base/Makefile.am:
16719         * gst/check/Makefile.am:
16720         * gst/elements/Makefile.am:
16721         * gst/indexers/Makefile.am:
16722         * gst/parse/Makefile.am:
16723         * libs/gst/controller/Makefile.am:
16724         * libs/gst/dataprotocol/Makefile.am:
16725         * examples/helloworld/helloworld.c: (event_loop):
16726           compile fixes, though it's not being compiled currently
16727
16728 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16729
16730         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16731           Add some simple tests for the new taglist date API.
16732
16733 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16734
16735         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16736         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16737           Beautify 'last-message' output: print 'none' for buffer timestamps
16738           and durations if none is set; improve alignment with next messages.
16739
16740 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16741
16742         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16743         * gst/gstpluginfeature.h:
16744         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16745         * gst/gstregistry.h:
16746         * docs/gst/gstreamer-sections.txt:
16747           Add new API to check plugin feature version requirements.
16748
16749         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16750           Some basic tests for the above.         
16751
16752 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16753
16754         * gst/gststructure.c: (gst_structure_to_string):
16755           guard against NULL printf - happens when for example
16756           a message structure with GstClock gets serialized
16757
16758 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16759
16760         * gst/base/gstcollectpads.c: (gst_collectpads_event):
16761           Fix presumable copy'n'pasto.
16762
16763 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16764
16765         * gst/elements/gstfakesrc.h:
16766         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16767         * gst/elements/gsttypefindelement.c:
16768           fix some signedness
16769         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16770           I wonder if this could actually write +2GB files before
16771
16772 2005-10-13  Andy Wingo  <wingo@pobox.com>
16773
16774         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16775         Fix Timmeke Waymans bug.
16776         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16777         string of the proper length to gst_caps_from_string. There's a
16778         potential for, before this fix, that this could cause someone
16779         connecting over the network to cause a segfault if the payload is
16780         not NUL-terminated.
16781
16782 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16783
16784         * docs/design/draft-push-pull.txt:
16785         * docs/design/part-overview.txt:
16786         * docs/random/TODO-pre-0.9:
16787         * docs/random/old/ChangeLog.gstreamer:
16788         * gst/base/gstpushsrc.c:
16789         * gst/gstclock.c:
16790           fixed typos
16791
16792 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16793
16794         * gst/glib-compat.c: (gst_flags_get_first_value):
16795         * gst/glib-compat.h:
16796         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16797         (gst_value_compare_double), (gst_value_serialize_flags):
16798           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16799           infinite loop
16800
16801 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16802
16803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16804         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16805           fix up debugging
16806         * tools/gst-launch.c: (event_loop):
16807           print out clock nicely
16808
16809 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16810
16811         * docs/gst/gstreamer-sections.txt:
16812         * gst/gsttaglist.h:
16813         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16814         (gst_tag_list_get_date_index):
16815           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16816           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16817
16818 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16819
16820         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16821         (gst_collectpads_chain):
16822         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16823         in CollectData.
16824
16825 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16826
16827         * docs/gst/gstreamer-sections.txt:
16828         * gst/gst.c:
16829         * gst/gsterror.h:
16830         * tools/gst-inspect.c: (main):
16831         * tools/gst-launch.c: (main):
16832         * tools/gst-run.c: (main):
16833         * tools/gst-xmlinspect.c: (main):
16834           fix GOption context leaks
16835           doc fixes
16836
16837 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16838
16839         * gst/gstbus.c:
16840           use HAVE_UNISTD_H
16841         * win32/common/config.h:
16842           update config
16843         * win32/vs6/grammar.dsp:
16844         * win32/vs6/libgstelements.dsp:
16845         * win32/vs6/libgstreamer.dsp:
16846           update vs6 files
16847
16848 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16849
16850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16851         * gst/base/gstbasesrc.c: (gst_base_src_query):
16852           fix more guint64<->gdouble conversions
16853
16854 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16855
16856         * Makefile.am:
16857           add win32-update target
16858         * win32/common/gstconfig.h:
16859         * win32/common/gstenumtypes.c:
16860         * win32/common/gstenumtypes.h:
16861         * win32/common/gstversion.h:
16862           add files that visual studio can't generate
16863
16864 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16865
16866         * Makefile.am:
16867           add a win32-update target
16868         * configure.ac:
16869
16870 2005-10-12  Wim Taymans  <wim@fluendo.com>
16871
16872         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16873         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16874         * gst/gstelement.c: (gst_element_commit_state),
16875         (gst_element_set_state):
16876         Protect flags with proper lock.
16877         unref provided cached clock in dispose.
16878
16879 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16880
16881         * gst/gst.c:
16882         * gst/gstminiobject.h:
16883         * gst/gstpad.h:
16884         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16885           removed unused flags from miniobject
16886           doc fixes
16887
16888 2005-10-12  Wim Taymans  <wim@fluendo.com>
16889
16890         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16891         (gst_file_sink_event), (gst_file_sink_render):
16892         Flush before seeking.
16893
16894 2005-10-12  Andy Wingo  <wingo@pobox.com>
16895
16896         * gst/gst.c (gst_init_check): Ignore unknown options, as has
16897         always been the case.
16898
16899 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16900
16901         * check/gst/gstbin.c: (GST_START_TEST):
16902         * docs/gst/gstreamer-sections.txt:
16903         * gst/base/gstbasesink.c: (gst_base_sink_init):
16904         * gst/base/gstbasesrc.c: (gst_base_src_init),
16905         (gst_base_src_get_range), (gst_base_src_check_get_range),
16906         (gst_base_src_start), (gst_base_src_stop):
16907         * gst/base/gstbasesrc.h:
16908         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16909         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16910         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16911         (bin_bus_handler):
16912         * gst/gstbin.h:
16913         * gst/gstbuffer.h:
16914         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16915         * gst/gstbus.h:
16916         * gst/gstelement.c: (gst_element_is_locked_state),
16917         (gst_element_set_locked_state), (gst_element_commit_state),
16918         (gst_element_set_state):
16919         * gst/gstelement.h:
16920         * gst/gstindex.c: (gst_index_init):
16921         * gst/gstindex.h:
16922         * gst/gstminiobject.h:
16923         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16924         (gst_object_set_parent):
16925         * gst/gstobject.h:
16926         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16927         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16928         * gst/gstpad.h:
16929         * gst/gstpadtemplate.h:
16930         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
16931         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16932         * gst/gstpipeline.h:
16933         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16934         (gst_file_index_commit):
16935         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
16936         * testsuite/pad/link.c: (gst_test_src_init),
16937         (gst_test_filter_init), (gst_test_sink_init):
16938         * testsuite/states/locked.c: (main):
16939           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
16940           moved bitshift from macro to enum definition
16941
16942 2005-10-12  Wim Taymans  <wim@fluendo.com>
16943
16944         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
16945         * gst/elements/gstfilesink.c: (gst_file_sink_event),
16946         (gst_file_sink_render):
16947         Some more debugging info.
16948
16949 2005-10-12  Wim Taymans  <wim@fluendo.com>
16950
16951         * docs/design/part-states.txt:
16952         * tools/gst-launch.c: (main):
16953         Some doc updates.
16954         Revert non-intentional change.
16955
16956 2005-10-12  Wim Taymans  <wim@fluendo.com>
16957
16958         * check/gst/gstbin.c: (GST_START_TEST):
16959         * check/gst/gstelement.c: (GST_START_TEST):
16960         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
16961         * check/gst/gstghostpad.c: (GST_START_TEST):
16962         * check/gst/gstpipeline.c: (GST_START_TEST):
16963         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16964         * check/states/sinks.c: (GST_START_TEST):
16965         * gst/elements/gsttypefindelement.c: (stop_typefinding):
16966         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16967         (gst_bin_remove_func), (gst_bin_get_state_func),
16968         (gst_bin_recalc_state), (gst_bin_change_state_func),
16969         (bin_bus_handler):
16970         * gst/gstelement.c: (gst_element_get_state_func),
16971         (gst_element_get_state), (gst_element_abort_state),
16972         (gst_element_commit_state), (gst_element_set_state),
16973         (gst_element_change_state), (gst_element_change_state_func):
16974         * gst/gstelement.h:
16975         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
16976         (gst_pipeline_provide_clock_func):
16977         * gst/gstutils.c: (gst_element_link_pads_filtered):
16978         * tools/gst-launch.c: (main):
16979         * tools/gst-typefind.c: (main):
16980         Use GstClockTime in _get_state() instead of GTimeVal.
16981         Remove old code in gstutils.c
16982
16983 2005-10-12  Andy Wingo  <wingo@pobox.com>
16984
16985         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
16986         removed.
16987
16988         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
16989         there is no task. Shouldn't affect any code, as nothing in our
16990         plugins checks this return value.
16991         (gst_pad_stop_task): Also take the stream lock if the pad has no
16992         task. Docs updated.
16993
16994 2005-10-12  Wim Taymans  <wim@fluendo.com>
16995
16996         * gst/gstpad.c: (pre_activate), (post_activate),
16997         (gst_pad_activate_pull), (gst_pad_activate_push):
16998         Cleanup activation code. Reset old state if
16999         activation failed.
17000
17001 2005-10-12  Wim Taymans  <wim@fluendo.com>
17002
17003         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17004         (gst_base_sink_change_state):
17005         No need to prerol after receiving EOS.
17006
17007         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17008         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17009         * gst/elements/gstidentity.c: (gst_identity_event):
17010         Print events more verbosely.
17011
17012 2005-10-12  Wim Taymans  <wim@fluendo.com>
17013
17014         * check/Makefile.am:
17015         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17016         * check/states/sinks2.c:
17017         Moved sinks2 testcode in sinks check.
17018
17019         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17020         (gst_bin_remove_func), (gst_bin_recalc_state),
17021         (gst_bin_change_state_func), (bin_bus_handler):
17022         Fix potential race condition when _get_state() iterated over an
17023         ASYNC element right before it posted a state completion.
17024
17025         * gst/gstclock.h:
17026         Do proper cast here.
17027
17028         * gst/gstevent.c: (gst_event_new_newsegment),
17029         (gst_event_parse_newsegment):
17030         A playback rate of 0.0 is not allowed.
17031
17032 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17033
17034         * win32/common/config.h:
17035         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17036         (_trewinddir), (_ttelldir), (_tseekdir):
17037         * win32/common/dirent.h:
17038         * win32/common/gtchar.h:
17039         * win32/common/libgstbase.def:
17040         * win32/common/libgstreamer.def:
17041         * win32/vs6/grammar.dsp:
17042         * win32/vs6/gst_inspect.dsp:
17043         * win32/vs6/gst_launch.dsp:
17044         * win32/vs6/gstreamer.dsw:
17045         * win32/vs6/libgstbase.dsp:
17046         * win32/vs6/libgstelements.dsp:
17047         * win32/vs6/libgstreamer.dsp:
17048           Visual Studio 6 project files, and a new common directory.
17049           Phear.
17050
17051 2005-10-11  Wim Taymans  <wim@fluendo.com>
17052
17053         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17054         (gst_base_sink_do_sync), (gst_base_sink_query),
17055         (gst_base_sink_change_state):
17056         * gst/base/gstbasesink.h:
17057         Correctly parse newsegment info.
17058
17059 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17060
17061         * gst/gst.c: (init_post):
17062           split plugin paths correctly
17063
17064 2005-10-11  Wim Taymans  <wim@fluendo.com>
17065
17066         * check/gst/gstevent.c: (GST_START_TEST):
17067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17068         (gst_base_sink_change_state):
17069         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17070         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17071         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17072         * gst/gstevent.c: (gst_event_new_newsegment),
17073         (gst_event_parse_newsegment):
17074         * gst/gstevent.h:
17075         Added extra flag to newsegment for future API freeze.
17076         Updated check and base elements.
17077
17078 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17079
17080         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17081         (gst_collectpads_add_pad), (gst_collectpads_pop),
17082         (gst_collectpads_event), (gst_collectpads_chain):
17083         * gst/base/gstcollectpads.h: Handle EOS correctly.
17084
17085 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17086
17087         * tools/gst-launch.c: (main):
17088           more null protecting
17089
17090 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17091
17092         * gst/gst-i18n-lib.h:
17093           check for ENABLE_NLS, not GETTEXT_PACKAGE
17094         * gst/gstregistry.c: (gst_registry_add_plugin),
17095         (gst_registry_scan_path_level),
17096         (_gst_registry_remove_cache_plugins):
17097           protect possibly NULL strings
17098         * gst/parse/types.h:
17099           config.h already included before
17100         * tools/gst-inspect.c: (main):
17101           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17102           check for ENABLE_NLS, not GETTEXT_PACKAGE
17103         * tools/gst-launch.c: (main):
17104           check for ENABLE_NLS, not GETTEXT_PACKAGE
17105
17106 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17107
17108         * configure.ac:
17109           if we don't have glib, fail before testing 2.8
17110         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17111           fix a leak, should fix plugins-base testsuite
17112
17113 2005-10-11  Andy Wingo  <wingo@pobox.com>
17114
17115         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17116         take the mode we're going to as an arg. Go head and set the mode
17117         and flushing flags now, so that if the activate function starts a
17118         thread all the flags will be in the right state.
17119         (post_activate): Renamed also. Just handle making sure streaming
17120         finishes for the deactivation case, and setting the deactivated
17121         mode.
17122         (gst_pad_set_active): Complain loudly if deactivation fails.
17123         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17124         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17125         remove the terrible hack.
17126
17127 2005-10-11  Wim Taymans  <wim@fluendo.com>
17128
17129         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17130         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17131         (gst_bin_recalc_state), (gst_bin_change_state_func),
17132         (gst_bin_dispose), (bin_bus_handler):
17133         * gst/gstbin.h:
17134         Prepare to make current EOS message queue more generic.
17135         Fix some typos.
17136
17137         * gst/gstevent.c: (gst_event_new_newsegment),
17138         (gst_event_parse_newsegment):
17139         * gst/gstevent.h:
17140         Rename base to stream_time.
17141
17142         * gst/gstmessage.h:
17143         Fix typo in docs.
17144
17145 2005-10-11  Wim Taymans  <wim@fluendo.com>
17146
17147         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17148         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17149         (gst_bin_change_state_func), (bin_bus_handler):
17150         * gst/gstbin.h:
17151         Work on proper clock selection.
17152
17153 2005-10-11  Edward Hervey  <edward@fluendo.com>
17154
17155         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17156         * libs/gst/controller/gstcontroller.h:
17157         Added GList* version of _remove_properties() in order to be able to wrap
17158         it in bindings.
17159
17160 2005-10-11  Wim Taymans  <wim@fluendo.com>
17161
17162         * docs/design/part-states.txt:
17163         Some more docs.
17164
17165         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17166         (gst_bin_change_state_func), (bin_bus_handler):
17167         Doc updates. Don't distribute the same clock over and over again.
17168
17169         * gst/gstclock.c:
17170         * gst/gstclock.h:
17171         Doc updates.
17172
17173         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17174         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17175         (gst_pad_send_event):
17176         * gst/gstpad.h:
17177         Make probe emission threadsafe again.
17178         Register quarks and move _get_name() from utils.
17179         Doc updates.
17180
17181         * gst/gstpipeline.c: (gst_pipeline_class_init),
17182         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17183         Only redistribute the clock of it changed.
17184
17185         * gst/gstsystemclock.h:
17186         Doc updates. 
17187
17188         * gst/gstutils.c:
17189         * gst/gstutils.h:
17190         Moved the _flow_get_name() to GstPad.
17191
17192 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17193
17194         * check/gst-libs/gdp.c: (GST_START_TEST):
17195         * check/gst/gstcaps.c: (GST_START_TEST):
17196         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17197         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17198         (gst_dp_packet_from_caps):
17199           fix more valgrind warnings before turning up the heat
17200
17201 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17202
17203         * gst/parse/grammar.y:
17204           some cleanup before the hacking
17205
17206 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17207
17208         * gst/base/gstbasesrc.c: (gst_base_src_query):
17209           use conversions
17210         * gst/gstutils.c: (gst_guint64_to_gdouble),
17211         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17212         * gst/gstutils.h:
17213           externalize, basesrc uses it
17214           obviously the implementation needs testing
17215
17216 2005-10-10  Wim Taymans  <wim@fluendo.com>
17217
17218         * tests/sched/Makefile.am:
17219         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17220         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17221
17222 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17223
17224         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17225           apparently converting from guint64 to double is not implemented
17226           on MSVC
17227
17228 2005-10-10  Wim Taymans  <wim@fluendo.com>
17229
17230         * check/Makefile.am:
17231         * check/generic/states.c: (GST_START_TEST):
17232         * check/gst/gstbin.c: (GST_START_TEST):
17233         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17234         * check/states/sinks.c: (GST_START_TEST):
17235         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17236         (main):
17237         Check fixes, use API as stated in design docs, remove hacks.
17238
17239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17240         (gst_base_sink_change_state):
17241         Catch stopping our task while we're shutting down.
17242
17243         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17244         (gst_bin_remove_func), (gst_bin_get_state_func),
17245         (gst_bin_recalc_state), (gst_bin_change_state_func),
17246         (bin_bus_handler):
17247         * gst/gstbin.h:
17248         * gst/gstelement.c: (gst_element_init),
17249         (gst_element_get_state_func), (gst_element_abort_state),
17250         (gst_element_commit_state), (gst_element_lost_state),
17251         (gst_element_set_state), (gst_element_change_state),
17252         (gst_element_change_state_func):
17253         * gst/gstelement.h:
17254         New state change algorithm (see #318116)
17255
17256         * gst/gstpipeline.c: (gst_pipeline_class_init),
17257         (gst_pipeline_init), (gst_pipeline_set_property),
17258         (gst_pipeline_get_property), (do_pipeline_seek),
17259         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17260         * gst/gstpipeline.h:
17261         Remove crude state change hacks.
17262
17263         * gst/gstutils.h:
17264         Remove crude hacks.
17265
17266         * tools/gst-launch.c: (main):
17267         Fixes for state change. Needs some more work to fully use the
17268         new stuff.
17269
17270 2005-10-10  Andy Wingo  <wingo@pobox.com>
17271
17272         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17273
17274         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17275         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17276         issue.
17277
17278 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17279
17280         * gst/gstiterator.c: (gst_iterator_new):
17281           Fix my previous commit: GTypes passed to gst_iterator_new()
17282           can be fundamental types.
17283
17284 2005-10-10  Wim Taymans  <wim@fluendo.com>
17285
17286         * gst/gstelement.c: (gst_element_iterate_pad_list),
17287         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17288         (gst_element_iterate_sink_pads):
17289         Use src/sink pads lists for the respective iterators instead
17290         of filtering.
17291
17292 2005-10-10  Andy Wingo  <wingo@pobox.com>
17293
17294         Merged in popt removal + GOption addition patch from Ronald, bug
17295         #169772.
17296
17297         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17298         GstElement macros around, remove popt-related symbols, add goption
17299         stuff.
17300
17301         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17302         
17303         * docs/gst/Makefile.am:
17304         * docs/libs/Makefile.am: No POPT_CFLAGS.
17305         
17306         * examples/manual/Makefile.am:
17307         * docs/manual/basics-init.xml: Doc updates with an example.
17308         
17309         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17310         (gst_init), (parse_one_option), (parse_goption_arg):
17311         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17312         bit of hand merging and debugging to get the GOption stuff working
17313         tho.
17314         
17315         * tests/Makefile.am:
17316         * tools/Makefile.am:
17317         * tools/gst-inspect.c: (main):
17318         * tools/gst-launch.c: (main):
17319         * tools/gst-run.c: (main):
17320         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17321
17322 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17323
17324         * gst/gstiterator.c: (gst_iterator_new):
17325           Add assertions to make sure passed GType is likely to really
17326           be a GType (as the compiler won't catch it if the size and
17327           GType arguments get mixed up, see #318447).
17328
17329 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17330
17331         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17332
17333         * gst/gstbin.c: (gst_bin_iterate_sorted):
17334           Pass GType and size arguments to gst_iterator_new() in the right
17335           order (maybe we should make _new() take the GType as first argument
17336           just like _new_list()?) (#318447).
17337           
17338
17339 2005-10-10  Wim Taymans  <wim@fluendo.com>
17340
17341         * gst/gstelement.c: (gst_element_finalize):
17342         And free the GStaticRecMutex too
17343
17344 2005-10-10  Andy Wingo  <wingo@pobox.com>
17345
17346         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17347         Allocate and free the mutex properly.
17348
17349         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17350         New macros.
17351         (GstElement): The state_lock is now recursive. Rebuild your
17352         plugins, suckers. Old macros adapted.
17353
17354         * docs/gst/gstreamer-sections.txt: Doc updates.
17355
17356         * gst/gstutils.h:
17357         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17358         (g_static_rec_cond_wait): Ported from state changes patch, while
17359         we wait on bug #317802 to be solved in a well-distributed GLib.
17360
17361         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17362         gst_element_change_state, variable name changes.
17363         (gst_element_change_state): Split out of gst_element_set_state in
17364         preparation for the state change merge. Doesn't pay attention to
17365         the 'transition' argument.
17366         (gst_element_set_state): Updates, hopefully purely cosmetic.
17367         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17368         state change patch.
17369         (gst_element_get_state_func): Renamed from get_state, cosmetic
17370         changes.
17371
17372 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17373
17374         * gst/elements/gstelements.c:
17375         * win32/GStreamer.vcproj:
17376         * win32/config.h:
17377         * win32/dirent.c: (_tseekdir):
17378         * win32/gst-inspect.vcproj:
17379         * win32/gst-launch.vcproj:
17380         * win32/gstconfig.h:
17381         * win32/gstelements.vcproj:
17382         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17383         * win32/gstreamer.def:
17384         * win32/msvc71.sln:
17385           updates for the win32 build (patch from Sebastien Moutte)
17386
17387 2005-10-10  Andy Wingo  <wingo@pobox.com>
17388
17389         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17390         gst_bin_get_state, cleaned up (but no logic changes).
17391         (bin_element_is_sink): Comment updates.
17392         (sink_iterator_filter): Remove needless cast.
17393         (gst_bin_iterate_sinks): Doc update.
17394         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17395         cleaned up (but no logic changes).
17396
17397         * check/states/sinks.c (test_src_sink): Cleanups from the state
17398         change patch.
17399         (test_livesrc_sink): Sync on the state.
17400
17401         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17402         the state change patch.
17403
17404         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17405         change patch.
17406
17407         * check/gst/gstbin.c: Merge in some style fixes and additional
17408         checks from Wim's state change patch.
17409
17410 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17411
17412         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17413         (gst_type_find_helper):
17414           Check whether we have the requested data already in our list of
17415           cached buffers before pulling a new buffer; also make the buffer
17416           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17417
17418 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17419
17420         * gst/gstcaps.c:
17421         * gst/gstevent.c:
17422           doc updates
17423         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17424           don't use long long, it's not portable.  Replacing with
17425           gint64 seems to work; let's hope no skeletons fall out of the closet.
17426
17427 2005-10-10  Andy Wingo  <wingo@pobox.com>
17428
17429         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17430
17431 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17432
17433         * docs/gst/gstreamer-sections.txt:
17434         * gst/gstevent.c:
17435         * gst/gstevent.h:
17436         * gst/gstinfo.c:
17437         * gst/gstinfo.h:
17438         * gst/gstmessage.c: (gst_message_parse_state_changed):
17439         * gst/gstpad.c:
17440         * gst/gstpad.h:
17441           more docs, fix compilation
17442
17443 2005-10-09  Philippe Khalaf <burger@speedy.org>
17444         * gst/gstmessage.c:
17445           Fixed a few forgotten variables on previous commit
17446
17447 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17448
17449         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17450           Fix evil typefind crasher: getrange() might return a short
17451           buffer at the end of a file, but gst_type_find_peek() must
17452           either return the full data as requested or NULL, but
17453           never a short buffer.
17454
17455 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17456
17457         * gst/gstmessage.c: (gst_message_new_state_changed),
17458         (gst_message_parse_state_changed):
17459         * gst/gstmessage.h:
17460           don't use "new", it's a C++ keyword
17461
17462 2005-10-08  Wim Taymans  <wim@fluendo.com>
17463
17464         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17465         * gst/gstelement.c: (gst_element_post_message):
17466         * gst/gstpipeline.c: (gst_pipeline_change_state):
17467         Small docs and debug updates.
17468
17469 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17470
17471         * docs/gst/gstreamer-sections.txt:
17472         * gst/gstelementfactory.c:
17473         * gst/gstevent.c:
17474         * gst/gsttaglist.c:
17475           more docs
17476
17477 2005-10-08  Wim Taymans  <wim@fluendo.com>
17478
17479         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17480         (gst_bin_dispose), (bin_bus_handler):
17481         Fix typos, add comments.
17482         Clear EOS list when going to PAUSED from any direction and do it
17483         in a threadsafe way.
17484         Get base time in a threadsafe way too.
17485         Fix confusing debug in the change_state function.
17486         Various other small cleanups.
17487         
17488         * gst/gstelement.c: (gst_element_post_message):
17489         Fix very verbose bus posting code.
17490
17491         * gst/gstpipeline.c: (gst_pipeline_class_init),
17492         (gst_pipeline_set_property), (gst_pipeline_get_property),
17493         (gst_pipeline_change_state):
17494         Small ARG_ -> PROP_ cleanup
17495
17496 2005-10-08  Wim Taymans  <wim@fluendo.com>
17497
17498         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17499         Do a less CPU demanding EOS check because we can.
17500
17501 2005-10-08  Wim Taymans  <wim@fluendo.com>
17502
17503         * libs/gst/dataprotocol/dataprotocol.c:
17504         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17505         (gst_dp_packet_from_event):
17506         * libs/gst/dataprotocol/dataprotocol.h:
17507         * libs/gst/dataprotocol/dp-private.h:
17508         It's about time we bump the version number.
17509         Since event types don't fit in the guint8 anymore describing
17510         the payload type, make payload type 16 bits wide.
17511
17512 2005-10-08  Wim Taymans  <wim@fluendo.com>
17513
17514         * docs/design/part-TODO.txt:
17515         * docs/design/part-clocks.txt:
17516         * docs/design/part-events.txt:
17517         * docs/design/part-gstbin.txt:
17518         * docs/design/part-gstelement.txt:
17519         * docs/design/part-gstpipeline.txt:
17520         * docs/design/part-live-source.txt:
17521         * docs/design/part-messages.txt:
17522         * docs/design/part-overview.txt:
17523         * docs/design/part-states.txt:
17524         Many doc updates.
17525
17526 2005-10-08  Wim Taymans  <wim@fluendo.com>
17527
17528         * gst/gstevent.c:
17529         * gst/gstevent.h:
17530         Fix event quark registration.
17531         Add some space between events so we can insert them in the
17532         right groups.
17533
17534 2005-10-08  Wim Taymans  <wim@fluendo.com>
17535
17536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17537         (gst_base_sink_handle_buffer):
17538         Better log message.
17539
17540         * gst/gstbus.h:
17541         * gst/gstelement.h:
17542         More docs.
17543
17544         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17545         (gst_queue_set_property), (gst_queue_get_property):
17546         * gst/gstqueue.h:
17547         Remove old unused properties.
17548
17549 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17550         * docs/gst/gstreamer-sections.txt:
17551         * gst/gstmessage.c:
17552         * gst/gstmessage.h:
17553         * gst/gstminiobject.c:
17554         * gst/gstminiobject.h:
17555         * gst/gstobject.h:
17556         * gst/gstpad.h:
17557         * gst/gstutils.h:
17558           lots of new docs and doc fixes
17559
17560 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17561
17562         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17563         * gst/gstplugin.h:
17564         * gst/gstregistry.c: (gst_registry_lookup_locked),
17565         (gst_registry_scan_path_level):
17566         * gst/gstregistryxml.c: (load_plugin):
17567           Only ever load one plugin for a given plugin basename.
17568           This ensures correct overriding of GST_PLUGIN_PATH over
17569           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17570           system installed plugins.
17571
17572 2005-10-08  Wim Taymans  <wim@fluendo.com>
17573
17574         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17575         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17576         Prepare for doing QOS.
17577
17578 2005-10-08  Wim Taymans  <wim@fluendo.com>
17579
17580         * check/gst/gstbin.c: (GST_START_TEST):
17581         * check/pipelines/cleanup.c: (GST_START_TEST):
17582         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17583         Allow new clock message too.
17584
17585 2005-10-08  Wim Taymans  <wim@fluendo.com>
17586
17587         * gst/gstmessage.c: (gst_message_new_error),
17588         (gst_message_new_warning), (gst_message_new_tag),
17589         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17590         (gst_message_new_clock_lost), (gst_message_new_new_clock),
17591         (gst_message_new_segment_start), (gst_message_new_segment_done),
17592         (gst_message_parse_state_changed),
17593         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17594         (gst_message_parse_new_clock):
17595         * gst/gstmessage.h:
17596         Also carry the clock in question.
17597
17598 2005-10-08  Wim Taymans  <wim@fluendo.com>
17599
17600         * gst/gstmessage.c: (gst_message_new_custom),
17601         (gst_message_new_eos), (gst_message_new_error),
17602         (gst_message_new_warning), (gst_message_new_tag),
17603         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17604         (gst_message_new_new_clock), (gst_message_new_segment_start),
17605         (gst_message_new_segment_done), (gst_message_parse_state_changed),
17606         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17607         * gst/gstmessage.h:
17608         Clean up.
17609         Added clock related messages.
17610
17611         * gst/gstpipeline.c: (gst_pipeline_change_state):
17612         Post message when the clock changed.
17613
17614         * tools/gst-launch.c: (event_loop):
17615         Print new clock.
17616
17617 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
17618
17619         * tools/gst-inspect.c: (print_element_properties_info):
17620           Can't pass NULL strings to g_print() on windows.
17621
17622 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17623
17624         * docs/Makefile.am:
17625         * docs/gst/Makefile.am:
17626         * docs/gst/gstreamer-docs.sgml:
17627         * docs/gst/running.xml:
17628         * docs/version.entities.in:
17629           add a chapter on running GStreamer.
17630           document GST_DEBUG and GST_PLUGIN* env vars
17631
17632 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17633
17634         * Makefile.am:
17635           remove include dir
17636         * configure.ac:
17637           remove PLUGINS_BUILDDIR stuff
17638         * gst/gst.c: (init_post):
17639           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17640         * idiottest.mak:
17641           remove, it was condescending and not needed
17642
17643 2005-10-08  Wim Taymans  <wim@fluendo.com>
17644
17645         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17646         (gst_base_sink_handle_object), (gst_base_sink_event),
17647         (gst_base_sink_wait), (gst_base_sink_handle_event),
17648         (gst_base_sink_change_state):
17649         * gst/base/gstbasesink.h:
17650         Repost EOS message while going to PLAYING if still EOS.
17651         Make sure that when receiving a FLUSH_START we don't attempt
17652         to sync on the clock anymore.
17653
17654 2005-10-08  Wim Taymans  <wim@fluendo.com>
17655
17656         * tools/gst-launch.c: (event_loop):
17657         Better message printout.
17658
17659 2005-10-08  Wim Taymans  <wim@fluendo.com>
17660
17661         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17662         (gst_bin_child_proxy_get_children_count):
17663         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17664         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17665         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17666         (gst_child_proxy_set_valist):
17667         * gst/parse/grammar.y:
17668         Make ChildProxy threadsafe and fix mem leaks.
17669
17670 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17671
17672         * gst/gst.c: (init_post):
17673           debug the GST_PLUGIN_ env vars
17674
17675 2005-10-08  Wim Taymans  <wim@fluendo.com>
17676
17677         * check/gst/gstbin.c: (GST_START_TEST):
17678         * check/gst/gstmessage.c: (GST_START_TEST):
17679         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17680         * gst/gstelement.c: (gst_element_commit_state),
17681         (gst_element_lost_state):
17682         * gst/gstmessage.c: (gst_message_new_state_changed),
17683         (gst_message_parse_state_changed):
17684         * gst/gstmessage.h:
17685         * tools/gst-launch.c: (event_loop):
17686         Added extra field to STATE_CHANGE message with the pending
17687         state, which will be different from the new state soon.
17688
17689 2005-10-08  Wim Taymans  <wim@fluendo.com>
17690
17691         * gst/gstbus.c: (gst_bus_pop):
17692         * gst/gstclock.c:
17693         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17694         Small cleanups and doc updates.
17695
17696 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17697
17698         * gst/gst.c: (init_pre):
17699         * gst/gstbin.c: (gst_bin_add_func):
17700           log distributing clocks and base time
17701         * gst/gstregistry.c: (gst_registry_add_plugin),
17702         (gst_registry_scan_path_level), (gst_registry_scan_path):
17703           clean up the debugging output a little
17704         * gst/gstutils.c: (gst_element_state_get_name):
17705           warn about a memleak (I've actually seen this be used, though
17706           it was probably a bug)
17707
17708 2005-10-07  Wim Taymans  <wim@fluendo.com>
17709
17710         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17711         (gst_base_src_init), (gst_base_src_default_newsegment),
17712         (gst_base_src_newsegment), (gst_base_src_do_seek),
17713         (gst_base_src_loop), (gst_base_src_start):
17714         * gst/base/gstbasesrc.h:
17715         Make the newsegment event customizable by subclasses.
17716
17717 2005-10-07  Wim Taymans  <wim@fluendo.com>
17718
17719         * gst/gstevent.c: (gst_event_new_buffersize),
17720         (gst_event_parse_buffersize):
17721         * gst/gstevent.h:
17722         New event for future idea.
17723
17724 2005-10-07  Andy Wingo  <wingo@pobox.com>
17725
17726         * gst/gstelement.c (gst_element_post_message): Doc update.
17727
17728         * docs/gst/gstreamer-sections.txt: Update.
17729
17730         * gst/gstmessage.c (gst_message_new_application): Made into a
17731         function like honest API calls.
17732         (gst_message_new_element): New message type.
17733
17734         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17735
17736         * check/elements/fakesrc.c (test_no_preroll): New check, checks
17737         that setting a live fakesrc to PAUSED returns NO_PREROLL both
17738         times.
17739
17740         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17741         NO_PREROLL from gst_element_change_state to fall through.
17742
17743 2005-10-07  Wim Taymans  <wim@fluendo.com>
17744
17745         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17746         (gst_ghost_pad_do_activate_push):
17747         Activating a ghostpad with no internal pad in push mode
17748         is ok.
17749
17750 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17751
17752         * gst/gstobject.h:
17753           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17754           Fixes compilation on Windows.
17755
17756 2005-10-07  Michael Smith <msmith@fluendo.com>
17757
17758         * tools/gst-inspect.c:
17759           Print out feature and plugin count at the end when printing out
17760           all features.
17761
17762 2005-10-04  Michael Smith <msmith@fluendo.com>
17763
17764         * gst/gsterror.c: (_gst_stream_errors_init):
17765           Add another error string used in a few existing plugins.
17766
17767         * gst/gstplugin.c:
17768         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17769         * tools/gst-inspect.c: (print_element_info):
17770           When a feature disappears from a plugin (and the feature exists in
17771           the cached registry file), things went horribly wrong. This isn't a
17772           complete fix, we should actually be removing the 'missing' features
17773           from the features list when we load the actual plugin. That's not
17774           yet implemented. 
17775
17776 2005-10-04  Johan Dahlin  <johan@gnome.org>
17777
17778         * check/gst/gstiterator.c: (GST_START_TEST):
17779         * gst/gstbin.c: (gst_bin_iterate_elements),
17780         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17781         * gst/gstelement.c: (gst_element_iterate_pads):
17782         * gst/gstformat.c: (gst_format_iterate_definitions):
17783         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17784         (gst_iterator_new_list), (gst_iterator_filter):
17785         * gst/gstiterator.h:
17786         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17787         Add a GType to GstIterator, update callsites and tests.
17788
17789 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17790
17791         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17792           give events a chance to be handled by event probes when the pad
17793           is not linked
17794
17795 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17796
17797         * gst/gstevent.c: (gst_event_type_get_name),
17798         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17799         * gst/gstevent.h:
17800           add string representations for event types
17801
17802 2005-10-06  Wim Taymans  <wim@fluendo.com>
17803
17804         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17805         Don't use NULL pointers.
17806
17807 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17808
17809         * gst/gst_private.h:
17810         * gst/gstbus.c:
17811         * gst/gstelement.c:
17812         * gst/gstinfo.c:
17813         * gst/gstpluginfeature.c:
17814           widen the debug category in output to fit the biggest one we have
17815           add a bus category and use it
17816           play with the colors
17817           fix up some categories
17818
17819 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17820
17821         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17822           add push activation of sink ghost pads.
17823           Andye, please verify
17824
17825 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17826
17827         * gst/gstutils.c: (gst_element_link_pads):
17828           fix a bug in the case where neither element has a pad
17829         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17830           add a test for that case
17831
17832 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17833
17834         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17835           emit have-data before checking for peers.  This allows
17836           for probe handlers to connect elements.  This helps autopluggers.
17837         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17838         (gst_pad_suite):
17839           add six checks, linked/unlinked with no/true/false probe
17840
17841 2005-10-04  Wim Taymans  <wim@fluendo.com>
17842
17843         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17844         (gst_fake_sink_event), (gst_fake_sink_preroll),
17845         (gst_fake_sink_render), (gst_fake_sink_change_state):
17846         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17847         (gst_fake_src_get_property), (gst_fake_src_create),
17848         (gst_fake_src_stop):
17849         * gst/elements/gstidentity.c: (gst_identity_stop):
17850         Protect last_message with lock.
17851
17852 2005-10-04  Edward Hervey  <edward@fluendo.com>
17853
17854         * gst/gstformat.h: 
17855         Added precision in the comments for GST_FORMAT_DEFAULT
17856
17857 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
17858
17859         * tools/gst-launch.c: (main):
17860           Don't try to run erroneous pipelines.
17861
17862 2005-10-04  Julien MOUTTE  <julien@moutte.net>
17863
17864         * gst/gstbus.c: We don't need this header.
17865
17866 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17867
17868         * configure.ac:
17869           back to development
17870
17871 === release 0.9.3 ===
17872
17873 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17874
17875         * README:
17876         * configure.ac:
17877           Releasing 0.9.3, "Unregistered"
17878
17879 2005-10-03  Andy Wingo  <wingo@pobox.com>
17880
17881         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17882         whereby calling a pad's activatepush() function can start a thread
17883         that starts to push or pull before the pad gets the FLUSHING flag
17884         unset. Hack around it by holding the stream lock until the flag is
17885         set. Need to replace this with a proper solution. Together with
17886         the ghost pad fixes, this fixes mp3 playing/tagreading.
17887
17888         * docs/design/part-gstghostpad.txt: Add a note about activation of
17889         proxy pads outside of ghost pads.
17890
17891         * gst/gstghostpad.c: Implement the ghost pad activation design.
17892
17893 2005-10-02  Andy Wingo  <wingo@pobox.com>
17894
17895         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17896         It is volatile, after all.
17897
17898         * docs/design/part-gstghostpad.txt: Flesh out activation with
17899         ghost pads.
17900
17901         * gst/base/gstbasesrc.c (gst_base_src_init): Use
17902         GST_DEBUG_FUNCPTR.
17903
17904 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
17905
17906         * configure.ac:
17907           Fix (unused) AM_CONDITIONAL tests.
17908
17909 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
17910
17911         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17912
17913         * gst/gstutils.c: (gst_pad_query_convert):
17914           Add assertion that makes sure src_val is >=0, just like
17915           gst_query_new_convert() has. (#315895)
17916
17917 2005-09-30  Edward Hervey  <edward@fluendo.com>
17918
17919         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17920         Let's not iterate pads we're not interested in, it avoids getting 
17921         sky-high refcounts on sinkpad.
17922
17923 2005-09-30  Wim Taymans  <wim@fluendo.com>
17924
17925         * gst/gstelement.c: (gst_element_set_state),
17926         (gst_element_change_state):
17927         Small tweak, element in ASYNC remains ASYNC.
17928
17929 2005-09-30  Wim Taymans  <wim@fluendo.com>
17930
17931         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17932         Only error is an error.
17933
17934         * gst/gstbin.c: (gst_bin_change_state):
17935         Better debugging.
17936
17937         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
17938         Also call pad_block in pad alloc.
17939
17940         * gst/gstutils.c: (gst_flow_get_name):
17941         Better debugging.
17942
17943 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17944
17945         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17946         (gst_base_src_get_range):
17947           Fix documentation typos. Add some more debug info.
17948
17949 2005-09-29  David Schleef  <ds@schleef.org>
17950
17951         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
17952           more end-user friendly.
17953         * tools/gst-inspect.c: (main): Check if command-line argument is
17954           a file and attempt to load that file as a plugin.
17955
17956 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17957
17958         * check/gst/gstbin.c:
17959         * check/states/sinks.c:
17960           fix tests for the new warning
17961         * check/gst/gstpipeline.c:
17962           add a test for pipeline and bus interaction
17963         * gst/gstelement.c:
17964           elements should be NULL if they get disposed; add a warning if not
17965
17966 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17967
17968         * gst/gstobject.c:
17969           for 2.6 refcounting, make debug log more correct by printing
17970           the actual refcounts at the time of swap (Wim)
17971
17972 2005-09-29  Andy Wingo  <wingo@pobox.com>
17973
17974         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
17975         removes signal watches previously added via
17976         gst_bus_add_signal_watch.
17977         (gst_bus_add_signal_watch): Don't return the source id, just store
17978         it on the bus if there wasn't an id already.
17979
17980         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
17981         add_signal_watch and remove_signal_watch.
17982
17983 2005-09-29  Edward Hervey  <edward@fluendo.com>
17984
17985         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
17986         Better if we actually iterate the list :)
17987
17988 2005-09-29  Wim Taymans  <wim@fluendo.com>
17989
17990         * check/gst/gstbin.c: (GST_START_TEST):
17991         Change for new bus API.
17992
17993         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17994         (send_messages), (GST_START_TEST), (gstbus_suite):
17995         Change for new bus signal API.
17996
17997         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
17998         (gst_bus_source_prepare), (gst_bus_source_check),
17999         (gst_bus_create_watch), (gst_bus_add_watch_full),
18000         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18001         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18002         * gst/gstbus.h:
18003         Remove support for multiple GSources operating on different
18004         message types as it is too complex and unneeded when using
18005         signals.
18006         Added support for receiving signals from the bus.
18007
18008 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18009
18010         * docs/libs/tmpl/gstdataprotocol.sgml:
18011         * docs/manual/advanced-dataaccess.xml:
18012         * gst/elements/gstcapsfilter.c:
18013         * gst/gstutils.c:
18014           rename filter-caps to caps property
18015
18016 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18017
18018         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18019           More robust fraction string parsing.
18020
18021         * docs/pwg/appendix-porting.xml:
18022           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18023
18024 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18025
18026         * gst/gstcaps.c: (gst_caps_do_simplify):
18027           Thou shalt not free a structure and then continue using it
18028           in the next loop iteration.
18029
18030         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18031         (gst_caps_suite):
18032           Add test case for caps simplification.
18033
18034 2005-09-29  Wim Taymans  <wim@fluendo.com>
18035
18036         * check/gst/gstbin.c: (GST_START_TEST):
18037         Oops.
18038
18039 2005-09-29  Wim Taymans  <wim@fluendo.com>
18040
18041         * check/gst/gstbin.c: (GST_START_TEST):
18042         Add bus to bin.
18043
18044         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18045         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18046         (find_element), (gst_bin_sort_iterator_next),
18047         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18048         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18049         (gst_bin_change_state), (gst_bin_dispose):
18050         A bin does not have a bus, it gets the bus from the parent.
18051
18052         * gst/gstelement.c: (gst_element_requires_clock),
18053         (gst_element_provides_clock), (gst_element_is_indexable),
18054         (gst_element_is_locked_state), (gst_element_change_state),
18055         (gst_element_set_bus_func):
18056         Small cleanups.
18057
18058         * gst/gstpipeline.c: (gst_pipeline_class_init),
18059         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18060         The pipeline provides a bus.
18061
18062 2005-09-28  Johan Dahlin  <johan@gnome.org>
18063
18064         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18065         gst_structure_get_enum instead of gst_structure_get_int
18066
18067         * gst/gststructure.c (gst_structure_get_enum): Impl.
18068
18069         * gst/gststructure.h (gst_structure_get_enum): Add
18070
18071         * docs/gst/gstreamer-sections.txt: Ditto
18072
18073         * gst/gstmessage.c (gst_message_new_state_changed): Use
18074         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18075         which does introspection.
18076         Reviewed by Christian Schaller
18077
18078 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18079
18080         * gst/gstinfo.c: (gst_debug_log_default):
18081           don't do dummy g_strdup()s
18082         * libs/gst/controller/gstcontroller.c:
18083         (on_object_controlled_property_changed),
18084         (gst_controlled_property_new), (gst_controller_new_valist),
18085         (gst_controller_new_list),
18086         (gst_controller_remove_properties_valist), (gst_controller_set),
18087         (gst_controller_get), (gst_controller_sync_values),
18088         (gst_controller_get_value_array), (_gst_controller_class_init),
18089         (gst_controller_get_type):
18090         * libs/gst/controller/gstcontroller.h:
18091         * libs/gst/controller/gstinterpolation.c:
18092         (gst_controlled_property_find_timed_value_node):
18093           convert // to /**/ comments
18094
18095 2005-09-28  Wim Taymans  <wim@fluendo.com>
18096
18097         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18098         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18099         (gst_bus_sync_signal_handler):
18100         * gst/gstbus.h:
18101         Added async-message and sync-message signals to the bus.
18102         Added helper BusFunc to emit signals for all posted messages.
18103
18104         * gst/gstmessage.c: (gst_message_type_get_name),
18105         (gst_message_type_to_quark), (gst_message_get_type):
18106         * gst/gstmessage.h:
18107         Register quarks for message names.
18108
18109 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18110
18111         * docs/libs/gstreamer-libs-sections.txt:
18112         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18113         (gst_controller_new_list):
18114         * libs/gst/controller/gstcontroller.h:
18115           added another constructor for language bindings
18116
18117 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18118
18119         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18120           add another check
18121         * gst/gstbus.c:
18122           add some doc
18123         * gst/gstinfo.c: (_gst_debug_init):
18124           slightly more readable color for refcount debugging
18125
18126 2005-09-28  Wim Taymans  <wim@fluendo.com>
18127
18128         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18129         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18130         (find_element), (gst_bin_sort_iterator_next),
18131         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18132         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18133         (gst_bin_change_state), (gst_bin_dispose):
18134         Small doc fixes. get_clock -> provide_clock.
18135
18136         * gst/gstelement.c: (gst_element_class_init),
18137         (gst_element_provides_clock), (gst_element_provide_clock),
18138         (gst_element_get_clock), (gst_element_commit_state),
18139         (gst_element_lost_state):
18140         * gst/gstelement.h:
18141         Make get/set_clock() symetric. Add provide_clock vmethod since
18142         that is actually what this function does.
18143
18144         * gst/gstpipeline.c: (gst_pipeline_class_init),
18145         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18146         (gst_pipeline_get_clock):
18147         get_clock -> provide_clock.
18148
18149 2005-09-28  Andy Wingo  <wingo@pobox.com>
18150
18151         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18152         lieu of real docs...
18153
18154         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18155
18156 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18157
18158         * gst/elements/gstcapsfilter.c:
18159         * gst/elements/gstfakesink.c:
18160         * gst/elements/gstfakesrc.c:
18161         * gst/elements/gstfdsink.c:
18162         * gst/elements/gstfdsrc.c:
18163         * gst/elements/gstfilesink.c:
18164         * gst/elements/gstfilesrc.c:
18165         * gst/elements/gstidentity.c:
18166         * gst/elements/gsttee.c:
18167         * gst/elements/gsttypefindelement.c:
18168           Make element details static.
18169
18170 2005-09-28  Wim Taymans  <wim@fluendo.com>
18171
18172         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18173         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18174         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18175         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18176         (gst_bin_change_state), (gst_bin_dispose):
18177         Some documentation updates.
18178         Clean up dispose handlers.
18179
18180         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18181         * gst/gstpad.c: (gst_pad_dispose):
18182         Clean up dispose handler.
18183
18184         * gst/gstpipeline.c: (gst_pipeline_change_state):
18185         Removed spurious UNLOCK.
18186
18187 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18188
18189         * docs/gst/gstreamer-sections.txt:
18190         * gst/base/gstbasesrc.h:
18191         * gst/gstelement.h:
18192         * gst/gstevent.h:
18193         * gst/gstobject.h:
18194         * gst/gstpad.h:
18195         * gst/gstpipeline.c:
18196         * gst/gstpipeline.h:
18197         * gst/gstutils.h:
18198         * gst/gstxml.h:
18199           added two new functions to the docs
18200                 documents all undocumented GstXXXFlags
18201                 completed some incomplete docs 
18202
18203 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18204
18205         * gst/gstbin.c: (gst_bin_dispose):
18206         * gst/gstelement.c: (gst_element_dispose):
18207           remove now useless and leaky resurrection code in dispose
18208         * gst/base/gstbasesrc.c: (gst_base_src_init):
18209         * gst/gstelementfactory.c: (gst_element_factory_create):
18210         * gst/gstobject.c: (gst_object_set_parent):
18211           add some debugging
18212
18213 2005-09-27  Wim Taymans  <wim@fluendo.com>
18214
18215         * docs/design/part-TODO.txt:
18216         Update TODO.
18217
18218         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18219         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18220         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18221         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18222         (gst_bin_change_state):
18223         * gst/gstelement.h:
18224         Remove element variable, we keep element info in the iterator now.
18225
18226 2005-09-27  Andy Wingo  <wingo@pobox.com>
18227
18228         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18229         values.
18230
18231 2005-09-27  Wim Taymans  <wim@fluendo.com>
18232
18233         * check/gst/gstbin.c: (GST_START_TEST):
18234         Enable check that works now.
18235
18236         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18237         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18238         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18239         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18240         (gst_bin_change_state):
18241         * gst/gstbin.h:
18242         Redid the state change algorithm using a topological sort algo.
18243         Handles all cases correctly.
18244         Exposed iterator for state change order.
18245
18246         * gst/gstelement.h:
18247         Temp storage for state changes. Need to get rid of this soon.
18248
18249 2005-09-27  Wim Taymans  <wim@fluendo.com>
18250
18251         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18252         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18253         (link_fold_func), (gst_pad_proxy_setcaps):
18254         Leak fixes, the fold functions need to unref the passed object and
18255         _get_parent_*() returns ref to parent.
18256
18257 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18258
18259         * check/gst/gstbuffer.c: (test_make_writable):
18260           Plug leak in test case and fix 'make check-valgrind'
18261
18262 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18263
18264         * gst/gstbuffer.c: (gst_subbuffer_init):
18265           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18266           works correctly in all circumstances (we could have just copied
18267           the parent buffer's readonly flag, but conceptually it seems
18268           cleaner to mark all subbuffers as read-only). (based on patch
18269           by Alessandro Decina, #314710).
18270         
18271         * check/gst/gstbuffer.c: (create_read_only_buffer),
18272         (test_make_writable), (test_subbuffer_make_writable),
18273         (gst_test_suite):
18274           Add some tests for gst_buffer_make_writable().
18275
18276 2005-09-27  Wim Taymans  <wim@fluendo.com>
18277
18278         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18279         use gst_object_has_ancestor().
18280
18281         * gst/gstobject.c: (gst_object_has_ancestor):
18282         * gst/gstobject.h:
18283         gst_object_has_ancestor() copied from gstbin.c as it is a
18284         useful function.
18285
18286         * tests/instantiate/create.c: (create_all_elements):
18287         * tests/lat.c: (handoff_src), (handoff_sink):
18288         * tests/sched/runxml.c: (main):
18289         * tests/seeking/seeking1.c: (main):
18290         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18291         (main):
18292         Fix compilation of some tests.
18293
18294 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18295
18296         * gst/gsterror.h:
18297           Remove comment. GST_TYPE_G_ERROR is here to stay,
18298           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18299           (#316961, #300610).
18300
18301 2005-09-26  Wim Taymans  <wim@fluendo.com>
18302
18303         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18304         Added check that shows error in state change order.
18305
18306 2005-09-26  Wim Taymans  <wim@fluendo.com>
18307
18308         * gst/gstbin.c: (gst_bin_change_state):
18309         Make state change function use 3 queues again, we were
18310         adding elements in the wrong order.
18311
18312         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18313         Some debug info,
18314
18315         * gst/gstpad.c: (gst_pad_dispose):
18316         Added some debug info first.
18317
18318 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18319
18320         * docs/design/draft-push-pull.txt:
18321         * docs/design/part-events.txt:
18322         * docs/design/part-overview.txt:
18323         * docs/design/part-scheduling.txt:
18324           Replace all _pull_region() with _pull_range()
18325           
18326 2005-09-26  Andy Wingo  <wingo@pobox.com>
18327
18328         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18329
18330         * check/gst-libs/controller.c: Update for controller api change.
18331
18332         * configure.ac: 
18333         * tests/Makefile.am:
18334         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18335         over by GLib bug 118439.
18336         
18337         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18338         routines to a function.
18339
18340         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18341
18342         * libs/gst/controller/gsthelper.c:
18343         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18344         (gst_object_sync_values): Renamed from sink_values. Ugh.
18345
18346         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18347
18348         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18349         Renamed from controller_key, as it is exported.
18350
18351         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18352
18353 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18354
18355         * gst/Makefile.am:
18356         * gst/gst.h:
18357         * gst/gstpad.h:
18358         * gst/gstpadtemplate.h:
18359         * gst/gstquery.c:
18360         * gst/gstquery.h:
18361         * gst/gstqueryutils.c:
18362         * gst/gstqueryutils.h:
18363           remove queryutils headers after moving the two used functions
18364           to gstquery.  also fixes build problem for gstsiddec
18365
18366 2005-09-26  Michael Smith <msmith@fluendo.com>
18367
18368         * tools/gst-launch.1.in:
18369         Correct documentation in manpage of debug syntax
18370
18371 2005-09-26  Wim Taymans  <wim@fluendo.com>
18372
18373         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18374         (gst_base_src_is_seekable), (gst_base_src_change_state):
18375         Some more debugging info.
18376
18377 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18378
18379         * docs/gst/gstreamer-sections.txt:
18380         * gst/base/gstbasetransform.h:
18381         * gst/gstindex.h:
18382           added more docs
18383
18384 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18385
18386         * docs/gst/.cvsignore:
18387         * docs/gst/tmpl/.cvsignore:
18388         * docs/gst/tmpl/gstpipeline.sgml:
18389         * docs/gst/tmpl/gstplugin.sgml:
18390         * gst/gstpipeline.c:
18391         * gst/gstplugin.c:
18392         * gst/gstplugin.h:
18393           inlined the last two docs files
18394           removed the tmpl directory from cvs (no more conflicts here!)
18395
18396 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18397
18398         * docs/gst/gstreamer-sections.txt:
18399         * docs/gst/tmpl/.cvsignore:
18400         * docs/gst/tmpl/gstpad.sgml:
18401         * docs/gst/tmpl/gstpadtemplate.sgml:
18402         * gst/Makefile.am:
18403         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18404         (gst_pad_finalize), (gst_pad_set_pad_template):
18405         * gst/gstpad.h:
18406         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18407         (gst_pad_template_class_init), (gst_pad_template_init),
18408         (gst_pad_template_dispose), (name_is_valid),
18409         (gst_static_pad_template_get), (gst_pad_template_new),
18410         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18411         (gst_pad_template_pad_created):
18412         * gst/gstpadtemplate.h:
18413           inlined two more docs
18414           factored gstpadtemplate out of gstpad
18415
18416 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18417
18418         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18419         (test_children_state_change_order_semi_sink):
18420           Fix test case: we can't rely on a fixed state change order when
18421           going from READY => PAUSED because the sink might commit its 
18422           new state first when the first buffer created by the source 
18423           reaches the sink before the source has finished its change state.
18424           (Test case still fails at times, see #316856, comment 5 onwards)
18425
18426 2005-09-24  Wim Taymans  <wim@fluendo.com>
18427
18428         * docs/design/part-events.txt:
18429         * docs/design/part-gstbus.txt:
18430         * docs/design/part-gstpipeline.txt:
18431         * docs/design/part-messages.txt:
18432         * docs/design/part-overview.txt:
18433         * docs/design/part-segments.txt:
18434         * gst/gstbin.c:
18435         * gst/gstbuffer.c:
18436         * gst/gstclock.c:
18437         * gst/gstelement.c:
18438         * gst/gstevent.c:
18439         * gst/gstfilter.c:
18440         * gst/gstiterator.c:
18441         Various documentation updates.
18442
18443 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18444
18445         * gst/gstclock.h:
18446           Well, that's embarassing.  Luckily we weren't using
18447           GST_CLOCK_DIFF anywhere.
18448
18449 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18450
18451         * common/gtk-doc.mak:
18452           don't fail on building XML, FC4 slave shows a bunch of doc
18453           missing bits that I don't get
18454         * gst/gstpad.c:
18455         * gst/gstpipeline.c:
18456         * gst/gststructure.c:
18457           some doc updates
18458
18459 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18460
18461         * docs/design/part-gstbin.txt:
18462         * docs/design/part-gstbus.txt:
18463         * gst/gstbus.c:
18464           Add blurb about how the bus goes into flushing mode and
18465           drops all messages when its bin goes from READY into NULL 
18466           state.
18467
18468 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18469
18470         * docs/gst/gstreamer-sections.txt:
18471         * gst/gststructure.c: (gst_structure_get_clock_time):
18472         * gst/gststructure.h:
18473           add a method to get a GstClockTime out of a structure
18474
18475 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18476
18477         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18478         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18479           Added test to check state change order in bins (can still be made
18480           to fail here under heavy disk load; bails out with 'Push on pad
18481           fakesink:sink0, but it was not activated in push mode').
18482
18483         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18484           Fix state change order when there is only a semi sink (#316856)
18485
18486         * gst/gstbus.c: (gst_bus_class_init):
18487           Use _class_peek_parent(), not _class_ref(); fix docs to say
18488           'default main context' instead of 'mainloop' where that is
18489           what's meant.
18490
18491         * gst/gstelement.c: (gst_element_commit_state),
18492         (gst_element_set_state):
18493           Fix typos in debug messages
18494
18495 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18496
18497         * docs/README:
18498         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18499         * gst/gstpluginfeature.c:
18500         * gst/gstutils.c:
18501           various doc updates
18502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18503           change an assert into an error until it gets fixed properly
18504
18505 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18506
18507         * docs/gst/gstreamer-sections.txt:
18508         * docs/gst/tmpl/.cvsignore:
18509         * docs/gst/tmpl/gstelement.sgml:
18510         * docs/gst/tmpl/gstinfo.sgml:
18511         * docs/gst/tmpl/gstobject.sgml:
18512         * gst/gstelement.c:
18513         * gst/gstelement.h:
18514         * gst/gstinfo.c:
18515         * gst/gstinfo.h:
18516         * gst/gstobject.c: (gst_object_class_init):
18517         * gst/gstobject.h:
18518           inlined 3 more biiiig doc files and added some missing docs on the fly
18519
18520 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18521
18522         * check/gst/.cvsignore:
18523         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18524         * gst/gstregistryxml.c: (load_plugin),
18525         (gst_registry_xml_save_plugin):
18526           put back source in registry.  add checks for find_plugin.
18527         * testsuite/states/bin.c: (assert_state), (empty_bin),
18528         (test_adding_one_element), (main):
18529         * testsuite/states/locked.c: (main):
18530           some compile/run fixes
18531
18532 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18533
18534         * check/gst/gstvalue.c: (GST_START_TEST):
18535           fix leaks in the test itself
18536
18537 2005-09-22  Wim Taymans  <wim@fluendo.com>
18538
18539         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18540         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18541         (gst_base_sink_query):
18542         Prepare for more accurate position reporting and query
18543         handling.
18544
18545         * gst/gstelement.c: (gst_element_send_event),
18546         (gst_element_set_state):
18547         Add some comment.
18548
18549 2005-09-22  Wim Taymans  <wim@fluendo.com>
18550
18551         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18552         (gst_query_parse_segment):
18553         * gst/gstquery.h:
18554         More documentation.
18555         Add segment query for future use.
18556
18557 2005-09-22  Wim Taymans  <wim@fluendo.com>
18558
18559         * gst/gstbin.c: (gst_bin_add_func):
18560         Some more debug info.
18561
18562         * gst/gstelement.c: (gst_element_send_event):
18563         Simplify send_event
18564
18565         * gst/gstelement.h:
18566         Don't know how flags got broken.
18567
18568         * gst/gstquery.h:
18569         Added new query.
18570
18571 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18572
18573         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18574           Add simplistic test suite for GST_TYPE_DATE serialisation and
18575           deserialisation.
18576
18577 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18578
18579         * docs/gst/gstreamer-sections.txt:
18580         * gst/gststructure.c: (gst_structure_set_valist),
18581         (gst_structure_get_date):
18582         * gst/gststructure.h:
18583         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18584         (gst_date_copy), (gst_value_compare_date),
18585         (gst_value_serialize_date), (gst_value_deserialize_date),
18586         (gst_value_transform_date_string),
18587         (gst_value_transform_string_date), (_gst_value_initialize):
18588         * gst/gstvalue.h:
18589           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18590           bunch of utility functions along with a hack that checks that
18591           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18592           is required. Part of the grand scheme in #170777.
18593
18594 2005-09-22  Andy Wingo  <wingo@pobox.com>
18595
18596         * gst/gstconfig.h.in: Psych out gtk-doc.
18597
18598         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18599
18600         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18601
18602         * tools/gst-inspect.c (print_element_list): Plug some
18603         inconsequential leaks.
18604
18605         * gst/gstregistry.c (gst_registry_get_default): Doc.
18606
18607         * check/gst/gstplugin.c: 
18608         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18609         * gst/gstelementfactory.c (gst_element_factory_create): 
18610         * gst/gstindexfactory.c (gst_index_factory_create): Update for
18611         refcount changes.
18612
18613         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18614         (gst_plugin_feature_load): Doc, don't eat refs.
18615
18616         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18617         (gst_plugin_list_free): Doc.
18618         (gst_plugin_load_file): Doc updates.
18619
18620         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18621         accessors returning refcounted objects, return a ref.
18622
18623         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18624         accessor for caps. IDEMPOTENCE. Oh yes.
18625
18626 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
18627
18628         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18629
18630         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18631         (_gst_debug_register_funcptr):
18632           Add mutex to serialise access to the hash table with
18633           the function pointer => function name string mapping;
18634           make that hash table static scope (#316809).
18635
18636         * gst/registries/.cvsignore:
18637           Remove left-over file.
18638
18639 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18640
18641         * docs/pwg/appendix-porting.xml:
18642           And something about newsegment events and caps-on-buffers to
18643           the porting guide (feel free to improve).
18644
18645 2005-09-21  Andy Wingo  <wingo@pobox.com>
18646
18647         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18648         data and event probes on the same pad.
18649         (test_buffer_probe_once): Test that removing probes from within
18650         the probe functions works.
18651
18652 2005-09-21  Andy Wingo  <wingo@pobox.com>
18653
18654         * check/gst/gstutils.c: New file.
18655         (test_buffer_probe_n_times): A simple buffer probe test. More to
18656         come, foolios.
18657
18658         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18659         have-data::buffer, not have-data.
18660         (gst_pad_add_event_probe): Likewise for have-data::event.
18661         (gst_pad_add_data_probe): More docs. The part about 'resolving the
18662         peer' isn't quite right yet though.
18663         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
18664         (gst_pad_remove_data_probe): Change to take the guint handler_id
18665         as their arg, not the function+data, which is more glib-like.
18666
18667         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18668         the signal emission to indicate if the data is a buffer or an
18669         event.
18670         (gst_pad_get_type): Initialize buffer and event quarks.
18671         (gst_pad_class_init): have-data is now a detailed signal, yes it
18672         is.
18673
18674 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18675
18676         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18677         * gst/gstutils.c: (gst_util_set_value_from_string),
18678         (gst_util_set_object_arg):
18679           Don't put functional code in g_return_if_fail() or
18680           g_return_val_if_fail() statements, otherwise things will 
18681           break when G_DISABLE_CHECKS is defined during compilation.
18682
18683 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18684
18685         * docs/gst/tmpl/.cvsignore:
18686         * docs/gst/tmpl/gstvalue.sgml:
18687         * gst/gstvalue.c:
18688         * gst/gstvalue.h:
18689           inlied another one and added  some obvious docs
18690
18691 2005-09-21  Wim Taymans  <wim@fluendo.com>
18692
18693         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18694         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18695         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18696         (gst_fdsrc_get_property), (gst_fdsrc_create):
18697         * gst/elements/gstfdsrc.h:
18698         Properly implement fdsrc. Removed signal and timeout,
18699         better implemented somewhere else.
18700
18701 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18702
18703         * docs/gst/tmpl/.cvsignore:
18704         * docs/gst/tmpl/gstimplementsinterface.sgml:
18705         * gst/gstinterface.c:
18706           inlined more docs
18707
18708 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18709
18710         * docs/gst/gstreamer-sections.txt:
18711         * docs/gst/tmpl/.cvsignore:
18712         * docs/gst/tmpl/gstenumtypes.sgml:
18713           remove obsolete doc file
18714
18715 2005-09-21  David Schleef  <ds@schleef.org>
18716
18717         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18718         little beer, fix a little leak.
18719
18720 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18721
18722         * docs/gst/gstreamer-docs.sgml:
18723         * docs/gst/gstreamer-sections.txt:
18724         * docs/gst/tmpl/.cvsignore:
18725         * gst/Makefile.am:
18726         * gst/gst.h:
18727         * gst/gstbin.c:
18728         * gst/gstelement.h:
18729         * gst/gstindex.c: (gst_index_class_init):
18730         * gst/gstindex.h:
18731         * gst/gstindexfactory.c: (gst_index_factory_get_type),
18732         (gst_index_factory_class_init), (gst_index_factory_init),
18733         (gst_index_factory_finalize), (gst_index_factory_new),
18734         (gst_index_factory_destroy), (gst_index_factory_find),
18735         (gst_index_factory_create), (gst_index_factory_make):
18736         * gst/gstindexfactory.h:
18737         * gst/gstpluginfeature.c:
18738         * gst/gstpluginfeature.h:
18739         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18740           more docs inlined, splitted gstindex.{c,h}
18741
18742 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18743
18744         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18745           fix a leak
18746
18747 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18748
18749         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18750           Set sync to FALSE by default.
18751
18752 2005-09-20  Wim Taymans  <wim@fluendo.com>
18753
18754         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18755         (gst_base_sink_init):
18756         Make sync property settable from subclass.
18757
18758         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18759         (gst_fake_sink_change_state):
18760         Set sync to FALSE by default.
18761
18762 2005-09-20  Wim Taymans  <wim@fluendo.com>
18763
18764         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18765         * tools/gst-launch.c: (main):
18766         The timeout handler should have lower priority than the source
18767         so we don't timeout before popping a message with 0 timeout.
18768         Dump error messages after failed state change.
18769
18770 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18771
18772         * tools/gst-inspect.c: (print_element_properties_info):
18773           Fix two typos.
18774
18775 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18776
18777         * check/gst/gstevent.c:
18778         * gst/elements/gstfakesink.c:
18779         * gst/elements/gstfakesink.h:
18780           remove the sync property from fakesink.
18781           has the side effect of setting sync TRUE
18782           for fakesink, which is a change.  Anyone who knows how
18783           to fix this nicely in a GObject-y way, feel free.
18784
18785 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18786
18787         * docs/gst/gstreamer-docs.sgml:
18788           remove probe refsection
18789
18790 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18791
18792         * check/Makefile.am:
18793           disable valgrinding the controller test again
18794         * docs/gst/gstreamer-sections.txt:
18795           update for api-changes
18796
18797 2005-09-20  Wim Taymans  <wim@fluendo.com>
18798
18799         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18800         (gst_base_sink_set_property), (gst_base_sink_get_property),
18801         (gst_base_sink_do_sync):
18802         * gst/base/gstbasesink.h:
18803         Added sync property to basesink to disable clock sync.
18804
18805 2005-09-20  Andy Wingo  <wingo@pobox.com>
18806
18807         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18808         eating the caller's refcount.
18809
18810         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18811         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18812         refcount.
18813
18814         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18815         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18816         of GLib 2.8 public, so we can know which refcount to check in
18817         tests.
18818
18819         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18820         (gst_object_init): Only set the gst refcount if we're going ahead
18821         with the refcount hack.
18822
18823 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18824
18825         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18826         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18827           more leaks plumbed, added more debug-logging
18828         * gst/gstmacros.h:
18829           whitespace fix
18830
18831 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18832
18833         * gst/gstmessage.c:
18834           remove include of gstmemchunk.h
18835
18836 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18837
18838         * gst/gstclock.c: (_gst_clock_id_free):
18839           Commit from the Political Party For More Atomic CVS Commits,
18840           so that people don't waste too much of their day fishing
18841           out obvious leaks out of massive commits.
18842           Oh, and fix a pretty damn obvious leak in the memchunk
18843           removal code.
18844
18845 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18846
18847         * check/Makefile.am:
18848         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18849           plug mem-leak, re-add to valgrindable tests
18850
18851 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18852
18853         * gst/gstplugin.h:
18854           unbreak the build for those who have chronic arthritis
18855           and typing "make check" is just too taxing on the hands
18856
18857 2005-09-20  Andy Wingo  <wingo@pobox.com>
18858
18859         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18860         really want it out, you should fix plugins at the same time.
18861
18862 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
18863
18864         * configure.ac:
18865         * docs/gst/gstreamer-sections.txt:
18866         * gst/gstobject.c:
18867           added missing symbols to api docs
18868           disable ref-count hack if we have glib >= 2.8
18869
18870 2005-09-19  David Schleef  <ds@schleef.org>
18871
18872         * docs/gst/Makefile.am: Ignore a few more internal headers
18873         * docs/gst/gstreamer-docs.sgml: Remove old sections
18874         * docs/gst/gstreamer-sections.txt: Remove old sections
18875         * docs/gst/tmpl/gstobject.sgml: update
18876         * docs/gst/tmpl/gstplugin.sgml: update
18877         * docs/gst/tmpl/gstpluginfeature.sgml: update
18878         * docs/random/ds/0.9-suggested-changes: update.
18879         * gst/Makefile.am: remove memchunk and trashstack, since they're
18880           not used.
18881         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18882         * gst/gst.h: don't include some headers
18883         * gst/gstchildproxy.c: add gstmarshal.h
18884         * gst/gstclock.c: Don't use memchunks
18885         * gst/gstminiobject.c: Add some docs
18886         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18887         * gst/gstobject.h: same
18888         * gst/gstplugin.c: include gstmacros.h
18889         * gst/gstplugin.h: don't include gstmacros.h, since it's private
18890         * gst/gstquery.c: don't use memchunks
18891         * gst/gstregistry.c: rename gst_registry_deinit()
18892         * gst/gstregistry.h: same
18893
18894 2005-09-19  David Schleef  <ds@schleef.org>
18895
18896         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18897         * docs/libs/gstreamer-libs-sections.txt:
18898         * docs/libs/tmpl/gstgetbits.sgml:
18899         * docs/libs/tmpl/gstputbits.sgml:
18900
18901 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
18902
18903         * win32/gstenumtypes.c:
18904         * win32/gstenumtypes.h:
18905           Update.
18906
18907 2005-09-19  Wim Taymans  <wim@fluendo.com>
18908
18909         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18910         Automatically PAUSE and RESUME a pipeline when a flushing seek
18911         is performed.
18912
18913 2005-09-19  Andy Wingo  <wingo@pobox.com>
18914
18915         * gst/gstregistry.h: Spacing fixen.
18916
18917 2005-09-19  Wim Taymans  <wim@fluendo.com>
18918
18919         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18920         Handle state change failure more correctly.
18921
18922 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18923
18924         * check/Makefile.am:
18925         * check/pipelines/cleanup.c: (run_pipeline):
18926         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18927         (GST_START_TEST):
18928           enable cleanup again after fixing the leak
18929         * docs/README:
18930           some more info on docs
18931
18932 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18933
18934         * check/Makefile.am:
18935           re-enable tests now that leaks are plugged
18936         * check/gst/gst.c:
18937         * check/gst/gstbin.c:
18938         * check/gst/gstpipeline.c:
18939           add some more tests while fixing leaks
18940         * common/check.mak:
18941           make sure binaries are uptodate when valgrinding/gdbing
18942         * gst/gst.c:
18943         * gst/gstelementfactory.c:
18944           remove a ref too many, and add a FIXME for when we get
18945           round to disposing of classes
18946         * gst/gstplugin.c:
18947           fix the refcounting when loading a plugin from a file and
18948           the code pretends that the pointer is the same even though
18949           of course it can change
18950         * gst/gstpluginfeature.c:
18951           unref plugins marked cached (a bit confusing as a name)
18952           as the docs state should be done
18953           various doc additions to explain refcounting
18954         * gst/gstregistry.c:
18955         * gst/gstregistryxml.c:
18956           debugging
18957
18958 2005-09-19  Wim Taymans  <wim@fluendo.com>
18959
18960         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18961         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18962         (send_messages), (GST_START_TEST), (gstbus_suite):
18963         * check/gst/gstpipeline.c: (GST_START_TEST):
18964         * check/pipelines/cleanup.c: (run_pipeline):
18965         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18966         (GST_START_TEST):
18967         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
18968         (gst_bus_source_check), (gst_bus_source_dispatch),
18969         (gst_bus_create_watch), (gst_bus_add_watch_full),
18970         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
18971         * gst/gstbus.h:
18972         * tools/gst-launch.c: (event_loop):
18973         * tools/gst-md5sum.c: (event_loop):
18974         GstBusHandler -> GstBusFunc, return value has the same meaning as
18975         any other GSource (FALSE == remove source).
18976         _add_watch() and _add_watch_full() now take a MessageType mask to
18977         only handle specific types of messages.
18978         _poll() returns the GstMessage instead of the message type to avoid
18979         race conditions.
18980         _have_pending() takes a MessageType mask now too.
18981         Added testsuite for multiple bus watches.
18982         Fix testsuites and applications for new bus API.
18983
18984 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18985
18986         * check/Makefile.am:
18987           mark a bunch of the tests as to fix until we fix them
18988
18989 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18990
18991         * common/check.mak:
18992           use GST_PLUGIN settings for valgrind tests as well, so we're
18993           valgrinding the correct thing
18994         * gst/gst.c: (init_post):
18995           plug another leak
18996
18997 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18998
18999         * gst/gst.c: (init_post), (gst_deinit):
19000         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19001         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19002         * gst/gstindex.c: (gst_index_factory_class_init),
19003         (gst_index_factory_finalize):
19004         * gst/gstobject.c: (gst_object_dispose):
19005         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19006         (gst_plugin_load_file), (gst_plugin_desc_free):
19007         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19008         (gst_plugin_feature_finalize):
19009         * gst/gstregistry.c: (gst_registry_class_init),
19010         (gst_registry_init), (gst_registry_finalize),
19011         (gst_registry_get_default), (gst_registry_deinit):
19012         * gst/gstregistry.h:
19013         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19014           various cleanups and memleak plugging.  make valgrind is happy now.
19015
19016 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19017
19018         * common/check.mak:
19019           add a check-valgrind target
19020
19021 2005-09-18  David Schleef  <ds@schleef.org>
19022
19023         * tools/gst-inspect.c: Revert the GOption code.
19024
19025 2005-09-17  David Schleef  <ds@schleef.org>
19026
19027         * check/Makefile.am: Fix environment variables.
19028         * check/gst/gstplugin.c: Fix for API changes.
19029         * tools/gst-inspect.c: Fix for API changes.
19030         * tools/gst-xmlinspect.c: Fix for API changes.
19031         * gst/gstelementfactory.c:
19032         * gst/gstplugin.c:
19033         * gst/gstplugin.h:
19034         * gst/gstpluginfeature.c:
19035         * gst/gstpluginfeature.h:
19036         * gst/gstregistry.c:
19037         * gst/gstregistry.h:
19038         * gst/gstregistryxml.c:
19039         * gst/gsttypefind.c:
19040         * gst/gsttypefindfactory.c:
19041         * gst/indexers/gstfileindex.c:
19042         * gst/indexers/gstmemindex.c:
19043         * gst/schedulers/Makefile.am:
19044           Change registry to keep track of both plugins and features,
19045           removing the feature tracking from plugins themselves.
19046
19047 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19048
19049         * check/Makefile.am:
19050         * tools/gst-register.1.in:
19051           remove gst-register
19052
19053 2005-09-15  David Schleef  <ds@schleef.org>
19054
19055         * check/gst/gstplugin.c:
19056         * gst/gstelementfactory.c:
19057         * gst/gstplugin.c:
19058         * gst/gstpluginfeature.c:
19059         * gst/gstregistry.c:
19060           Getting tired of debugging.  Disabled all the unreffing of
19061           plugins and features, which fixes the segfaults, but of
19062           course leaks like crazy.  At least playbin works.
19063
19064 2005-09-15  David Schleef  <ds@schleef.org>
19065
19066         * check/gst/gstplugin.c: (register_check_elements),
19067         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19068         More testing
19069         * gst/elements/gsttypefindelement.c: Fix refcounting.
19070         * gst/gsttypefind.c:
19071         * gst/gsttypefindfactory.c:
19072         * gst/gsttypefindfactory.h:
19073
19074 2005-09-15  David Schleef  <ds@schleef.org>
19075
19076         * gst/gstindex.c: get refcounting correct.
19077         * gst/gstregistry.c: Handle the case where a feature/plugin is
19078           not found.
19079
19080 2005-09-15  David Schleef  <ds@schleef.org>
19081
19082         * check/Makefile.am:
19083         * check/gst/gstplugin.c: Add test
19084         * gst/gstplugin.c: Fix problems noticed by testsuite
19085         * gst/gstplugin.h:
19086         * gst/gstregistry.c: 
19087         * gst/gstregistry.h:
19088
19089 2005-09-15  David Schleef  <ds@schleef.org>
19090
19091         * gst/gstplugin.c: Implement semi-decent recounting and locking
19092           in plugins and plugin features.
19093         * gst/gstplugin.h:
19094         * gst/gstpluginfeature.c:
19095         * gst/gstpluginfeature.h:
19096         * gst/gstregistry.c:
19097
19098 2005-09-15  Michael Smith <msmith@fluendo.com>
19099
19100         * gst/gstregistry.c: (gst_registry_get_feature_list):
19101           Implement this. Makes oggdemux work; decodebin still broken.
19102
19103 2005-09-14  David Schleef  <ds@schleef.org>
19104
19105         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19106           #316076)
19107         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19108         * gst/check/Makefile.am:
19109         * libs/gst/controller/Makefile.am:
19110         * libs/gst/dataprotocol/Makefile.am:
19111
19112 2005-09-14  David Schleef  <ds@schleef.org>
19113
19114         * configure.ac: Remove getbits library.  Nothing uses it, and
19115           it should be in something like liboil if someone did want
19116           to use it.
19117         * libs/gst/Makefile.am:
19118         * libs/gst/getbits/Makefile.am:
19119         * libs/gst/getbits/gbtest.c:
19120         * libs/gst/getbits/getbits.c:
19121         * libs/gst/getbits/getbits.h:
19122         * libs/gst/getbits/gstgetbits_generic.c:
19123         * libs/gst/getbits/gstgetbits_i386.s:
19124         * libs/gst/getbits/gstgetbits_inl.h:
19125
19126 2005-09-14  David Schleef  <ds@schleef.org>
19127
19128         * gst/Makefile.am: Dist glib-compat.h
19129
19130 2005-09-14  David Schleef  <ds@schleef.org>
19131
19132         * configure.ac: Remove gst/registries, since it's no longer used.
19133         * gst/registries/Makefile.am:
19134         * gst/registries/gstlibxmlregistry.c:
19135         * gst/registries/gstlibxmlregistry.h:
19136         * gst/registries/gstxmlregistry.c:
19137         * gst/registries/gstxmlregistry.h:
19138         * gst/registries/registrytest.c:
19139
19140 2005-09-14  David Schleef  <ds@schleef.org>
19141
19142         * gst/glib-compat.h:
19143         * gst/gstregistryxml.c:
19144           Convergence is near.  Seriously.
19145
19146 2005-09-14  David Schleef  <ds@schleef.org>
19147
19148         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19149         * gst/glib-compat.h:
19150           Attempt #4 to appease the buildbots.
19151
19152 2005-09-14  David Schleef  <ds@schleef.org>
19153
19154         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19155           Attempt #3.
19156
19157 2005-09-14  David Schleef  <ds@schleef.org>
19158
19159         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19160         Attempt #2.
19161
19162 2005-09-14  David Schleef  <ds@schleef.org>
19163
19164         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19165           the new functions.
19166
19167 2005-09-14  David Schleef  <ds@schleef.org>
19168
19169         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19170         * gst/glib-compat.h: Add some functions that are in newer versions
19171           of glib than we care to require.
19172         * gst/gstregistryxml.c: Use them.
19173
19174 2005-09-14  David Schleef  <ds@schleef.org>
19175
19176         * po/POTFILES.in: remove gst-register.c
19177
19178 2005-09-14  David Schleef  <ds@schleef.org>
19179
19180         * docs/gst/gstreamer-docs.sgml:
19181         * docs/gst/gstreamer-sections.txt:
19182         * docs/gst/gstreamer.types:
19183         * docs/gst/tmpl/gstelement.sgml:
19184         * docs/gst/tmpl/gstplugin.sgml:
19185         * docs/gst/tmpl/gstpluginfeature.sgml:
19186           Documentation updates for registry changes.
19187
19188 2005-09-14  David Schleef  <ds@schleef.org>
19189
19190         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19191           because we don't require glib-2.8.
19192
19193 2005-09-14  David Schleef  <ds@schleef.org>
19194
19195         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19196           registries directory.
19197
19198 2005-09-14  David Schleef  <ds@schleef.org>
19199
19200         * check/Makefile.am:
19201         * check/generic/states.c:
19202         * gst/Makefile.am:
19203         * gst/gst.c:
19204         * gst/gst.h:
19205         * gst/gst_private.h:
19206         * gst/gstelementfactory.c:
19207         * gst/gstindex.c:
19208         * gst/gstinfo.c:
19209         * gst/gstplugin.c:
19210         * gst/gstplugin.h:
19211         * gst/gstpluginfeature.c:
19212         * gst/gstpluginfeature.h:
19213         * gst/gstregistry.c:
19214         * gst/gstregistry.h:
19215         * gst/gstregistrypool.c: remove
19216         * gst/gstregistrypool.h: remove
19217         * gst/gsttypefind.c:
19218         * gst/gsttypefindfactory.c:
19219         * gst/gsturi.c:
19220         * tools/Makefile.am:
19221         * tools/gst-compprep.c:
19222         * tools/gst-inspect.c:
19223         * tools/gst-register.c: remove
19224         * tools/gst-xmlinspect.c:
19225           Registry rewrite.  Changes registry from being a file created
19226           by a tool into a simple cache file created automatically by 
19227           libgstreamer.  Removed gst-register (because it's no longer
19228           needed).  Remove registry pools, because we only have one
19229           registry implementation (XML).  Fix up other subsystems as
19230           necessary.
19231
19232 2005-09-13  Michael Smith <msmith@fluendo.com>
19233
19234         * gst/gstconfig.h.in:
19235           Don't Use windows linking attributes for MinGW. Fixes #316157
19236
19237 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19238
19239         * gst/gstutils.c: (set_state_async_thread_func),
19240         (gst_element_set_state_async):
19241           Apparently people think it's better if this function doesn't
19242           try to set the state to whatever state was asked for on the first
19243           call to this function for any object.  Seriously.
19244
19245 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19246
19247         * check/gst/gstpipeline.c: (GST_START_TEST):
19248         * docs/gst/gstreamer-sections.txt:
19249         * gst/gstutils.c: (set_state_async_thread_func),
19250         (gst_element_set_state_async):
19251         * gst/gstutils.h:
19252           add a "gst_element_set_state_async" method that
19253           sets the state and starts a thread to make sure the state
19254           change completes as best as it can
19255
19256 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19257
19258         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19259           codify design+behaviour in testsuite after discussion
19260
19261 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19262
19263         * docs/gst/tmpl/gstelement.sgml:
19264         * docs/manual/appendix-quotes.xml:
19265           add a quote
19266         * gst/gstelement.c: (gst_element_set_state):
19267           add some debug
19268
19269 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19270
19271         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19272         (gst_base_transform_prepare_output_buf),
19273         (gst_base_transform_handle_buffer):
19274         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19275         (gst_capsfilter_prepare_buf):
19276           Remove the requirement for sub-classes to call the parent
19277           implementation of prepare_output_buffer with a wrapper function.
19278           
19279         * gst/gsttaglist.h:
19280         * gst/gsttagsetter.h:
19281           Fix #define wrapper
19282
19283 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19284
19285         * docs/gst/gstreamer-sections.txt:
19286           more doc cleanups
19287
19288 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19289
19290         * docs/gst/gstreamer-sections.txt:
19291         * docs/gst/tmpl/gstelement.sgml:
19292         * docs/gst/tmpl/gstplugin.sgml:
19293         * gst/gstminiobject.c:
19294         * gst/gstvalue.h:
19295           docs now stop throwing warnings
19296
19297 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19298
19299         * docs/gst/gstreamer-sections.txt:
19300         * docs/gst/gstreamer.types:
19301         * docs/gst/tmpl/gstpad.sgml:
19302         * docs/gst/tmpl/gsttypes.sgml:
19303         * gst/base/gstadapter.h:
19304         * gst/base/gstbasesink.h:
19305         * gst/base/gstbasesrc.h:
19306         * gst/gstbin.h:
19307         * gst/gstbuffer.h:
19308         * gst/gstbus.h:
19309         * gst/gstcaps.h:
19310         * gst/gstclock.h:
19311         * gst/gstelement.h:
19312         * gst/gstevent.h:
19313         * gst/gstmessage.h:
19314         * gst/gstpad.h:
19315         * gst/gststructure.c:
19316         * gst/registries/gstlibxmlregistry.h:
19317           various documentation fixes
19318
19319 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19320
19321         * docs/gst/gstreamer-sections.txt:
19322         * docs/gst/tmpl/gstvalue.sgml:
19323           rearrange gstvalue section
19324         * gst/gstutils.c: (gst_element_state_get_name):
19325           NONE -> VOID
19326         * gst/gstvalue.c: (_gst_value_initialize):
19327         * gst/gstvalue.h:
19328           doc updates
19329
19330 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19331
19332         * check/gst-libs/controller.c:
19333           Header include fix.
19334         * gst/base/gstbasetransform.c:
19335         (gst_base_transform_default_prepare_buf),
19336         (gst_base_transform_handle_buffer):
19337         * gst/base/gstbasetransform.h:
19338           Some more basetransform changes and fixes to enable sub-classes
19339           that modify buffer metadata only.
19340         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19341         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19342         (gst_capsfilter_prepare_buf):
19343           If the output pad has fixed allowed caps and input buffers 
19344           don't have any, set the fixed caps on outgoing buffers.
19345
19346 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19347         * check/elements/identity.c: (GST_START_TEST):
19348           Make the error a little clearer when the test fails because
19349           identity made a copy of the buffer.
19350         * docs/gst/gstreamer-sections.txt:
19351           New symbols in gstbasetransform.h
19352         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19353         (gst_base_transform_init), (gst_base_transform_transform_size),
19354         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19355         (gst_base_transform_default_prepare_buf),
19356         (gst_base_transform_get_unit_size),
19357         (gst_base_transform_buffer_alloc),
19358         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19359         (gst_base_transform_change_state),
19360         (gst_base_transform_set_passthrough),
19361         (gst_base_transform_set_in_place),
19362         (gst_base_transform_is_in_place):
19363         * gst/base/gstbasetransform.h:
19364           Change BaseTransform to separate in_place operate from same_caps
19365           output. in_place implies that the element can perform the transform
19366           on incoming buffers in-place, even if the caps on the output are
19367           different.
19368           Sub-class elements can now implement special buffer allocation
19369           methods for outgoing buffers if they wish to.
19370           Big documentation addition.
19371         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19372         * gst/elements/gstelements.c:
19373           Changes for basetransform modifications.
19374         * gst/elements/Makefile.am:
19375         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19376           Compile fix. Extra debug output.
19377
19378 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19379
19380         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19381         (gst_pad_suite):
19382           add tests for valid pad naming
19383         * gst/check/gstcheck.c: (gst_check_log_message_func),
19384         (gst_check_log_critical_func):
19385           add ASSERT_WARNING
19386           remove printing of code, it is fragile when the code contains
19387           % and the line number is enough info
19388         * gst/check/gstcheck.h:
19389         * gst/gstpad.c: (gst_pad_template_new):
19390           fix memleaks
19391
19392 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19393
19394         * configure.ac:
19395           say what CHECK flags we use
19396         * docs/libs/gstreamer-libs.types:
19397         * libs/gst/controller/Makefile.am:
19398         * libs/gst/controller/gst-controller.c:
19399         * libs/gst/controller/gst-controller.h:
19400         * libs/gst/controller/gst-helper.c:
19401         * libs/gst/controller/gst-interpolation.c:
19402         * libs/gst/controller/gstcontroller.c:
19403         * libs/gst/controller/gsthelper.c:
19404         * libs/gst/controller/gstinterpolation.c:
19405         * tools/gst-inspect.c: (print_plugin_info):
19406           we don't use dashes in header names
19407
19408 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19409
19410         * check/Makefile.am:
19411         * check/gst/.cvsignore:
19412         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19413         (gst_pipeline_suite), (main):
19414           adding a test for pipelines and state changes
19415         * gst/gstutils.c: (get_state_func):
19416           add some debugging
19417         * gstreamer.spec.in:
19418           fix up spec file
19419
19420 2005-09-08  Michael Smith <msmith@fluendo.com>
19421
19422         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19423         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19424         (gst_file_src_is_seekable), (gst_file_src_get_size),
19425         (gst_file_src_start):
19426         * gst/elements/gstfilesrc.h:
19427           Various fixes for unseekable, unmmapable, and non-normal files, so
19428           that fallback to read() rather than mmap() works.
19429         * gst/gstevent.c: (gst_event_new_newsegment):
19430           Allow newsegment events with segment_start == segment_end, as will
19431           correctly happen if you use filesrc on a zero-size file, for
19432           example.
19433
19434 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19435
19436         * gst/gstplugin.c: (gst_plugin_load_file):
19437           Call g_module_close when we don't load the module
19438
19439         * gst/registries/gstlibxmlregistry.c:
19440         (gst_xml_registry_get_property):
19441           Port leak fix from 0.8
19442
19443 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19444
19445         * docs/gst/gstreamer-docs.sgml:
19446         * docs/gst/tmpl/.cvsignore:
19447         * docs/gst/tmpl/gsttrace.sgml:
19448         * docs/gst/tmpl/gsttrashstack.sgml:
19449         * gst/Makefile.am:
19450         * gst/gst.h:
19451         * gst/gstelement.h:
19452         * gst/gstevent.h:
19453         * gst/gstmessage.c:
19454         * gst/gstmessage.h:
19455         * gst/gsttag.c:
19456         * gst/gsttag.h:
19457         * gst/gsttaginterface.c:
19458         * gst/gsttaginterface.h:
19459         * gst/gsttaglist.c:
19460         * gst/gsttaglist.h:
19461         * gst/gsttagsetter.c:
19462         * gst/gsttagsetter.h:
19463         * gst/gsttrace.c:
19464         * gst/gsttrace.h:
19465         * gst/gsttrashstack.c:
19466           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19467           inlined docs for gsttrace, gsttrashstack
19468
19469 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19470
19471         * gst/Makefile.am:
19472         * gst/elements/gstbufferstore.h:
19473         * gst/elements/gsttypefindelement.c:
19474         * gst/elements/gsttypefindelement.h:
19475         * gst/gst.h:
19476         * gst/gsttypefind.c:
19477         * gst/gsttypefind.h:
19478         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19479         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19480         (gst_type_find_factory_dispose),
19481         (gst_type_find_factory_unload_thyself),
19482         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19483         (gst_type_find_factory_get_caps),
19484         (gst_type_find_factory_get_extensions),
19485         (gst_type_find_factory_call_function):
19486         * gst/gsttypefindfactory.h:
19487         * gst/registries/gstlibxmlregistry.c:
19488         * gst/registries/gstxmlregistry.c:
19489           splitted gsttypefind into gsttypefind, gsttypefindfactory
19490
19491 2005-09-07  Andy Wingo  <wingo@pobox.com>
19492
19493         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19494         condition whereby the pad's task function is entered before the
19495         pad_mode variable was set.
19496
19497 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19498
19499         * gst/gstpad.c: (gst_pad_alloc_buffer):
19500           Catch misbehaving pad_alloc functions that don't
19501           set up caps and do it for them.
19502
19503 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19504
19505         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19506           test for pipe!=NULL
19507         * docs/gst/tmpl/.cvsignore:
19508         * docs/gst/tmpl/gstmemchunk.sgml:
19509         * docs/gst/tmpl/gstparse.sgml:
19510         * docs/gst/tmpl/gsttaglist.sgml:
19511         * docs/gst/tmpl/gsttagsetter.sgml:
19512         * docs/gst/tmpl/gsttypefind.sgml:
19513         * docs/gst/tmpl/gsttypefindfactory.sgml:
19514         * gst/gstmemchunk.c:
19515         * gst/gstparse.c:
19516         * gst/gsttag.c:
19517         * gst/gsttaginterface.c:
19518         * gst/gsttypefind.c:
19519         * gst/gsttypefind.h:
19520           inlined more docs
19521
19522 === release 0.9.2 ===
19523
19524 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19525
19526         * NEWS:
19527         * RELEASE:
19528         * configure.ac:
19529           releasing 0.9.2, "South"
19530
19531 2005-09-05  Andy Wingo  <wingo@pobox.com>
19532
19533         * gst/registries/gstxmlregistry.h:
19534         * gst/registries/gstxmlregistry.c: Um... resurrect...
19535         
19536         * gst/registries/gstxmlregistry.h:
19537         * gst/registries/gstxmlregistry.c: and update to newer API.
19538         Incidentally they should be a bit faster now that they don't have
19539         to parse the caps.
19540         
19541 2005-09-05  Andy Wingo  <wingo@pobox.com>
19542
19543         * gst/registries/gstxmlregistry.h:
19544         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19545         replaced by the libxml registry a while back
19546
19547 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19548
19549         * docs/gst/tmpl/gstplugin.sgml:
19550         * gst/elements/gstelements.c:
19551         * gst/gst.c:
19552         * gst/gstplugin.c: (gst_plugin_register_func),
19553         (gst_plugin_desc_copy), (gst_plugin_desc_free),
19554         (gst_plugin_get_source):
19555         * gst/gstplugin.h:
19556         * gst/registries/gstlibxmlregistry.c: (load_plugin),
19557         (gst_xml_registry_save_plugin):
19558         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19559         (gst_xml_registry_save_plugin):
19560         * tools/gst-inspect.c: (print_plugin_info):
19561           add a "source" plugin description field, to represent the source
19562           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
19563           will set it to PACKAGE, which is automake's idea of the name of
19564           the source project.
19565
19566 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19567
19568         * Makefile.am:
19569         * autogen.sh:
19570         * configure.ac:
19571         * docs/Makefile.am:
19572         * docs/faq/Makefile.am:
19573         * docs/gst/tmpl/gstelement.sgml:
19574         * docs/gst/tmpl/gsttypes.sgml:
19575         * docs/htmlinstall.mak:
19576         * docs/manual/Makefile.am:
19577         * docs/pwg/Makefile.am:
19578           reorganize doc build a little
19579           split out docbook and gtk-doc stuff
19580           have two separate --enable's and enable them through autogen
19581           but disable by default in configure (to be similar to other
19582           projects)
19583         * gstreamer.spec.in:
19584           clean up docs install
19585         * po/af.po:
19586         * po/az.po:
19587         * po/ca.po:
19588         * po/cs.po:
19589         * po/de.po:
19590         * po/en_GB.po:
19591         * po/fr.po:
19592         * po/it.po:
19593         * po/nb.po:
19594         * po/nl.po:
19595         * po/ru.po:
19596         * po/sq.po:
19597         * po/sr.po:
19598         * po/sv.po:
19599         * po/tr.po:
19600         * po/uk.po:
19601         * po/vi.po:
19602           translation updates
19603
19604 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
19605
19606         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19607           Add comment.
19608           
19609         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19610         (gst_fake_sink_change_state):
19611           Make state change function thread-safe.
19612           
19613         * gst/gstpad.c: (gst_pad_alloc_buffer):
19614           Set offset on generic buffer allocated by fallback.
19615
19616 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
19617
19618         * docs/gst/gstreamer-sections.txt:
19619         * docs/gst/tmpl/gstelement.sgml:
19620         * gst/gstpad.c:
19621         * libs/gst/controller/gst-controller.c:
19622         (gst_controlled_property_set_interpolation_mode),
19623         (gst_controlled_property_new),
19624         (gst_controller_find_controlled_property):
19625          run the wingo-magic script against the docs
19626
19627 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19628
19629         * docs/gst/gstreamer-docs.sgml:
19630         * docs/gst/gstreamer-sections.txt:
19631         * docs/gst/tmpl/.cvsignore:
19632         * docs/gst/tmpl/gstelementdetails.sgml:
19633         * docs/gst/tmpl/gstelementfactory.sgml:
19634         * gst/gst.c:
19635         * gst/gstbus.c:
19636         * gst/gstelementfactory.c:
19637         * gst/gstelementfactory.h:
19638           merged elementdetails docs into elementfactory docs
19639           inlined both
19640
19641 2005-09-02  Andy Wingo  <wingo@pobox.com>
19642
19643         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19644         consider this enum an enum and not a flags.
19645
19646 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19647
19648         * docs/gst/gstreamer-docs.sgml:
19649         * docs/gst/tmpl/.cvsignore:
19650         * docs/gst/tmpl/gstghostpad.sgml:
19651         * docs/gst/tmpl/gstiterator.sgml:
19652         * docs/gst/tmpl/gstmacros.sgml:
19653         * docs/gst/tmpl/gstrealpad.sgml:
19654         * docs/gst/tmpl/gstregistry.sgml:
19655         * docs/gst/tmpl/gstregistrypool.sgml:
19656         * docs/gst/tmpl/gststructure.sgml:
19657         * docs/gst/tmpl/gstsystemclock.sgml:
19658         * docs/gst/tmpl/gsttrace.sgml:
19659         * gst/gstghostpad.c:
19660         * gst/gstmacros.h:
19661         * gst/gstmemchunk.c:
19662         * gst/gstmemchunk.h:
19663         * gst/gstqueue.c:
19664         * gst/gstregistry.c:
19665         * gst/gstregistrypool.c:
19666         * gst/gststructure.c:
19667         * gst/gstsystemclock.c:
19668           more docs inlined
19669
19670 2005-09-02  Andy Wingo  <wingo@pobox.com>
19671
19672         * gst/gstelement.h (GstState): Renamed from GstElementState,
19673         changed to be a normal enum instead of flags.
19674         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19675         munged to be GST_STATE_CHANGE_*.
19676         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19677         work with the new state representation.
19678         (GstStateChange): New enumeration of possible state transitions.
19679         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19680         (GstElementClass::change_state): Pass the GstStateChange along as
19681         an argument. Helps language bindings, so they don't have to use
19682         tricky lock-needing macros like GST_STATE_CHANGE ().
19683
19684         * scripts/update-states (file): New script. Run it on a file to
19685         update it for state naming and API changes. Updates files in
19686         place.
19687
19688         * All files updated for the new API.
19689
19690 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19691
19692         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19693         * gst/gstutils.c: (gst_util_set_value_from_string),
19694         (gst_util_set_object_arg):
19695           fix a bunch of unchecked return values
19696         * tools/gst-complete.c: (main):
19697         * gstreamer.spec.in:
19698           clean up a little
19699
19700 2005-09-01  Wim Taymans  <wim@fluendo.com>
19701
19702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19703         (gst_base_sink_event), (gst_base_sink_do_sync),
19704         (gst_base_sink_handle_event):
19705         * gst/base/gstbasesink.h:
19706         Handle newsegments more correctly.
19707
19708         * gst/gstbus.c:
19709         Fix docs.
19710
19711         * gst/gstevent.c: (gst_event_new_newsegment):
19712         A newsegment cannot have a start_time of -1
19713
19714 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
19715
19716         * win32/gstenumtypes.c:
19717         * win32/gstenumtypes.h:
19718           Update
19719
19720 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19721
19722         * libs/gst/controller/gst-controller.c:
19723         (gst_controlled_property_set_interpolation_mode),
19724         (gst_controlled_property_new):
19725          fixed boolean again
19726
19727 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
19728
19729         * docs/faq/gst-uninstalled:
19730           add -good
19731         * gst/gstevent.c:
19732         * gst/gstevent.h:
19733           remove wrong docs
19734         * gst/gstutils.c: (gst_element_link_filtered):
19735         * gst/gstutils.h:
19736           add gst_element_link_filtered
19737
19738 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19739
19740         * docs/gst/gstreamer-docs.sgml:
19741         * docs/gst/gstreamer-sections.txt:
19742         * docs/gst/tmpl/.cvsignore:
19743         * docs/gst/tmpl/gsterror.sgml:
19744         * docs/gst/tmpl/gstfilter.sgml:
19745         * docs/gst/tmpl/gsturihandler.sgml:
19746         * docs/gst/tmpl/gsturitype.sgml:
19747         * docs/gst/tmpl/gstutils.sgml:
19748         * docs/gst/tmpl/gstxml.sgml:
19749         * gst/gsterror.c:
19750         * gst/gsterror.h:
19751         * gst/gstfilter.c:
19752         * gst/gsturi.c:
19753         * gst/gsturitype.c:
19754         * gst/gstutils.c:
19755         * gst/gstxml.c:
19756           inlined more docs, fixed double id-ref
19757
19758 2005-08-31  Wim Taymans  <wim@fluendo.com>
19759
19760         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19761         (gst_base_transform_handle_buffer):
19762         Passthrough elements don't need the caps as they don't care.
19763
19764 2005-08-31  Wim Taymans  <wim@fluendo.com>
19765
19766         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19767         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19768         Don't leak refcounts on buffers.
19769
19770 2005-08-31  Wim Taymans  <wim@fluendo.com>
19771
19772         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19773         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19774         (gst_base_transform_chain), (gst_base_transform_change_state):
19775         * gst/base/gstbasetransform.h:
19776         Handle the case where we are not negotiated more gracefully.
19777
19778 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19779
19780         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19781         (gst_file_src_map_region):
19782           Set READONLY flag on mmap'ed buffers, otherwise
19783           gst_buffer_make_writable() won't work properly (#314708).
19784
19785 2005-08-31  Wim Taymans  <wim@fluendo.com>
19786
19787         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19788         passthrough elements can even do inplace on non writable
19789         buffers (as they don't touch them).
19790
19791 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19792
19793         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19794         (gst_test_mono_source_set_property),
19795         (gst_test_mono_source_class_init), (GST_START_TEST),
19796         (gst_controller_suite):
19797           more tests (hehe I have the most)
19798         * gst/gstbus.c:
19799           describe popping messages whenusing mulltiple sources
19800         * libs/gst/controller/gst-controller.c:
19801         (gst_controlled_property_set_interpolation_mode),
19802         (gst_controlled_property_new):
19803         * libs/gst/controller/gst-controller.h:
19804         * libs/gst/controller/gst-interpolation.c:
19805           implement boolean properties
19806
19807 2005-08-31  Wim Taymans  <wim@fluendo.com>
19808
19809         * gst/gstminiobject.c: (gst_mini_object_ref):
19810         Cannot assert that the refcount has to be positive
19811         since a disposed object can be resurrected.
19812
19813 2005-08-31  Wim Taymans  <wim@fluendo.com>
19814
19815         * gst/gstpad.c: (gst_pad_init):
19816         Revert change, need to first fix badly behaving 
19817         apps.
19818
19819 2005-08-30  Wim Taymans  <wim@fluendo.com>
19820
19821         * check/elements/fakesrc.c: (setup_fakesrc):
19822         * check/elements/identity.c: (setup_identity):
19823         Activate pads before using them.
19824
19825 2005-08-30  Wim Taymans  <wim@fluendo.com>
19826
19827         * gst/base/gstadapter.c: (gst_adapter_flush):
19828         Flushing out 0 bytes is ok for this function.
19829
19830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19831         no newsegment gives a warning and sets the start/stop to 
19832         invalid.
19833
19834         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19835         (gst_base_transform_set_passthrough):
19836         Some debug info.
19837
19838         * gst/gstminiobject.c: (gst_mini_object_ref):
19839         Check refcount here too.
19840
19841         * gst/gstpad.c: (gst_pad_init):
19842         Pads are initially flushing and refusing data.
19843
19844         * gst/gstutils.c: (gst_element_link_pads_filtered):
19845         When adding a capsfilter element make sure it has the
19846         same state as the parent bin.
19847
19848 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19849
19850         * docs/gst/tmpl/.cvsignore:
19851         * docs/gst/tmpl/gstformat.sgml:
19852         * docs/gst/tmpl/gstversion.sgml:
19853         * gst/gstbus.h:
19854         * gst/gstformat.c:
19855         * gst/gstformat.h:
19856         * gst/gstversion.h.in:
19857           more docs and two more inlined
19858
19859 2005-08-30  Wim Taymans  <wim@fluendo.com>
19860
19861         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19862         Don't sync to clock.
19863
19864 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19865
19866         * docs/gst/gstreamer-sections.txt:
19867           ultral33t func10ns deserve to appear in the docs actually
19868         * docs/gst/tmpl/.cvsignore:
19869         * docs/gst/tmpl/gstcompat.sgml:
19870         * docs/gst/tmpl/gstconfig.sgml:
19871         * gst/check/gstcheck.c:
19872         * gst/gstcompat.h:
19873         * gst/gstconfig.h.in:
19874           inlined more docs
19875
19876 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19877
19878         * docs/gst/tmpl/.cvsignore:
19879         * docs/gst/tmpl/gstquery.sgml:
19880         * docs/gst/tmpl/gstutils.sgml:
19881         * gst/gstquery.c:
19882         * gst/gstquery.h:
19883           inlined and extended docs
19884
19885 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19886
19887         * check/gst-libs/controller.c: (GST_START_TEST),
19888         (gst_controller_suite):
19889           more tests
19890         * docs/gst/tmpl/gstutils.sgml:
19891         * docs/libs/gstreamer-libs-sections.txt:
19892         * docs/libs/tmpl/gstdataprotocol.sgml:
19893           include path fixes
19894         * examples/controller/audio-example.c: (main):
19895           controller example works now
19896         * gst/gstclock.h:
19897           doc fixes
19898         * tools/gst-inspect.c: (print_element_properties_info):
19899           show param spec flags
19900
19901 2005-08-29  Andy Wingo  <wingo@pobox.com>
19902
19903         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19904
19905 2005-08-28  Andy Wingo  <wingo@pobox.com>
19906
19907         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19908         as having two arguments instead of just one. Allows superclasses
19909         to access information on subclasses -- see the terrible for() loop
19910         in gtype.c:g_type_create_instance for the reason why. All callers
19911         changed.
19912
19913 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19914
19915         * docs/design/part-messages.txt:
19916           update info
19917         * docs/gst/tmpl/.cvsignore:
19918         * docs/gst/tmpl/gstcaps.sgml:
19919         * docs/gst/tmpl/gstclock.sgml:
19920         * gst/gstbus.c:
19921         * gst/gstcaps.c:
19922         * gst/gstcaps.h:
19923         * gst/gstclock.c:
19924         * gst/gstclock.h:
19925         * gst/gstmessage.c:
19926           added descriptions for bus and message
19927           inline caps and clock docs
19928
19929 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19930
19931         * gst/gstmessage.c:
19932         * gst/gstmessage.h:
19933           doc fixes
19934
19935 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19936
19937         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19938           fix div-by-zero
19939
19940 2005-08-26  Andy Wingo  <wingo@pobox.com>
19941
19942         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
19943         element_set_state's return val.
19944         (test_2_elements): Add test that's been disabled for months.
19945
19946         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
19947         can-activate-pull properties.
19948
19949         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
19950         can-activate-pull properties. Implement is_seekable so fakesrc can
19951         operate in pull mode.
19952
19953         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
19954         properties.
19955         (gst_base_sink_activate, gst_base_sink_activate_pull)
19956         (gst_base_sink_activate_push): Make activation mode choosing work.
19957         Cleanups.
19958         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
19959         is right. Make pull mode work. Post an eos before pausing in pull
19960         mode.
19961         (gst_base_sink_change_state): Pay attention to the core's
19962         change_state() return val.
19963         
19964         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
19965         has-getrange properties. Cleanups.
19966         
19967         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
19968         has_getrange and replace with can_activate_pull and
19969         can_activate_push.
19970
19971         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
19972         locking comments. Remove has_loop, has_chain and replace with
19973         can_activate_pull and can_activate_push.
19974
19975 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
19976
19977         * configure.ac:
19978         * examples/Makefile.am:
19979         * examples/metadata/Makefile.am:
19980         * examples/metadata/read-metadata.c: (message_loop),
19981         (have_pad_handler), (make_pipeline), (print_tag), (main):
19982           Add metadata reading example that loops over a list of filenames,
19983           dumping any tags found.
19984
19985         * gst/gstbus.c: (gst_bus_dispose):
19986         * gst/gstelement.c: (gst_element_dispose):
19987           Release a few potentially-held references in dispose.
19988
19989 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19990
19991         * docs/gst/tmpl/gstminiobject.sgml:
19992           do *not* add tmpl/*.sgml files to CVS!
19993
19994 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19995
19996         * libs/gst/bytestream/.cvsignore:
19997         * libs/gst/bytestream/Makefile.am:
19998         * libs/gst/bytestream/adapter.c:
19999         * libs/gst/bytestream/adapter.h:
20000         * libs/gst/bytestream/bytestream.c:
20001         * libs/gst/bytestream/bytestream.h:
20002         * libs/gst/bytestream/filepad.c:
20003         * libs/gst/bytestream/filepad.h:
20004           removing obsolete files
20005
20006 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20007
20008         * docs/gst/gstreamer-docs.sgml:
20009         * docs/libs/gstreamer-libs-docs.sgml:
20010           disabed additional index entries again, as this makes docs-gen just
20011           slow and they aren't useful yet
20012         * docs/libs/gstreamer-libs-sections.txt:
20013           little -section.txt cleanup for libs
20014
20015 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20016
20017         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20018         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20019           fix up some debugging
20020         (gst_base_transform_get_unit_size),
20021         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20022         (gst_base_transform_handle_buffer):
20023         * gst/base/gstbasetransform.h:
20024           handle and store timed NEWSEGMENT events so that subclasses that
20025           calculate time by counting samples have a segment_start time they
20026           need to add to their timestamps - see audioresample
20027
20028 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20029
20030         * gst/gstbin.h:
20031           removed ';' from the end of macro defs
20032         * docs/gst/gstreamer-docs.sgml:
20033         * docs/gst/gstreamer-sections.txt:
20034         * docs/gst/tmpl/.cvsignore:
20035         * gst/gstbus.h:
20036         * gst/gstelement.c: (gst_element_class_init),
20037         (gst_element_set_state), (activate_pads),
20038         (gst_element_save_thyself):
20039         * gst/gstevent.c: (gst_event_new_newsegment):
20040         * gst/gstevent.h:
20041         * gst/gstiterator.c:
20042         * gst/gstiterator.h:
20043         * gst/gstpad.c:
20044         * gst/gstprobe.h:
20045         * gst/gstutils.c: (gst_pad_query_convert):
20046         * gst/gstutils.h:
20047           fixed parameter name mismatches between source, header and docs
20048           added some more docs, resolved the last batch of unused elements in
20049           docs (now someone needs to doc them)
20050
20051 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20052
20053         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20054         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20055           don't walk through the plugins backwards.  Where is all this
20056           reversed logic coming from ?
20057
20058 2005-08-25  Wim Taymans  <wim@fluendo.com>
20059
20060         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20061         (gst_base_transform_transform_size),
20062         (gst_base_transform_configure_caps),
20063         (gst_base_transform_get_unit_size),
20064         (gst_base_transform_buffer_alloc),
20065         (gst_base_transform_change_state):
20066         * gst/base/gstbasetransform.h:
20067         Cache caps unit_size.
20068         Make sure we cannot negotiate up and downstream at the
20069         same time.
20070
20071 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20072
20073         * gst/gst.c: (init_pre), (init_post):
20074           register the installed plugin path after the env var
20075         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20076         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20077           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20078           directories, so the tests can prefer uninstalled over installed
20079
20080 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20081
20082         * gst/base/gstbasetransform.h:
20083           comment
20084         * gst/gstpad.c:
20085           add to docs
20086
20087 2005-08-25  Wim Taymans  <wim@fluendo.com>
20088
20089         * gst/gstbin.c: (bin_bus_handler):
20090         Be a bit more conservative about the posted message.
20091         
20092         * gst/gstbus.c: (gst_bus_post):
20093         Some cleanups, warn wrong return values.
20094
20095 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20096
20097         * check/gst/gstbin.c: (GST_START_TEST):
20098         * gst/gstbin.c: (bin_bus_handler):
20099         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20100         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20101         (gst_message_new_warning), (gst_message_new_tag),
20102         (gst_message_new_state_changed), (gst_message_new_segment_start),
20103         (gst_message_new_segment_done), (gst_message_new_custom):
20104         * gst/gstmessage.h:
20105         * tools/gst-launch.c: (event_loop):
20106         * tools/gst-md5sum.c: (event_loop):
20107           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20108
20109 2005-08-25  Wim Taymans  <wim@fluendo.com>
20110
20111         * check/generic/states.c: (GST_START_TEST):
20112         Cleanup can be done at the end.
20113
20114         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20115         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20116         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20117         Oh boy.. Thanks for finding this, Thomas. 
20118
20119 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20120
20121         * docs/gst/gstreamer.types:
20122           added missing types
20123
20124 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20125
20126         * docs/gst/gstreamer-docs.sgml:
20127         * docs/gst/gstreamer-sections.txt:
20128         * docs/gst/tmpl/.cvsignore:
20129         * gst/gstbin.c:
20130         * gst/gstiterator.c:
20131         * gst/gstutils.c:
20132         * gst/registries/gstxmlregistry.h:
20133           added missing classes and symbols (123 more to go)
20134           removed removed symbols from section file
20135           fixed many doc-comments
20136
20137 2005-08-24  Wim Taymans  <wim@fluendo.com>
20138
20139         * check/generic/states.c: (GST_START_TEST):
20140         Make sure all tasks are stopped.
20141
20142         * check/gst/gstbin.c: (GST_START_TEST):
20143         Unref after usage for proper valgrinding.
20144
20145         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20146         Really wait for the task to stop before destroying the
20147         mutex.
20148
20149         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20150         (gst_queue_src_activate_push):
20151         Small cleanups. Don't stop the task when we did not start
20152         it.
20153
20154         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20155         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20156         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20157         (gst_task_join):
20158         * gst/gsttask.h:
20159         Protect the stream lock with the object lock.
20160         Disallow setting the stream lock when running.
20161         Add cleanup_all to wait for the threadpool to finish.
20162         Remove code to autoallocate a mutex if none was provided.
20163         Add _join() to wait for a task to stop.
20164         Protect the thread pool with a global lock.
20165
20166 2005-08-24  Wim Taymans  <wim@fluendo.com>
20167
20168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20169         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20170         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20171         * gst/base/gstbasesink.h:
20172         Handle newsegment events correctly.
20173         Drop buffers out of the segment range.
20174
20175 2005-08-22  Andy Wingo  <wingo@pobox.com>
20176
20177         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20178         macro, implements an interface and gstimplementsinterface for a
20179         new type.
20180
20181 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20182
20183         * check/Makefile.am:
20184         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20185           add a test that does a bunch of state changes on elements
20186           needs some fixing for valgrind
20187         * check/states/sinks.c: (gst_object_suite):
20188           whitespace
20189         * gst/gstcaps.h:
20190           add prototype for gst_caps_is_equal_fixed
20191         * gst/gstplugin.c:
20192         * gst/gstregistrypool.c:
20193           doc fixes
20194
20195 2005-08-24  Andy Wingo  <wingo@pobox.com>
20196
20197         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20198         convert a negative value. Doesn't make much sense. Mostly this is
20199         here to force callers to ensure -1 maps to -1.
20200
20201 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20202
20203         * docs/pwg/advanced-types.xml:
20204           Well done to Michael for catching my deliberate introduction
20205           of this spelling mistake. 
20206         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20207         * gst/gstelement.h:
20208           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20209           unlink pads before removing the element from the bin.
20210
20211 2005-08-24  Andy Wingo  <wingo@pobox.com>
20212
20213         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20214         the same thing as GST_DEBUG=*:4.
20215         (parse_debug_level, parse_debug_category): New helper parsers.
20216
20217 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20218
20219         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20220         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20221         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20222         (gst_base_transform_buffer_alloc),
20223         (gst_base_transform_handle_buffer):
20224           use gboolean return values and pointers to size so we can use the
20225           full GST_BUFFER_SIZE range (guint) for buffer sizes
20226           use GstPadDirection for transform_caps
20227         * gst/base/gstbasetransform.h:
20228           rename get_size to get_unit_size since that's what it is
20229         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20230           use GstPadDirection for transform_caps
20231         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20232         * gst/gstutils.h:
20233           cleanup and debugging
20234
20235 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20236
20237         * gst/gstelement.c: (gst_element_class_init),
20238         (gst_element_set_state), (activate_pads),
20239         (gst_element_save_thyself):
20240         * tools/gst-compprep.c: (main):
20241         * tools/gst-inspect.c: (print_element_properties_info):
20242         * tools/gst-xmlinspect.c: (print_element_properties):
20243           Fixed long standing mem-leak
20244
20245 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20246
20247         * check/gst/gstbin.c: (GST_START_TEST):
20248         * gst/gstbin.c: (bin_bus_handler):
20249         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20250         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20251         (gst_message_new_warning), (gst_message_new_tag),
20252         (gst_message_new_state_changed), (gst_message_new_segment_start),
20253         (gst_message_new_segment_done), (gst_message_new_custom):
20254         * gst/gstmessage.h:
20255         * tools/gst-launch.c: (event_loop):
20256         * tools/gst-md5sum.c: (event_loop):
20257           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20258           that applications can sensibly post custom messages with references
20259           to their own objects.
20260
20261 2005-08-24  Andy Wingo  <wingo@pobox.com>
20262
20263         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20264         already.
20265
20266 2005-08-24  Wim Taymans  <wim@fluendo.com>
20267
20268         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20269         (gst_base_transform_transform_caps),
20270         (gst_base_transform_transform_size),
20271         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20272         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20273         (gst_base_transform_handle_buffer):
20274         * gst/base/gstbasetransform.h:
20275         Many fixes and new features added by Thomas. Can now also do
20276         transforms with variable sizes and a custom fixate_caps function.
20277
20278 2005-08-24  Wim Taymans  <wim@fluendo.com>
20279
20280         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20281         Some debugging.
20282
20283         * gst/gstclock.h:
20284         Cast to ClockTime before formatting to time.
20285
20286         * gst/gstutils.h:
20287         Cleanups.
20288
20289 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20290
20291         * check/gst-libs/controller.c: (GST_START_TEST),
20292         (gst_controller_suite):
20293         * docs/gst/tmpl/gstcaps.sgml:
20294         * docs/gst/tmpl/gstghostpad.sgml:
20295         * docs/gst/tmpl/gstquery.sgml:
20296         * docs/gst/tmpl/gstutils.sgml:
20297         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20298         (gst_object_sink_values), (gst_object_get_value_arrays),
20299         (gst_object_get_value_array):
20300           gracefully handle helper method calls to objects that are not beeing
20301           controlled, added test case for that          
20302
20303 2005-08-23  Wim Taymans  <wim@fluendo.com>
20304
20305         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20306         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20307         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20308         (gst_event_parse_qos), (gst_event_new_seek),
20309         (gst_event_parse_seek):
20310         * gst/gstevent.h:
20311         Some more debugging output and doc cleanups.
20312
20313         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20314         Fix possible deadlock.
20315
20316 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20317
20318         * docs/gst/gstreamer-docs.sgml:
20319         * docs/gst/gstreamer-sections.txt:
20320         * docs/gst/gstreamer.types:
20321         * docs/gst/tmpl/.cvsignore:
20322         * gst/gstbin.h:
20323         * gst/gstbus.c:
20324         * gst/gstelement.c:
20325         * gst/gstevent.h:
20326           added 100 symbols from gstreamer-unused.txt to the right sections
20327           fixed more broken comments
20328           added GstBus to docs
20329
20330 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20331
20332         * docs/gst/gstreamer-sections.txt:
20333         * docs/gst/tmpl/.cvsignore:
20334         * docs/gst/tmpl/gstbin.sgml:
20335         * docs/gst/tmpl/gstbuffer.sgml:
20336         * gst/base/gstbasesrc.c:
20337         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20338         * gst/gstbuffer.c:
20339         * gst/gstbuffer.h:
20340         * tools/gst-launch.1.in:
20341           inlined more doc comments, added missing comments and fixed comments
20342           fixed typos
20343
20344 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20345
20346         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20347           some debugging
20348         * gst/gstcaps.h:
20349           whitespace fixes
20350         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20351           more debugging
20352         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20353         * gst/gststructure.h:
20354           add a fixate function for booleans; add a FIXME that these func
20355           names should probably be gst_structure_fixate_*
20356
20357 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20358
20359         * docs/gst/gstreamer-docs.sgml:
20360         * docs/gst/gstreamer-sections.txt:
20361         * gst/Makefile.am:
20362         * gst/gstbin.c: (gst_bin_get_type),
20363         (gst_bin_child_proxy_get_child_by_index),
20364         (gst_bin_child_proxy_get_children_count),
20365         (gst_bin_child_proxy_init):
20366         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20367         (gst_child_proxy_get_child_by_index),
20368         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20369         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20370         (gst_child_proxy_get), (gst_child_proxy_set_property),
20371         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20372         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20373         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20374         * gst/gstchildproxy.h:
20375         * gst/parse/grammar.y:
20376         * tools/gst-inspect.c: (print_interfaces),
20377         (print_element_properties_info), (print_element_info):
20378           ported gstchildproxy over from 0.8
20379           ported gst-inspect fixes and enhancements over from 0.8
20380
20381 2005-08-22  Wim Taymans  <wim@fluendo.com>
20382
20383         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20384         (gst_base_transform_handle_buffer):
20385         Also call the transform function if we have ANY caps.
20386
20387         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20388         Fix debug info.
20389
20390 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20391
20392         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20393           Don't pretend to handle seek events if the source is not seekable
20394
20395 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20396
20397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20398           Remove extra parameter to debug output
20399
20400         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20401         (gst_base_src_do_seek), (gst_base_src_activate_push):
20402           Fix seek event handling.
20403
20404         * gst/gstpipeline.c: (gst_pipeline_change_state):
20405         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20406         (gst_queue_src_activate_push):
20407           Don't start the src pad task on FLUSH_STOP if the pad
20408           isn't linked.
20409           Debug changes.
20410
20411 2005-08-22  Wim Taymans  <wim@fluendo.com>
20412
20413         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20414         Added check for gst_static_caps_get() refcounting.
20415
20416 2005-08-22  Wim Taymans  <wim@fluendo.com>
20417
20418         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20419         Make _static_caps_get() refcounting sane.
20420         
20421         * gst/gstelement.c: (gst_element_set_state):
20422         Add g_return_val_if_fail() to protect against segfaults.
20423
20424 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20425
20426         * docs/gst/tmpl/gstevent.sgml:
20427         * gst/gstevent.c:
20428         * gst/gstevent.h:
20429           inlined remaining docs, added missing doc comments
20430
20431 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20432
20433         * check/gst/gstbin.c: (GST_START_TEST):
20434           since we don't know when preroll is done, use refcount range
20435           check for the sink
20436         * gst/check/gstcheck.h:
20437           add macro for checking refcount range
20438
20439 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20440
20441         * check/Makefile.am:
20442           clean up environment for when registry gets built versus
20443           when actual tests are run; valgrind seems to not report
20444           leaks if GST_PLUGIN_PATH is set to some specific values
20445         * check/gst/gstbin.c: (GST_START_TEST):
20446           add more refcounting checks; maybe this exposes a
20447           preroll lock bug ?
20448         * common/check.mak:
20449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20450         * gst/check/gstcheck.h:
20451         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20452         (gst_bin_change_state):
20453         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20454           add/fix debugging/whitespace
20455
20456 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20457
20458         * check/gst/gstevent.c: (event_probe), (test_event),
20459         (GST_START_TEST):
20460          Er, don't call gst_bin_watch_for_state_change you idiot.
20461
20462 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20463
20464         * check/Makefile.am:
20465           Use CHECK_CFLAGS and CHECK_LIBS
20466         * check/gst/gstevent.c: (event_probe), (test_event),
20467         (GST_START_TEST):
20468           Don't leak events.
20469         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20470         (gst_base_src_start), (gst_base_src_stop),
20471         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20472         (gst_base_src_change_state):
20473           Sprinkle gst_base_src_stop liberally around error paths to fix
20474           problems reusing a source after failed state changes.
20475         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20476         (helper_find_suggest), (gst_type_find_helper):
20477           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20478         * gst/gstevent.h:
20479         * docs/gst/tmpl/gstevent.sgml:
20480           Migrate part of the docs from the SGML file. Wait for ensonic to
20481           tell me how I did it wrong ;)
20482         * tools/gst-typefind.c: (main):
20483           Extra robustness to state changes between files.
20484
20485 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20486
20487         * check/Makefile.am:
20488           don't valgrind the controller test - it's leaking - Stefan, HELP
20489         * gst/check/gstcheck.c: (gst_check_message_error),
20490         (gst_check_chain_func), (gst_check_setup_element),
20491         (gst_check_teardown_element), (gst_check_setup_src_pad),
20492         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20493         (gst_check_teardown_sink_pad):
20494         * gst/check/gstcheck.h:
20495           add a bunch of methods to set up elements, and src and sink pads
20496         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20497         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20498         (GST_START_TEST):
20499           use them
20500         * gst/gstmessage.c:
20501         * gst/gsttag.h:
20502           whitespace/doc fixes
20503
20504 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20505
20506         * gst/gstelement.h:
20507           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20508           be handled by the application and not always printed as well
20509
20510 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20511
20512         * check/Makefile.am:
20513           set GST_TOOLS_DIR
20514         * gst/check/gstcheck.c: (gst_check_message_error):
20515         * gst/check/gstcheck.h:
20516           add a fail_unless_equals_int
20517           add fail_unless for error messages
20518
20519 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20520
20521         * check/Makefile.am:
20522         * check/gst.supp:
20523         * common/Makefile.am:
20524         * common/check.mak:
20525         * common/gst.supp:
20526           factor out some of the common stuff so we can use it
20527
20528 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20529
20530         * check/Makefile.am:
20531         * check/gst/gstiterator.c: (GST_START_TEST):
20532         * check/gst/gstsystemclock.c: (GST_START_TEST),
20533         (gst_systemclock_suite):
20534         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20535         * gst/gstclock.c:
20536           valgrind more tests
20537
20538 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20539
20540         * check/elements/.cvsignore:
20541         * check/elements/gstfakesrc.c:
20542           rename to name of element
20543         * check/elements/identity.c: (chain_func), (event_func),
20544         (setup_identity), (cleanup_identity), (GST_START_TEST),
20545         (identity_suite), (main):
20546           add a test for identity
20547         * check/Makefile.am:
20548         * pkgconfig/Makefile.am:
20549         * pkgconfig/gstreamer-check.pc.in:
20550         * pkgconfig/gstreamer-check-uninstalled.pc.in:
20551         * gst/check:
20552         * gst/Makefile.am:
20553         * configure.ac:
20554           move the check stuff to a library that gets installed
20555         * check/gst-libs/controller.c: (GST_START_TEST):
20556         * check/gst-libs/gdp.c:
20557         * check/gst/gst.c: (GST_START_TEST):
20558         * check/gst/gstbin.c:
20559         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20560         * check/gst/gstbus.c:
20561         * check/gst/gstcaps.c: (GST_START_TEST):
20562         * check/gst/gstelement.c:
20563         * check/gst/gstghostpad.c:
20564         * check/gst/gstiterator.c:
20565         * check/gst/gstmessage.c:
20566         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20567         * check/gst/gstobject.c:
20568         * check/gst/gstpad.c: (GST_START_TEST):
20569         * check/gst/gststructure.c: (GST_START_TEST):
20570         * check/gst/gstsystemclock.c: (GST_START_TEST),
20571         (gst_systemclock_suite):
20572         * check/gst/gsttag.c: (gst_tag_suite):
20573         * check/gst/gstvalue.c:
20574         * check/pipelines/cleanup.c:
20575         * check/pipelines/simple_launch_lines.c:
20576         * check/states/sinks.c:
20577           change include statement
20578
20579         * docs/gst/gstreamer-sections.txt:
20580         * docs/gst/tmpl/gstpad.sgml:
20581           document more pad stuff
20582         * gst/gstminiobject.c: (gst_mini_object_ref),
20583         (gst_mini_object_unref):
20584           debug refcounting
20585
20586 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
20587
20588         * docs/gst/tmpl/gst.sgml:
20589         * gst/gst.c:
20590           eliminate another tmpl file, fix spelling in the long-description
20591
20592 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20593
20594         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20595         (test_event), (timediff), (gstevents_suite):
20596           Should fix build on 64-bit arch's
20597
20598 2005-08-18  Andy Wingo  <wingo@pobox.com>
20599
20600         Make sure that when a pipeline goes to PLAYING, that data has
20601         actually hit the sink.
20602
20603         * check/states/sinks.c (test_sink): A sink that doesn't get any
20604         data shouldn't return SUCCESS for going to either PLAYING or
20605         PAUSED. Test also the return values on the way back down.
20606
20607         * gst/gstelement.c (gst_element_set_state): When changing the
20608         state of an element currently changing state asynchronously, go to
20609         lost-state after commiting the pending state. Makes future calls
20610         to get_state continue to return ASYNC.
20611
20612         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20613         ASYNC when going to PLAYING if we still don't have preroll, as can
20614         happen with live sources.
20615
20616 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20617
20618         * docs/pwg/advanced-types.xml:
20619           Hack long paragraph into 2 chunks as a workaround for buggy
20620           jadetex version in sid and breezy that loops infinitely and
20621           eats all RAM.
20622
20623 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20624
20625         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20626         (test_event), (timediff), (gstevents_suite):
20627           Provide more error margin in clock measurements to allow for 
20628           g_get_current_time inaccuracies.
20629
20630 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20631
20632         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20633         (test_event), (timediff), (gstevents_suite):
20634            Fix error message output so I might be able to tell why the
20635            test works here but fails on the build farm.
20636
20637 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20638
20639         * check/Makefile.am:
20640         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20641         (test_event), (timediff), (gstevents_suite), (main):
20642           I wrote a test!
20643
20644         * docs/design/part-seeking.txt:
20645           Spelling correction
20646
20647         * docs/gst/tmpl/gstevent.sgml:
20648         * docs/gst/tmpl/gstfakesrc.sgml:
20649           Docs updates.
20650
20651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20652           Treat a buffer-without-newsegment the same as a receiving 
20653           a newsegment not in time format, and disable syncing to the clock
20654           with a warning.
20655
20656         * gst/gstbus.c: (gst_bus_set_sync_handler):
20657           Assert if anyone tries to replace the existing sync_handler for bus, 
20658           as only the owner should be setting it.
20659
20660         * gst/gstevent.h:
20661           Have a fixed set of custom event enums with events identified by
20662           their structure name (as in 0.8), rather than a free-for-all
20663           allowing collisions between enum values from different plugins.
20664
20665         * gst/gstpad.c: (gst_pad_class_init):
20666           Docs change.
20667           
20668         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20669           Handle out-of-band downstream events from the sending thread.
20670
20671 2005-08-17  Andy Wingo  <wingo@pobox.com>
20672
20673         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20674         play-timeout==0 to mean no timeout at all. In that case, don't
20675         bother with a get_state or a warning, just return directly, even
20676         if it's ASYNC.
20677
20678         * gst/base/gstbasetransform.c: Debug changes.
20679
20680         * gst/gstutils.h:
20681         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20682         ensure bins post state change messages. A bit of a hack but I can't
20683         think of a way to avoid it.
20684
20685         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20686
20687 2005-08-16  Andy Wingo  <wingo@pobox.com>
20688
20689         * gst/base/gstadapter.h:
20690         * gst/base/gstadapter.c (gst_adapter_take): New function, like
20691         peek() but you own the data. Not terribly efficient atm.
20692
20693 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20694
20695         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20696         (gst_element_found_tags):
20697         * gst/gstutils.h:
20698           Add two utility functions for tag handling.
20699
20700 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20701
20702         * docs/manual/advanced-dataaccess.xml:
20703         * docs/manual/basics-helloworld.xml:
20704           Fix docs to use _bin_add() before _link(), which fixes the examples
20705           with recent core versions (reported by Madhan Raj M
20706           <raj_madan@rediffmail.com>, #313199).
20707
20708 2005-08-16  Wim Taymans  <wim@fluendo.com>
20709
20710         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20711         Added subtract checks.
20712
20713         * docs/design/part-events.txt:
20714         Some more docs about newsegment
20715
20716         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20717         Fix FIXME
20718
20719         * gst/gstcaps.c: (gst_caps_to_string):
20720         Add comments, cleanups.
20721         
20722         * gst/gstelement.c: (gst_element_save_thyself):
20723         cleanups
20724         
20725         * gst/gstvalue.c: (gst_value_collect_int_range),
20726         (gst_string_unwrap), (gst_value_union_int_int_range),
20727         (gst_value_union_int_range_int_range),
20728         (gst_value_intersect_int_int_range),
20729         (gst_value_intersect_int_range_int_range),
20730         (gst_value_intersect_double_double_range),
20731         (gst_value_intersect_double_range_double_range),
20732         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20733         (gst_value_subtract_int_range_int),
20734         (gst_value_subtract_double_range_double),
20735         (gst_value_subtract_double_range_double_range),
20736         (gst_value_subtract_from_list), (gst_value_subtract_list),
20737         (gst_value_can_compare), (gst_value_compare_fraction):
20738         Cleanups, add comments, remove unneeded asserts.
20739
20740 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20741
20742         * tools/gst-launch.c: (event_loop):
20743           don't convert NULL structures to strings
20744
20745 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
20746
20747         * docs/gst/gstreamer-sections.txt:
20748           made some defines private
20749         * docs/gst/tmpl/gstconfig.sgml:
20750         * docs/gst/tmpl/gstqueue.sgml:
20751         * docs/gst/tmpl/gsttaglist.sgml:
20752         * docs/gst/tmpl/gsttypes.sgml:
20753         * docs/gst/tmpl/gstutils.sgml:
20754         * docs/pwg/appendix-porting.xml:
20755         * gst/base/gstbasesink.h:
20756         * gst/base/gstbasesrc.c:
20757         * gst/base/gstbasesrc.h:
20758         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20759         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20760         * gst/gstelement.c: (gst_element_class_init):
20761         * gst/gstpad.c: (gst_pad_class_init):
20762         * gst/gstqueue.c: (gst_queue_class_init):
20763         * gst/gstxml.c: (gst_xml_class_init):
20764           documented all undocumented signal inline
20765         * libs/gst/controller/gst-controller.h:
20766           added padding
20767
20768 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20769
20770         * docs/pwg/appendix-porting.xml:
20771           Document _set_link_function -> _set_setcaps_function.
20772
20773 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20774
20775         * check/Makefile.am:
20776           add a .check target for running the check
20777         * check/gst-libs/controller.c: (GST_START_TEST):
20778           cosmetic fixups
20779         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20780           complete checks for gstbuffer; would be nice if I could get the
20781           gcov stuff to work so I can see if I actually completed gstbuffer.c
20782         * check/gstcheck.h:
20783           add ASSERT_BUFFER_REFCOUNT
20784
20785 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20786
20787         * docs/gst/gstreamer-sections.txt:
20788         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20789         * gst/gsttag.h:
20790           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20791           spew out a warning if a tag that is already registered
20792           is re-registered, unless it is re-registered with a 
20793           different type (#308438).
20794
20795 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20796
20797         * docs/pwg/appendix-porting.xml:
20798         * docs/pwg/building-state.xml:
20799           Add some paragraphs about state changes in 0.9 to the PWG
20800           and the porting guide, in particular about the new meaning
20801           of GST_STATE_PAUSED and how to write state change functions
20802           with concurrent access by multiple threads in mind.
20803
20804 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20805
20806         * docs/gst/gstreamer-docs.sgml:
20807         * docs/libs/gstreamer-libs-docs.sgml:
20808           added deprecation and since indexes
20809         * libs/gst/controller/gst-controller.c:
20810         * libs/gst/controller/gst-helper.c:
20811           added since tags
20812
20813
20814 2005-08-11  Wim Taymans  <wim@fluendo.com>
20815
20816         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20817         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20818         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20819         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20820         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20821         (gst_ghost_pad_set_target):
20822         Actually implement (re)setting the target on a ghostpad
20823         as described in the docs.
20824
20825 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20826
20827         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20828           Check whether GST_DEBUG_NO_COLOR environment variable is
20829           set and disable coloured debug output if that is the case.
20830
20831 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20832
20833         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20834         (gst_type_find_helper):
20835           The memory returned by gst_type_find_peek() needs to
20836           stay valid until the end of a typefind function, and
20837           typefind functions may keep results from different 
20838           offsets around, so we can't just unref the buffer from
20839           the previous _peek(), but have to save all buffers 
20840           returned by _peek() until typefinding is done and only
20841           free them then.
20842
20843 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
20844
20845         * docs/gst/gstreamer-sections.txt:
20846         * gst/gstutils.h:
20847           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20848
20849 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20850
20851         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20852           Fix a pretty good memleak.
20853
20854 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20855
20856         * gst/gstiterator.h:
20857           Fix wrong include and 'make distcheck'.
20858
20859 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20860
20861         * gst/gstbin.c: (bin_bus_handler):
20862           Use gst_element_post_message() instead.
20863
20864 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20865
20866         * gst/base/gstadapter.h:
20867         * gst/base/gstbasesink.h:
20868         * gst/base/gstbasesrc.h:
20869         * gst/base/gstbasetransform.h:
20870         * gst/base/gstcollectpads.h:
20871         * gst/base/gstpushsrc.h:
20872         * gst/gstiterator.h:
20873           Add padding to our base elements' class and instance structs and
20874           to GstIterator (you will need to rebuild all plugins and apps!)
20875
20876 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20877
20878         * gst/gstbin.c: (bin_bus_handler):
20879           Make default message forwarding from child->bus to bin->bus
20880           threadsafe and make it not emit warnings if the parent has no bus.
20881
20882 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20883
20884         * gst/gstelement.c: (activate_pads):
20885           On paused->ready, set pad->caps to NULL, as is the documented
20886           behaviour in this state change. Fixes playback of series of
20887           media files when visualization is enabled in Totem.
20888
20889 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20890
20891         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20892           Allow NULL as filter-caps (which means "any").
20893
20894 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20895
20896         * docs/libs/gstreamer-libs-sections.txt:
20897         * libs/gst/controller/gst-controller.c:
20898         * libs/gst/controller/gst-controller.h:
20899         * libs/gst/controller/gst-helper.c:
20900           adding more entries to the docs and fix small doc-bugs
20901
20902 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20903
20904         * docs/gst/gstreamer-docs.sgml:
20905         * docs/gst/gstreamer-sections.txt:
20906         * docs/gst/gstreamer.types:
20907         * docs/gst/tmpl/gstbasesink.sgml:
20908         * docs/gst/tmpl/gstbasesrc.sgml:
20909         * docs/gst/tmpl/gstbasetransform.sgml:
20910         * docs/gst/tmpl/gstfakesrc.sgml:
20911         * gst/base/gstcollectpads.c:
20912         * gst/base/gstcollectpads.h:
20913         * libs/gst/controller/gst-controller.c:
20914         * libs/gst/controller/gst-controller.h:
20915         * libs/gst/controller/gst-helper.c:
20916         * libs/gst/controller/gst-interpolation.c:
20917         * libs/gst/controller/lib.c:
20918           added long/short desc for controller docs
20919           added collectpads base class docs
20920           added correct includes to base-class docs
20921
20922 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20923
20924         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20925         (gst_test_mono_source_set_property),
20926         (gst_test_mono_source_class_init), (GST_START_TEST),
20927         (gst_controller_suite):
20928         * docs/gst/gstreamer-docs.sgml:
20929         * docs/gst/gstreamer-sections.txt:
20930         * docs/gst/gstreamer.types:
20931         * docs/libs/gstreamer-libs-docs.sgml:
20932         * docs/libs/gstreamer-libs-sections.txt:
20933         * gst/base/gstadapter.c:
20934         * libs/gst/controller/gst-controller.c:
20935         (gst_controlled_property_new), (gst_controlled_property_free),
20936         (gst_controller_new_valist),
20937         (gst_controller_remove_properties_valist),
20938         (gst_controller_sink_values), (_gst_controller_finalize):
20939         * libs/gst/controller/gst-controller.h:
20940         * libs/gst/controller/gst-helper.c:
20941         (gst_object_control_properties), (gst_object_uncontrol_properties),
20942         (gst_object_get_controller), (gst_object_set_controller),
20943         (gst_object_sink_values), (gst_object_get_value_arrays),
20944         (gst_object_get_value_array):
20945           more tests (and fixes) for the controller
20946           more docs for the controller
20947           integrated companies docs for the adapter 
20948
20949 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20950
20951         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
20952         (GST_START_TEST), (fakesrc_suite):
20953           add tests for sizetype
20954
20955 2005-08-04  Andy Wingo  <wingo@pobox.com>
20956
20957         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
20958         fixes buffer_alloc proxying among other things.
20959
20960         * gst/base/gstbasetransform.c:
20961         * gst/base/gstbasetransform.h:
20962         Revert patch to gstbasetransform from 7-28 removing
20963         delay_configure.
20964
20965         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
20966         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
20967         Semantics changed, should return not the size of the output buffer
20968         but the byte size of a buffer with a given caps.
20969
20970         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
20971         debug object.
20972         (gst_base_transform_configure_caps): Don't set out_size here: (in,
20973         out) are not the pad caps until setcaps finishes.
20974         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
20975         not-in-place case as well. Deal with changing from in-place to
20976         not-in-place within calling pad_alloc_buffer. Still a bit
20977         concerned about the overhead here...
20978
20979 2005-08-03  Andy Wingo  <wingo@pobox.com>
20980
20981         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
20982         fixating is an error.
20983
20984 2005-08-04  Edward Hervey  <edward@fluendo.com>
20985
20986         * gst/base/gstadapter.h: 
20987         Added gst_adapter_get_type() to the header
20988
20989 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20990
20991         * check/Makefile.am:
20992         * check/gst-libs/controller.c:
20993         * libs/gst/controller/gst-controller.c:
20994         (gst_controller_new_valist):
20995           added check test suite for the controller
20996         * gst/base/gstpushsrc.c:
20997           fixed a doc typo
20998
20999 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21000
21001         * docs/gst/Makefile.am:
21002         * docs/gst/gstreamer-docs.sgml:
21003         * docs/gst/gstreamer-sections.txt:
21004         * docs/gst/gstreamer.types:
21005         * docs/gst/tmpl/gstfakesrc.sgml:
21006         * gst/base/README:
21007         * gst/base/gstbasesink.c:
21008         * gst/base/gstbasesink.h:
21009         * gst/base/gstbasesrc.c:
21010         * gst/base/gstbasesrc.h:
21011         * gst/base/gstbasetransform.c:
21012         * gst/base/gstpushsrc.c:
21013         * gst/base/gstpushsrc.h:
21014           add short/long description docs to base classes
21015           add pushsrc to the docs
21016           remove consolidated doc fragments
21017
21018 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21019
21020         * configure.ac:
21021         * docs/libs/Makefile.am:
21022         * docs/libs/gstreamer-libs-docs.sgml:
21023         * docs/libs/gstreamer-libs-sections.txt:
21024         * docs/libs/gstreamer-libs.types:
21025         * examples/Makefile.am:
21026         * examples/controller/.cvsignore:
21027         * examples/controller/Makefile.am:
21028         * examples/controller/audio-example.c: (main):
21029         * libs/gst/Makefile.am:
21030         * libs/gst/controller/.cvsignore:
21031         * libs/gst/controller/Makefile.am:
21032         * libs/gst/controller/gst-controller.c:
21033         (on_object_controlled_property_changed), (gst_timed_value_compare),
21034         (gst_timed_value_find),
21035         (gst_controlled_property_set_interpolation_mode),
21036         (gst_controlled_property_new), (gst_controlled_property_free),
21037         (gst_controller_find_controlled_property),
21038         (gst_controller_new_valist), (gst_controller_new),
21039         (gst_controller_remove_properties_valist),
21040         (gst_controller_remove_properties), (gst_controller_set),
21041         (gst_controller_set_from_list), (gst_controller_unset),
21042         (gst_controller_get), (gst_controller_get_all),
21043         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21044         (gst_controller_get_value_array),
21045         (gst_controller_set_interpolation_mode),
21046         (_gst_controller_finalize), (_gst_controller_init),
21047         (_gst_controller_class_init), (gst_controller_get_type):
21048         * libs/gst/controller/gst-controller.h:
21049         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21050         (g_object_uncontrol_properties), (g_object_get_controller),
21051         (g_object_set_controller), (g_object_sink_values),
21052         (g_object_get_value_arrays), (g_object_get_value_array):
21053         * libs/gst/controller/gst-interpolation.c:
21054         (gst_controlled_property_find_timed_value_node),
21055         (interpolate_none_get), (interpolate_trigger_get),
21056         (interpolate_trigger_get_value_array):
21057         * libs/gst/controller/lib.c: (gst_controller_init):
21058         * pkgconfig/Makefile.am:
21059         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21060         * pkgconfig/gstreamer-control.pc.in:
21061         * testsuite/Makefile.am:
21062         * testsuite/controller/.cvsignore:
21063         * testsuite/controller/Makefile.am:
21064         * testsuite/controller/interpolator.c: (main):
21065           added controller code
21066           removed dparam pc files
21067
21068 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21069         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21070         (gst_collectpads_stop):
21071           Broadcast the condition when shutting down, to make sure we wake all
21072           threads up. Shut down pads on finalize, for safety.
21073
21074 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21075         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21076         (gst_base_transform_handle_buffer),
21077         (gst_base_transform_change_state):
21078           Handle PAUSED->READY->PAUSED transition after negotiation
21079           occurred already.
21080         * gst/gstmessage.c: (gst_message_init):
21081           Extra piece of debug for new messages.
21082
21083 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21084
21085         * configure.ac:
21086         * docs/gst/tmpl/gstbasesrc.sgml:
21087         * docs/gst/tmpl/gstelement.sgml:
21088         * docs/gst/tmpl/gstevent.sgml:
21089         * docs/gst/tmpl/gstfakesrc.sgml:
21090         * docs/gst/tmpl/gstformat.sgml:
21091         * docs/gst/tmpl/gstghostpad.sgml:
21092         * docs/gst/tmpl/gstpad.sgml:
21093         * docs/gst/tmpl/gstquery.sgml:
21094         * docs/gst/tmpl/gststructure.sgml:
21095         * docs/gst/tmpl/gsttaglist.sgml:
21096         * docs/gst/tmpl/gstvalue.sgml:
21097         * docs/libs/gstreamer-libs-docs.sgml:
21098         * docs/libs/gstreamer-libs-sections.txt:
21099         * docs/libs/gstreamer-libs.types:
21100         * libs/gst/Makefile.am:
21101         * libs/gst/control/.cvsignore:
21102         * libs/gst/control/Makefile.am:
21103         * libs/gst/control/control.c:
21104         * libs/gst/control/control.h:
21105         * libs/gst/control/dparam.c:
21106         * libs/gst/control/dparam.h:
21107         * libs/gst/control/dparam_smooth.c:
21108         * libs/gst/control/dparam_smooth.h:
21109         * libs/gst/control/dparamcommon.h:
21110         * libs/gst/control/dparammanager.c:
21111         * libs/gst/control/dparammanager.h:
21112         * libs/gst/control/dplinearinterp.c:
21113         * libs/gst/control/dplinearinterp.h:
21114         * libs/gst/control/unitconvert.c:
21115         * libs/gst/control/unitconvert.h:
21116         * testsuite/Makefile.am:
21117         * testsuite/dynparams/.cvsignore:
21118         * testsuite/dynparams/Makefile.am:
21119         * testsuite/dynparams/dparamstest.c:
21120         * tools/Makefile.am:
21121         * tools/gst-inspect.c: (print_element_info), (main):
21122         * tools/gst-xmlinspect.c: (print_element_info), (main):
21123           deactivate and remove dparams (libgstcontrol)
21124
21125 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21126
21127         * gst/elements/gsttypefindelement.c:
21128         (gst_type_find_element_have_type), (gst_type_find_element_init),
21129         (stop_typefinding), (gst_type_find_element_handle_event),
21130         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21131         * gst/elements/gsttypefindelement.h:
21132           Set caps on all outgoing buffers, not just the first one.
21133
21134 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21135
21136         * gst/elements/gsttypefindelement.c:
21137         (gst_type_find_element_have_type),
21138         (gst_type_find_element_check_set_buffer_caps),
21139         (gst_type_find_element_init), (stop_typefinding),
21140         (gst_type_find_element_handle_event),
21141         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21142         * gst/elements/gsttypefindelement.h:
21143           Set caps on first outgoing buffer when we've found the type.
21144
21145 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21146
21147         * docs/gst/gstreamer-docs.sgml:
21148         * docs/gst/gstreamer-sections.txt:
21149         * docs/gst/tmpl/gstscheduler.sgml:
21150         * docs/gst/tmpl/gstschedulerfactory.sgml:
21151           Remove some old cruft from docs.
21152
21153 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21154
21155         * gst/gstpad.h:
21156           Fix inline docs for GstPadLinkReturn.
21157           
21158         * gst/gststructure.c: (gst_structure_has_name):
21159         * gst/gststructure.h:
21160         * docs/gst/gstreamer-sections.txt:
21161           New API: gst_structure_has_name().
21162
21163 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21164
21165         * configure.ac:
21166           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21167           and _LARGEFILE_SOURCE in config.h as required. Do not 
21168           export those flags in our .pc files any longer (#142209).
21169
21170           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21171
21172         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21173         (gst_file_sink_do_seek), (gst_file_sink_event),
21174         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21175           Redo seek/tell calls with large file support in mind; add some
21176           debugging messages; add log message that tells us when large
21177           file support is unavailable or not enabled for some reason.
21178
21179         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21180           Add log message that tells us when large file support 
21181           is unavailable or not enabled for some reason.
21182
21183 2005-07-29  Wim Taymans  <wim@fluendo.com>
21184
21185         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21186         Added test for removing an element with ghostpad from a bin.
21187         Fixed test as current implementation does the right thing.
21188
21189         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21190         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21191         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21192         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21193         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21194         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21195         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21196         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21197         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21198         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21199         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21200         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21201         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21202         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21203         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21204         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21205         * gst/gstghostpad.h:
21206         Clean up ghostpads, remove properties for internal stuff.
21207         Make threadsafe.
21208         Fix refcounting.
21209         Prepare for switching targets, not all use cases work yet.
21210
21211 2005-07-29  Wim Taymans  <wim@fluendo.com>
21212
21213         * docs/design/part-gstghostpad.txt:
21214         Small update.
21215
21216         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21217         (gst_bin_remove_func):
21218         Unlinking pads while holding the bin LOCK is not a good
21219         idea.
21220
21221         * gst/gstpad.c: (gst_pad_class_init),
21222         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21223         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21224         No prob setting template after creating the pad.
21225
21226 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21227
21228         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21229         (gst_bus_peek), (gst_bus_source_dispatch),
21230         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21231         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21232           gst_bus_poll may be called from other threads. Handle
21233           this nicely by not making poll_data disappear off the
21234           stack once gst_bus_poll returns.
21235           gst_bus_peek now increments the refcount on the returned
21236           message.
21237
21238 2005-07-29  Wim Taymans  <wim@fluendo.com>
21239
21240         * docs/design/part-gstghostpad.txt:
21241         Overview of current GhostPad datastructures and use
21242         cases for changing the target.
21243
21244 2005-07-28  Wim Taymans  <wim@fluendo.com>
21245
21246         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21247         Added checks for hierarchy consistency whan adding linked
21248         elements to bins.
21249
21250         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21251         Added check to test element scheduling without bin/pipeline.
21252
21253         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21254         First add elements to bin, then link.
21255         
21256         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21257         (gst_bin_remove_func):
21258         Unlink pads from elements added/removed from bin to maintain
21259         hierarchy consistency.
21260
21261 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21262
21263         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21264         (gst_base_transform_handle_buffer):
21265         * gst/base/gstbasetransform.h:
21266           Remove broken delay_configure (fixes renegotiation of software
21267           scaling pipelines); remove some leftover printf()s.
21268
21269 2005-07-28  Wim Taymans  <wim@fluendo.com>
21270
21271         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21272         Added some more tests for wrong hierarchy
21273
21274         * docs/design/part-overview.txt:
21275         Some updates.
21276
21277         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21278         Cleanups.
21279
21280         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21281         (gst_element_dispose):
21282         Some more cleanups.
21283
21284         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21285         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21286         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21287         (gst_pad_set_caps), (gst_pad_send_event):
21288         Check for correct hierarchy when linking pads. Moving to
21289         strict requirement for ghostpads when linking elements in
21290         different bins.
21291
21292         * gst/gstpad.h:
21293         Clean ups. Added WRONG_HIERARCHY return value.
21294
21295 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21296
21297         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21298           Better debug if no transform is possible.
21299
21300 2005-07-27  Wim Taymans  <wim@fluendo.com>
21301
21302         * docs/random/wtay/network-transp:
21303         Some old doc I had.
21304
21305 2005-07-27  Wim Taymans  <wim@fluendo.com>
21306
21307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21308         (gst_dp_event_from_packet):
21309         Fix serialization of seek events.
21310
21311 2005-07-27  Wim Taymans  <wim@fluendo.com>
21312
21313         * check/gst-libs/gdp.c: (GST_START_TEST):
21314         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21315         Fix compilation and fix event serialization.
21316
21317 2005-07-27  Wim Taymans  <wim@fluendo.com>
21318
21319         * CHANGES-0.9:
21320         * docs/design/part-TODO.txt:
21321         * docs/design/part-events.txt:
21322         Some docs updates
21323
21324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21325         (gst_base_sink_event), (gst_base_sink_do_sync),
21326         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21327         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21328         (gst_base_src_do_seek), (gst_base_src_event_handler),
21329         (gst_base_src_loop):
21330         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21331         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21332         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21333         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21334         (gst_base_transform_set_passthrough),
21335         (gst_base_transform_is_passthrough):
21336         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21337         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21338         Event updates.
21339
21340         * gst/gstbuffer.h:
21341         Use faster casts.
21342
21343         * gst/gstelement.c: (gst_element_seek):
21344         * gst/gstelement.h:
21345         Update gst_element_seek.
21346
21347         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21348         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21349         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21350         (gst_event_new_eos), (gst_event_new_newsegment),
21351         (gst_event_parse_newsegment), (gst_event_new_tag),
21352         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21353         (gst_event_parse_qos), (gst_event_new_seek),
21354         (gst_event_parse_seek), (gst_event_new_navigation):
21355         * gst/gstevent.h:
21356         Make GstEvent use GstStructure. Add parsing code, make sure the
21357         API is sufficiently generic.
21358         Mark possible directions of events and serialization.
21359
21360         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21361         (_gst_message_copy), (gst_message_new_segment_start),
21362         (gst_message_new_segment_done), (gst_message_new_custom),
21363         (gst_message_parse_segment_start),
21364         (gst_message_parse_segment_done):
21365         Small cleanups.
21366
21367         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21368         (gst_pad_set_caps), (gst_pad_send_event):
21369         Update for new events. 
21370         Catch events sent in wrong directions.
21371
21372         * gst/gstqueue.c: (gst_queue_link_src),
21373         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21374         (gst_queue_handle_src_query):
21375         Event updates.
21376
21377         * gst/gsttag.c:
21378         * gst/gsttag.h:
21379         Remove event code from this file.
21380
21381         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21382         (gst_dp_event_from_packet):
21383         Event updates.
21384
21385 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21386
21387         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21388         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21389         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21390           Make debugging actually useful.
21391
21392 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21393
21394         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21395         (gst_pad_fixate_caps):
21396           Implement default fixation once again, so that gst_pad_fixate()
21397           actually does anything at all. This probably needs to be some
21398           sort of a last resort, and use profile-based fixation first, but
21399           since that doesn't exist yet, this is the best we have. Fixes
21400           visualization in Totem.
21401
21402 2005-07-22  Wim Taymans  <wim@fluendo.com>
21403
21404         * docs/design/part-events.txt:
21405         Small update.
21406
21407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21408         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21409         (gst_base_sink_activate_pull):
21410         Some more comments.
21411
21412         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21413         (gst_fake_src_create):
21414         Fix handoff marshall.
21415
21416         * gst/elements/gstidentity.c: (gst_identity_class_init),
21417         (gst_identity_transform_ip):
21418         We're a real inplace element.
21419
21420         * gst/gstbus.c: (gst_bus_post):
21421         Added some comments.
21422
21423         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21424         * tests/muxing/case1.c: (main):
21425         * tests/sched/dynamic-pipeline.c: (main):
21426         * tests/sched/interrupt1.c: (main):
21427         * tests/sched/interrupt2.c: (main):
21428         * tests/sched/interrupt3.c: (main):
21429         * tests/sched/runxml.c: (main):
21430         * tests/sched/sched-stress.c: (main):
21431         * tests/seeking/seeking1.c: (event_received), (main):
21432         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21433         (main):
21434         * tests/threadstate/threadstate3.c: (main):
21435         * tests/threadstate/threadstate4.c: (main):
21436         * tests/threadstate/threadstate5.c: (main):
21437         Fix the tests.
21438
21439 2005-07-21  Wim Taymans  <wim@fluendo.com>
21440
21441         * docs/design/part-seeking.txt:
21442         Some small additions.
21443
21444         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21445         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21446         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21447         * gst/base/gstbasesink.h:
21448         discont values are gint64, handle the math correctly.
21449
21450         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21451         Make the basesrc report error if the source pad is not linked.
21452
21453         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21454         (gst_queue_loop), (gst_queue_handle_src_query),
21455         (gst_queue_src_activate_push):
21456         Make queue collect data even if the srcpad is not linked.
21457         Start pushing out data as soon as it is linked.
21458
21459         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21460         * gst/gstutils.h:
21461         Added gst_flow_get_name() to ease error reporting.
21462
21463 2005-07-20  Wim Taymans  <wim@fluendo.com>
21464
21465         * gst/gstmessage.c: (gst_message_new_segment_start),
21466         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21467         (gst_message_parse_segment_done):
21468         * gst/gstmessage.h:
21469         Added a bunch of messages for advanced seeking.
21470
21471         * gst/parse/grammar.y:
21472         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21473         (gst_dpman_state_changed):
21474         Fix some new-pad -> pad-added signals
21475
21476 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21477
21478         * docs/manual/appendix-porting.xml:
21479         * docs/pwg/appendix-porting.xml:
21480           Document new-pad/state-change signal renames and the FixedList
21481           type rename.
21482
21483 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21484
21485         * docs/manual/advanced-autoplugging.xml:
21486         * docs/manual/basics-helloworld.xml:
21487         * docs/manual/basics-pads.xml:
21488         * docs/random/ds/0.9-suggested-changes:
21489         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21490         * gst/gstelement.h:
21491         * gst/gstevent.h:
21492         * gst/gstformat.h:
21493         * gst/gstquery.h:
21494         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21495         (gst_structure_parse_array), (gst_structure_parse_value):
21496         * gst/gstvalue.c: (gst_type_is_fixed),
21497         (gst_value_list_prepend_value), (gst_value_list_append_value),
21498         (gst_value_list_get_size), (gst_value_list_get_value),
21499         (gst_value_transform_array_string), (gst_value_serialize_array),
21500         (gst_value_deserialize_array), (gst_value_intersect_array),
21501         (gst_value_is_fixed), (_gst_value_initialize):
21502         * gst/gstvalue.h:
21503           GstElement::new-pad -> pad-added, GstElement::state-change ->
21504           state-changed, GstValueFixedList -> GstValueArray, add format and
21505           flags as their own arguments in gst_element_seek() (should improve
21506           "bindeability"), remove function generators since they don't work
21507           under a whole bunch of compilers (they were deprecated already
21508           anyway).
21509
21510 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21511
21512         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21513         (_gst_debug_register_funcptr):
21514         * gst/gstinfo.h:
21515           Fix illegal cast on some platforms (#309253).
21516
21517 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21518
21519         * gst/gstmessage.c: (gst_message_new_custom):
21520         * gst/gstmessage.h:
21521           Add _new_custom, make _new_application a macro to _new_custom.
21522
21523 2005-07-20  Wim Taymans  <wim@fluendo.com>
21524
21525         * gst/base/gstbasesrc.c: (gst_base_src_init),
21526         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21527         * gst/base/gstbasesrc.h:
21528         Add a gboolean to decide when to push out a discont.
21529
21530         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21531         (gst_queue_loop), (gst_queue_handle_src_query),
21532         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21533         (gst_queue_set_property), (gst_queue_get_property):
21534         Some cleanups.
21535
21536         * tests/threadstate/threadstate1.c: (main):
21537         Make a thread test compile and run... very silly..
21538
21539
21540 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21541
21542         * docs/manual/appendix-porting.xml:
21543           Mention removal of libgstgconf-0.9.la and existence of gconf
21544           elements.
21545
21546 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21547
21548         * docs/pwg/advanced-clock.xml:
21549         * docs/pwg/appendix-porting.xml:
21550         * docs/pwg/intro-preface.xml:
21551         * docs/pwg/other-base.xml:
21552         * docs/pwg/other-manager.xml:
21553         * docs/pwg/other-nton.xml:
21554         * docs/pwg/other-ntoone.xml:
21555         * docs/pwg/other-oneton.xml:
21556         * docs/pwg/pwg.xml:
21557           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21558           demuxer), remove n-to-n (was never written), fix some code examples
21559           and links and update the porting section to include all this.
21560
21561 2005-07-19  Wim Taymans  <wim@fluendo.com>
21562
21563         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21564         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21565         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21566         (gst_queue_src_activate_push), (gst_queue_change_state),
21567         (gst_queue_get_property):
21568         * gst/gstqueue.h:
21569         Propagate GstFlowReturn more intelligently upstream and output
21570         an ERROR/EOS when streaming stopped due to fatal error.
21571
21572 2005-07-19  Wim Taymans  <wim@fluendo.com>
21573
21574         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21575         Don't block forever for the state change to complete, the
21576         pipeline already did with a sensible timeout.
21577
21578 2005-07-19  Wim Taymans  <wim@fluendo.com>
21579
21580         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21581         Make sure we never call the create function is we
21582         got deactivated.
21583
21584 2005-07-19  Andy Wingo  <wingo@pobox.com>
21585
21586         * gst/parse/parse.l: Attempt to solve bug #172815.
21587
21588 2005-07-19  Wim Taymans  <wim@fluendo.com>
21589
21590         * docs/design/part-clocks.txt:
21591         * docs/design/part-events.txt:
21592         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21593         Small docs updates.
21594         Only update the seeking values when we are not
21595         busy streaming.
21596
21597 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21598
21599         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21600           Oops, ignore the result of gst_pad_push_event here.
21601
21602 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21603
21604         * gst/base/gstbasesrc.c: (gst_base_src_loop),
21605         (gst_base_src_activate_push):
21606           Send discont event from the loop function, as pads
21607           aren't activated yet in the activate_push handler.
21608
21609         * gst/gstbin.c: (bin_bus_handler):
21610           Don't leak element name.
21611
21612 2005-07-18  Andy Wingo  <wingo@pobox.com>
21613
21614         * configure.ac: Use AS_LIBTOOL_TAGS.
21615
21616 2005-07-18  Wim Taymans  <wim@fluendo.com>
21617
21618         * docs/gst/gstreamer.types:
21619         Remove deleted types.
21620
21621 2005-07-18  Wim Taymans  <wim@fluendo.com>
21622
21623         * check/elements/gstfakesrc.c: (GST_START_TEST):
21624         * configure.ac:
21625         * gst/Makefile.am:
21626         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21627         (init_popt_callback):
21628         * gst/gst.h:
21629         * gst/gst_private.h:
21630         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21631         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21632         * gst/gstbin.h:
21633         * gst/gstbus.h:
21634         * gst/gstconfig.h.in:
21635         * gst/gstelement.c: (gst_element_class_init),
21636         (gst_element_set_base_time), (gst_element_get_base_time),
21637         (iterator_fold_with_resync), (gst_element_change_state),
21638         (gst_element_dispose), (gst_element_get_bus):
21639         * gst/gstelement.h:
21640         * gst/gstelementfactory.h:
21641         * gst/gsterror.c: (_gst_core_errors_init):
21642         * gst/gsterror.h:
21643         * gst/gstevent.h:
21644         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21645         * gst/gstindex.c:
21646         * gst/gstinfo.c: (_gst_debug_init):
21647         * gst/gstmessage.c: (_gst_message_copy):
21648         * gst/gstmessage.h:
21649         * gst/gstminiobject.h:
21650         * gst/gstobject.c:
21651         * gst/gstobject.h:
21652         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21653         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21654         * gst/gstpad.h:
21655         * gst/gstparse.h:
21656         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21657         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21658         (gst_pipeline_get_last_stream_time):
21659         * gst/gstpipeline.h:
21660         * gst/gstpluginfeature.h:
21661         * gst/gstquery.h:
21662         * gst/gstscheduler.c:
21663         * gst/gstscheduler.h:
21664         * gst/gststructure.h:
21665         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21666         (gst_task_finalize), (gst_task_func), (gst_task_create),
21667         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21668         (gst_task_stop), (gst_task_pause):
21669         * gst/gsttask.h:
21670         * gst/gsttypefind.h:
21671         * gst/gsttypes.h:
21672         * gst/registries/gstlibxmlregistry.c: (load_feature),
21673         (gst_xml_registry_load), (gst_xml_registry_save_feature):
21674         * gst/registries/gstxmlregistry.c:
21675         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21676         * gst/schedulers/threadscheduler.c:
21677         * libs/gst/control/dparammanager.h:
21678         * tools/gst-inspect.c: (print_element_list),
21679         (print_plugin_features), (print_element_features):
21680         * tools/gst-xmlinspect.c: (print_element_list),
21681         (print_plugin_info), (main):
21682         Removed plugable schedulers.
21683         Removed Scheduler/Manager from elements.
21684         Removed gsttypes.h, rearranged includes.
21685         Removed dependency pad<->element, element<>pipeline, and
21686         various others,  fix includes.
21687         implement gst_pad_get_parent() with gst_object_get_parent()
21688         Make GstTask sefcontained.
21689         Fix _get_state() on GstBin, it did not return ASYNC with a 0
21690         timeout.
21691         Fix endless loop in iterator_fold_with_resync.
21692
21693
21694 2005-07-18  Wim Taymans  <wim@fluendo.com>
21695
21696         * gst/Makefile.am:
21697         * gst/gstarch.h:
21698         Remove old file.
21699
21700 2005-07-18  Wim Taymans  <wim@fluendo.com>
21701
21702         * gst/Makefile.am:
21703         No more cothreads.h
21704
21705 2005-07-18  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/cothreads.c:
21708         * gst/cothreads.h:
21709         Let's remove these.
21710
21711 2005-07-18  Wim Taymans  <wim@fluendo.com>
21712
21713         * docs/design/part-dynamic.txt:
21714         * docs/design/part-events.txt:
21715         * docs/design/part-seeking.txt:
21716         Some more docs in the works.
21717
21718         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21719         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21720         (gst_base_transform_setcaps), (gst_base_transform_get_size),
21721         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21722         (gst_base_transform_handle_buffer),
21723         (gst_base_transform_sink_activate_push),
21724         (gst_base_transform_src_activate_pull),
21725         (gst_base_transform_set_passthrough),
21726         (gst_base_transform_is_passthrough):
21727         Refcounting fixes.
21728
21729         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21730         Cleanups.
21731
21732         * gst/gstevent.c: (gst_event_finalize):
21733         Set SRC to NULL.
21734
21735         * gst/gstutils.c: (gst_element_unlink),
21736         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21737         (gst_pad_proxy_setcaps):
21738         * gst/gstutils.h:
21739         Add _get_parent_element() to get a pads parent as an element.
21740
21741 2005-07-18  Wim Taymans  <wim@fluendo.com>
21742
21743         * check/gst/gstbin.c: (GST_START_TEST):
21744         Remove bogus test.
21745
21746 2005-07-18  Wim Taymans  <wim@fluendo.com>
21747
21748         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21749         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21750         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21751         (gst_base_sink_event), (gst_base_sink_do_sync),
21752         (gst_base_sink_chain), (gst_base_sink_loop),
21753         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21754         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21755         Refcounting fixes.
21756         Fix logic for returning ASYNC when not prerolled.
21757
21758 2005-07-18  Wim Taymans  <wim@fluendo.com>
21759
21760         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21761         Fix nasty refcount bug.
21762
21763 2005-07-16 Philippe Khalaf <burger@speedy.org>
21764
21765         * gst/elements/gstfdsrc.c:
21766         * gst/elements/gstfdsrc.h:
21767         * gst/elements/gstelements.c:
21768         * gst/elements/Makefile.am:
21769         Ported fdsrc to 0.9.
21770
21771 2005-07-16  Wim Taymans  <wim@fluendo.com>
21772
21773         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21774         (gst_base_sink_do_sync):
21775         Fix compile error.
21776
21777 2005-07-16  Wim Taymans  <wim@fluendo.com>
21778
21779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21780         (gst_base_sink_event), (gst_base_sink_get_times),
21781         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21782         * gst/base/gstbasesink.h:
21783         Store and use discont values when syncing buffers as described
21784         in design docs.
21785         
21786         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21787         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21788         (gst_base_src_activate_push):
21789         Push discont event when starting.
21790
21791         * gst/elements/gstidentity.c: (gst_identity_transform):
21792         Small cleanups.
21793
21794         * gst/gstbin.c: (gst_bin_change_state):
21795         Small cleanups in base_time  distribution.
21796
21797         * gst/gstelement.c: (gst_element_set_base_time),
21798         (gst_element_get_base_time), (gst_element_change_state):
21799         * gst/gstelement.h:
21800         Added methods for the base_time of the element.
21801         Some MT fixes.
21802
21803         * gst/gstpipeline.c: (gst_pipeline_send_event),
21804         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21805         (gst_pipeline_get_last_stream_time):
21806         * gst/gstpipeline.h:
21807         MT fixes.
21808         Handle seeking as described in design doc, remove stream_time
21809         hack.
21810         Cleanups clock and stream_time selection code. Added accessors
21811         for the stream_time.
21812         
21813
21814 2005-07-16  Andy Wingo  <wingo@pobox.com>
21815
21816         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21817         (#305291).
21818
21819 2005-07-16  Wim Taymans  <wim@fluendo.com>
21820
21821         * check/gst/gstbin.c: (GST_START_TEST):
21822         Make elements silent as the deep_notify refs the
21823         parent, which might make the test fail.
21824
21825         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21826         Don't hold the lock for too long.
21827
21828 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21829
21830         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21831           Don't unref the caps we passed to gst_caps_make_writable() after
21832           passing them. gst_caps_make_writable() will do that for us.
21833
21834 2005-07-15  Andy Wingo  <wingo@pobox.com>
21835
21836         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21837         (#157311).
21838
21839         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21840         own marshalling function for the handoff signal. Properly type the
21841         buffer as a buffer. Fixes some warnings. Should do a more general
21842         solution.
21843         (gst_identity_class_init): Plug into the right marshaller.
21844
21845 2005-07-15  Wim Taymans  <wim@fluendo.com>
21846
21847         * docs/design/part-TODO.txt:
21848         * docs/design/part-clocks.txt:
21849         * docs/design/part-element-sink.txt:
21850         * docs/design/part-events.txt:
21851         * docs/design/part-gstpipeline.txt:
21852         Updated docs, mostly DISCONT related.
21853
21854 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
21855
21856         * docs/pwg/building-pads.xml:
21857           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21858
21859 2005-07-15  Andy Wingo  <wingo@pobox.com>
21860
21861         * tools/gst-typefind.c: Update, add copyright block.
21862
21863         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21864         Normalize and truncate caps before fixation.
21865
21866         * gst/gstcaps.h:
21867         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21868         discards all but the first structure from its argument.
21869
21870 2005-07-15  Wim Taymans  <wim@fluendo.com>
21871
21872         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21873         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21874         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21875         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21876         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21877         (gst_base_transform_chain), (gst_base_transform_change_state),
21878         (gst_base_transform_set_passthrough),
21879         (gst_base_transform_is_passthrough):
21880         * gst/base/gstbasetransform.h:
21881         Make passthrough work using the bufferpools.
21882         Changed API a bit, subclasses have to write into a buffer
21883         provided by the base class.
21884         More debug info in nego functions.
21885         
21886         * gst/elements/gstidentity.c: (gst_identity_init),
21887         (gst_identity_transform):
21888         Port to new base class.
21889
21890 2005-07-15  Wim Taymans  <wim@fluendo.com>
21891
21892         * gst/gstmessage.c: (gst_message_new_state_changed):
21893         * tools/gst-launch.c: (event_loop), (main):
21894         Totally dump messages in -launch with the -m option.
21895         Fix message name for State messages,
21896
21897 2005-07-14  Wim Taymans  <wim@fluendo.com>
21898
21899         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21900         Post error messages on errors.
21901
21902 2005-07-14  Wim Taymans  <wim@fluendo.com>
21903
21904         * gst/gstcaps.c: (gst_caps_do_simplify):
21905         Remove debug info.
21906
21907         * gst/gsterror.h:
21908         Define error for stream stopped.
21909
21910         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21911         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21912         Do proper return values.
21913
21914         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21915         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21916         (gst_pad_get_range):
21917         Better return values.
21918
21919         * gst/gstpad.h:
21920         Reorganise return values, add macro to check for fatal errors.
21921
21922         * gst/gstqueue.c: (gst_queue_chain):
21923         Return proper GstFlowReturn values,
21924
21925 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21926
21927         * docs/gst/gstreamer-sections.txt:
21928         * docs/gst/gstreamer.types:
21929         * docs/gst/tmpl/gst.sgml:
21930         * docs/gst/tmpl/gstbasesink.sgml:
21931         * docs/gst/tmpl/gstbasesrc.sgml:
21932         * docs/gst/tmpl/gstbasetransform.sgml:
21933         * docs/gst/tmpl/gstbin.sgml:
21934         * docs/gst/tmpl/gstbuffer.sgml:
21935         * docs/gst/tmpl/gstcaps.sgml:
21936         * docs/gst/tmpl/gstclock.sgml:
21937         * docs/gst/tmpl/gstcompat.sgml:
21938         * docs/gst/tmpl/gstconfig.sgml:
21939         * docs/gst/tmpl/gstelement.sgml:
21940         * docs/gst/tmpl/gstelementdetails.sgml:
21941         * docs/gst/tmpl/gstelementfactory.sgml:
21942         * docs/gst/tmpl/gstenumtypes.sgml:
21943         * docs/gst/tmpl/gsterror.sgml:
21944         * docs/gst/tmpl/gstevent.sgml:
21945         * docs/gst/tmpl/gstfakesink.sgml:
21946         * docs/gst/tmpl/gstfakesrc.sgml:
21947         * docs/gst/tmpl/gstfilesink.sgml:
21948         * docs/gst/tmpl/gstfilesrc.sgml:
21949         * docs/gst/tmpl/gstfilter.sgml:
21950         * docs/gst/tmpl/gstformat.sgml:
21951         * docs/gst/tmpl/gstghostpad.sgml:
21952         * docs/gst/tmpl/gstimplementsinterface.sgml:
21953         * docs/gst/tmpl/gstindex.sgml:
21954         * docs/gst/tmpl/gstindexfactory.sgml:
21955         * docs/gst/tmpl/gstinfo.sgml:
21956         * docs/gst/tmpl/gstiterator.sgml:
21957         * docs/gst/tmpl/gstmacros.sgml:
21958         * docs/gst/tmpl/gstmemchunk.sgml:
21959         * docs/gst/tmpl/gstminiobject.sgml:
21960         * docs/gst/tmpl/gstobject.sgml:
21961         * docs/gst/tmpl/gstpad.sgml:
21962         * docs/gst/tmpl/gstpadtemplate.sgml:
21963         * docs/gst/tmpl/gstparse.sgml:
21964         * docs/gst/tmpl/gstpipeline.sgml:
21965         * docs/gst/tmpl/gstplugin.sgml:
21966         * docs/gst/tmpl/gstpluginfeature.sgml:
21967         * docs/gst/tmpl/gstquery.sgml:
21968         * docs/gst/tmpl/gstqueue.sgml:
21969         * docs/gst/tmpl/gstregistry.sgml:
21970         * docs/gst/tmpl/gstregistrypool.sgml:
21971         * docs/gst/tmpl/gstscheduler.sgml:
21972         * docs/gst/tmpl/gstschedulerfactory.sgml:
21973         * docs/gst/tmpl/gststructure.sgml:
21974         * docs/gst/tmpl/gstsystemclock.sgml:
21975         * docs/gst/tmpl/gsttaglist.sgml:
21976         * docs/gst/tmpl/gsttagsetter.sgml:
21977         * docs/gst/tmpl/gsttrace.sgml:
21978         * docs/gst/tmpl/gsttrashstack.sgml:
21979         * docs/gst/tmpl/gsttypefind.sgml:
21980         * docs/gst/tmpl/gsttypefindfactory.sgml:
21981         * docs/gst/tmpl/gsttypes.sgml:
21982         * docs/gst/tmpl/gsturihandler.sgml:
21983         * docs/gst/tmpl/gsturitype.sgml:
21984         * docs/gst/tmpl/gstutils.sgml:
21985         * docs/gst/tmpl/gstvalue.sgml:
21986         * docs/gst/tmpl/gstversion.sgml:
21987         * docs/gst/tmpl/gstxml.sgml:
21988         * docs/libs/tmpl/gstcontrol.sgml:
21989         * docs/libs/tmpl/gstdataprotocol.sgml:
21990         * docs/libs/tmpl/gstdparam.sgml:
21991         * docs/libs/tmpl/gstdplinint.sgml:
21992         * docs/libs/tmpl/gstdpman.sgml:
21993         * docs/libs/tmpl/gstdpsmooth.sgml:
21994         * docs/libs/tmpl/gstgetbits.sgml:
21995         * docs/libs/tmpl/gstunitconvert.sgml:
21996         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
21997         (gst_push_src_base_init), (gst_push_src_class_init),
21998         (gst_push_src_init), (gst_push_src_create):
21999         * gst/base/gstpushsrc.h:
22000         * gst/elements/gstelements.c:
22001         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22002         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22003         (gst_fake_sink_init), (gst_fake_sink_set_property),
22004         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22005         (gst_fake_sink_event), (gst_fake_sink_preroll),
22006         (gst_fake_sink_render), (gst_fake_sink_change_state):
22007         * gst/elements/gstfakesink.h:
22008         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22009         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22010         (gst_fake_src_base_init), (gst_fake_src_class_init),
22011         (gst_fake_src_init), (gst_fake_src_event_handler),
22012         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22013         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22014         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22015         (gst_fake_src_create_buffer), (gst_fake_src_create),
22016         (gst_fake_src_start), (gst_fake_src_stop):
22017         * gst/elements/gstfakesrc.h:
22018         * gst/elements/gstfilesink.c: (_do_init),
22019         (gst_file_sink_base_init), (gst_file_sink_class_init),
22020         (gst_file_sink_init), (gst_file_sink_dispose),
22021         (gst_file_sink_set_location), (gst_file_sink_set_property),
22022         (gst_file_sink_get_property), (gst_file_sink_open_file),
22023         (gst_file_sink_close_file), (gst_file_sink_query),
22024         (gst_file_sink_event), (gst_file_sink_render),
22025         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22026         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22027         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22028         * gst/elements/gstfilesink.h:
22029         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22030         (gst_file_src_class_init), (gst_file_src_init),
22031         (gst_file_src_finalize), (gst_file_src_set_location),
22032         (gst_file_src_set_property), (gst_file_src_get_property),
22033         (gst_file_src_map_region), (gst_file_src_map_small_region),
22034         (gst_file_src_create_mmap), (gst_file_src_create_read),
22035         (gst_file_src_create), (gst_file_src_is_seekable),
22036         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22037         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22038         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22039         (gst_file_src_uri_handler_init):
22040         * gst/elements/gstfilesrc.h:
22041           more autistic cleanliness in functions/names/defines
22042
22043 2005-07-13  Andy Wingo  <wingo@pobox.com>
22044
22045         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22046         source couldn't negotiate.
22047
22048         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22049         connections again.
22050
22051         * gst/gstutils.h:
22052         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22053         function. I am channeling Hades. Put your boots on suckers!!!
22054
22055 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22056
22057         * testsuite/caps/Makefile.am:
22058         * testsuite/caps/value_compare.c:
22059         * testsuite/caps/value_intersect.c:
22060         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22061           move two testsuite apps over to the check dir
22062
22063 2005-07-12  Wim Taymans  <wim@fluendo.com>
22064
22065         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22066         Added more debug info in the negotiate process.
22067
22068         * gst/gstmessage.h:
22069         Prepare for segment playback.
22070
22071         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22072         Better debugging.
22073
22074         * gst/gstutils.c:
22075         Some more docs.
22076
22077         * tools/gst-launch.c: (main):
22078         NULL pipeline on errors.
22079
22080 2005-07-12  Andy Wingo  <wingo@pobox.com>
22081
22082         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22083         not it comes from a malloc region. Make sure our copy gets freed.
22084
22085 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22086
22087         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22088         * check/gst/gstmessage.c: (GST_START_TEST):
22089         * check/gst/gststructure.c: (GST_START_TEST),
22090         (gst_structure_suite), (main):
22091           more testing
22092         * gst/gstelement.c: (gst_element_message_full):
22093           clean up GError and debug string now that they get copied
22094         * gst/gstmessage.c: (gst_message_new_error),
22095         (gst_message_new_warning), (gst_message_parse_error),
22096         (gst_message_parse_warning):
22097           use GST_TYPE_G_ERROR for structure_new, and take copies of
22098           arguments, so that we don't mess up refcounting
22099
22100 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22101
22102         * check/Makefile.am:
22103           add per-test valgrind targets
22104         * check/gst-libs/gdp.c: (GST_START_TEST),
22105         (gst_data_protocol_suite), (main):
22106           clean up
22107
22108 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22109
22110         * check/Makefile.am:
22111           instate more valgrindable tests
22112         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22113         (GST_START_TEST), (fakesrc_suite):
22114         * check/gst/gstpad.c: (GST_START_TEST):
22115         * check/gst/gststructure.c: (GST_START_TEST):
22116           fix test leaks
22117         * docs/gst/tmpl/gstminiobject.sgml:
22118         * gst/gstpad.c: (gst_pad_finalize):
22119           fix the static mutex leak
22120
22121 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22122
22123         * check/Makefile.am:
22124           add two more tests for valgrinding
22125         * check/gst/gstvalue.c: (GST_START_TEST):
22126           test refcount of deserialized buffer, found a leak
22127         * docs/gst/gstreamer-docs.sgml:
22128         * docs/gst/gstreamer-sections.txt:
22129         * docs/gst/gstreamer.types:
22130         * docs/gst/tmpl/gstminiobject.sgml:
22131           add miniobject to docs
22132         * gst/gstminiobject.c:
22133           add some docs
22134         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22135         (gst_string_unwrap):
22136           fix a hard-to-find invalid write for one of the tests
22137           fix a leak for deserialized buffers
22138
22139 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22140
22141         * docs/pwg/advanced-events.xml:
22142         * docs/pwg/advanced-request.xml:
22143         * docs/pwg/advanced-scheduling.xml:
22144         * docs/pwg/appendix-porting.xml:
22145         * docs/pwg/building-boiler.xml:
22146         * docs/pwg/intro-preface.xml:
22147         * docs/pwg/other-ntoone.xml:
22148           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22149           of example code and explanation for pad activation, loop() and
22150           getrange() functions and a bit more. Remove old comments pointing
22151           to loop-functions.
22152         * examples/pwg/Makefile.am:
22153           Add loop/getrange examples.
22154
22155 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22156
22157         * configure.ac:
22158           check for valgrind binary + some fixes
22159         * check/gst.supp:
22160           valgrind suppressions for the tests
22161         * check/Makefile.am:
22162           add a valgrind: target that valgrinds the unit tests
22163         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22164         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22165         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22166         * check/gst/gstghostpad.c:
22167           added some cleanup
22168         * check/gst/gstdata.c:
22169           removed
22170         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22171         (thread_unref), (gst_mini_object_suite), (main):
22172           added
22173         * gst/gst.c: (gst_deinit):
22174         * gst/gst.h:
22175           add a method to clean up.
22176         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22177         (gst_system_clock_obtain):
22178           allow for disposing the system clock.
22179         * tools/gst-launch.c: (main):
22180           deinit
22181
22182 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22183
22184         * docs/gst/tmpl/gstbasesrc.sgml:
22185         * docs/gst/tmpl/gstfakesrc.sgml:
22186         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22187         (gst_base_src_init), (gst_base_src_set_property),
22188         (gst_base_src_get_property), (gst_base_src_get_range),
22189         (gst_base_src_start):
22190         * gst/base/gstbasesrc.h:
22191           add num-buffers property
22192         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22193         (gst_fakesrc_init), (gst_fakesrc_set_property),
22194         (gst_fakesrc_get_property), (gst_fakesrc_create),
22195         (gst_fakesrc_start):
22196           remove num-buffers property
22197
22198 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22199
22200         * docs/gst/gstreamer-sections.txt:
22201         * docs/gst/tmpl/gstbasesink.sgml:
22202         * docs/gst/tmpl/gstbasesrc.sgml:
22203         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22204         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22205         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22206         (gst_base_sink_set_property), (gst_base_sink_get_property),
22207         (gst_base_sink_handle_object), (gst_base_sink_event),
22208         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22209         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22210         (gst_base_sink_loop), (gst_base_sink_deactivate),
22211         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22212         (gst_base_sink_change_state):
22213         * gst/base/gstbasesink.h:
22214         * gst/base/gstbasesrc.h:
22215         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22216         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22217         (gst_filesink_init):
22218           more macro splitting
22219
22220 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22221
22222         * gst/gstelement.c: (gst_element_get_bus):
22223           add debug
22224         * tools/gst-launch.c: (check_intr), (event_loop):
22225           fix bus leaks
22226
22227 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22228
22229         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22230           fix a caps leak
22231
22232 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22233
22234         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22235         (gst_base_src_finalize):
22236           add finalize method and clean up properly
22237         * gst/gstpipeline.c: (gst_pipeline_dispose):
22238           add debug
22239
22240 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22241
22242         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22243         (gst_bin_suite):
22244           add more things to check
22245         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22246         * gst/gstelement.c:
22247           more debug
22248
22249 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22250
22251         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22252         (GST_START_TEST), (fakesrc_suite):
22253         * check/gst-libs/gdp.c: (GST_START_TEST):
22254         * check/gst/gst.c: (GST_START_TEST):
22255         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22256         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22257         * check/gst/gstbus.c: (GST_START_TEST):
22258         * check/gst/gstcaps.c: (GST_START_TEST):
22259         * check/gst/gstdata.c: (GST_START_TEST):
22260         * check/gst/gstelement.c: (GST_START_TEST):
22261         * check/gst/gstghostpad.c: (GST_START_TEST):
22262         * check/gst/gstiterator.c: (GST_START_TEST):
22263         * check/gst/gstmessage.c: (GST_START_TEST):
22264         * check/gst/gstobject.c: (GST_START_TEST):
22265         * check/gst/gstpad.c: (GST_START_TEST):
22266         * check/gst/gststructure.c: (GST_START_TEST):
22267         * check/gst/gstsystemclock.c: (GST_START_TEST),
22268         (gst_systemclock_suite):
22269         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22270         * check/gst/gstvalue.c: (GST_START_TEST):
22271         * check/pipelines/cleanup.c: (GST_START_TEST):
22272         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22273         * check/states/sinks.c: (GST_START_TEST):
22274         * check/gstcheck.c: (gst_check_init):
22275         * check/gstcheck.h:
22276           add debugging category
22277           use GST_START_TEST now, so we add a debug line
22278
22279 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22280
22281         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22282           add test for state change message on a bin
22283         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22284           add another test
22285         * gst/gstbin.c: (gst_bin_init):
22286         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22287         * gst/gstelement.c: (gst_element_post_message),
22288         (gst_element_set_state):
22289         * gst/gstelementfactory.c: (gst_element_factory_create):
22290         * gst/gstmessage.c: (gst_message_new):
22291         * gst/gstscheduler.c:
22292           various debugging additions and cleanups
22293
22294 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22295
22296         * check/Makefile.am:
22297         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22298         (main):
22299           adding tests for elements
22300         * gst/gstelement.c: (gst_element_dispose):
22301
22302 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22303
22304         * gst/registries/gstlibxmlregistry.c: (load_feature):
22305           plug more leaks.  A simple gst_init() now is leakfree, yay.
22306
22307 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22308
22309         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22310         (gst_xml_registry_load):
22311           plug another memleak
22312
22313 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22314
22315         * configure.ac:
22316           use GST_SET_ERROR_CFLAGS
22317         * docs/faq/cvs.xml:
22318           change to ERROR_CFLAGS
22319
22320 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22321
22322         * configure.ac:
22323           make GST_ERROR_CFLAGS overridable and re-enable Werror
22324         * docs/faq/cvs.xml:
22325           add a note about error CFLAGS
22326         * docs/gst/tmpl/gstfakesrc.sgml:
22327         * gst/elements/gstfakesrc.c:
22328           comment out some unused code
22329         * gst/gst.c: (split_and_iterate):
22330         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22331         (load_feature):
22332           plug some memleaks
22333
22334 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22335
22336         * common/Makefile.am:
22337         * common/gtk-doc.mak:
22338         * docs/gst/Makefile.am:
22339           factor out gtk-doc.mak
22340
22341 2005-07-07  Wim Taymans  <wim@fluendo.com>
22342
22343         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22344         (gst_thread_scheduler_dispose):
22345         Unlock the STREAM_LOCK completely.
22346
22347 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22348
22349         * check/Makefile.am:
22350         * check/elements/.cvsignore:
22351         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22352         (START_TEST), (fakesrc_suite), (main):
22353         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22354         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22355         (gst_fakesrc_create), (gst_fakesrc_start):
22356         * gst/elements/gstfakesrc.h:
22357           adding a first element test
22358
22359 2005-07-07  Andy Wingo  <wingo@pobox.com>
22360
22361         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22362         debug message.
22363
22364 2005-07-07  Wim Taymans  <wim@fluendo.com>
22365
22366         * gst/gstquery.c:
22367         * gst/gstquery.h:
22368         Remove old types
22369
22370 2005-07-07  Wim Taymans  <wim@fluendo.com>
22371
22372         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22373         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22374         Allow subclasses to implement their own negotiation.
22375
22376 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22377
22378         * docs/design/part-gstbin.txt:
22379         * docs/design/part-gstpipeline.txt:
22380           Update design notes to reflect the movement of
22381           responsibility for bus handling from GstPipeline to
22382           GstBin
22383
22384 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22385
22386         * configure.ac:
22387           Remove unnecessary queue2/3/4 examples.
22388
22389 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22390
22391         * examples/Makefile.am:
22392         * examples/helloworld/helloworld.c: (event_loop), (main):
22393         * examples/queue/queue.c: (event_loop), (main):
22394         * examples/queue2/queue2.c: (main):
22395           Update a couple of the examples to work again.
22396
22397         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22398         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22399          Spelling corrections and extra debug.
22400         
22401         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22402         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22403         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22404         * gst/gstbin.h:
22405         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22406         (gst_pipeline_change_state):
22407         * gst/gstpipeline.h:
22408           Move the bus handler for children to the GstBin, and create a
22409           separate bus for receiving messages from children to the one the
22410           bus sends 'upwards' on.
22411
22412 2005-07-06  Wim Taymans  <wim@fluendo.com>
22413
22414         * gst/base/README:
22415         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22416         (gst_base_sink_handle_object), (gst_base_sink_loop),
22417         (gst_base_sink_change_state):
22418         * gst/base/gstbasesink.h:
22419         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22420         (gst_base_src_init), (gst_base_src_setcaps),
22421         (gst_base_src_getcaps), (gst_base_src_loop),
22422         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22423         (gst_base_src_start), (gst_base_src_change_state):
22424         * gst/base/gstbasesrc.h:
22425         Make basesrc negotiate.
22426         Handle the case where preroll fails in basesink.
22427         Update README.
22428
22429 2005-07-06  Wim Taymans  <wim@fluendo.com>
22430
22431         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22432         Implement the fixate function.
22433         Clean up acceptcaps.
22434
22435 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22436
22437         * docs/pwg/building-filterfactory.xml:
22438         * docs/pwg/pwg.xml:
22439           Remove never-written filter-factory chapter; I'll add the various
22440           base classes to part 4 ("other element types") later on.
22441
22442 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22443
22444         * docs/pwg/advanced-negotiation.xml:
22445         * docs/pwg/building-boiler.xml:
22446         * docs/pwg/building-pads.xml:
22447         * docs/pwg/pwg.xml:
22448         * examples/pwg/Makefile.am:
22449           Add a chapter on caps negotiation, simplify the original code
22450           samples a bit w.r.t. caps negotiation, add link to the advanced
22451           section. Add a bunch of examples showing different use cases of
22452           different types of caps negotiation. Upstream renegotiation isn't
22453           fully documented yet since nobody knows how that works.
22454
22455 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22456
22457         * check/gst/gstpad.c:
22458         * check/gstcheck.c:
22459         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22460           if pad has no parent, return NULL as list of internal links
22461
22462 2005-07-05  Andy Wingo  <wingo@pobox.com>
22463
22464         * gst/elements/gstfilesrc.c:
22465         * gst/elements/gstfakesrc.c: 
22466         * gst/base/gstpushsrc.c:
22467         * gst/base/gstbasesrc.h: 
22468         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22469         
22470 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22471
22472         * Makefile.am:
22473           better report generation target (lcov needs a patch)
22474
22475 2005-07-05  Andy Wingo  <wingo@pobox.com>
22476
22477         * gst/elements, testsuite: Null if we got it...
22478
22479 2005-07-05  Wim Taymans  <wim@fluendo.com>
22480
22481         * configure.ac:
22482         * libs/gst/dataprotocol/Makefile.am:
22483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22484         * libs/gst/dataprotocol/dataprotocol.h:
22485         * pkgconfig/Makefile.am:
22486         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22487         * pkgconfig/gstreamer-dataprotocol.pc.in:
22488         Ported dataprotol to 0.9. 
22489         Added pkgconfig files.
22490
22491 2005-07-05  Andy Wingo  <wingo@pobox.com>
22492
22493         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22494         Default to returning TRUE for the case when tranform_caps returns
22495         a fixed caps, like for identity or volume.
22496
22497         * check/gst/gstbus.c (pound_bus_with_messages): 
22498         * check/gst/gstmessage.c (START_TEST): 
22499         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22500         message API change.
22501
22502         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22503         logic weaks here: always run transform_caps, trying passthrough
22504         operation only if the original caps intersects with the transform.
22505
22506         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22507         source and sink caps.
22508
22509         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22510         Intersect the peer caps with the pad template before going into
22511         transform_caps.
22512         (gst_base_transform_transform_caps): More debugging.
22513
22514         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22515         src argument.
22516
22517 2005-07-04  Edward Hervey  <edward@fluendo.com>
22518
22519         * gst/gstutils.c:
22520         * gst/gstutils.h:
22521         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22522         in bindings.
22523
22524 2005-07-04  Andy Wingo  <wingo@pobox.com>
22525
22526         * check/gst/gstpad.c: Only set explicit caps on pads.
22527
22528 2005-07-01  Andy Wingo  <wingo@pobox.com>
22529
22530         * tests/network-clock.scm: Commentary update.
22531
22532         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22533         Didn't really make sense, not implementable with basetransform,
22534         etc.
22535         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22536         attempt at implementing the sync property, needs an unlock method.
22537
22538         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22539         New func, by default returns the same caps (the identity
22540         transformation).
22541         (gst_base_transform_getcaps): Uses transform_caps to return
22542         something sensible.
22543         (gst_base_transform_setcaps): Complicated logic to get caps on
22544         both pads, even if they are different, and to call set_caps once
22545         for every time both pads get their caps set.
22546         (gst_base_transform_handle_buffer): Give the ref to the transform
22547         function. Allows in-place modification of the buffer.
22548
22549         * gst/base/gstbasetransform.h (transform_caps): New class method.
22550         Given caps on one side, what can I do on the other.
22551         (set_caps): Take two caps, one for each side of the element.
22552
22553         * gst/gstpad.h:
22554         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22555         caps in place. This is safe because we can check the mutability of
22556         the caps, and a good idea because fixate functions are just called
22557         as a matter of last resort. (Not actually implemented.)
22558         (gst_pad_set_caps): If the caps we're setting is actually the same
22559         as the existing pad caps, just update the pointer without calling
22560         setcaps. Assert that caps is either NULL or fixed, as per the
22561         docs.
22562
22563         * gst/gstghostpad.c: Update for fixate changes.
22564
22565 2005-07-02  Andy Wingo  <wingo@pobox.com>
22566
22567         * gst/gstcaps.c:
22568         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22569         two refcounts makes it immutable, which is enough. Doc more.
22570
22571 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
22572
22573         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22574           Put the mini_object into GValue as a mini_object,
22575           not a gpointer, since that's how we declared
22576           the signal.
22577
22578 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22579
22580         * examples/pwg/Makefile.am:
22581           Fix buildbot again.
22582
22583 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22584
22585         * docs/pwg/building-testapp.xml:
22586           Add extra check.
22587         * examples/pwg/Makefile.am:
22588           Fix buildbot.
22589
22590 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22591
22592         * configure.ac:
22593         * examples/Makefile.am:
22594         * examples/pwg/Makefile.am:
22595         * examples/pwg/extract.pl:
22596           Enable building the PWG examples.
22597         * docs/pwg/advanced-interfaces.xml:
22598           Add URI interface stub.
22599         * docs/pwg/advanced-types.xml:
22600         * docs/pwg/other-autoplugger.xml:
22601         * docs/pwg/appendix-porting.xml:
22602         * docs/pwg/pwg.xml:
22603           Add porting guide (mostly stubs), remove autoplugging (see ADM).
22604         * docs/pwg/building-boiler.xml:
22605         * docs/pwg/building-chainfn.xml:
22606         * docs/pwg/building-pads.xml:
22607         * docs/pwg/building-props.xml:
22608         * docs/pwg/building-state.xml:
22609         * docs/pwg/building-testapp.xml:
22610           Update the building-*.xml parts for 0.9 changes. All examples
22611           code blocks compile in examples/pwg/*.
22612
22613 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22614
22615         * docs/manual/advanced-autoplugging.xml:
22616         * docs/manual/appendix-checklist.xml:
22617         * docs/manual/appendix-integration.xml:
22618         * docs/manual/highlevel-components.xml:
22619           Fix playbin/decodebin examples, update docs a bit, mention bus
22620           instead of signals in various places, mention kmplayer and
22621           kaffeine since they have a working GStreamer backend in the KDE
22622           section.
22623
22624 2005-06-30  Wim Taymans  <wim@fluendo.com>
22625
22626         * CHANGES-0.9:
22627         * docs/design/draft-ghostpads.txt:
22628         * docs/design/draft-push-pull.txt:
22629         * docs/design/draft-query.txt:
22630         * docs/design/part-TODO.txt:
22631         * docs/design/part-query.txt:
22632         Added CHANGES-0.9 doc, updated status of other docs.
22633         
22634         * gst/gstquery.h:
22635         Remove "hmm" macro
22636
22637 2005-06-30  Wim Taymans  <wim@fluendo.com>
22638
22639         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22640         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22641         (gst_base_sink_change_state):
22642         * gst/base/gstbasesink.h:
22643         Some tweaks, only EOS and a buffer complete a preroll.
22644
22645 2005-06-30  Andy Wingo  <wingo@pobox.com>
22646
22647         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22648         activate_push down to the internal pad as well.
22649
22650 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
22651
22652         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22653
22654         * gst/gsttaginterface.c:
22655           Some documentation fixes (#307394 and #307397).
22656
22657 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
22658
22659         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22660
22661         * gst/gstvalue.c: (gst_value_intersect_list):
22662           Fix memleak (#309125).
22663
22664 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22665
22666         * docs/manual/advanced-dataaccess.xml:
22667           Fix fakesrc example to compile; doesn't work, bug somewhere...?
22668         * docs/manual/basics-pads.xml:
22669           Add reference for filtered caps to above chapter.
22670
22671 2005-06-30  Wim Taymans  <wim@fluendo.com>
22672
22673         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22674         (gst_bin_change_state):
22675         Probes are gone.
22676         Lame attempt at making the state change function a bit
22677         more readable.
22678
22679 2005-06-30  Wim Taymans  <wim@fluendo.com>
22680
22681         * docs/design/part-clocks.txt:
22682         * docs/design/part-element-sink.txt:
22683         * docs/design/part-events.txt:
22684         * docs/design/part-preroll.txt:
22685         * docs/design/part-states.txt:
22686         Some more tweeks and additions to the docs.
22687
22688 2005-06-30  Wim Taymans  <wim@fluendo.com>
22689
22690         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22691         (default_have_data), (gst_pad_class_init), (gst_pad_init),
22692         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22693         (gst_pad_check_pull_range), (gst_pad_get_range),
22694         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22695         * gst/gstpad.h:
22696         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22697         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22698         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22699         (gst_pad_remove_buffer_probe):
22700         Removed atomic operations, use existing LOCK.
22701         Move exception handling out of main code path.
22702
22703 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22704
22705         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22706         (silly_return_true_function), (gst_pad_class_init),
22707         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22708         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22709         (gst_pad_send_event):
22710           Fix accumulator, add default value by using _emitv() instead
22711           of _emit() for signal emission.
22712
22713 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22714
22715         * docs/manual/advanced-dataaccess.xml:
22716         * examples/manual/Makefile.am:
22717           Add probe example.
22718         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22719           Make work (??).
22720
22721 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
22722
22723         * gst/elements/gstfilesink.c: (gst_filesink_render):
22724           Simplify code so that we don't have to handle short
22725           writes and return GST_FLOW_ERROR if an error occured.
22726
22727 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22728
22729         * docs/gst/gstreamer-docs.sgml:
22730           Remove probes more.
22731
22732 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22733
22734         * docs/gst/gstreamer-sections.txt:
22735         * docs/gst/tmpl/gstpad.sgml:
22736         * docs/gst/tmpl/gstprobe.sgml:
22737         * gst/Makefile.am:
22738         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22739         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22740         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22741         (gst_pad_push_event), (gst_pad_send_event):
22742         * gst/gstpad.h:
22743         * gst/gstutils.c: (gst_pad_add_data_probe),
22744         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22745         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22746         (gst_pad_remove_buffer_probe):
22747         * gst/gstutils.h:
22748           Remove old probes, add new g-signal-based probes and some utility
22749           functions.
22750
22751 2005-06-29  Edward Hervey  <edward@fluendo.com>
22752
22753         * gst/gstelementfactory.c:
22754         * gst/gstutils.h:
22755         * gst/gstutils.c:
22756         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22757         the definition to the header file.
22758
22759 2005-06-29  Andy Wingo  <wingo@pobox.com>
22760
22761         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22762         plugins from the source directory.
22763
22764 2005-06-29  Wim Taymans  <wim@fluendo.com>
22765
22766         * docs/gst/tmpl/gstbuffer.sgml:
22767         * docs/gst/tmpl/gstclock.sgml:
22768         Some fixings for blantently wrong text.
22769
22770 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22771
22772         * check/Makefile.am:
22773         * gst/gst.c: (add_path_func), (init_pre):
22774         * gst/gstregistry.c: (gst_registry_add_path):
22775           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22776           only scan the GST_PLUGIN_PATH locations, and not add
22777           system locations
22778
22779 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22780
22781         * docs/gst/gstreamer-sections.txt:
22782         * docs/gst/tmpl/gstbasesrc.sgml:
22783         * gst/gstelement.c:
22784         * gst/gstelement.h:
22785         * gst/gstevent.c:
22786         * gst/gstutils.c:
22787           doc fixes
22788
22789 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22790
22791         * docs/manual/advanced-autoplugging.xml:
22792           Fix autoplugging example.
22793
22794 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22795
22796         * docs/manual/advanced-autoplugging.xml:
22797         * docs/manual/mime-world.fig:
22798           Try to get autoplugging working, fix type detection. Fix text
22799           in hello-world image.
22800
22801 2005-06-29  Wim Taymans  <wim@fluendo.com>
22802
22803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22804         (gst_base_sink_change_state):
22805         Small debug line.
22806
22807         * gst/gstclock.h:
22808         map SIGNAL and BROADCAST to the right function.
22809
22810         * gst/gstobject.h:
22811         Remove redundant braces.
22812
22813         * gst/gstpad.c: (gst_pad_set_caps):
22814         Don't call setcaps function when reseting caps to NULL.
22815
22816         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22817         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22818         (gst_system_clock_id_unschedule):
22819         Use BROADCAST as this is what we do.
22820
22821 2005-06-29  Wim Taymans  <wim@fluendo.com>
22822
22823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22824         We are actually prerolling before commiting the state
22825         change. 
22826
22827 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22828
22829         * docs/manual/advanced-clocks.xml:
22830         * docs/manual/advanced-interfaces.xml:
22831         * docs/manual/advanced-metadata.xml:
22832         * docs/manual/advanced-position.xml:
22833         * docs/manual/advanced-schedulers.xml:
22834         * docs/manual/advanced-threads.xml:
22835         * docs/manual/appendix-porting.xml:
22836         * docs/manual/basics-bins.xml:
22837         * docs/manual/basics-bus.xml:
22838         * docs/manual/basics-elements.xml:
22839         * docs/manual/basics-helloworld.xml:
22840         * docs/manual/basics-pads.xml:
22841         * docs/manual/highlevel-components.xml:
22842         * docs/manual/manual.xml:
22843         * docs/manual/thread.fig:
22844           Update (until threads/scheduling) Application Development Manual;
22845           remove GstThread, add GstBus, add simple porting checklist, add
22846           documentation for tag writing, clocks, make all examples until this
22847           part compile and run.
22848         * examples/manual/Makefile.am:
22849           Update from changes to Application Development Manual; add bus
22850           example, remove thread example.
22851
22852 2005-06-28  Wim Taymans  <wim@fluendo.com>
22853
22854         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22855         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22856         (gst_bus_source_dispatch):
22857         Add debugging messages.
22858         Make internal methods static.
22859         Handle the case where the bus is flushed in the handler.
22860         
22861         * gst/gstelement.c: (gst_element_get_bus):
22862         Fix refcount in _get_bus();
22863
22864         * gst/gstpipeline.c: (gst_pipeline_change_state),
22865         (gst_pipeline_get_clock_func):
22866         Clock refcounting fixes.
22867         Handle the case where preroll timed out more gracefully.
22868         
22869         * gst/gstsystemclock.c: (gst_system_clock_dispose):
22870         Clean up the internal thread in dispose. This is needed
22871         for subclasses that actually get disposed.
22872         
22873         * gst/schedulers/threadscheduler.c:
22874         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22875         (gst_thread_scheduler_dispose):
22876         Free thread pool in dispose.
22877
22878 2005-06-28  Andy Wingo  <wingo@pobox.com>
22879
22880         * tests/network-clock-utils.scm (debug, print-event): New utils.
22881
22882         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22883         (*packet-loss*): Unified loss probability.
22884         (network-time): Report out-of-band events.
22885
22886         * tests/plot-data: Add support for out-of-band events. Hack it
22887         into this script instead of passing it down the pipe; should fix
22888         this later.
22889
22890 2005-06-28  Wim Taymans  <wim@fluendo.com>
22891
22892         * docs/gst/gstreamer.types:
22893         * docs/gst/tmpl/gstbasesrc.sgml:
22894         * docs/gst/tmpl/gstpad.sgml:
22895         Docs fixes.
22896
22897 2005-06-28  Wim Taymans  <wim@fluendo.com>
22898
22899         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22900         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22901         (gst_proxy_pad_do_fixatecaps):
22902         Correctly proxy the check_pull_range function.
22903
22904 2005-06-28  Andy Wingo  <wingo@pobox.com>
22905
22906         * tests/network-clock.scm: Removed need for slib.
22907         
22908 2005-06-28  Wim Taymans  <wim@fluendo.com>
22909
22910         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22911         (gst_basesink_preroll_queue_flush):
22912         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22913         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22914         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22915         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22916         (gst_proxy_pad_set_property):
22917         * gst/gstpad.c:
22918         * gst/gstpad.h:
22919         * gst/gstqueue.c: (gst_queue_init):
22920         The deprecated pad loop function is removed now.
22921
22922 2005-06-28  Andy Wingo  <wingo@pobox.com>
22923
22924         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22925         New parameters, simulate network packet loss.
22926
22927         * tests/network-clock-utils.scm: Initialize the RNG.
22928
22929 2005-06-28  Wim Taymans  <wim@fluendo.com>
22930
22931         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
22932         (gst_basesink_event), (gst_basesink_deactivate):
22933         Flushing the preroll queue always needs to unlock the waiters.
22934
22935 2005-06-28  Edward Hervey  <edward@fluendo.com>
22936
22937         * gst/gstpipeline.c: (gst_pipeline_send_event): 
22938         Wheen a seek was successful on a pipeline, set the stream_time to the
22939         seek offset in order to have a synchronized stream_time.
22940
22941 2005-06-28  Wim Taymans  <wim@fluendo.com>
22942
22943         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22944         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
22945         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
22946         (gst_proxy_pad_do_fixatecaps):
22947         Call wrapper function instead of just calling the function
22948         pointers. This takes care of any locking and whatmore.
22949
22950 2005-06-28  Wim Taymans  <wim@fluendo.com>
22951
22952         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
22953         (gst_pad_pull_range):
22954         * gst/gstpad.h:
22955         CONNECTED -> LINKED.
22956
22957 2005-06-28  Andy Wingo  <wingo@pobox.com>
22958
22959         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
22960         source-munging commit!!!
22961
22962         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
22963         (gst_object_sink): Take gpointer arguments, not GstObject --
22964         avoids casts. Like GLib.
22965
22966         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
22967         activate.
22968
22969 2005-06-27  Andy Wingo  <wingo@pobox.com>
22970
22971         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
22972         remaining buffer.
22973
22974         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
22975         returns a sorted copy of the trace list.
22976         (gst_alloc_trace_print_live): New API, only prints traces with
22977         live objects. Sort the list.
22978         (gst_alloc_trace_print_all): Sort the list.
22979         (gst_alloc_trace_print): Align columns.
22980
22981         * gst/elements/gstttypefindelement.c:
22982         * gst/elements/gsttee.c:
22983         * gst/base/gstbasesrc.c:
22984         * gst/base/gstbasesink.c:
22985         * gst/base/gstbasetransform.c:
22986         * gst/gstqueue.c: Adapt for pad activation changes.
22987
22988         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
22989         sched.
22990         (gst_pipeline_dispose): Drop ref on sched.
22991
22992         * gst/gstpad.c (gst_pad_init): Set the default activate func.
22993         (gst_pad_activate_default): Push mode by default.
22994         (pre_activate_switch, post_activate_switch): New stubs, things to
22995         do before and after switching activation modes on pads.
22996         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
22997         the pad's activate function to choose which mode to activate.
22998         Shortcut on deactivation and call the right function directly.
22999         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23000         mode.
23001         (gst_pad_activate_push): New API, same for push mode.
23002         (gst_pad_set_activate_function) 
23003         (gst_pad_set_activatepull_function) 
23004         (gst_pad_set_activatepush_function): Setters for new API.
23005
23006         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23007         Trace all miniobjects.
23008         (gst_mini_object_make_writable): Unref the arg if we copy, like
23009         gst_caps_make_writable.
23010
23011         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23012
23013         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23014         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23015         Adapt for new pad API.
23016
23017         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23018
23019         * gst/gstelement.h:
23020         * gst/gstelement.c (gst_element_iterate_src_pads) 
23021         (gst_element_iterate_sink_pads): New API functions.
23022         
23023         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23024         should fold into gstiterator.c in some form.
23025         (gst_element_pads_activate): Simplified via use of fold and
23026         delegation of decisions to gstpad->activate.
23027
23028         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23029         help in debugging.
23030
23031         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23032         class once in init, like gstmessage. Didn't run into this issue
23033         but it seems correct. Don't initialize a trace, gstminiobject does
23034         that.
23035
23036         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23037         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23038         to the bus.
23039         (assert_live_count): New util function, uses alloc traces to check
23040         cleanup.
23041
23042         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23043         To be modified when unlink drops the internal pad.
23044
23045 2005-06-27  Wim Taymans  <wim@fluendo.com>
23046
23047         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23048         (gst_bin_change_state):
23049         Cleanup the get_state() function a little, make sure it
23050         iterates the same set of elements.
23051         Added stub iterate_state_order().
23052
23053 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23054
23055         * docs/gst/gstreamer-docs.sgml:
23056         * docs/gst/gstreamer-sections.txt:
23057         * docs/gst/gstreamer.types:
23058         * docs/gst/tmpl/gstbasesink.sgml:
23059         * docs/gst/tmpl/gstbasesrc.sgml:
23060         * docs/gst/tmpl/gstbasetransform.sgml:
23061         * docs/gst/tmpl/gstelement.sgml:
23062         * docs/gst/tmpl/gstiterator.sgml:
23063         * gst/base/gstbasesrc.c:
23064         * gst/base/gstbasesrc.h:
23065         * gst/base/gstbasetransform.h:
23066         * gst/gstelement.c:
23067         * gst/gstiterator.h:
23068           adding basetransform and iterator docs
23069
23070 2005-06-27  Andy Wingo  <wingo@pobox.com>
23071
23072         * docs/design/part-activation.txt: Notes on how activation should
23073         work -- not quite implemented yet.
23074
23075 2005-06-25  Wim Taymans  <wim@fluendo.com>
23076
23077         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23078         At least get the chain function correct, needs more
23079         fixing.
23080
23081 2005-06-25  Wim Taymans  <wim@fluendo.com>
23082
23083         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23084         (gst_basesink_handle_object), (gst_basesink_event),
23085         (gst_basesink_do_sync), (gst_basesink_handle_event),
23086         (gst_basesink_change_state):
23087         * gst/gsttask.h:
23088         Right, two problems here: ghostpads don't take locks and
23089         glib _rec_mutex_lock_full() with depth==0 still locks.
23090         Catch illegal locking and g_warn them.
23091
23092 2005-06-25  Wim Taymans  <wim@fluendo.com>
23093
23094         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23095         Have to check for completion now...
23096
23097 2005-06-25  Wim Taymans  <wim@fluendo.com>
23098
23099         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23100         (gst_basesink_handle_object), (gst_basesink_event),
23101         (gst_basesink_do_sync), (gst_basesink_handle_event),
23102         (gst_basesink_change_state):
23103         * gst/gstpad.h:
23104         Unlock STREAM_LOCK whatever the recursion was.
23105
23106 2005-06-25  Wim Taymans  <wim@fluendo.com>
23107
23108         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23109         (gst_basesink_preroll_queue_empty),
23110         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23111         (gst_basesink_event), (gst_basesink_do_sync),
23112         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23113         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23114         (gst_basesink_change_state):
23115         Reworked the base sink, handle event and buffer serialisation
23116         correctly and removed possible deadlock.
23117         Handle EOS correctly.
23118
23119 2005-06-25  Wim Taymans  <wim@fluendo.com>
23120
23121         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23122         (gst_pipeline_change_state):
23123         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23124         Allow elements to post EOS in the state change function.
23125         Fix up -launch, make it exit the poll loop when the
23126         pipeline actually changed state.
23127         Fix up warning parsing in -launch.
23128
23129 2005-06-25  Wim Taymans  <wim@fluendo.com>
23130
23131         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23132         (gst_tee_sink_activate):
23133         Core takes STREAM_LOCK for us now.
23134
23135 2005-06-25  Wim Taymans  <wim@fluendo.com>
23136
23137         * gst/gstelement.c: (gst_element_get_state_func),
23138         (gst_element_set_state):
23139         * gst/gstelement.h:
23140         * gst/gstmessage.c: (gst_message_parse_error),
23141         (gst_message_parse_warning):
23142         Keep track of current target state while performing a state
23143         change so that subclasses can do something interesting.
23144         Fix parsing of warning/error messages when GError is NULL.
23145
23146 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23147
23148         * docs/gst/Makefile.am:
23149         * docs/gst/gstreamer-docs.sgml:
23150         * docs/gst/gstreamer-sections.txt:
23151         * docs/gst/gstreamer.types:
23152         * docs/gst/tmpl/gstbasesink.sgml:
23153         * docs/gst/tmpl/gstbasesrc.sgml:
23154         * docs/gst/tmpl/gstbin.sgml:
23155         * docs/gst/tmpl/gstcompat.sgml:
23156         * docs/gst/tmpl/gstfakesink.sgml:
23157         * docs/gst/tmpl/gstfakesrc.sgml:
23158         * docs/gst/tmpl/gstfilesink.sgml:
23159         * docs/gst/tmpl/gstfilesrc.sgml:
23160         * docs/gst/tmpl/gstindex.sgml:
23161         * docs/manual/appendix-quotes.xml:
23162         * gst/base/gstbasesrc.h:
23163         * gst/elements/gstfakesrc.h:
23164         * gst/gstmessage.h:
23165           start pulling in base classes and elements in our docs
23166
23167 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23168
23169         * docs/gst/Makefile.am:
23170         * docs/libs/Makefile.am:
23171           fixed make distcheck with gtk-doc 1.3
23172
23173 2005-06-23  Wim Taymans  <wim@fluendo.com>
23174
23175         * gst/gstelement.c: (gst_element_get_state_func),
23176         (gst_element_set_state), (gst_element_change_state):
23177         When the state did not change, also report NO_PREROLL
23178         when it matters.
23179
23180 2005-06-23  Wim Taymans  <wim@fluendo.com>
23181
23182         * gst/gstpad.c: (gst_pad_event_default):
23183         * gst/gstqueue.c: (gst_queue_loop):
23184         No unsafe task pausing please.
23185
23186 2005-06-23  Wim Taymans  <wim@fluendo.com>
23187
23188         * gst/schedulers/threadscheduler.c:
23189         (gst_thread_scheduler_task_start),
23190         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23191         Ref the task before pushing it on the threadpool. This
23192         makes sure that we have a ref when the threadfunction is
23193         actually called.
23194
23195 2005-06-23  Andy Wingo  <wingo@pobox.com>
23196
23197         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23198         offset is greater than the file's size.
23199
23200         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23201         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23202         * gst/gstobject.c (gst_object_class_init): Make the class lock
23203         recursive. Wim won't let me drop deep_notify. Decodebin works
23204         again, whoopdy doo.
23205
23206         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23207         internal pad, and hacks accordingly. Doesn't do it on the target
23208         pad because we change its caps. Probably catches all cases of
23209         interest tho.
23210         (gst_ghost_pad_set_property): Connect to notify::caps as
23211         appropritate.
23212
23213         * tests/network-clock.scm (plot-simulation): Pipe data to the
23214         elite python skript.
23215
23216         * tests/network-clock-utils.scm (define-parameter): New macro,
23217         defines a parameter that can be set via the command line.
23218         (set-parameter!, parse-parameter-arguments): Command line args
23219         parser.
23220
23221         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23222         stdin.
23223
23224 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23225
23226         * gst/elements/gsttypefindelement.c:
23227         (gst_type_find_element_handle_event):
23228           Don't restart typefinding on a discont.
23229         * gst/gstelement.c: (gst_element_set_state):
23230           Debug spelling fix.
23231         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23232           Allow changing mode of an active pad.
23233           Debug output fixes.
23234         * gst/registries/gstlibxmlregistry.c: (load_feature):
23235           Don't cast a static pad template to a normal pad template.
23236
23237 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23238
23239         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23240         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23241           remove gst_strtoll completely, since it didn't actually do
23242           anything more than what g_ascii_strtoull already does.
23243           check for range errors when deserializing
23244           do a cast for the unsigned cases; but further fixing needs
23245           a decision on what the interpretation of "(int)" and
23246           deserialization should be for values that fall outside the
23247           type's boundaries (ie, refuse, or interpret as casting)
23248
23249 2005-06-23  Wim Taymans  <wim@fluendo.com>
23250
23251         * check/Makefile.am:
23252         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23253         * docs/design/part-live-source.txt:
23254         * docs/design/part-states.txt:
23255         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23256         (gst_basesrc_set_live), (gst_basesrc_is_live),
23257         (gst_basesrc_get_range), (gst_basesrc_activate),
23258         (gst_basesrc_change_state):
23259         * gst/base/gstbasesrc.h:
23260         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23261         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23262         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23263         * gst/gstelement.c: (gst_element_get_state_func),
23264         (gst_element_set_state):
23265         * gst/gstelement.h:
23266         * gst/gsttypes.h:
23267         * tools/gst-launch.c: (event_loop), (main):
23268         Added support for live sources and other elements that
23269         cannot do preroll.
23270         Updated design docs, added live-source design doc.
23271         Implemented live source functionality in basesrc
23272         Fix error condition in _bin_get_state()
23273         Implement live source handling in -launch.
23274         Added check for live sources.
23275         Fixed case in GstBin where elements were changed state
23276         multiple times.
23277
23278
23279 2005-06-23  Andy Wingo  <wingo@pobox.com>
23280
23281         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23282         borken refcounting.
23283
23284         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23285         gst_caps_replace takes care of this for us.
23286
23287         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23288         gst_pad_set_caps on the target, not just its setcaps() function.
23289
23290         * tests/network-clock.scm: 
23291         * tests/network-clock-utils.scm: A network clock simulator.
23292         Something of an algorithmic testbed before doing something in C.
23293
23294 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23295
23296         * check/Makefile.am:
23297         * check/gst/capslist.h:
23298           copy over from 0.8, and add two with bitmasks specified with
23299           (int) 0xFF...
23300         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23301           add test to parse everything from capslist.h
23302         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23303         (main):
23304           add test for structure deserialization
23305         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23306           add tests for deserialization of strings to int types
23307         * gst/gststructure.c: (gst_structure_nth_field_name):
23308         * gst/gststructure.h:
23309           add a way to get the name of a field referenced by index
23310         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23311           instead of checking if the resulting long long lies between
23312           min and max, we check if the long long would fit into
23313           a number of bytes for the final type.
23314           This fixes cases where a string represents 2^32 - 1, which
23315           when cast to int would be the (valid) -1, but is bigger than
23316           G_MAXINT
23317
23318 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23319
23320         * gst/parse/grammar.y:
23321           add a log line for type deserialization
23322
23323 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23324
23325         * check/gst/gstvalue.c: (START_TEST):
23326         * gst/gstvalue.c: (gst_value_deserialize):
23327           return long long, not int, so gint64 deserialization actually
23328           works.  Is there any flag that makes the compiler check this ?
23329           Fixes #308559
23330
23331 2005-06-22  Wim Taymans  <wim@fluendo.com>
23332
23333         * gst/gstbuffer.h:
23334         Added convenience macros for setting buffers in GValue.
23335
23336 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23337
23338         * check/gst/.cvsignore:
23339         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23340           add a test deserializing int64, and comment part out because
23341           it fails, yay !
23342
23343 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23344
23345         * check/Makefile.am:
23346         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23347         * testsuite/Makefile.am:
23348         * testsuite/caps/Makefile.am:
23349         * testsuite/caps/value_serialize.c:
23350         * testsuite/test_gst_init.c:
23351           move a value_serialize test over
23352
23353 2005-06-20  Wim Taymans  <wim@fluendo.com>
23354
23355         * gst/gstpad.c:
23356         Small doc updates.
23357         
23358         * gst/gstvalue.c: (gst_value_compare_buffer),
23359         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23360         (gst_value_compare_flags), (gst_value_serialize_flags),
23361         (gst_value_deserialize_flags), (_gst_value_initialize):
23362         Fix serialisation of buffers, they are not boxed types anymore
23363
23364 2005-06-20  Wim Taymans  <wim@fluendo.com>
23365
23366         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23367         Testcase to show error in buffer-on-caps serialisation.
23368
23369 2005-06-20  Andy Wingo  <wingo@pobox.com>
23370
23371         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23372         will be adding to later.
23373
23374         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23375         if its socks fill with rocks.
23376         (gst_system_clock_obtain): Set the name on object construction.
23377         Avoid double-checked locking.
23378
23379 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23380
23381         * gst/gsturi.c: (gst_element_make_from_uri):
23382           Fix potential endless loop.
23383
23384 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23385
23386         * check/Makefile.am:
23387           add gsttag
23388         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23389         (main):
23390           move over from testsuite dir and clean up
23391         * configure.ac:
23392         * gst/gsttag.c:
23393         * testsuite/Makefile.am:
23394         * testsuite/tags/.cvsignore:
23395         * testsuite/tags/Makefile.am:
23396         * testsuite/tags/merge.c:
23397           remove testsuite/tags
23398
23399 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23400
23401         * docs/gst/gstreamer-sections.txt:
23402         * docs/gst/tmpl/gstenumtypes.sgml:
23403         * win32/gstenumtypes.c:
23404           clean up documentation build a little
23405
23406 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23407
23408         * check/gstcheck.h:
23409           add macros for checking refcounts on objects and caps
23410         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23411           add some more unit tests
23412         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23413         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23414           fix leaked refcounts (I hope :)) so unittest works
23415         * gst/gstpad.h:
23416           whitespace removal
23417
23418 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23419
23420         * configure.ac: back to HEAD
23421
23422 === release 0.9.1 ===
23423
23424 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23425
23426         * NEWS:
23427         * RELEASE:
23428           updated
23429
23430 2005-06-17  Andy Wingo  <wingo@pobox.com>
23431
23432         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23433         assert; it's always possible that the pad gets deactivated in
23434         between the checks in gstpad.c and the implementation. Rely on
23435         finish_preroll() to return a FLUSHING or similar instead of on the
23436         assert.
23437         
23438         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23439         clock and post an EOS message if we come out of finish_preroll in
23440         the playing state.
23441
23442 2005-06-16  David Schleef  <ds@schleef.org>
23443
23444         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23445         (gst_capsfilter_set_property): Allow NULL as possible value
23446         for filter_caps property, indicating GST_CAPS_ANY.
23447
23448 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23449
23450         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23451           fix debug output
23452         * gst/schedulers/Makefile.am:
23453           use libgst prefix
23454         * gstreamer.spec.in:
23455           fix spec for it
23456
23457 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23458
23459         * gstreamer.spec.in:
23460           clean up
23461
23462 2005-06-08  Andy Wingo  <wingo@pobox.com>
23463
23464         * gst/gstutils.c: RPAD fixes all around.
23465         (gst_element_link_pads): Refcounting fixes.
23466
23467         * tools/gst-inspect.c:
23468         * tools/gst-xmlinspect.c:
23469         * parse/grammar.y:
23470         * gst/base/gsttypefindhelper.c:
23471         * gst/base/gstbasesink.c:
23472         * gst/gstqueue.c: RPAD fixes.
23473
23474         * gst/gstghostpad.h:
23475         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23476         pads. The tricky thing is they provide both source and sink
23477         interfaces, since they proxy the internal pad for the external
23478         pad, and vice versa. Implement with lower-level ProxyPad objects,
23479         with the interior proxy pad as a child of the exterior ghost pad.
23480         Should write a doc on this.
23481         
23482         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23483         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23484         gst_object API.
23485         
23486         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23487         pads are real pads. No ghost pads in this file. Not documenting
23488         the myriad s/RPAD/PAD/ and REALIZE fixes.
23489         (gst_pad_class_init): Add properties for "direction" and
23490         "template". Both are construct-only, so they can't change during
23491         the life of the pad. Fixes properly deriving from GstPad.
23492         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23493         derived objects, just set properties when creating the objects via
23494         g_object_new.
23495         (gst_pad_get_parent): Implement as a function, return NULL if the
23496         parent is not an element.
23497         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23498         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23499         
23500         * gst/gstobject.c (gst_object_class_init): Make name a construct
23501         property. Don't set it in the object init.
23502
23503         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23504         with UNKNOWN direction.
23505         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23506         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23507         (gst_element_remove_pad): Remove ghost-pad special cases.
23508         (gst_element_pads_activate): Remove rpad cruft.
23509
23510         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23511         catch the pad's-parent-not-an-element case.
23512
23513         * gst/gst.h: Include gstghostpad.h.
23514
23515         * gst/gst.c (init_post): No more real, ghost pads.
23516
23517         * gst/Makefile.am: Add gstghostpad.[ch].
23518
23519         * check/Makefile.am:
23520         * check/gst/gstbin.c:
23521         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23522         into a bin creates ghost pads, and that the refcounts are right.
23523         Partly moved from gstbin.c.
23524
23525 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23526
23527         * check/gst-libs/.cvsignore:
23528         * check/gst/.cvsignore:
23529         * check/pipelines/.cvsignore:
23530           ignore more
23531         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23532         (START_TEST), (cleanup_suite), (main):
23533           add some tests related to cleanup after running pipelines
23534
23535 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23536
23537         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23538           add a testsuite for GstBuffer
23539
23540 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23541
23542         * gst/gstminiobject.h:
23543           add defines for accessing the refcount
23544
23545 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
23546
23547         * Makefile.am: added support for html unit test coverage reports
23548
23549 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
23550
23551         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23552           Free existing caps if the capsfilter changes. Add a FIXME about
23553           setting those caps on the pads.
23554
23555         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23556           Before adding a ghost pad to a parent bin, check that there isn't
23557           already one for the element on the bin. Prevents infinite recursion
23558           when using decodebin in parse pipelines. Andy says he'll rewrite the
23559           way this works anyway, so ignore the hack.
23560
23561 2005-06-02  Andy Wingo  <wingo@pobox.com>
23562
23563         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23564         file size, pass it on to the type find helper.
23565
23566         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23567         segment_start and segment_end properly according to the seek
23568         method. Segment_end is still a bit flaky because offset can be
23569         negative for CUR and END cases, but it takes -1 as an "unset"
23570         value.
23571
23572 2005-06-02  Wim Taymans  <wim@fluendo.com>
23573
23574         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23575         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23576         (gst_basesink_activate):
23577         * gst/base/gstbasesink.h:
23578         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23579         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23580         (gst_pad_query), (gst_pad_start_task):
23581         * gst/gstpad.h:
23582         * gst/gstqueue.c: (gst_queue_bufferalloc),
23583         (gst_queue_handle_sink_event), (gst_queue_chain):
23584         Bufferalloc: return GstFlowReturn to more accuratly report
23585         why allocation failed.
23586
23587 2005-06-02  Wim Taymans  <wim@fluendo.com>
23588
23589         * gst/gstpipeline.c: (gst_pipeline_send_event):
23590         Take snapshot of state without blocking.
23591
23592 2005-06-02  Wim Taymans  <wim@fluendo.com>
23593
23594         * docs/design/part-TODO.txt:
23595         * docs/design/part-caps.txt:
23596         * docs/design/part-clocks.txt:
23597         * docs/design/part-negotiation.txt:
23598         * docs/design/part-preroll.txt:
23599         Small doc updates 
23600
23601 2005-05-30  Wim Taymans  <wim@fluendo.com>
23602
23603         * gst/elements/gstidentity.c: (gst_identity_event),
23604         (gst_identity_transform), (gst_identity_get_property):
23605         Protect last_message property as it is accessed from
23606         multiple threads.
23607
23608 2005-05-30  Wim Taymans  <wim@fluendo.com>
23609
23610         * gst/gstelement.c: (gst_element_init),
23611         (gst_element_pads_activate), (gst_element_change_state):
23612         Slicker pad activation code.
23613
23614 2005-05-30  Wim Taymans  <wim@fluendo.com>
23615
23616         * gst/Makefile.am:
23617         * gst/gstelement.h:
23618         * gst/gstelementfactory.h:
23619         * gst/gsttypes.h:
23620         Move elementfactory methods to separate .h file.
23621
23622 2005-05-30  Wim Taymans  <wim@fluendo.com>
23623
23624         * docs/design/part-overview.txt:
23625         * gst/gstsystemclock.h:
23626         Small typo fixes, doc updates.
23627
23628 2005-05-30  Wim Taymans  <wim@fluendo.com>
23629
23630         * gst/gst.c: (gst_init_get_popt_table), (init_post),
23631         (init_popt_callback):
23632         Remove cpu-opt flag.
23633
23634 2005-05-30  Wim Taymans  <wim@fluendo.com>
23635
23636         * gst/gstbuffer.c: (gst_subbuffer_finalize),
23637         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23638         * gst/gstbuffer.h:
23639         Avoid typechecking in places where not needed.
23640         Added accessor for malloc_data.
23641
23642 2005-05-30  Wim Taymans  <wim@fluendo.com>
23643
23644         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23645         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23646         (gst_pad_configure_sink), (gst_pad_configure_src),
23647         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23648         (gst_pad_start_task):
23649         Propagate errors from _set_caps() in configure_src/sink
23650         functions instead of returning TRUE.
23651         FLUSH events can travel up and downstream
23652
23653
23654 2005-05-30  Wim Taymans  <wim@fluendo.com>
23655
23656         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23657         (gst_basesink_activate):
23658         Handle EOS in preroll.
23659
23660 2005-05-30  Wim Taymans  <wim@fluendo.com>
23661
23662         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23663         (gst_queue_loop), (gst_queue_handle_src_event):
23664         Remove old pieces of code
23665         Flushing the queue in an upstream event is a very bad idea.
23666
23667 2005-05-26  Andy Wingo  <wingo@pobox.com>
23668
23669         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23670         gst_value_set_mini_object so as to add a ref on the object (which
23671         will be removed when the value is unset).
23672
23673         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23674         arg type in ::handoff.
23675
23676         * gst/gstelement.c (gst_element_change_state): Also deactivate
23677         pads in READY->NULL, just in case the element didn't make it to
23678         PAUSED. Wingo tested, Wim approved.
23679
23680 2005-05-26  Wim Taymans  <wim@fluendo.com>
23681
23682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23683         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23684         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23685         A flushing pad cannot be used to alloc_buffer from.
23686
23687 2005-05-26  Wim Taymans  <wim@fluendo.com>
23688
23689         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23690         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23691         (gst_bus_source_dispatch), (gst_bus_source_finalize),
23692         (gst_bus_create_watch), (gst_bus_add_watch_full):
23693         * gst/gstbus.h:
23694         Implement a real GSource and use g_main_context_wakeup() to
23695         signal new messages instead of the socketpair.
23696
23697 2005-05-25  Wim Taymans  <wim@fluendo.com>
23698
23699         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23700         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23701         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23702         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23703         (gst_pad_send_event), (gst_pad_start_task):
23704         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23705         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23706         (gst_queue_sink_activate), (gst_queue_src_activate),
23707         (gst_queue_change_state):
23708         * gst/gstqueue.h:
23709         Fix state changes for non sinks. We now change sinks, then elements
23710         with unconnected srcpads, then the rest.
23711         More efficient queue unlocking in flush and state changes.
23712         Set the pad activate mode even if it does not have an activate
23713         function.
23714
23715 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23716
23717         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23718           Don't go in pull mode for non-seekable sources.
23719         * gst/elements/gsttypefindelement.h:
23720         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23721         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23722         (free_entry), (stop_typefinding),
23723         (gst_type_find_element_handle_event), (find_peek),
23724         (gst_type_find_element_chain), (do_pull_typefind),
23725         (gst_type_find_element_change_state):
23726           Allow typefinding (w/o seeking) in push-mode, simplified version
23727           of what was in 0.8.
23728         * gst/gstutils.c: (gst_buffer_join):
23729         * gst/gstutils.h:
23730           gst_buffer_join() from 0.8.
23731
23732 2005-05-25  Wim Taymans  <wim@fluendo.com>
23733
23734         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23735         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23736         (gst_pad_send_event), (gst_pad_start_task):
23737         Disable attempt at mode switching until it is figured out.
23738
23739 2005-05-25  Wim Taymans  <wim@fluendo.com>
23740
23741         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23742         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23743         (gst_basesink_finish_preroll), (gst_basesink_chain),
23744         (gst_basesink_loop), (gst_basesink_activate),
23745         (gst_basesink_change_state):
23746         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23747         (gst_basesrc_get_range), (gst_basesrc_loop),
23748         (gst_basesrc_activate):
23749         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23750         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23751         (gst_real_pad_init), (gst_real_pad_set_property),
23752         (gst_real_pad_get_property), (gst_pad_set_active),
23753         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23754         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23755         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23756         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23757         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23758         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23759         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23760         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23761         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23762         (gst_pad_stop_task):
23763         * gst/gstpad.h:
23764         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23765         (gst_queue_loop), (gst_queue_src_activate):
23766         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23767         (gst_task_get_state):
23768         * gst/gsttask.h:
23769         * gst/schedulers/threadscheduler.c:
23770         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23771         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23772         in task function.
23773         Remove ACTIVE pad flag, use FLUSHING everywhere
23774         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23775         functions.
23776         Add locks around IS_FLUSHING when reading.
23777         Take STREAM lock in chain(), get_range() functions so plugins
23778         don't need to take it anymore.
23779         
23780
23781
23782 2005-05-25  Wim Taymans  <wim@fluendo.com>
23783
23784         * tools/gst-launch.c: (event_loop):
23785         Unref message after using its contents instead of
23786         before.
23787
23788 2005-05-24  Wim Taymans  <wim@fluendo.com>
23789
23790         * docs/design/draft-ghostpads.txt:
23791         * docs/design/draft-push-pull.txt:
23792         * docs/design/draft-query.txt:
23793         * docs/design/part-overview.txt:
23794         Docs updates, added general overview doc.
23795
23796 2005-05-21  David Schleef  <ds@schleef.org>
23797
23798         * docs/gst/tmpl/old/GstBin.sgml:
23799         * docs/gst/tmpl/old/GstBuffer.sgml:
23800         * docs/gst/tmpl/old/GstCaps.sgml:
23801         * docs/gst/tmpl/old/GstClock.sgml:
23802         * docs/gst/tmpl/old/GstCompat.sgml:
23803         * docs/gst/tmpl/old/GstData.sgml:
23804         * docs/gst/tmpl/old/GstElement.sgml:
23805         * docs/gst/tmpl/old/GstEvent.sgml:
23806         * docs/gst/tmpl/old/GstIndex.sgml:
23807         * docs/gst/tmpl/old/GstStructure.sgml:
23808         * docs/gst/tmpl/old/GstTag.sgml:
23809         * docs/gst/tmpl/old/cothreads.sgml:
23810         * docs/gst/tmpl/old/cothreads_compat.sgml:
23811         * docs/gst/tmpl/old/gettext.sgml:
23812         * docs/gst/tmpl/old/gobject2gtk.sgml:
23813         * docs/gst/tmpl/old/grammar.tab.sgml:
23814         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23815         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23816         * docs/gst/tmpl/old/gst_private.sgml:
23817         * docs/gst/tmpl/old/gstaggregator.sgml:
23818         * docs/gst/tmpl/old/gstarch.sgml:
23819         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23820         * docs/gst/tmpl/old/gstbufferstore.sgml:
23821         * docs/gst/tmpl/old/gstdata_private.sgml:
23822         * docs/gst/tmpl/old/gstdisksink.sgml:
23823         * docs/gst/tmpl/old/gstdisksrc.sgml:
23824         * docs/gst/tmpl/old/gstelementfactory.sgml:
23825         * docs/gst/tmpl/old/gstextratypes.sgml:
23826         * docs/gst/tmpl/old/gstfakesink.sgml:
23827         * docs/gst/tmpl/old/gstfakesrc.sgml:
23828         * docs/gst/tmpl/old/gstfdsink.sgml:
23829         * docs/gst/tmpl/old/gstfdsrc.sgml:
23830         * docs/gst/tmpl/old/gstfilesink.sgml:
23831         * docs/gst/tmpl/old/gstfilesrc.sgml:
23832         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23833         * docs/gst/tmpl/old/gstidentity.sgml:
23834         * docs/gst/tmpl/old/gstindexfactory.sgml:
23835         * docs/gst/tmpl/old/gstmarshal.sgml:
23836         * docs/gst/tmpl/old/gstmd5sink.sgml:
23837         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23838         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23839         * docs/gst/tmpl/old/gstpadtemplate.sgml:
23840         * docs/gst/tmpl/old/gstpipefilter.sgml:
23841         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23842         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23843         * docs/gst/tmpl/old/gstshaper.sgml:
23844         * docs/gst/tmpl/old/gstspider.sgml:
23845         * docs/gst/tmpl/old/gstspideridentity.sgml:
23846         * docs/gst/tmpl/old/gststatistics.sgml:
23847         * docs/gst/tmpl/old/gsttee.sgml:
23848         * docs/gst/tmpl/old/gsttimecache.sgml:
23849         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23850         * docs/gst/tmpl/old/gstxmlregistry.sgml:
23851         * docs/gst/tmpl/old/gthread-cothreads.sgml:
23852         * docs/gst/tmpl/old/types.sgml:
23853           I didn't intend to add these or check them in.
23854
23855 2005-05-19  David Schleef  <ds@schleef.org>
23856
23857         * configure.ac: Use -no-common everywhere.  In a sane world, it
23858           would be the default in libtool, because without it, you can't
23859           build DLLs on Windows.
23860         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23861         * docs/gst/gstreamer-sections.txt:
23862         * docs/gst/tmpl/gstcpu.sgml:
23863         * docs/gst/tmpl/gstdata.sgml:
23864         * docs/gst/tmpl/gstthread.sgml:
23865
23866 2005-05-19  David Schleef  <ds@schleef.org>
23867
23868         * gst/gstminiobject.c: (gst_value_set_mini_object),
23869         (gst_value_take_mini_object), (gst_value_get_mini_object):
23870         * gst/gstminiobject.h: Add GValue set/get functions.
23871
23872 2005-05-19  Wim Taymans  <wim@fluendo.com>
23873
23874         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23875         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23876         (gst_subbuffer_init), (gst_buffer_is_span_fast):
23877         * gst/gstbuffer.h:
23878         * gst/gstbus.c: (gst_bus_post):
23879         * gst/gstelement.c: (gst_element_get_random_pad):
23880         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23881         Make subbufer unref the parent in finalize.
23882         some more debugging info.
23883
23884
23885 2005-05-19  Wim Taymans  <wim@fluendo.com>
23886
23887         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23888         (gst_basesink_init), (gst_basesink_finalize),
23889         (gst_basesink_activate), (gst_basesink_change_state):
23890         Don't free preroll queue too early.
23891
23892 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23893
23894         * gst/Makefile.am:
23895         * gst/ROADMAP:
23896           Hi, I'm outdated. Please shoot me.
23897
23898 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23899
23900         * gst/gstpipeline.c: (gst_pipeline_send_event):
23901           Do not access variables after they have been deleted.
23902
23903 2005-05-19  Wim Taymans  <wim@fluendo.com>
23904
23905         * tools/gst-inspect.c: (print_plugin_features):
23906         A plugin feature does unfortunatly not use the
23907         object name yet...
23908
23909 2005-05-18  Wim Taymans  <wim@fluendo.com>
23910
23911         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23912         Port _span() functions to new subbuffers.
23913
23914 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23915
23916         * gst/gstbin.c: (gst_bin_add_func):
23917           Fix clock settery in bins when adding kids after the clock has
23918           been selected.
23919
23920 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23921
23922         * gst/elements/gstidentity.c: (gst_identity_class_init):
23923           Workaround until signals support GstMiniObject.
23924
23925 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
23926
23927         * gst/gstbuffer.c:
23928         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
23929
23930 2005-05-18  Wim Taymans  <wim@fluendo.com>
23931
23932         * gst/base/Makefile.am:
23933         * gst/base/gstadapter.c: (gst_adapter_base_init),
23934         (gst_adapter_class_init), (gst_adapter_init),
23935         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
23936         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
23937         (gst_adapter_flush), (gst_adapter_available),
23938         (gst_adapter_available_fast):
23939         * gst/base/gstadapter.h:
23940         Ported and added adapter to the base classes.
23941
23942 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23943
23944         * gst/gst.c:
23945         * gst/gstmessage.c:
23946           Make sure the class is reffed/unreffed once before threads can be
23947           used.  Fixes #304551.
23948
23949 2005-05-17  Wim Taymans  <wim@fluendo.com>
23950
23951         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
23952         (gst_basesink_chain_unlocked), (gst_basesink_activate):
23953         * gst/gstminiobject.c: (gst_mini_object_get_type),
23954         (gst_mini_object_free):
23955         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
23956         (gst_pad_push), (gst_pad_push_event):
23957         * gst/gstqueue.c: (gst_queue_change_state):
23958         Don't queue buffers in basesink when we are flushing.
23959         Unref buffer when flushing in basesink.
23960         Flush queue when going to READY
23961         Unref buffer when _push() returns an error.
23962         Don't free MiniObject instance when refcount is incremented
23963         in _finalize() so that we can recover objects.
23964
23965 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23966
23967         * docs/manual/advanced-schedulers.xml:
23968         * docs/manual/appendix-checklist.xml:
23969         * docs/pwg/advanced-clock.xml:
23970         * docs/pwg/advanced-interfaces.xml:
23971         * docs/pwg/advanced-request.xml:
23972         * docs/pwg/advanced-types.xml:
23973         * docs/pwg/intro-preface.xml:
23974         * examples/plugins/example.c: (gst_example_get_type),
23975         (gst_example_class_init), (gst_example_chain),
23976         (gst_example_set_property), (gst_example_get_property),
23977         (gst_example_change_state), (plugin_init):
23978         * examples/plugins/example.h:
23979           small doc fixes
23980
23981 2005-05-17  Wim Taymans  <wim@fluendo.com>
23982
23983         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
23984         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
23985         * gst/gstqueue.c: (gst_queue_change_state):
23986         Clear queue when going to READY.
23987         Remove IN_SETCAPS flag too.
23988
23989 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
23990
23991         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
23992           Remove implicit cast from gboolean to GstElementStateReturn;
23993           make sure we still return failure in paused => ready case if
23994           the parent class fails to change state and our own stop 
23995           vfunc succeeds.
23996
23997 2005-05-17  Wim Taymans  <wim@fluendo.com>
23998
23999         * tools/gst-launch.c: (event_loop):
24000         Message was unreffed too soon.
24001
24002 2005-05-16  Andy Wingo  <wingo@pobox.com>
24003
24004         * gst/gstbin.c (sink_iterator_filter): Err... um...
24005
24006         * check/gst/gstbin.c (test_ghost_pads): New test for the
24007         ghosting-if-elements-not-in-same-bin behavior.
24008
24009 2005-05-16  David Schleef  <ds@schleef.org>
24010
24011         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24012         accessing refcount directly.
24013
24014 2005-05-15  David Schleef  <ds@schleef.org>
24015
24016         * check/Makefile.am: remove GstData checks
24017         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24018         * gst/Makefile.am: add miniobject, remove data
24019         * gst/gst.h: add miniobject, remove data
24020         * gst/gstdata.c: remove
24021         * gst/gstdata.h: remove
24022         * gst/gstdata_private.h: remove
24023         * gst/gsttypes.h: remove GstEvent and GstMessage
24024         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24025         * gst/gstmarshal.list: change BOXED -> OBJECT
24026
24027         Implement GstMiniObject.
24028         * gst/gstminiobject.c:
24029         * gst/gstminiobject.h:
24030
24031         Modify to be subclasses of GstMiniObject.
24032         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24033         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24034         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24035         (gst_subbuffer_get_type), (gst_subbuffer_init),
24036         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24037         (gst_buffer_span):
24038         * gst/gstbuffer.h:
24039         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24040         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24041         (_gst_event_copy), (gst_event_new):
24042         * gst/gstevent.h:
24043         * gst/gstmessage.c: (_gst_message_initialize),
24044         (gst_message_get_type), (gst_message_class_init),
24045         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24046         (gst_message_new), (gst_message_new_error),
24047         (gst_message_new_warning), (gst_message_new_tag),
24048         (gst_message_new_state_changed), (gst_message_new_application):
24049         * gst/gstmessage.h:
24050         * gst/gstprobe.c: (gst_probe_perform),
24051         (gst_probe_dispatcher_dispatch):
24052         * gst/gstprobe.h:
24053         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24054         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24055         (_gst_query_copy), (gst_query_new):
24056
24057         Update elements for GstData -> GstMiniObject changes
24058         * gst/gstquery.h:
24059         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24060         (gst_queue_chain), (gst_queue_loop):
24061         * gst/elements/gstbufferstore.c:
24062         (gst_buffer_store_add_buffer_func),
24063         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24064         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24065         (gst_fakesink_render):
24066         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24067         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24068         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24069         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24070         (gst_filesrc_create_read):
24071         * gst/elements/gstidentity.c: (gst_identity_class_init):
24072         * gst/elements/gsttypefindelement.c:
24073         (gst_type_find_element_src_event), (free_entry_buffers),
24074         (gst_type_find_element_handle_event):
24075         * libs/gst/dataprotocol/dataprotocol.c:
24076         (gst_dp_header_from_buffer):
24077         * libs/gst/dataprotocol/dataprotocol.h:
24078         * libs/gst/dataprotocol/dp-private.h:
24079
24080 2005-05-15  David Schleef  <ds@schleef.org>
24081
24082         * gst/elements/gstelements.c: Don't include headers that were
24083         just removed.
24084
24085 2005-05-15  David Schleef  <ds@schleef.org>
24086
24087         * gst/elements/Makefile.am: Remove some elements that don't
24088         need to be in the core (or even exist at all).
24089         * gst/elements/gstaggregator.c:
24090         * gst/elements/gstaggregator.h:
24091         * gst/elements/gstmd5sink.c:
24092         * gst/elements/gstmd5sink.h:
24093         * gst/elements/gstmultifilesrc.c:
24094         * gst/elements/gstmultifilesrc.h:
24095         * gst/elements/gstpipefilter.c:
24096         * gst/elements/gstpipefilter.h:
24097         * gst/elements/gstshaper.c:
24098         * gst/elements/gstshaper.h:
24099         * gst/elements/gststatistics.c:
24100         * gst/elements/gststatistics.h:
24101         * po/POTFILES.in: Remove above files.
24102
24103 2005-05-14  Andy Wingo  <wingo@pobox.com>
24104
24105         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24106         so as to get the refs right.
24107         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24108         unreffing objects that don't pass the filter.
24109
24110         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24111         gst_element_set_bus.
24112         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24113         normal cases, this will destroy the bus.
24114
24115         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24116         object.
24117
24118         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24119         has no sinks.
24120
24121 2005-05-13  Andy Wingo  <wingo@pobox.com>
24122
24123         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24124         gst_pad_link, call pad_link_maybe_ghosting,
24125         (pad_link_maybe_ghosting): Links pads, making sure that the
24126         elements being linked are in the same bin.
24127         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24128         Helpers for pad_link_maybe_ghosting.
24129
24130 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24131
24132         * configure.ac:
24133           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24134
24135 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24136
24137         * docs/design/part-element-source.txt:
24138           Mention GstPushSrc
24139
24140 2005-05-12  Wim Taymans  <wim@fluendo.com>
24141
24142         * gst/base/gstbasesink.c: (gst_basesink_init),
24143         (gst_basesink_activate):
24144         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24145         (gst_basesrc_is_seekable):
24146         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24147         (bin_element_is_sink), (gst_bin_change_state):
24148         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24149         * gst/gstelement.h:
24150         Identify sinks by their flag to avoid overly complicated
24151         checks (fow now).
24152         Do state changes even for elements not reachable from the
24153         sinks.
24154         BaseSink is a sink now :)
24155         Some more debugging info in the basesrc.
24156
24157
24158 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24159
24160         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24161           Implement _query on a bin, similar to _send_event.
24162
24163 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24164
24165         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24166           Discont event offset format should be GST_FORMAT_BYTES,
24167           not GST_FORMAT_TIME.
24168
24169 2005-05-12  Wim Taymans  <wim@fluendo.com>
24170
24171         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24172         Same fix as Ronald's but without the signal. 
24173
24174 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24175
24176         * gst/gstutils.c: (gst_element_query_position):
24177           No, an element is not a pad.
24178
24179 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24180
24181         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24182         (gst_bin_get_state):
24183           If a child is removed from a bin while we remove the child from
24184           the bin and while we're retrieving its state, signal this to the
24185           get_state function so we abort the wait (instead of waiting for
24186           a timeout) and can immediately re-iterate over all other elements.
24187
24188 2005-05-12  Wim Taymans  <wim@fluendo.com>
24189
24190         * gst/base/Makefile.am:
24191         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24192         (gst_basesrc_start):
24193         * gst/base/gstbasesrc.h:
24194         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24195         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24196         (gst_pushsrc_init), (gst_pushsrc_create):
24197         * gst/base/gstpushsrc.h:
24198         Added is_seekable to BaseSrc
24199         Added simple PushSrc.
24200
24201 2005-05-11  Wim Taymans  <wim@fluendo.com>
24202
24203         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24204         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24205         (gst_element_link_pads), (gst_element_query_position),
24206         (gst_element_query_convert), (intersect_caps_func),
24207         (gst_pad_query_position), (gst_pad_query_convert):
24208         Fix refcounting in utils function.
24209         No point in trying to activate a pad when it's added, it could
24210         be added from the state change function and then we deadlock, the
24211         element has to decide what to do.
24212
24213 2005-05-10  Andy Wingo  <wingo@pobox.com>
24214
24215         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24216         *all* the arguments.
24217
24218         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24219         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24220         lock (according to the docs -- if this is wrong change the docs).
24221
24222         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24223         flush messages in the NULL state.
24224
24225         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24226         message immediately and return.
24227         (gst_bus_set_flushing): New function. If a bus is flushing, it
24228         flushes out any queued messages and immediately unrefs new
24229         messages. This is so when an element goes to NULL, all of the
24230         unhandled messages coming from it can be freed, and their
24231         references to the element dropped. In other words: message source
24232         ref considered harmful :P
24233
24234         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24235         we're finished with it.
24236
24237         * gst/gstmessage.c (gst_message_new_state_changed): 
24238
24239 2005-05-10  Wim Taymans  <wim@fluendo.com>
24240
24241         * gst/gstvalue.c: (gst_value_compare_flags),
24242         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24243         (_gst_value_initialize):
24244         Added flags serialize/deserialize/compare code.
24245
24246 2005-05-09  Andy Wingo  <wingo@pobox.com>
24247
24248         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24249         Intersect the peer's caps with our caps.
24250
24251 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24252
24253         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24254         * gst/elements/gsttypefindelement.c: (find_peek):
24255           Handle negative offsets better. Fixes decodebin.
24256
24257 2005-05-09  Wim Taymans  <wim@fluendo.com>
24258
24259         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24260         (gst_base_transform_event):
24261         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24262         Implement accept_caps.
24263         Fix silly lock/unlock mismatch in base class.
24264
24265 2005-05-09  Wim Taymans  <wim@fluendo.com>
24266
24267         * docs/design/draft-push-pull.txt:
24268         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24269         * gst/elements/gstfilesink.c: (gst_filesink_init),
24270         (gst_filesink_query):
24271         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24272         (gst_type_find_handle_src_query), (find_element_get_length):
24273         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24274         * gst/gstelement.h:
24275         * gst/gstmessage.c:
24276         * gst/gstmessage.h:
24277         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24278         (gst_real_pad_get_caps_unlocked),
24279         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24280         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24281         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24282         (gst_real_pad_dispose), (gst_real_pad_finalize),
24283         (gst_pad_load_and_link), (gst_pad_save_thyself),
24284         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24285         (gst_pad_check_pull_range), (gst_pad_pull_range),
24286         (gst_pad_template_get_type), (gst_pad_template_class_init),
24287         (gst_pad_template_init), (gst_pad_template_dispose),
24288         (name_is_valid), (gst_static_pad_template_get),
24289         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24290         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24291         (gst_pad_get_element_private), (gst_pad_start_task),
24292         (gst_pad_pause_task), (gst_pad_stop_task),
24293         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24294         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24295         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24296         (gst_ghost_pad_new):
24297         * gst/gstpad.h:
24298         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24299         (gst_query_new_position), (gst_query_set_position),
24300         (gst_query_parse_position), (gst_query_new_convert),
24301         (gst_query_set_convert), (gst_query_parse_convert):
24302         * gst/gstquery.h:
24303         * gst/gstqueryutils.c:
24304         * gst/gstqueryutils.h:
24305         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24306         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24307         (gst_queue_handle_src_query):
24308         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24309         (gst_element_query_position), (gst_element_query_convert),
24310         (intersect_caps_func), (gst_pad_query_position),
24311         (gst_pad_query_convert):
24312         * gst/gstutils.h:
24313         * tools/gst-inspect.c: (print_pad_info):
24314         * tools/gst-xmlinspect.c: (print_element_info):
24315         Remove old query functions. Ported old code.
24316         Added position/convert helper functions to gstutils.
24317         Reordered gstpad.c code, grouping relevant things.
24318         Remove gst_message_new(), always need to speficy a specific
24319         message.
24320
24321
24322 2005-05-09  Andy Wingo  <wingo@pobox.com>
24323
24324         * gst/gstiterator.h: Add some includes.
24325
24326         * gst/gstqueryutils.h: Include more headers.
24327
24328         * gst/gstpad.h:
24329         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24330         some uses of gst_pad_query.
24331
24332         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24333         NULL out parameters.
24334         (gst_query_new_position): New proc, allocates a new position
24335         query.
24336
24337         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24338         gstqueryutils.c to the build.
24339
24340         * gst/gststructure.c (gst_structure_set_valist): Implement with
24341         the generic G_VALUE_COLLECT.
24342         
24343 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24344
24345         * gst/Makefile.am: (gst_headers):
24346         Added gstqueryutils.h to the list of headers to install, that was
24347         a 'nachty' move wingo :)
24348
24349 2005-05-06  Andy Wingo  <wingo@pobox.com>
24350
24351         * gst/gstquery.h
24352         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24353         GstData, init a memchunk.
24354         (standard_definitions): Add a few query types, deprecate a few.
24355         (gst_query_get_type): New proc.
24356         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24357         implementation.
24358         (gst_query_new_application, gst_query_get_structure): New public
24359         procs.
24360
24361         * docs/design/draft-query.txt: Removed LINKS from the query types,
24362         because all the rest can be dispatched to other pads -- seemed
24363         ugly to have a query that couldn't be dispatched. internal_links
24364         is fine as a pad method.
24365
24366         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24367         in gstpad.c, but maintain binary compatibility for the moment.
24368         Will fix before 0.9 is out.
24369
24370         * gst/gstqueryutils.c: 
24371         * gst/gstqueryutils.h: New files, implement 3 methods for each
24372         query type: parse_query, parse_response, and set. Probably need an
24373         allocator as well.
24374
24375         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24376
24377         * gst/elements/gstfilesink.c (gst_filesink_query2):
24378         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24379         query_types, and formats methods.
24380
24381         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24382         (gst_pad_set_query2_function): New functions.
24383         (gst_real_pad_init): Set query2_default as the default query2
24384         function. Basically just dispatches to internally linked pads.
24385
24386         Needs review!
24387         
24388         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24389         without using the atomic operations. Only one thread can possibly
24390         be accessing the data at this point. Changed so as to avoid
24391         gst_atomic operations.
24392
24393 2005-05-06  Wim Taymans  <wim@fluendo.com>
24394
24395         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24396         Also set caps if we use the fallback buffer alloc.
24397
24398 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24399
24400         * docs/gst/Makefile.am:
24401         * docs/gst/gstreamer-docs.sgml:
24402         * docs/gst/gstreamer-sections.txt:
24403         * docs/gst/tmpl/gstatomic.sgml:
24404         * docs/gst/tmpl/gstmemchunk.sgml:
24405         * testsuite/elements/struct_i386.h:
24406         * win32/GStreamer.vcproj:
24407         * win32/Makefile:
24408           Purge GstAtomic stuff from docs and win32 makefiles as well
24409
24410 2005-05-06  Wim Taymans  <wim@fluendo.com>
24411
24412         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24413         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24414         * gst/gstpad.c: (gst_pad_peer_get_caps):
24415         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24416         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24417         (gst_queue_src_activate), (gst_queue_change_state):
24418         * gst/gstqueue.h:
24419         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24420         (intersect_caps_func):
24421         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24422         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24423         Some fixes for the peer_get_caps() change.
24424
24425 2005-05-06  Wim Taymans  <wim@fluendo.com>
24426
24427         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24428         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24429         (gst_basesink_activate):
24430         Actually do something with error codes returned from the push
24431         functions.
24432
24433 2005-05-06  Wim Taymans  <wim@fluendo.com>
24434
24435         * docs/design/part-element-sink.txt:
24436         * docs/design/part-element-source.txt:
24437         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24438         (gst_basesink_event), (gst_basesink_activate):
24439         * gst/base/gstbasesink.h:
24440         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24441         (gst_basesrc_activate):
24442         * gst/base/gstbasesrc.h:
24443         * gst/gstelement.c: (gst_element_pads_activate):
24444         Some more documentation.
24445         Fixed scheduling decision in _pads_activate().
24446
24447 2005-05-05  Andy Wingo  <wingo@pobox.com>
24448
24449         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24450         the test suite.
24451
24452 2005-05-05  Wim Taymans  <wim@fluendo.com>
24453
24454         * gst/base/Makefile.am:
24455         * gst/base/gstbasesink.h:
24456         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24457         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24458         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24459         (gst_collectpads_class_init), (gst_collectpads_init),
24460         (gst_collectpads_finalize), (gst_collectpads_new),
24461         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24462         (find_pad), (gst_collectpads_remove_pad),
24463         (gst_collectpads_is_active), (gst_collectpads_collect),
24464         (gst_collectpads_collect_range), (gst_collectpads_start),
24465         (gst_collectpads_stop), (gst_collectpads_peek),
24466         (gst_collectpads_pop), (gst_collectpads_available),
24467         (gst_collectpads_read), (gst_collectpads_flush),
24468         (gst_collectpads_chain):
24469         * gst/base/gstcollectpads.h:
24470         * gst/elements/Makefile.am:
24471         * gst/elements/gstelements.c:
24472         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24473         (gst_fakesink_get_times), (gst_fakesink_event),
24474         (gst_fakesink_preroll), (gst_fakesink_render):
24475         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24476         (gst_filesink_init), (gst_filesink_set_location),
24477         (gst_filesink_open_file), (gst_filesink_close_file),
24478         (gst_filesink_pad_query), (gst_filesink_event),
24479         (gst_filesink_render), (gst_filesink_change_state):
24480         * gst/elements/gstfilesink.h:
24481         Added object to help in making collect pad based elements.
24482         Ported filesink.
24483         Make event function in sink baseclass return gboolean.
24484
24485 2005-05-05  Wim Taymans  <wim@fluendo.com>
24486
24487         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24488         (gst_bin_get_by_name):
24489         * gst/gstbuffer.h:
24490         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24491         (gst_clock_finalize):
24492         * gst/gstdata.c: (gst_data_replace):
24493         * gst/gstdata.h:
24494         * gst/gstelement.c: (gst_element_request_pad),
24495         (gst_element_pads_activate):
24496         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24497         (gst_object_unref):
24498         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24499         (gst_pad_set_checkgetrange_function),
24500         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24501         (gst_pad_check_pull_range), (gst_pad_pull_range),
24502         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24503         (gst_pad_pause_task), (gst_pad_stop_task):
24504         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24505         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24506         Fix name lookup in GstBin.
24507         Added _data_replace() function and _buffer_replace()
24508         Use finalize method to clean up clock.
24509         Fix refcounting on request pads.
24510         Fix pad schedule mode error.
24511         Some more object refcounting debug info,
24512
24513
24514 2005-05-04  Andy Wingo <wingo@pobox.com>
24515
24516         * check/Makefile.am:
24517         * docs/gst/tmpl/gstatomic.sgml:
24518         * docs/gst/tmpl/gstplugin.sgml:
24519         * gst/base/gstbasesink.c: (gst_basesink_activate):
24520         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24521         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24522         (gst_basesrc_query), (gst_basesrc_set_property),
24523         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24524         (gst_basesrc_activate):
24525         * gst/base/gstbasesrc.h:
24526         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24527         (gst_base_transform_src_activate):
24528         * gst/elements/gstelements.c:
24529         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24530         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24531         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24532         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24533         (gst_type_find_element_checkgetrange),
24534         (gst_type_find_element_activate):
24535         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24536         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24537         (gst_caps_load_thyself):
24538         * gst/gstelement.c: (gst_element_pads_activate),
24539         (gst_element_save_thyself), (gst_element_restore_thyself):
24540         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24541         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24542         * gst/gstpad.h:
24543         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24544         (gst_xml_parse_file), (gst_xml_parse_memory),
24545         (gst_xml_get_element), (gst_xml_make_element):
24546         * gst/indexers/gstfileindex.c: (gst_file_index_load),
24547         (_file_index_id_save_xml), (gst_file_index_commit):
24548         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24549         (read_enum), (load_pad_template), (load_feature), (load_plugin),
24550         (load_paths):
24551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24552         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24553         * tools/gst-complete.c: (main):
24554         * tools/gst-compprep.c: (main):
24555         * tools/gst-inspect.c: (print_element_properties_info):
24556         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24557         * tools/gst-xmlinspect.c: (print_element_properties):
24558         GCC 4 fixen.
24559         
24560 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24561
24562         * gst/gstplugin.c: (gst_plugin_check_module),
24563         (gst_plugin_check_file), (gst_plugin_load_file):
24564             apply patch from #172526 to make register work on MacOSX
24565
24566 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24567
24568         * docs/gst/tmpl/gstconfig.sgml:
24569         * gst/gstconfig.h.in:
24570           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
24571         * testsuite/debug/printf_extension.c: (main):
24572           Do not use GST_PTR_FORMAT on pointers to types with
24573           sizeof < sizeof(gpointer).  Fixes test on 64-bit
24574         * testsuite/elements/property.h:
24575           use correct printf format
24576
24577 2005-05-02  Wim Taymans  <wim@fluendo.com>
24578
24579         * docs/design/draft-push-pull.txt:
24580         * docs/design/draft-query.txt:
24581         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24582         (gst_basesrc_start):
24583         Added draft for new query API.
24584         Added draft for better selecting scheduling methods.
24585         Make basesrc ignore length if the subclass does not support
24586         it.
24587
24588 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24589
24590         * gst/Makefile.am:
24591           possible fixes for automake-1.5 - _LIBADD is reserved
24592
24593 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24594
24595         * docs/faq/Makefile.am:
24596         * docs/manual/Makefile.am:
24597         * docs/manuals.mak:
24598         * docs/pwg/Makefile.am:
24599         * gst/Makefile.am:
24600           possible fixes for automake-1.5
24601
24602 2005-04-28  Wim Taymans  <wim@fluendo.com>
24603
24604         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24605         (gst_basesink_pad_getcaps), (gst_basesink_init),
24606         (gst_basesink_do_sync):
24607         * gst/gstclock.c: (gst_clock_entry_new):
24608         * gst/gstevent.c: (gst_event_discont_get_value):
24609         * gst/gstpipeline.c: (pipeline_bus_handler),
24610         (gst_pipeline_change_state):
24611         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24612         Better debugging of clocking info.
24613         Allow NULL values when getting discont values.
24614
24615 2005-04-27  Wim Taymans  <wim@fluendo.com>
24616
24617         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24618         * check/gst/gstpad.c: (gst_pad_suite):
24619         Increase timeout for checks.
24620
24621 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24622
24623         * check/Makefile.am:
24624           fix the broken rule for cleanup.  Apparently this rule is
24625           only needed on FC2, so maybe this warrants further autotool
24626           inspection.
24627
24628 2005-04-26  Wim Taymans  <wim@fluendo.com>
24629
24630         * gst/gsttrashstack.h:
24631         Ooohh. a nasty one! After having a failed pop() from the stack,
24632         it's possible that the stack is empty. In that case, don't
24633         follow the NULL pointer.
24634
24635 2005-04-25  Wim Taymans  <wim@fluendo.com>
24636
24637         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24638         (gst_pad_set_checkgetrange_function),
24639         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24640         (gst_pad_check_pull_range), (gst_pad_pull_range),
24641         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24642         (gst_pad_pause_task), (gst_pad_stop_task):
24643         * gst/gstplugin.c: (gst_plugin_load):
24644         * gst/gstplugin.h:
24645         Remove gst_library_load as it does more harm than good with
24646         the new g_module flags.
24647         Revert bogus caps template check in pad linking, pad caps
24648         are important when linking not the template, which is more
24649         general than the current caps.
24650
24651 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24652
24653         * gst/autoplug/.cvsignore:
24654         * gst/autoplug/Makefile.am:
24655         * gst/autoplug/gstsearchfuncs.c:
24656         * gst/autoplug/gstsearchfuncs.h:
24657         * gst/autoplug/gstspider.c:
24658         * gst/autoplug/gstspider.h:
24659         * gst/autoplug/gstspideridentity.c:
24660         * gst/autoplug/gstspideridentity.h:
24661         * gst/autoplug/spidertest.c:
24662           Die, spider, die.
24663
24664 2005-04-25  Wim Taymans  <wim@fluendo.com>
24665
24666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24667         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24668         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24669         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24670         * gst/gstpad.h:
24671         Added stubs for unimplemented functions. 
24672
24673 2005-04-24  David Schleef  <ds@schleef.org>
24674
24675         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
24676         please fix.
24677
24678 2005-04-24  David Schleef  <ds@schleef.org>
24679
24680         Convert everything from GstAtomicInt to g_atomic_int_*, and
24681         remove gstatomic.
24682         * gst/Makefile.am:
24683         * gst/gstatomic.c:
24684         * gst/gstatomic.h:
24685         * gst/gstatomic_impl.h:
24686         * gst/gstbuffer.c:
24687         * gst/gstcaps.c:
24688         * gst/gstcaps.h:
24689         * gst/gstclock.c:
24690         * gst/gstclock.h:
24691         * gst/gstdata.c:
24692         * gst/gstdata.h:
24693         * gst/gstdata_private.h:
24694         * gst/gstevent.c:
24695         * gst/gstinfo.c:
24696         * gst/gstinfo.h:
24697         * gst/gstmessage.c:
24698         * gst/gstobject.c:
24699         * gst/gstobject.h:
24700         * gst/gststructure.c:
24701         * gst/gststructure.h:
24702         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24703         * gst/gstutils.h:
24704
24705 2005-04-24  David Schleef  <ds@schleef.org>
24706
24707         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24708         make the regressions tests work.  Remove some code that is no
24709         longer true.
24710         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24711         Disable warning for pads without templates.
24712
24713 2005-04-24  David Schleef  <ds@schleef.org>
24714
24715         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
24716         functions that handle filtered links.
24717         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24718         removed functions.
24719         * gst/gstutils.c: Fix/remove utility functions that handle
24720         filtered caps.
24721         * gst/gstutils.h:
24722         * gst/gstvalue.c: Add serialization/deserialization of caps
24723         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
24724         requires fixing so that the filter caps notation creates
24725         a capsfilter element and sets the filter_caps property.  I
24726         think everyone probably wants to keep the shorthand notation.
24727         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24728         * docs/gst/tmpl/gstpad.sgml:
24729
24730         * gst/elements/gstelements.c: Register capsfilter element.
24731         * gst/Makefile.am: fix spacing
24732         * docs/random/ds/0.9-suggested-changes: random
24733
24734 2005-04-23  David Schleef  <ds@schleef.org>
24735
24736         * gst/elements/Makefile.am:
24737         * gst/elements/gstcapsfilter.c: New element that acts like an
24738         identity, but filters caps.  Will eventually replace filtered
24739         caps in pad linking.
24740         * gst/gstutils.c: (gst_element_create_all_pads): New function
24741         to create all the ALWAYS pads that are registered with an
24742         element class.  This functionality should eventually be
24743         merged in with GstElement initialization.
24744         * gst/gstutils.h:
24745         * testsuite/trigger/README: part of trigger test code that should
24746         have been checked in a long time ago.
24747
24748 2005-04-23  David Schleef  <ds@schleef.org>
24749
24750         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
24751         needed with new versions of libtool (nobody will confirm this),
24752         and hard to carry around.
24753         * gst/autoplug/Makefile.am:
24754         * gst/base/Makefile.am:
24755         * gst/elements/Makefile.am:
24756         * gst/indexers/Makefile.am:
24757         * gst/schedulers/Makefile.am:
24758         * libs/gst/bytestream/Makefile.am:
24759         * libs/gst/control/Makefile.am:
24760         * libs/gst/dataprotocol/Makefile.am:
24761         * libs/gst/getbits/Makefile.am:
24762
24763 2005-04-21  Wim Taymans  <wim@fluendo.com>
24764
24765         * docs/design/draft-push-pull.txt:
24766         * docs/design/part-MT-refcounting.txt:
24767         * docs/design/part-TODO.txt:
24768         * docs/design/part-caps.txt:
24769         * docs/design/part-events.txt:
24770         * docs/design/part-gstbus.txt:
24771         * docs/design/part-gstpipeline.txt:
24772         * docs/design/part-messages.txt:
24773         * docs/design/part-push-pull.txt:
24774         * docs/design/part-query.txt:
24775         Some more docs.
24776
24777 2005-04-21  Wim Taymans  <wim@fluendo.com>
24778
24779         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24780         (gst_message_new), (gst_message_new_error),
24781         (gst_message_new_warning), (gst_message_new_tag),
24782         (gst_message_new_state_changed), (gst_message_new_application),
24783         (gst_message_get_structure):
24784         * gst/gstmessage.h:
24785         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24786         (gst_structure_copy_conditional):
24787         Use parent refcount in GstMessage to ensure GstStructure
24788         consistency.
24789         Cleaned up headers a bit.
24790         
24791
24792 2005-04-20  Wim Taymans  <wim@fluendo.com>
24793
24794         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24795         (gst_basesink_pad_getcaps), (gst_basesink_init),
24796         (gst_basesink_chain_unlocked):
24797         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24798         (gst_type_find_helper):
24799         * gst/elements/gsttypefindelement.c:
24800         (gst_type_find_element_have_type), (gst_type_find_element_init),
24801         (stop_typefinding), (gst_type_find_element_handle_event),
24802         (find_suggest), (gst_type_find_element_chain),
24803         (gst_type_find_element_checkgetrange),
24804         (gst_type_find_element_getrange), (do_typefind),
24805         (gst_type_find_element_activate):
24806         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24807         (gst_buffer_default_free), (gst_buffer_default_copy),
24808         (gst_buffer_set_caps):
24809         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24810         (gst_caps_replace):
24811         * gst/gstmessage.c: (gst_message_new),
24812         (gst_message_new_state_changed):
24813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24814         (gst_pad_set_checkgetrange_function),
24815         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24816         (gst_pad_set_caps), (gst_pad_check_pull_range),
24817         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24818         * gst/gstpad.h:
24819         * gst/gsttypefind.c: (gst_type_find_register):
24820         Make gst_caps_replace() work like other _replace() functions.
24821         Use _caps_replace() where possible.
24822         Make sure _message_new() initialises its field.
24823         Add gst_static_pad_template_get_caps()
24824
24825
24826 2005-04-18  Andy Wingo  <wingo@pobox.com>
24827
24828         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24829         on the peer, not the pad. I think that was a typo. Pass an extra
24830         arg to see if random access is possible. Activate the pads as
24831         PULL_RANGE if possible.
24832
24833         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24834
24835         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
24836         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24837         to PROP_....
24838
24839 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24840
24841         * docs/faq/using.xml:
24842           Add note on gstreamer-properties (#154996).
24843
24844 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24845
24846         * docs/random/bbb/optional-properties:
24847           Some analysis on optional properties.
24848
24849 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24850
24851         * docs/gst/tmpl/gstelementfactory.sgml:
24852         * gst/gstelement.h:
24853         * gst/gstelementfactory.c: (gst_element_factory_init),
24854         (gst_element_factory_cleanup), (gst_element_register),
24855         (__gst_element_factory_add_static_pad_template),
24856         (gst_element_factory_get_static_pad_templates),
24857         (gst_element_factory_can_src_caps),
24858         (gst_element_factory_can_sink_caps):
24859         * gst/registries/Makefile.am:
24860         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24861         (gst_xml_registry_class_init), (gst_xml_registry_init),
24862         (gst_xml_registry_new), (gst_xml_registry_set_property),
24863         (gst_xml_registry_get_property), (get_time), (make_dir),
24864         (gst_xml_registry_get_perms_func),
24865         (plugin_times_older_than_recurse), (plugin_times_older_than),
24866         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24867         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24868         (add_to_char_array), (read_string), (read_uint), (read_enum),
24869         (load_pad_template), (load_feature), (load_plugin), (load_paths),
24870         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24871         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24872         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24873         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24874         (gst_xml_registry_rebuild):
24875         * gst/registries/gstlibxmlregistry.h:
24876         * tools/gst-compprep.c: (main):
24877         * tools/gst-inspect.c: (print_pad_templates_info):
24878         * tools/gst-xmlinspect.c: (print_element_info):
24879           Use libxml2 for registry parsing, use staticpadtemplates in
24880           elementfactories. Makes gst_init() +/- 10x faster.
24881
24882 2005-04-12  Wim Taymans  <wim@fluendo.com>
24883
24884         * gst/base/Makefile.am:
24885         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24886         (gst_basesink_pad_getcaps), (gst_basesink_init),
24887         (gst_basesink_event), (gst_basesink_change_state):
24888         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24889         (gst_basesrc_init), (gst_basesrc_query),
24890         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24891         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24892         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24893         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24894         (gst_basesrc_stop), (gst_basesrc_activate),
24895         (gst_basesrc_change_state):
24896         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24897         (helper_find_suggest), (gst_type_find_helper):
24898         * gst/base/gsttypefindhelper.h:
24899         * gst/elements/Makefile.am:
24900         * gst/elements/gstelements.c:
24901         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24902         (gst_fakesink_get_times), (gst_fakesink_event),
24903         (gst_fakesink_preroll), (gst_fakesink_render):
24904         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24905         (gst_fakesrc_init), (gst_fakesrc_event_handler),
24906         (gst_fakesrc_get_property), (gst_fakesrc_create),
24907         (gst_fakesrc_start), (gst_fakesrc_stop):
24908         * gst/elements/gstfakesrc.h:
24909         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24910         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24911         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24912         (gst_filesrc_create_read), (gst_filesrc_create),
24913         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24914         (gst_filesrc_start):
24915         * gst/elements/gsttypefindelement.c:
24916         (gst_type_find_element_have_type), (gst_type_find_element_init),
24917         (start_typefinding), (stop_typefinding), (push_buffer_store),
24918         (gst_type_find_element_handle_event),
24919         (gst_type_find_element_chain),
24920         (gst_type_find_element_checkgetrange),
24921         (gst_type_find_element_getrange), (do_typefind),
24922         (gst_type_find_element_activate),
24923         (gst_type_find_element_change_state):
24924         * gst/elements/gsttypefindelement.h:
24925         * gst/gstpipeline.c: (pipeline_bus_handler):
24926         Added typefind helper.
24927         Small preroll fix in the base sink.
24928         Disable typefind code in basesrc.
24929         Crude port of typefindelement.
24930         Fakesrc cleanups.
24931
24932
24933 2005-04-11  Wim Taymans  <wim@fluendo.com>
24934
24935         * check/gst/gstbus.c: (gstbus_suite):
24936         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
24937         * check/gstcheck.h:
24938           Fix up the timeout so that the test does not fail.
24939
24940 2005-04-06  Wim Taymans  <wim@fluendo.com>
24941
24942         * gst/base/README:
24943         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24944         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
24945         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24946         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24947         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24948         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24949         (gst_basesrc_stop), (gst_basesrc_activate),
24950         (gst_basesrc_change_state), (basesrc_find_peek),
24951         (basesrc_find_suggest), (gst_basesrc_type_find):
24952         * gst/base/gstbasesrc.h:
24953         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
24954         (gst_filesrc_class_init), (gst_filesrc_init),
24955         (gst_filesrc_finalize), (gst_filesrc_set_location),
24956         (gst_filesrc_set_property), (gst_filesrc_get_property),
24957         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24958         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24959         (gst_filesrc_create_read), (gst_filesrc_create),
24960         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
24961         * gst/elements/gstfilesrc.h:
24962         * gst/gstelement.c: (gst_element_get_state_func),
24963         (gst_element_lost_state), (gst_element_pads_activate):
24964         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24965         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24966         (gst_pad_pull_range):
24967         * gst/gstpad.h:
24968         More work on the generic source base class, implement seeking,
24969         query.
24970         Make filesrc extend the base source class.
24971         Added gst_pad_set_checkgetrange_function to GstPad.
24972
24973 2005-04-06  Andy Wingo  <wingo@pobox.com>
24974
24975         * pkgconfig/gstreamer-base.pc.in:
24976         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
24977
24978         * pkgconfig/Makefile.am:
24979         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
24980
24981 2005-04-04  Wim Taymans  <wim@fluendo.com>
24982
24983         * gst/base/Makefile.am:
24984         * gst/base/README:
24985         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24986         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24987         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24988         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
24989         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24990         (gst_basesrc_base_init), (gst_basesrc_class_init),
24991         (gst_basesrc_init), (gst_basesrc_get_formats),
24992         (gst_basesrc_get_query_types), (gst_basesrc_query),
24993         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
24994         (gst_basesrc_set_property), (gst_basesrc_get_property),
24995         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
24996         (gst_basesrc_loop), (gst_basesrc_activate),
24997         (gst_basesrc_change_state):
24998         * gst/base/gstbasesrc.h:
24999         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25000         (gst_fakesrc_class_init), (gst_fakesrc_init),
25001         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25002         (gst_fakesrc_get_property), (gst_fakesrc_create):
25003         * gst/elements/gstfakesrc.h:
25004         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25005         (gst_filesrc_open_file), (gst_filesrc_loop),
25006         (gst_filesrc_activate), (filesrc_find_peek),
25007         (gst_filesrc_type_find):
25008         Made base source class, make fakesrc extend it.
25009         Add comments to basesink class.
25010         Some filesrc cleanup.
25011
25012 2005-03-31  David Schleef  <ds@schleef.org>
25013
25014         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25015         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25016         expected to link against libgstreamer.
25017         * gst/base/Makefile.am: link against libgstreamer
25018         * gst/elements/Makefile.am: same
25019
25020 2005-03-31  Andy Wingo  <wingo@pobox.com>
25021
25022         * tests/instantiate/Makefile.am:
25023         * tests/instantiate/caps.c: Add test to test speed of caps copy
25024         and free.
25025
25026         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25027         GMemChunk to be fair.
25028
25029         * gst/gsttrashstack.h: Remove warning about using the fallback
25030         trash stack implementation, it's still faster than malloc.
25031
25032 2005-03-30  Andy Wingo  <wingo@pobox.com>
25033
25034         * tests/complexity.c: Add a copyright.
25035
25036 2005-03-31  Wim Taymans  <wim@fluendo.com>
25037
25038         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25039         (gst_base_transform_class_init), (gst_base_transform_init),
25040         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25041         (gst_base_transform_get_property),
25042         (gst_base_transform_sink_activate),
25043         (gst_base_transform_src_activate),
25044         (gst_base_transform_change_state):
25045         * gst/base/gstbasetransform.h:
25046         * gst/elements/gstidentity.c: (gst_identity_class_init),
25047         (gst_identity_event), (gst_identity_check_perfect),
25048         (gst_identity_transform), (gst_identity_start),
25049         (gst_identity_stop):
25050         Added start/stop methods to transform base class so subclasses 
25051         don't need to deal with state changes even.
25052
25053 2005-03-31  Wim Taymans  <wim@fluendo.com>
25054
25055         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25056         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25057         * gst/gstevent.h:
25058         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25059         (gst_pad_pull_range):
25060         Added rate to the discont event to prepare for variable speed
25061         and reverse playback.
25062
25063 2005-03-29  David Schleef  <ds@schleef.org>
25064
25065         * configure.ac:
25066         * testsuite/trigger/Makefile.am:
25067         * testsuite/trigger/trigger.c: A little example program to show
25068         how trigger-based elements can work.
25069
25070 2005-03-29  Wim Taymans  <wim@fluendo.com>
25071
25072         * gst/base/Makefile.am:
25073         * gst/base/README:
25074         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25075         (gst_basesink_base_init), (gst_basesink_class_init),
25076         (gst_basesink_pad_getcaps), (gst_basesink_init),
25077         (gst_basesink_activate), (gst_basesink_change_state):
25078         * gst/base/gstbasesink.h:
25079         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25080         (gst_base_transform_base_init), (gst_base_transform_finalize),
25081         (gst_base_transform_class_init), (gst_base_transform_init),
25082         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25083         (gst_base_transform_event), (gst_base_transform_getrange),
25084         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25085         (gst_base_transform_set_property),
25086         (gst_base_transform_get_property),
25087         (gst_base_transform_sink_activate),
25088         (gst_base_transform_src_activate),
25089         (gst_base_transform_change_state):
25090         * gst/base/gstbasetransform.h:
25091         * gst/elements/gstidentity.c: (gst_identity_finalize),
25092         (gst_identity_class_init), (gst_identity_init),
25093         (gst_identity_event), (gst_identity_check_perfect),
25094         (gst_identity_transform), (gst_identity_set_property),
25095         (gst_identity_get_property), (gst_identity_change_state):
25096         * gst/elements/gstidentity.h:
25097         * gst/gstelement.c: (gst_element_get_state_func),
25098         (gst_element_lost_state), (gst_element_pads_activate):
25099         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25100         (gst_pad_check_pull_range), (gst_pad_pull_range):
25101         * gst/gstpad.h:
25102         Simplify pad activation.
25103         Added function to check if pull_range can be performed.
25104         Error out when pulling inactive or flushing pads.
25105         Removed const from refcounted types as it does not make sense.
25106         Simplify pad templates in basesink
25107         Added base class for simple 1-to-1 transforms.
25108         Make identity subclass the base transform.
25109
25110 2005-03-29  Andy Wingo  <wingo@pobox.com>
25111
25112         * docs/libs/gstreamer-libs-overrides.txt: 
25113         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25114         really don't understand what's going on, but like whatever. I want
25115         green buildbot!
25116
25117         * docs/gst/Makefile.am:
25118         * docs/libs/Makefile.am: Dist the overrides files.
25119
25120         * check/Makefile.am (clean-local): Remove .libs directories.
25121
25122         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25123         elements to EXTRA_DIST, so po/ files are happy.
25124
25125         * po/POTFILES.in: Er, remove it here.
25126
25127         * po/POTFILES: Remove gstspider.c.
25128
25129         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25130
25131         * docs/libs/gstreamer-libs-docs.sgml: 
25132         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25133         bytestream.
25134
25135         * tests/complexity.c (main): Set the length of the preroll queue
25136         on the sinks to prevent a lockup.
25137
25138         * libs/gst/dataprotocol/Makefile.am: 
25139         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25140         the same as the one in check/gst-libs/gdp.c.
25141
25142         * po/, docs/gst/: Commit automatic changes to docs and po files.
25143
25144         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25145         the versioned libgstbase.
25146
25147         * check/Makefile.am: Depend on an unversioned gst-register, seems
25148         to make autoconf happier.
25149
25150         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25151
25152 2005-03-28  Wim Taymans  <wim@fluendo.com>
25153
25154         * configure.ac:
25155         * docs/design/part-gstelement.txt:
25156         * docs/design/part-negotiation.txt:
25157         * docs/design/part-preroll.txt:
25158         * docs/design/part-scheduling.txt:
25159         * docs/design/part-states.txt:
25160         * gst/Makefile.am:
25161         * gst/base/Makefile.am:
25162         * gst/base/README:
25163         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25164         (gst_basesink_base_init), (gst_basesink_class_init),
25165         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25166         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25167         (gst_basesink_set_pad_functions),
25168         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25169         (gst_basesink_set_property), (gst_basesink_get_property),
25170         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25171         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25172         (gst_basesink_preroll_queue_push),
25173         (gst_basesink_preroll_queue_empty),
25174         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25175         (gst_basesink_event), (gst_basesink_get_times),
25176         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25177         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25178         (gst_basesink_loop), (gst_basesink_activate),
25179         (gst_basesink_change_state):
25180         * gst/base/gstbasesink.h:
25181         * gst/elements/Makefile.am:
25182         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25183         (gst_fakesink_class_init), (gst_fakesink_init),
25184         (gst_fakesink_set_property), (gst_fakesink_get_property),
25185         (gst_fakesink_get_times), (gst_fakesink_event),
25186         (gst_fakesink_preroll), (gst_fakesink_render),
25187         (gst_fakesink_change_state):
25188         * gst/elements/gstfakesink.h:
25189         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25190         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25191         * gst/gstelement.c: (gst_element_add_pad),
25192         (gst_element_get_state_func), (gst_element_abort_state),
25193         (gst_element_commit_state), (gst_element_lost_state),
25194         (gst_element_set_state), (gst_element_pads_activate):
25195         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25196         * gst/gstpipeline.c: (gst_pipeline_send_event),
25197         (gst_pipeline_change_state):
25198         Added state change code.
25199         Added/updated docs.
25200         Added sink base class, make fakesink extend the base class.
25201         Small cleanups in GstPipeline.
25202
25203 2005-03-26  David Schleef  <ds@schleef.org>
25204
25205         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25206         is broken and should be implemented in a different library.
25207         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25208         * gst/gst.h: remove gstcpu.h
25209         * gst/gstcpu.c: remove
25210         * gst/gstcpu.h: remove
25211         * gst/Makefile.am.future: Remove this file.  It's ancient.
25212
25213 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25214
25215         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25216         (gst_bin_send_event):
25217           Add default event/set_manager handlers. The set_manager handler
25218           takes care that the manager is distributed over kids that were
25219           already in the bin before the manager was set. The event handler
25220           is a utility virtual function that sends the event over all sinks,
25221           so that gst_element_send_event (bin, event); has the expected
25222           behaviour.
25223         * gst/gstpad.c: (gst_pad_event_default):
25224           Re-install default event handling for discontinuities, so that
25225           seeking works without requiring hacks in applications or extra
25226           code in sinks.
25227         * gst/gstpipeline.c: (gst_pipeline_class_init),
25228         (gst_pipeline_send_event):
25229           Half hack, half utility: set a pipeline to PAUSED for seek events,
25230           since that is the only way we can guarantee a/v sync. Means that
25231           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25232           and it "just works".
25233
25234 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25235
25236         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25237           Lock/unlock mismatch.
25238
25239 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25240
25241         * docs/faq/gst-uninstalled:
25242           add gst-plugins-base
25243         * docs/gst/Makefile.am:
25244           don't error out until docs are fixed
25245         * docs/gst/gstreamer.types:
25246           remove thread
25247
25248 2005-03-22  Wim Taymans  <wim@fluendo.com>
25249
25250         * check/Makefile.am:
25251         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25252         * gst/gststructure.c: (gst_structure_set_valist),
25253         (gst_structure_copy_conditional):
25254         Activated more tests.
25255         Added message test.
25256         Added G_TYPE_POINTER to GstStructure.
25257         
25258
25259 2005-03-22  Wim Taymans  <wim@fluendo.com>
25260
25261         * docs/design/part-TODO.txt:
25262         * docs/design/part-events.txt:
25263         * docs/design/part-gstbin.txt:
25264         * docs/design/part-gstbus.txt:
25265         * docs/design/part-gstpipeline.txt:
25266         * docs/design/part-messages.txt:
25267         * gst/gstbus.c:
25268         * gst/gstmessage.c:
25269         Docs updates
25270
25271 2005-03-21  Wim Taymans  <wim@fluendo.com>
25272
25273         * gst/gstbus.c: (gst_bus_post):
25274         Fix copy-and-paste error.
25275
25276 2005-03-21  Wim Taymans  <wim@fluendo.com>
25277
25278         * check/Makefile.am:
25279         * gst/Makefile.am:
25280         * gst/elements/Makefile.am:
25281         * gst/elements/gstelements.c:
25282         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25283         (gst_fakesink_event), (gst_fakesink_chain):
25284         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25285         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25286         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25287         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25288         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25289         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25290         (gst_fakesrc_loop), (gst_fakesrc_activate),
25291         (gst_fakesrc_change_state):
25292         * gst/elements/gstfakesrc.h:
25293         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25294         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25295         (gst_filesrc_open_file), (gst_filesrc_loop),
25296         (gst_filesrc_activate), (gst_filesrc_change_state),
25297         (filesrc_find_peek), (filesrc_find_suggest),
25298         (gst_filesrc_type_find):
25299         * gst/elements/gstidentity.c: (gst_identity_finalize),
25300         (gst_identity_class_init), (gst_identity_init),
25301         (gst_identity_proxy_getcaps), (identity_queue_push),
25302         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25303         (gst_identity_getrange), (gst_identity_chain),
25304         (gst_identity_sink_loop), (gst_identity_src_loop),
25305         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25306         (gst_identity_set_property), (gst_identity_get_property),
25307         (gst_identity_change_state):
25308         * gst/elements/gstidentity.h:
25309         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25310         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25311         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25312         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25313         (gst_tee_sink_activate):
25314         * gst/elements/gsttee.h:
25315         * gst/gst.c: (gst_register_core_elements), (init_post):
25316         * gst/gst.h:
25317         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25318         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25319         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25320         (gst_bin_change_state):
25321         * gst/gstbin.h:
25322         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25323         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25324         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25325         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25326         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25327         (bus_watch_callback), (bus_watch_destroy),
25328         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25329         (poll_timeout), (gst_bus_poll):
25330         * gst/gstbus.h:
25331         * gst/gstcaps.h:
25332         * gst/gstdata.h:
25333         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25334         (gst_element_post_message), (gst_element_message_full),
25335         (gst_element_get_state_func), (gst_element_get_state),
25336         (gst_element_abort_state), (gst_element_commit_state),
25337         (gst_element_lost_state), (gst_element_set_state),
25338         (gst_element_pads_activate), (gst_element_change_state),
25339         (gst_element_dispose), (gst_element_set_manager_func),
25340         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25341         (gst_element_set_manager), (gst_element_get_manager),
25342         (gst_element_set_bus), (gst_element_get_bus),
25343         (gst_element_set_scheduler), (gst_element_get_scheduler):
25344         * gst/gstelement.h:
25345         * gst/gstevent.c: (gst_event_new_segment_seek),
25346         (gst_event_new_flush):
25347         * gst/gstevent.h:
25348         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25349         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25350         (gst_message_new_eos), (gst_message_new_error),
25351         (gst_message_new_warning), (gst_message_new_tag),
25352         (gst_message_new_state_changed), (gst_message_new_application),
25353         (gst_message_get_structure), (gst_message_parse_tag),
25354         (gst_message_parse_state_changed), (gst_message_parse_error),
25355         (gst_message_parse_warning):
25356         * gst/gstmessage.h:
25357         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25358         (gst_real_pad_set_property), (gst_pad_set_active),
25359         (gst_pad_is_active), (gst_pad_set_blocked_async),
25360         (gst_pad_set_blocked), (gst_pad_is_blocked),
25361         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25362         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25363         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25364         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25365         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25366         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25367         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25368         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25369         (gst_pad_set_caps), (gst_pad_configure_sink),
25370         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25371         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25372         (gst_real_pad_dispose), (gst_real_pad_finalize),
25373         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25374         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25375         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25376         * gst/gstpad.h:
25377         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25378         (pipeline_bus_handler), (gst_pipeline_change_state),
25379         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25380         * gst/gstpipeline.h:
25381         * gst/gstprobe.h:
25382         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25383         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25384         (gst_queue_link_src), (gst_queue_bufferalloc),
25385         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25386         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25387         (gst_queue_loop), (gst_queue_handle_src_event),
25388         (gst_queue_handle_src_query), (gst_queue_src_activate),
25389         (gst_queue_change_state):
25390         * gst/gstqueue.h:
25391         * gst/gstscheduler.c: (gst_scheduler_init),
25392         (gst_scheduler_dispose), (gst_scheduler_create_task),
25393         (gst_scheduler_factory_create):
25394         * gst/gstscheduler.h:
25395         * gst/gststructure.c: (gst_structure_get_type),
25396         (gst_structure_copy_conditional):
25397         * gst/gststructure.h:
25398         * gst/gsttaginterface.h:
25399         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25400         (gst_task_init), (gst_task_dispose), (gst_task_create),
25401         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25402         (gst_task_pause):
25403         * gst/gsttask.h:
25404         * gst/gstthread.c:
25405         * gst/gstthread.h:
25406         * gst/gsttypes.h:
25407         * gst/schedulers/Makefile.am:
25408         * gst/schedulers/cothreads_compat.h:
25409         * gst/schedulers/entryscheduler.c:
25410         * gst/schedulers/faircothreads.c:
25411         * gst/schedulers/faircothreads.h:
25412         * gst/schedulers/fairscheduler.c:
25413         * gst/schedulers/gstbasicscheduler.c:
25414         * gst/schedulers/gstoptimalscheduler.c:
25415         * gst/schedulers/gthread-cothreads.h:
25416         * gst/schedulers/threadscheduler.c:
25417         (gst_thread_scheduler_task_get_type),
25418         (gst_thread_scheduler_task_class_init),
25419         (gst_thread_scheduler_task_init),
25420         (gst_thread_scheduler_task_start),
25421         (gst_thread_scheduler_task_stop),
25422         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25423         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25424         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25425         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25426         (plugin_init):
25427         * libs/gst/Makefile.am:
25428         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25429         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25430         (gst_file_pad_parent_set):
25431         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25432         (gst_dp_event_from_packet):
25433         * tests/complexity.c: (main):
25434         * tests/mass_elements.c: (main):
25435         * testsuite/states/locked.c: (message_received), (main):
25436         * testsuite/states/parent.c: (main):
25437         * tools/gst-inspect.c: (print_element_flag_info),
25438         (print_implementation_info), (print_pad_info):
25439         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25440         (main):
25441         * tools/gst-md5sum.c: (event_loop), (main):
25442         * tools/gst-typefind.c: (main):
25443         * tools/gst-xmlinspect.c: (print_element_info):
25444         Next big merge.
25445         Added GstBus for mainloop integration.
25446         Added GstMessage for sending notifications on the bus.
25447         Added GstTask as an abstraction for pipeline entry points.
25448         Removed GstThread.
25449         Removed Schedulers.
25450         Simplified GstQueue for multithreaded core.
25451         Made _link threadsafe, removed old capsnego.
25452         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25453         Added pad blocking functions.
25454         Reworked scheduling functions in GstPad to prepare for
25455         scheduling updates soon.
25456         Moved events out of data stream.
25457         Simplified GstEvent types.
25458         Added return values to push/pull.
25459         Removed clocking from GstElement.
25460         Added prototypes for state change function for next merge.
25461         Removed iterate from bins and state change management.
25462         Fixed some elements, disabled others for now.
25463         Fixed -inspect and -launch.
25464         Added check for GstBus.
25465
25466 2005-03-10  Wim Taymans  <wim@fluendo.com>
25467
25468         * docs/design/part-MT-refcounting.txt:
25469         * docs/design/part-clocks.txt:
25470         * docs/design/part-gstelement.txt:
25471         * docs/design/part-gstobject.txt:
25472         * docs/design/part-standards.txt:
25473         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25474         (gst_bin_remove_func), (gst_bin_remove):
25475         * gst/gstbin.h:
25476         * gst/gstbuffer.c:
25477         * gst/gstcaps.h:
25478         * testsuite/clock/clock1.c: (main):
25479         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25480         (main):
25481         * testsuite/dlopen/loadgst.c: (do_test):
25482         * testsuite/refcounting/bin.c: (add_remove_test1),
25483         (add_remove_test2), (main):
25484         * testsuite/refcounting/element.c: (main):
25485         * testsuite/refcounting/element_pad.c: (main):
25486         * testsuite/refcounting/pad.c: (main):
25487         * tools/gst-launch.c: (sigint_handler_sighandler):
25488         * tools/gst-typefind.c: (main):
25489         Doc updates.
25490         Added doc about clock.
25491         removed gst_bin_iterate_recurse_up(), marked methods
25492         for removal.
25493         Fix more testsuites.
25494
25495 2005-03-09  Wim Taymans  <wim@fluendo.com>
25496
25497         * gst/gstpad.c: (gst_pad_get_direction),
25498         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25499         (gst_pad_collect_valist):
25500         * testsuite/bins/interface.c: (main):
25501         * testsuite/caps/audioscale.c: (test_caps):
25502         * testsuite/caps/caps.c: (test1), (test2), (test3):
25503         * testsuite/caps/deserialize.c: (main):
25504         * testsuite/caps/enumcaps.c: (main):
25505         * testsuite/caps/filtercaps.c: (main):
25506         * testsuite/caps/intersect2.c: (main):
25507         * testsuite/caps/random.c: (main):
25508         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25509         * testsuite/caps/sets.c: (check_caps):
25510         * testsuite/caps/simplify.c: (check_caps), (main):
25511         * testsuite/caps/subtract.c: (check_caps):
25512         Fix _pad_get_direction wrt ghostpads.
25513         Fix caps testsuite.
25514
25515 2005-03-09  Wim Taymans  <wim@fluendo.com>
25516
25517         * check/Makefile.am:
25518         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25519         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25520         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25521         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25522         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25523         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25524         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25525         (bin_element_is_sink), (gst_bin_iterate_sinks),
25526         (gst_bin_iterate_all_by_interface):
25527         * gst/gstbin.h:
25528         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25529         (gst_element_change_state), (gst_element_dispose),
25530         (gst_element_finalize), (gst_element_set_loop_function):
25531         * gst/gstelement.h:
25532         * gst/gstiterator.c: (find_custom_fold_func):
25533         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25534         (gst_pad_collectv), (gst_pad_collect_valist),
25535         (gst_pad_template_new):
25536         * gst/gstpipeline.c: (gst_pipeline_class_init),
25537         (gst_pipeline_dispose), (gst_pipeline_set_property),
25538         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25539         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25540         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25541         * gst/gstutils.h:
25542         * gst/schedulers/entryscheduler.c:
25543         * gst/schedulers/gstbasicscheduler.c:
25544         (gst_basic_scheduler_cothreaded_chain),
25545         (gst_basic_scheduler_chain_add_element):
25546         * testsuite/bins/interface.c: (main):
25547         Added GstBin test.
25548         Added GstSystemClock test.
25549         Implemented clock distribution code in GstBin.
25550         Implemented iterate sinks method for future use.
25551         Rearranged gstelement.h
25552         Fix GstIterator comparison bug.
25553         Moved some code to GstPipeline, mostly clocking related.
25554
25555 2005-03-09  Wim Taymans  <wim@fluendo.com>
25556
25557         * configure.ac:
25558         * gst/gst_private.h:
25559         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25560         (gst_bin_remove_func), (gst_bin_remove),
25561         (gst_bin_get_by_name_recurse_up):
25562         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25563         (gst_clock_id_compare_func), (gst_clock_id_wait),
25564         (gst_clock_id_wait_async), (gst_clock_init),
25565         (gst_clock_adjust_unlocked), (gst_clock_get_time):
25566         * gst/gstelement.h:
25567         * gst/gstinfo.c: (_gst_debug_init):
25568         * gst/gstobject.h:
25569         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25570         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25571         * gst/gstpad.h:
25572         Bump version number, we're now 0.9.0
25573         Add future debugging category.
25574         Fix NULL _unref() in _get_by_name_recurse_up
25575         Rearrange gstpad.h.
25576         Update some docs.
25577
25578 2005-03-08  Wim Taymans  <wim@fluendo.com>
25579
25580         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25581         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25582         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25583         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25584         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25585         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25586         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25587         * gst/elements/gstidentity.c: (gst_identity_class_init):
25588         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25589         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25590         * gst/elements/gstshaper.c: (gst_shaper_class_init):
25591         * gst/elements/gststatistics.c: (gst_statistics_class_init):
25592         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25593         (gst_tee_link):
25594         * gst/gstelement.c: (gst_element_class_init),
25595         (gst_element_base_class_init), (gst_element_init),
25596         (gst_element_get_random_pad), (gst_element_wait_state_change),
25597         (gst_element_change_state), (gst_element_dispose),
25598         (gst_element_finalize), (gst_element_set_loop_function):
25599         * gst/gstelement.h:
25600         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25601         * gst/gstthread.c: (gst_thread_class_init),
25602         (gst_thread_release_children_locks), (gst_thread_change_state):
25603         * gst/schedulers/gstbasicscheduler.c:
25604         (gst_basic_scheduler_loopfunc_wrapper),
25605         (gst_basic_scheduler_chain_wrapper),
25606         (gst_basic_scheduler_src_wrapper),
25607         (gst_basic_scheduler_remove_element):
25608         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25609         Remove threadsafe properties. Fix elements because GObject
25610         complains when installing a property before declaring a
25611         set/get_property handler.
25612         Rearrange gstelement.h file, use STATE macros for state locks.
25613         Free mutexes in the finalize method instead of dispose.
25614
25615 2005-03-08  Wim Taymans  <wim@fluendo.com>
25616
25617         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25618         * gst/gstthread.c: (gst_thread_release_children_locks):
25619         Added parentage check.
25620         Fix build og GstThread again.
25621
25622 2005-03-08  Wim Taymans  <wim@fluendo.com>
25623
25624         * docs/design/part-MT-refcounting.txt:
25625         * docs/design/part-conventions.txt:
25626         * docs/design/part-gstobject.txt:
25627         * docs/design/part-relations.txt:
25628         * docs/design/part-standards.txt:
25629         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25630         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25631         (gst_bin_get_by_name), (gst_bin_get_by_interface),
25632         (gst_bin_iterate_all_by_interface):
25633         * gst/gstbuffer.h:
25634         * gst/gstclock.h:
25635         * gst/gstelement.c: (gst_element_class_init),
25636         (gst_element_change_state), (gst_element_set_loop_function):
25637         * gst/gstelement.h:
25638         * gst/gstiterator.c:
25639         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25640         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25641         (gst_object_dispatch_properties_changed), (gst_object_set_name),
25642         (gst_object_set_parent), (gst_object_unparent),
25643         (gst_object_check_uniqueness):
25644         * gst/gstobject.h:
25645         Docs updates, clean up some headers.
25646
25647 2005-03-07  Wim Taymans  <wim@fluendo.com>
25648
25649         * check/.cvsignore:
25650         * check/Makefile.am:
25651         * check/gst-libs/.cvsignore:
25652         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25653         * check/gst/.cvsignore:
25654         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25655         (START_TEST), (gstbus_suite), (main):
25656         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25657         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25658         (gst_data_suite), (main):
25659         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25660         (add_fold_func), (gstiterator_suite), (main):
25661         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25662         (thread_name_object), (thread_name_object_default),
25663         (gst_object_name_compare), (gst_object_suite), (main):
25664         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25665         (gst_pad_suite), (main):
25666         * check/gstcheck.c: (gst_check_log_message_func),
25667         (gst_check_log_critical_func), (gst_check_init):
25668         * check/gstcheck.h:
25669         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25670         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25671         Added checks.
25672
25673 2005-03-07  Wim Taymans  <wim@fluendo.com>
25674
25675         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25676         (gst_list_iterator_next), (gst_list_iterator_resync),
25677         (gst_list_iterator_free), (gst_iterator_new_list),
25678         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25679         (gst_iterator_free), (gst_iterator_push), (filter_next),
25680         (filter_resync), (filter_uninit), (filter_free),
25681         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25682         (gst_iterator_foreach), (find_custom_fold_func),
25683         (gst_iterator_find_custom):
25684         * gst/gstiterator.h:
25685         Added missing files.
25686
25687 2005-03-07  Wim Taymans  <wim@fluendo.com>
25688
25689         * Makefile.am:
25690         * configure.ac:
25691         * docs/design/part-MT-refcounting.txt:
25692         * docs/design/part-conventions.txt:
25693         * docs/design/part-gstobject.txt:
25694         * docs/design/part-relations.txt:
25695         * examples/mixer/mixer.c: (main):
25696         * examples/thread/thread.c: (eos), (main):
25697         * gst/Makefile.am:
25698         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25699         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25700         (gst_spider_plug_from_srcpad):
25701         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25702         (gst_spider_identity_change_state),
25703         (gst_spider_identity_sink_loop_type_finding):
25704         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25705         * gst/elements/gstidentity.c: (gst_identity_init):
25706         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25707         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25708         * gst/elements/gsttypefindelement.c: (free_entry):
25709         * gst/gst.c:
25710         * gst/gst.h:
25711         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25712         (gst_bin_set_clock_func), (gst_bin_auto_clock),
25713         (gst_bin_set_index), (gst_bin_set_element_sched),
25714         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25715         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25716         (gst_bin_iterate_elements), (iterate_child_recurse),
25717         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25718         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25719         (compare_interface), (gst_bin_get_by_interface),
25720         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25721         * gst/gstbin.h:
25722         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25723         (gst_buffer_default_free), (gst_buffer_default_copy),
25724         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25725         (gst_buffer_create_sub):
25726         * gst/gstbuffer.h:
25727         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25728         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25729         (gst_caps_unref), (gst_static_caps_get),
25730         (gst_caps_remove_and_get_structure), (gst_caps_append),
25731         (gst_caps_append_structure), (gst_caps_remove_structure),
25732         (gst_caps_copy_nth), (gst_caps_set_simple),
25733         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25734         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25735         (gst_caps_structure_intersect_field), (gst_caps_intersect),
25736         (gst_caps_structure_subtract_field), (gst_caps_subtract),
25737         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25738         (gst_caps_structure_figure_out_union),
25739         (gst_caps_switch_structures), (gst_caps_do_simplify),
25740         (gst_caps_replace), (gst_caps_from_string),
25741         (gst_caps_copy_conditional):
25742         * gst/gstcaps.h:
25743         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25744         (_gst_clock_id_free), (gst_clock_id_unref),
25745         (gst_clock_id_compare_func), (gst_clock_id_wait),
25746         (gst_clock_id_wait_async), (gst_clock_class_init),
25747         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25748         (gst_clock_get_time), (gst_clock_set_time_adjust),
25749         (gst_clock_set_property), (gst_clock_get_property):
25750         * gst/gstclock.h:
25751         * gst/gstcompat.h:
25752         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25753         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25754         * gst/gstdata.h:
25755         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25756         (gst_element_requires_clock), (gst_element_provides_clock),
25757         (gst_element_set_clock), (gst_element_clock_wait),
25758         (gst_element_wait), (gst_element_set_time_delay),
25759         (gst_element_is_indexable), (gst_element_add_pad),
25760         (gst_element_add_ghost_pad), (gst_element_remove_pad),
25761         (pad_compare_name), (gst_element_get_static_pad),
25762         (gst_element_request_pad), (gst_element_get_request_pad),
25763         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25764         (gst_element_class_get_pad_template_list),
25765         (gst_element_class_get_pad_template), (gst_element_error_func),
25766         (gst_element_get_random_pad), (gst_element_get_event_masks),
25767         (gst_element_send_event), (gst_element_seek),
25768         (gst_element_get_query_types), (gst_element_query),
25769         (gst_element_get_formats), (gst_element_convert),
25770         (gst_element_is_locked_state), (gst_element_set_locked_state),
25771         (gst_element_sync_state_with_parent), (gst_element_change_state),
25772         (gst_element_finalize), (gst_element_yield),
25773         (gst_element_interrupt), (gst_element_set_scheduler),
25774         (gst_element_get_scheduler), (gst_element_set_loop_function):
25775         * gst/gstelement.h:
25776         * gst/gstevent.h:
25777         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25778         (gst_format_get_by_nick), (gst_format_get_details),
25779         (gst_format_iterate_definitions):
25780         * gst/gstformat.h:
25781         * gst/gstindex.c: (gst_index_gtype_resolver):
25782         * gst/gstinfo.c:
25783         * gst/gstinfo.h:
25784         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25785         (gst_mem_chunk_free):
25786         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25787         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25788         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25789         (gst_object_dispatch_properties_changed),
25790         (gst_object_set_name_default), (gst_object_set_name),
25791         (gst_object_get_name), (gst_object_set_name_prefix),
25792         (gst_object_get_name_prefix), (gst_object_set_parent),
25793         (gst_object_get_parent), (gst_object_unparent),
25794         (gst_object_check_uniqueness), (gst_object_save_thyself),
25795         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25796         (gst_object_set_property), (gst_object_get_property),
25797         (gst_object_get_path_string):
25798         * gst/gstobject.h:
25799         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25800         (gst_real_pad_init), (gst_real_pad_get_property),
25801         (gst_pad_custom_new), (gst_pad_get_direction),
25802         (gst_pad_set_active), (gst_pad_is_active),
25803         (gst_pad_set_event_function), (gst_pad_is_linked),
25804         (gst_pad_link_free), (gst_pad_link_intersect),
25805         (gst_pad_link_fixate), (gst_pad_set_caps),
25806         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25807         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25808         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25809         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25810         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25811         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25812         (gst_pad_realize), (gst_pad_get_allowed_caps),
25813         (gst_real_pad_dispose), (gst_real_pad_finalize),
25814         (gst_pad_collectv), (gst_pad_collect_valist),
25815         (gst_pad_template_dispose), (gst_pad_template_new),
25816         (gst_pad_get_internal_links):
25817         * gst/gstpad.h:
25818         * gst/gstpipeline.c: (gst_pipeline_dispose),
25819         (gst_pipeline_change_state):
25820         * gst/gstpipeline.h:
25821         * gst/gstplugin.c:
25822         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25823         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25824         * gst/gstpluginfeature.h:
25825         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25826         * gst/gstquery.c: (_gst_query_type_initialize),
25827         (gst_query_type_register), (gst_query_type_get_by_nick),
25828         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25829         * gst/gstquery.h:
25830         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25831         * gst/gstscheduler.c: (gst_scheduler_add_element),
25832         (gst_scheduler_factory_create):
25833         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25834         (gst_structure_free), (gst_structure_set_name),
25835         (gst_structure_id_set_value), (gst_structure_set_value),
25836         (gst_structure_set_valist), (gst_structure_remove_field),
25837         (gst_structure_remove_fields),
25838         (gst_structure_remove_fields_valist),
25839         (gst_structure_remove_all_fields), (gst_structure_foreach),
25840         (gst_structure_map_in_place),
25841         (gst_caps_structure_fixate_field_nearest_int),
25842         (gst_caps_structure_fixate_field_nearest_double):
25843         * gst/gststructure.h:
25844         * gst/gstsystemclock.c: (gst_system_clock_class_init),
25845         (gst_system_clock_init), (gst_system_clock_dispose),
25846         (gst_system_clock_async_thread),
25847         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25848         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25849         * gst/gstsystemclock.h:
25850         * gst/gsttag.c: (gst_tag_list_add_value_internal),
25851         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25852         * gst/gsttaginterface.c:
25853         * gst/gstthread.c: (gst_thread_dispose),
25854         (gst_thread_release_children_locks), (gst_thread_change_state),
25855         (gst_thread_main_loop):
25856         * gst/gsttrashstack.h:
25857         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25858         * gst/gsttypes.h:
25859         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25860         (gst_element_request_pad), (gst_element_get_pad_from_template),
25861         (gst_element_request_compatible_pad),
25862         (gst_element_get_compatible_pad_filtered),
25863         (gst_element_get_compatible_pad), (gst_element_state_get_name),
25864         (gst_element_link_pads_filtered), (gst_element_link_filtered),
25865         (gst_element_link_many), (gst_element_link),
25866         (gst_element_link_pads), (gst_element_unlink_pads),
25867         (gst_element_unlink_many), (gst_element_unlink),
25868         (gst_pad_can_link_filtered), (gst_pad_can_link),
25869         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25870         (gst_object_default_error), (gst_bin_add_many),
25871         (gst_bin_remove_many), (gst_element_populate_std_props),
25872         (gst_element_class_install_std_props), (gst_buffer_merge),
25873         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25874         (link_fold_func), (gst_pad_proxy_setcaps):
25875         * gst/gstutils.h:
25876         * gst/gstvalue.c: (gst_value_deserialize_string):
25877         * gst/parse/grammar.y:
25878         * gst/schedulers/gstbasicscheduler.c:
25879         (gst_basic_scheduler_cothreaded_chain),
25880         (gst_basic_scheduler_chain_recursive_add),
25881         (gst_basic_scheduler_pad_link):
25882         * gst/schedulers/gstoptimalscheduler.c:
25883         (get_group_schedule_function),
25884         (gst_opt_scheduler_state_transition),
25885         (gst_opt_scheduler_add_element), (element_get_reachables_func):
25886         * libs/gst/bytestream/bytestream.c:
25887         * libs/gst/dataprotocol/dataprotocol.c:
25888         (gst_dp_header_from_buffer):
25889         * po/nb.po:
25890         * po/ru.po:
25891         * tests/threadstate/threadstate2.c: (eos):
25892         * tools/gst-compprep.c: (main):
25893         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25894         (print_pad_info), (print_children_info):
25895         * tools/gst-launch.c: (idle_func), (main):
25896         * tools/gst-md5sum.c: (idle_func), (main):
25897         * tools/gst-xmlinspect.c: (print_element_info):
25898         First THREADED backport attempt, focusing on adding locks and
25899         making sure the API is threadsafe. Needs more work. More docs
25900         follow this week.
25901
25902 2005-02-24  Andy Wingo  <wingo@pobox.com>
25903
25904         * tests/bench-complexity.scm:
25905         * tests/complexity.gnuplot: New files, good for running complexity
25906         benchmarks.
25907
25908         * tests/Makefile.am:
25909         * tests/complexity.c: New test, sets up N elements, at each level
25910         teeing into M streams per element. Eeeenteresting.
25911
25912         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25913         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25914         running bench-mass_elements.scm.
25915
25916         * tests/bench-mass_elements.scm: New script, runs mass_elements
25917         for various numbers of identities, outputting the results to a
25918         file. Requires guile 1.6. Just for testing.
25919
25920 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25921
25922         * gst/schedulers/fairscheduler.c:
25923           compile with debug disabled
25924
25925 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25926
25927         * configure.ac:
25928           hunting season on 0.9 is now OPEN