gst/gstinfo.h: Remove __declspec(dllimport) for MSVC that was copied over into core...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4           Remove __declspec(dllimport) for MSVC that was copied over into core
5           from a plugin, obviously without ever having been tested (note the
6           single underscore in _declspec in the initial commit), and that doesn't
7           really make sense.  See #492077.
8
9 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
10
11         * gst/gst.c: (init_post):
12         * gst/gstevent.c: (_gst_event_initialize):
13         * gst/gstquery.c: (_gst_query_initialize):
14         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
15           g_type_class_ref() other types as well, see #349410 and #64764.
16
17         * gst/gstbuffer.c: (_gst_buffer_initialize):
18         * gst/gstmessage.c: (_gst_message_initialize):
19           Simplify existing g_type_class_ref().
20
21 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * gst/gstformat.c: (_gst_format_initialize):
24           g_type_class_ref() our GstFormat type to make sure we avoid the
25           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
26           bug #64764. Should fix intermittent tee unit test failures (#474823).
27
28 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
29
30         * tests/check/elements/tee.c: (test_num_buffers):
31           Simplify, simplify, simplify - or not.  Rewrite unit test
32           not to use gst_parse_launch(); allow N sub-streams. Increasing
33           the number of sub-streams seems to reproduce #474823 more easily.
34
35 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
36
37         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
38
39         * gst/gsttrace.c:
40         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
41         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
42         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
43           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
44           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
45           so use _pipe() directly (#492077).
46
47         * win32/common/dirent.c: (_treaddir):
48           Add a couple of casts to make it build without warnings with MSVC.
49
50         * win32/common/libgstreamer.def:
51           Add some more symbols that need to be exported.
52
53 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
54
55         * tests/examples/metadata/read-metadata.c: (message_loop):
56           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
57           arriving in a second or third tag message are added to
58           the tag list as well.
59
60 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
61
62         * libs/gst/base/gstbasesrc.c:
63           Its "Since:" and not "@Since:". And remove an superflous cast.
64
65 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
66
67         * docs/libs/gstreamer-libs-sections.txt:
68         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
69         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
70         (gst_base_sink_get_property), (gst_base_sink_render_object),
71         (gst_base_sink_preroll_object),
72         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
73         (gst_base_sink_change_state):
74         * libs/gst/base/gstbasesink.h:
75         Add a new last-buffer property that contains the last buffer used in
76         basesink for preroll or rendering. useful for making snapshots.
77         API: gst_base_sink_get_last_buffer()
78         API: GstBaseSink::last-buffer
79
80 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
81
82         * docs/gst/running.xml:
83         * gst/gst.c:
84         * gst/gstdebugutils.c:
85         * gst/gstdebugutils.h:
86         * tools/gst-launch.c:
87           Improve bin graph dumping, by using the envvar to specify a path.
88           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
89
90 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
91
92         * plugins/elements/gsttypefindelement.c:
93           (gst_type_find_element_handle_event),
94           (gst_type_find_element_activate):
95           Post special error message if we can't determine the type of a stream
96           because it's empty.
97
98 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
99
100         * docs/gst/running.xml:
101         * gst/gstdebugutils.c:
102           Document new env-var. Add one log-line after dumpng a graph.
103
104 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
105
106         * configure.ac:
107           Ugly hack to put the (recently removed and non-portable, apparently)
108           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
109           GNU ld, because without that 'make check' fails miserably on my debian
110           stable box.  Someone with more knowledge of linker intricacies and
111           portability issues than me fix this properly please.
112
113 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
114
115         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
116         Reset last seen position after flushing so that we don't report the old
117         position anymore.
118
119 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
120
121         * gst/gstelementfactory.c: (gst_element_register):
122         * gst/gsturi.h:
123         Patch from Alessandro Decina adding get_type_full and
124         get_protocols_full private vfuncs to the URIHandler interface
125         to allow bindings to support creating URI handlers. 
126         Partially fixes: #339279
127         API: GstURIHandlerInterface::get_type_full
128         API: GstURIHandlerInterface::get_protocols_full
129
130 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
131
132         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
133         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
134         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
135         Make it so that pads are considered linked until a buffer is pushed
136         and discovered otherwise. This avoids problems with decodebin2 hanging
137         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
138         case.
139
140         Make sure we lock the multiqueue when updating the max-size properties.
141         
142         Fix a crash on Solaris in a debug statement in get_request_pad that
143         passes a NULL string to GST_DEBUG. 
144
145         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
146         (run_output_order_test):
147         Fix the test to allow the first buffer on not-linked pads to come out
148         of sequence while multiqueue discovers that they are not-linked.
149
150 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
151
152         * configure.ac:
153         * libs/gst/check/Makefile.am:
154         Use a custom export symbol regex for libgstcheck, as it needs
155         to export symbols that don't match the standard GStreamer gst_*
156         pattern, and  --export-dynamic is not portable (only works on 
157         GNU ld)
158
159         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
160         (gst_check_setup_sink_pad):
161         Make sure to pass a message parameter to the fail_* macros.
162
163         * tests/check/gst/gstinfo.c: (GST_START_TEST):
164         Fix some compiler warnings.
165
166 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
167
168         * tests/check/gst/gststructure.c: (test_to_string):
169           Disable test that checks that white spaces are not allowed
170           in structure names or field names, since we need to
171           support that for now for backwards compatibility reasons.
172
173 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
174
175         * docs/gst/gstreamer-sections.txt:
176         * gst/gsttaglist.c:
177         * gst/gsttaglist.h:
178           API: add GST_TAG_ARTIST_SORTNAME
179           API: add GST_TAG_ALBUM_SORTNAME
180           API: add GST_TAG_TITLE_SORTNAME
181           Add tag variants for sorting (#414539).
182
183 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
184
185         * gst/gststructure.c:
186           Also allow white space for names so we don't break
187           backwards compatibility.
188
189 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
190
191         * docs/design/part-TODO.txt:
192         * docs/design/part-segments.txt:
193         * docs/design/part-streams.txt:
194         Small updates.
195
196 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
197
198         * docs/gst/gstreamer-sections.txt:
199          Fixed documentation from my previous commit (added new API add
200          gst_value_set_structure(), add gst_value_get_structure() and
201          GST_VALUE_HOLDS_STRUCTURE).
202
203 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
204
205         * gst/gstdebugutils.c:
206           Reflow code to fix uninitialized variable warning.
207
208 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
209
210         * gst/gstcaps.c: (gst_caps_to_string),
211         (gst_caps_from_string_inplace):
212         * gst/gststructure.c: (gst_structure_get_abbrs),
213         (gst_structure_to_string), (gst_structure_from_string):
214         * gst/gstvalue.c: (gst_value_set_structure),
215         (gst_value_get_structure), (gst_value_serialize_structure),
216         (gst_value_deserialize_structure), (_gst_value_initialize):
217         * gst/gstvalue.h:
218         * tests/check/gst/gststructure.c: (GST_START_TEST),
219         (gst_structure_suite):
220         * tests/check/gst/gstvalue.c: (GST_START_TEST):
221          Added GstStructure to gst_value_table and its related functions.
222          Changed gst_structure_to_string to print ';' in the end.
223          Changed gst_caps_to_string to not print ';' beteween its
224          fields (structures) anymore and remove the lastes ';' from latest
225          structure. Now it is possible to have nested structures.
226          In addition, backward compatibilty is assured by accepting '\0' as
227          end delimiter. Fixes: #487969.
228          API: add gst_value_set_structure()
229          API: add gst_value_get_structure()
230          API: add GST_VALUE_HOLDS_STRUCTURE
231
232 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
233
234         * gst/gstbus.c:
235           When no GSource callback has been set up, tell developer
236           to use a function that actually exists.
237
238 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
239
240         * docs/gst/gstreamer-sections.txt:
241         * gst/Makefile.am:
242         * gst/gst.c:
243         * gst/gst.h:
244         * gst/gstdebugutils.c:
245         * gst/gstdebugutils.h:
246         * gst/gstinfo.c:
247         * gst/gstinfo.h:
248         * tools/gst-launch.c:
249           Allow dumping pipelines as dot graphs. Fixes #456573.
250
251 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
252
253         * gst/gststructure.c:
254           Allow '+' as well, it can be part of media or mime types
255           such as image/svg+xml.
256
257 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
258
259         * docs/gst/gstreamer-sections.txt:
260         * gst/gstbus.c:
261         * gst/gstbus.h:
262           API: add gst_bus_pop_filtered
263           API: add gst_bus_timed_pop_filtered
264           Two new functions for waiting for specific message types on the
265           bus for a specified amount of time without iterating any main
266           loops or main contexts.
267
268         * tests/check/gst/gstbus.c:
269           Some tests for the new functions.
270
271 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
272
273         * docs/libs/gstreamer-libs-sections.txt:
274           Make gtk-doc ignore stuff it should ignore.
275
276 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
277
278         * libs/gst/check/gstcheck.c:
279         * libs/gst/check/gstcheck.h:
280           Allow runtime selection of unit tests to run via the GST_CHECKS
281           environment variable (test case function names, comma-separated).
282
283 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
284
285         * gst/gststructure.c:
286         * tests/check/gst/gststructure.c:
287           Revert serialisation change and constrain structure-names after
288           consensus on irc. Update api documentation to reflect the change.
289
290 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
291
292         * gst/gststructure.c:
293           Improve serialization and fix tests.
294
295         * tests/check/gst/gststructure.c:
296           Add another test that covers why I actually did the previous structure
297           change.
298
299 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
300
301         * tools/gst-inspect.c: (print_element_info):
302         Don't crash when inspecting an element.
303
304 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
305
306         * tests/check/gst/gststructure.c:
307           Add unit test for escaping of structure name when serialising
308           and deserialising to/from strings.
309
310 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
311
312         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
313         (gst_single_queue_new):
314         * plugins/elements/gstqueue.c: (gst_queue_init),
315         (gst_queue_push_one):
316         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
317         upstream is tricked into thinking it can suggest a format downstream
318         while downstream does not support that format. The real problem is that
319         core calls acceptcaps when pushing a buffer with new caps, for which we
320         do a little workaround by setting the caps on the srcpad ourselves
321         before pushing the buffer (until this is figured out). Fixes #486758.
322
323 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
324
325         * gst/gststructure.c:
326         * gst/gstvalue.c:
327           Add some more comments and debug output. Quote structure name to fix
328           deserialisation of some strings.
329
330 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
331
332         * gst/gstbuffer.h:
333           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
334           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
335
336 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
337
338         * tools/gst-inspect.c:
339           Save approx. 400 1 byte allocs when printing. Use API to acces element
340           details.
341
342         * tools/gst-run.c:
343           Avoid a strdup.
344
345         * tools/gst-xmlinspect.c:
346           Use API to acces element details.
347
348 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
349
350         * gst/gstinfo.c:
351           Fix some spelling errors.
352
353 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
354
355         * gst/gstbin.c: (bin_handle_async_done):
356         Correctly set the next state if all of our async children commited their
357         state. This makes sure we can actually cancel the state change in
358         progress. Fixes a regression in Rhythmbox when seeking.
359
360 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
361
362         * gst/gstbin.c:
363           Don't shadow local variable.
364
365         * gst/gstinfo.c:
366           Don't shadow global function name.
367
368 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
369
370         * gst/gstelementfactory.c:
371         * gst/gstpluginfeature.c:
372         * gst/gstpluginfeature.h:
373         * gst/gstregistrybinary.c:
374         * gst/gstregistryxml.c:
375         * gst/gsttypefind.c:
376           Use already-interned string for the private GstPluginFeature
377           plugin_name field.
378
379 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
380
381         * docs/libs/gstreamer-libs-sections.txt:
382           Add new API to docs; fixes the build.
383
384 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
385         
386         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
387
388         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
389         (gst_base_sink_event):
390         * libs/gst/base/gstbasesink.h:
391         Add function to wait for EOS, subclasses can use this to correctly wait
392         for devices to drain before performing the EOS logic. Fixes #485343.
393         API: gst_base_sink_wait_eos()
394
395 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
396
397         * gst/gstplugin.h:
398           Cast description string constants in GST_PLUGIN_DEFINE macros
399           to a (gchar*) to make C++ code using these macros compile
400           without warning with g++-4.2 (see #462737).  Even if slightly
401           ugly, this seems preferable to putting the description strings
402           into the GLib quark table or making the structure member a
403           const gchar * and doing casts in core code that allocs and
404           frees these strings, or requiring a cast in the C++ code.
405
406 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * gst/gstinfo.h:
409           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
410           to print the entire class/function signature into the log
411           file for C++ code.  This only affects C++ code, for C code
412           everything remains the same.
413
414 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
415
416         * gst/gstbin.c: (remove_from_queue):
417         Work around a problem with pipelines containing (semi)loops until a
418         proper, more complicated solution is ready. See #475455.
419
420 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
421
422         * gst/gstplugin.c:
423         * gst/gstplugin.h:
424         * gst/gstregistrybinary.c:
425         * gst/gstregistryxml.c:
426           Put more strings into the GLib quark table. No need to keep
427           a hundred-something copies of identical version strings,
428           license strings, package name strings and package origin
429           strings around. 
430
431 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
432
433         * docs/manual/advanced-dataaccess.xml:
434           Don't imply that it's okay to unconditionally change
435           buffer data or buffer metadata in a pad probe callback,
436           and a bunch of other comments. Fixes #430031.
437
438 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
439
440         * win32/common/gstenumtypes.c:
441         * win32/common/gstenumtypes.h:
442         * win32/common/gstversion.h:
443           Update generated files.
444
445 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
446
447         * docs/manual/advanced-autoplugging.xml:
448           Prefix section with broken code with a warning (see #342432).
449
450 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
451
452         * docs/manual/appendix-integration.xml:
453         * docs/manual/basics-init.xml:
454           Call g_thread_init() before g_option_context_new() to
455           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
456
457 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
458
459         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
460         (gst_base_sink_queue_object_unlocked),
461         (gst_base_sink_queue_object), (gst_base_sink_event),
462         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
463         When we received EOS and are waiting for when to post the EOS message,
464         our state is prerolled and we should not return ASYNC.
465         Reorganize some code paths to implement this behavior.
466
467         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
468         (gst_sinks_suite):
469         Add unit test to verify above EOS fix.
470
471 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
472
473         * plugins/elements/gsttypefindelement.c:
474         (gst_type_find_element_have_type), (gst_type_find_element_init),
475         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
476         Move detecting the input caps of the sinkpad to the setcaps function.
477         This allows us to update the output caps when we receive new input caps
478         instead of always using the first detected caps.
479
480 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
481
482         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
483         (gst_base_sink_get_position):
484         Don't try to preroll non-async elements after a flush.
485         Subtract latency form clock times when reporting position.
486
487 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
488
489         * gst/gstpad.c: (gst_pad_pause_task):
490         * gst/gstutils.c:
491         Small comment and documentation update.
492
493 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
494
495         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
496         (gst_base_src_set_live), (gst_base_src_is_live),
497         (gst_base_src_query_latency), (gst_base_src_perform_seek),
498         (gst_base_src_default_event), (gst_base_src_wait),
499         (gst_base_src_do_sync), (gst_base_src_get_range),
500         (gst_base_src_pad_get_range), (gst_base_src_loop),
501         (gst_base_src_unlock), (gst_base_src_unlock_stop),
502         (gst_base_src_set_flushing), (gst_base_src_set_playing),
503         (gst_base_src_activate_push), (gst_base_src_activate_pull),
504         (gst_base_src_change_state):
505         Rework the locking of basesrc in a similar fashion to basesink. We
506         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
507         us to handle live sources and semi live ones much better.
508         Simplify flushing.
509         Fix unlocking when seeking, shutting down and pausing in live sources.
510
511 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
512
513         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
514         Fix compilation again.
515
516 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
517
518         * gst/gstelement.c:
519           Use meaningful categories for the logs to clean the default one.
520
521 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
522
523         * tests/check/pipelines/cleanup.c:
524           Print message name and not just number.
525
526 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
527
528         * docs/design/draft-tagreading.txt:
529           Add some more thoughts.
530
531 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
532
533         * tests/check/pipelines/simple-launch-lines.c:
534           Print message name and not just number.
535
536 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
537
538         * libs/gst/base/gsttypefindhelper.c:
539           Speedup typefinding. This is work in progress (see #459862).
540
541 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
542
543         * gst/gstplugin.c:
544           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
545           Spotted by Josep Torra Valles <josep@fluendo.com>.
546
547 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
548
549         * gst/gstclock.h:
550           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
551           field has moved to GstObject.
552
553 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
554
555         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
556         (gst_base_src_get_range), (gst_base_src_change_state):
557         Call unlock for live sources so that they can't get stuck in _create and
558         produce a buffer before they are set back to PLAYING.
559
560 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
561
562         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
563         (gst_queue_locked_dequeue):
564         Comment the segment-related code... in the PROPER function.
565         See #482147 and my commit from yesterday.
566
567 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
568
569         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
570         Also initialize the counter that calculates the first timestamp on a
571         buffer correctly for non-live sources.
572
573 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
574
575         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
576         Disable code that's breaking the current-time-level reporting.
577         See #482147
578
579 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
580
581         * docs/gst/gstreamer-sections.txt:
582         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
583         as they shouldn't show up. Fixes the docs build.
584
585 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
586         
587         * gst/gstinfo.h:
588         Add an explicit variable importation needed on VS6 (only for MSC_VER)
589         Define M_PI which is used in files which are including gstinfo.h. 
590         VS6 includes doesn't define it.
591         * win32/common/libgstbase.def:
592         * win32/common/libgstcontroller.def:
593         * win32/common/libgstreamer.def:
594         Add new exported functions and variables.
595         * win32/vs6/libgstcontroller.dsp:
596         * win32/vs6/libgstreamer.dsp:
597         Update the list of files to build.
598         
599 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
600
601         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
602
603         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
604         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
605         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
606         Improve debugging. Fixes #480858.
607
608 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
609
610         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
611
612         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
613         First patch of code cleanups, use the macros and right arguments in the
614         macros to signal and lock the queue. See #480858.
615
616 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
617
618         * gst/gstbus.c: (poll_func):
619         Improve debugging when dealing with _poll().
620
621 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
622
623         * gst/gstregistryxml.c:
624           Fix memory leak I introduced a few days ago.
625
626 2007-09-26  Michael Smith <msmith@fluendo.com>
627
628         * gst/gstbuffer.c: (gst_buffer_finalize):
629           Make it once again possible to free GstBuffers in the default
630           build.
631           The poisoning scribbles on parts of the miniobject we need in
632           order to free it.
633           Fixes #480341
634
635 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
636
637         * docs/gst/gstreamer-sections.txt:
638         * gst/gsttaglist.c:
639         * gst/gsttaglist.h:
640         API: add GST_TAG_COMPOSER, fixes #459809.
641
642 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
643
644         * gst/gstplugin.c:
645         * gst/gstplugin.h:
646         Add the 3-clause BSD license and the MIT/X11 license to the license
647         list. Fixes #479784.
648
649 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
650
651         * docs/faq/getting.xml:
652           Add Q+A about different GStreamer versions (#364056).
653
654 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
655
656         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
657         (gst_base_sink_event), (gst_base_sink_change_state):
658         Return correct gboolean from query function.
659
660 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
661
662         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
663         (gst_base_sink_event), (gst_base_sink_query),
664         (gst_base_sink_change_state):
665         Simplify latency query.
666         When not synchronizing, we can report latency without querying the peer
667         element.
668
669 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
670
671         * gst/gstobject.h:
672         * gst/gstvalue.c:
673         Fix small typos in the docs.
674
675 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
676
677         * docs/design/draft-latency.txt:
678         * docs/design/draft-push-pull.txt:
679         * docs/design/draft-tagreading.txt:
680         * docs/design/part-MT-refcounting.txt:
681         * docs/design/part-activation.txt:
682         * docs/design/part-block.txt:
683         * docs/design/part-element-source.txt:
684         * docs/design/part-events.txt:
685         * docs/design/part-gstbin.txt:
686         * docs/design/part-gstelement.txt:
687         * docs/design/part-gstobject.txt:
688         * docs/design/part-gstpipeline.txt:
689         * docs/design/part-messages.txt:
690         * docs/design/part-preroll.txt:
691         * docs/design/part-push-pull.txt:
692         * docs/design/part-qos.txt:
693         * docs/design/part-query.txt:
694         * docs/design/part-scheduling.txt:
695         * docs/design/part-seeking.txt:
696         * docs/design/part-segments.txt:
697         * docs/design/part-states.txt:
698         Documentation updates and typo fixes.
699
700 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
701
702         * plugins/elements/gstfakesink.c:
703           Add some debug text to error message to indicate that
704           we errored out on request.
705
706         * tools/gst-launch.c:
707           When the state change to PLAYING fails, check for an
708           error message on the bus and print it.
709
710 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         translated by: Jorge González González <aloriel@gmail.com>
713
714         * po/LINGUAS:
715         * po/es.po:
716           Added Spanish translation.
717
718 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
719
720         * plugins/elements/gstqueue.c: (gst_queue_push_one):
721         Fix printf arguments.
722
723 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
724
725         * tests/check/generic/states.c:
726           Improved state change unit test.
727
728 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
729
730         * gst/gstbin.h:
731           Move priv to the right place.
732
733         * gst/gstsystemclock.c:
734           Add FIXME: and improve log.
735
736         * tests/check/Makefile.am:
737         * tests/examples/manual/Makefile.am:
738           Work with all types of registries.
739
740 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
741
742         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
743         Don't unref the event after pushing it. Fixes #478401.
744
745 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
746
747         * .cvsignore:
748         * tests/examples/manual/.cvsignore:
749           Ignore registries in any format.
750
751 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
752
753         * gst/glib-compat-private.h:
754           Add compatibility macro for g_intern_string() for
755           GLib-2.8 (any reason we can't just bump the
756           requirement to at least 2.10?)
757
758         * gst/gstpadtemplate.h:
759         * gst/gstelementfactory.c:
760         * gst/gstregistryxml.c:
761         * gst/gstregistrybinary.c:
762           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
763           up the internal code accordingly.  This shouldn't be a problem, since
764           there is no reason external code could ever assume the string in such
765           a structure is dynamically allocated unless it did that itself;  the
766           use of g_strdup() is private to element factories.  The new code also
767           saves some memory by putting pad template name strings into the GLib
768           quark table instead of allocating them dynamically.
769           Declaring this field constant fixes warnings with g++-4.2 when using
770           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
771
772 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
773
774         * gst/gstelementfactory.c:
775           Release static caps. Fixes #475723.
776
777 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
778
779         * gst/gstinfo.c:
780         * gst/gstinfo.h:
781           Make some internal API take const gchar * instead of just
782           gchar * to avoid compiler warnings with g++-4.2.2 when
783           passing string constants (partially fixes #478092).
784
785 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
786
787         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
788         A latency query fails when one of the sinks fail.
789
790         * gst/gstelement.c: (gst_element_set_base_time):
791         Improve debugging.
792
793 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
794
795         * gst/gstbin.c: (gst_bin_continue_func):
796         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
797         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
798         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
799
800         Fix minor compilation warnings shown with Forte.
801
802 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
803
804         * plugins/elements/gstqueue.c: (apply_buffer),
805         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
806         Measure queue level based on the diff between head and tail timestamps
807         even when pushing the first buffer.
808
809 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
810
811         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
812         (gst_base_sink_event), (gst_base_sink_change_state):
813         Sinks that don't preroll can always be queried for the latency.
814         Don't post ASYNC start when we are not async.
815
816 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
817
818         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
819         (gst_queue_handle_sink_event), (gst_queue_chain),
820         (gst_queue_push_one), (gst_queue_handle_src_query),
821         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
822         * plugins/elements/gstqueue.h:
823         When downstream returns UNEXPECTED from pushing a buffer, don't try to
824         push more buffers but allow pushing of EOS and NEWSEGMENT.
825         Add some more debug info here and there. Fixes #476514.
826
827 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
828
829         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
830         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
831         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
832         (gst_base_sink_set_flushing), (gst_base_sink_query),
833         (gst_base_sink_change_state):
834         Latency query is allowed after we are prerolled. Introduce a new flag
835         for this and stop abusing other variables.
836
837 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
838
839         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
840         Push OOB events downstream when we get them in send_event. This allows
841         the application to insert events in the pipeline.
842         Add some more comments.
843
844 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
845
846         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
847         (do_bin_latency), (gst_bin_change_state_func):
848         * gst/gstpipeline.c: (gst_pipeline_change_state):
849         Move latency query from GstPipeline to GstBin so that we can also
850         use it when async-handling is enabled on bins.
851
852 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
853
854         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
855         (gst_base_src_do_sync), (gst_base_src_change_state):
856         Update docs.
857         Clean up the timestamping and syncing code for pseudo live sources.
858
859 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
860
861         Patch by: Steve Fink  <sphink gmail com>
862
863         * docs/manual/appendix-checklist.xml:
864           Mention less -R switch in the section about debug output (#474055).
865
866 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
867
868         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
869         Queue can latency to the pipeline up to the configured max size in time.
870         Report this fact in the latency query.
871
872 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
873
874         Patch by: Sebastien Moutte <sebastien at moutte dot net>
875
876         * libs/gst/controller/gstinterpolation.c:
877         * libs/gst/controller/gstlfocontrolsource.c:
878         Use gst_guint64_to_gdouble() when converting from a uint64 or
879         GstClockTime to double to fix the build on win32. Fixes #474371.
880
881 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
882
883         * gst/gstbuffer.c: (gst_buffer_finalize):
884         Implement poisoning for GstBuffer if --enable-poisoning is specified.
885         When finalizing a buffer the complete struct is filled with 0xff,
886         thus making a use of the buffer after the final unref impossible.
887
888 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
889
890         * tests/check/libs/controller.c: (GST_START_TEST):
891         Use fail_unless_equals_int(a, b) instead of
892         fail_unless_equals (a == b) to get better output on failures.
893
894 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
895
896         * tests/check/gst/gsturi.c:
897           Also check for the other file URI variant on win32.
898
899 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
900
901         * gst/gsturi.c: (gst_uri_get_location):
902           If there's no hostname, we want to return 'c:/foo/bar.txt'
903           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
904
905         * tests/check/gst/gsturi.c:
906           Unit test for the above and a few more things.
907
908 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
909
910         * docs/design/part-live-source.txt:
911         Add docs on how live sources should timestamp.
912
913         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
914         Add some more debug info.
915         For subclasses that are live and like to sync, add aditional startup
916         latency to sync time and timestamps so that we timstamp according to the
917         design doc.
918
919 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * gst/gstbuffer.c:
922           Also do a g_type_class_ref() for the subbuffer type in
923           the init function.
924
925 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
926
927         * docs/gst/gstreamer-sections.txt:
928         * gst/gstpad.c: (gst_pad_peer_query):
929         * gst/gstpad.h:
930         Add function to perform a query on the peer of a pad.
931         API: gst_pad_peer_query()
932
933 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
934
935         * tests/check/gst/gstsystemclock.c:
936           Cleanup the test a little (use gst-logging and not g_message). Improve
937           test to check if a wait reached the target.
938
939 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
940
941         * docs/libs/gstreamer-libs-sections.txt:
942           Add new API to docs and fix the build.
943
944 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
945
946         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
947         (gst_base_src_init), (gst_base_src_set_do_timestamp),
948         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
949         (gst_base_src_get_property), (gst_base_src_do_sync):
950         * libs/gst/base/gstbasesrc.h:
951         Add property to make the basesrc timestamp buffers based on the current
952         running time.
953         API: GstBaseSrc::do-timestamp
954         API: gst_base_src_set_do_timestamp()
955         API: gst_base_src_get_do_timestamp()
956
957 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
958
959         * docs/random/release:
960           Really make sure translations are up-to-date before
961           a release (#465010).
962
963 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
964
965         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
966         Always destroy the timer, also in error cases.
967
968 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
969
970         * docs/manual/highlevel-xml.xml:
971         Fix XML example code. Fixes #472714.
972
973 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
974
975         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
976         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
977         (gst_base_sink_query):
978         Protect eos and have_preroll with the OBJECT lock so we don't need to
979         take the PREROLL lock when querying the latency. Fixes #473846.
980
981 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
982
983         * gst/gstelement.c:
984           Give some log-messages a category.
985
986 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
987
988         * gst/gststructure.c:
989         (gst_structure_fixate_field_nearest_fraction):
990         Fix fraction list fixation code. Take the fraction with the smallest
991         difference with the target instead of the first one in the list.
992
993         * tests/check/gst/gststructure.c: (GST_START_TEST),
994         (gst_structure_suite):
995         Added test to verify correct fraction list fixation behaviour.
996
997 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
998
999         * win32/common/libgstreamer.def:
1000           Export gst_bus_add_signal_watch too.
1001
1002 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1003
1004         * docs/libs/gstreamer-libs-sections.txt:
1005         Add new methods to docs.
1006
1007         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1008         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1009         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1010         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1011         * libs/gst/base/gstbasesink.h:
1012         Add ts-offset property to fine-tune the synchronisation.
1013         API: GstBaseSink::ts-offset property
1014         API: gst_base_sink_set_ts_offset()
1015         API: gst_base_sink_get_ts_offset()
1016
1017 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1018
1019         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1020         (gst_base_sink_init), (gst_base_sink_set_sync),
1021         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1022         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1023         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1024         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1025         (gst_base_sink_get_property), (gst_base_sink_change_state):
1026         * libs/gst/base/gstbasesink.h:
1027         Add async property to instruct the sink never to inform the parent about
1028         ASYNC state changes, update docs.
1029         Check argument with g_return_* for the public functions.
1030         API: GstBaseSink::async property
1031         API: gst_base_sink_set_async_enabled()
1032         API: gst_base_sink_is_async_enabled()
1033
1034 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1035
1036         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1037         Improve debugging.
1038
1039         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1040         (gst_base_src_default_query), (gst_base_src_wait),
1041         (gst_base_src_do_sync), (gst_base_src_change_state):
1042         Rearrange some code so that we can add support for measuring the 
1043         startup latency.
1044
1045 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1046
1047         * docs/random/ensonic/dynlink.txt:
1048           More thoughs on this.
1049
1050         * plugins/elements/gstcapsfilter.c:
1051           Add bugzilla ticket number to FIXME comment.
1052
1053 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1054
1055         * docs/design/part-TODO.txt:
1056         * docs/design/part-block.txt:
1057         Update some docs.
1058
1059 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * gst/Makefile.am:
1062           Revert patch which uses $(gst_headers) instead of $^ because it
1063           breaks make dist.
1064
1065 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1066
1067         * tests/check/gst/gstbin.c: (GST_START_TEST):
1068           Fix leaks in the new unit test.
1069
1070 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1071
1072         * gst/gst.c:
1073           Don't use GST_INFO before the debug system is actually initialised
1074           (shouldn't do any harm, but won't print anything either, so we can
1075           just as well remove it).
1076
1077         * gst/gstinfo.h:
1078           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1079           compilers that don't support variadic macros (such as MSVC), should
1080           check for debug_level <= __gst_debug_min as well, since that's the
1081           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1082           inline helper functions. Should improve performance a bit, but also
1083           makes sure uses of GST_INFO et.al are ignored if the debugging
1084           system isn't initialised yet (instead of printing an assertion
1085           failure).
1086
1087 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1088
1089         patch by: David Nečas <yeti@physics.muni.cz>
1090
1091         * gst/Makefile.am:
1092           Replace some non portable makefile constructs.
1093
1094 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * common/gtk-doc-plugins.mak:
1097           Grrrrr. Don't remove the types file on make clean.
1098
1099 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1100
1101         * tools/gst-launch.1.in:
1102         Add colorspace to example pipeline. Fixes #458274.
1103
1104 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1105
1106         * docs/random/release:
1107           The release manager should run 'make download-po' before making a
1108           release to make sure translations are up-to-date.
1109
1110         * po/LINGUAS:
1111         * po/be.po:
1112         * po/pl.po:
1113         * po/rw.po:
1114           Add some new translations.
1115
1116 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1117
1118         * tools/gst-launch.c: (event_loop), (main):
1119         Don´t try to do any state management when a live pipeline posts
1120         buffering messages.
1121         Also make the buffering string translatable.
1122
1123 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1124
1125         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1126         (bin_handle_async_start), (gst_bin_handle_message_func):
1127         Improve debugging.
1128         When adding elements, insert messages into the bus of the newly added
1129         element and make sure the element is the source of the message. This
1130         allows the parent bin to intercept the message and do the
1131         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1132         messages to the app (which is not allowed).
1133         Update some docs.
1134
1135         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1136         Fix testsuite so that is does not work around messages that should not
1137         have been posted in the first place.
1138
1139 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1140
1141         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1142         (update_degree), (gst_bin_sort_iterator_next):
1143         Fix annoying bug in the sorted iterator where a sink that is not really
1144         a sink (when it has downstream links) screwed up the iterator.
1145
1146         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1147         Unit test to verify the fix.
1148
1149 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1150
1151         * gst/gstmessage.h:
1152         Add some more docs for the messages.
1153
1154         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1155         (gst_base_sink_query):
1156         Add some more debugging.
1157
1158         * tools/gst-launch.c: (event_loop):
1159         When interrupting, don't try to set pipeline to PAUSED twice.
1160
1161 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1162
1163         
1164         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1165         (bin_handle_async_start), (gst_bin_handle_message_func):
1166         Move ASYNC_START message posting to where it belongs, similar to
1167         async_done. 
1168         Don't post ASYNC_START when we are in error. 
1169         Post ASYNC_START when we added an async element to a bin.
1170
1171 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1172
1173         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1174         generation from vargs. Fixes #466595.
1175
1176 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1177
1178         * gst/gstbin.c: (gst_bin_element_set_state):
1179         Always change the state of a NO_PREROLL element even if it has ASYNC
1180         elements inside (in case of a bin).
1181
1182         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1183         Unit test for this case.
1184
1185 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1186
1187         * libs/gst/check/gstbufferstraw.c:
1188         * libs/gst/check/gstcheck.h:
1189         * libs/gst/controller/gstcontroller.c:
1190         * libs/gst/controller/gstcontrolsource.h:
1191         * libs/gst/controller/gstlfocontrolsource.h:
1192         * plugins/elements/gstcapsfilter.h:
1193         * plugins/elements/gstfdsink.h:
1194         * plugins/elements/gstfdsrc.h:
1195           Add more missing docs.
1196
1197 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1198
1199         * gst/gststructure.c:
1200         Add Since tag to docs.
1201
1202 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1203
1204         * docs/gst/gstreamer-sections.txt:
1205         * gst/gststructure.c: (gst_structure_get_uint):
1206         * gst/gststructure.h:
1207         Add function to get uint from a structure.
1208         API: gst_structure_get_uint()
1209
1210 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1211
1212         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1213         (gst_caps_intersect):
1214         Fix proper check for simple caps.
1215
1216 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1217
1218         * docs/gst/Makefile.am:
1219         * docs/libs/Makefile.am:
1220           Remove cruft and do some cleanups.
1221
1222         * docs/gst/gstreamer-docs.sgml:
1223         * docs/libs/gstreamer-libs-docs.sgml:
1224           Prepare for comming gtkdoc features (rebase against online docs).
1225
1226 2007-08-10  Michael Smith <msmith@fluendo.com>
1227
1228         * docs/gst/gstreamer-sections.txt:
1229           Add gst_registry_add_path to docs.
1230
1231 2007-08-10  Michael Smith <msmith@fluendo.com>
1232
1233         * gst/gstregistry.h:
1234           Add gst_registry_add_path, which was missing from this header.
1235
1236 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1237
1238         * libs/gst/controller/gstlfocontrolsource.c:
1239           Printf format fix.
1240
1241 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1242
1243         * libs/gst/base/gstbasesink.c:
1244           Don't send an async_start message during downwards state change if 
1245           target state is less than READY
1246
1247 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1248
1249         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1250
1251         * po/LINGUAS:
1252         * po/hu.po:
1253           Added Hungarian translation.
1254
1255 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1256
1257         * po/fi.po:
1258         * po/it.po:
1259         * po/nl.po:
1260         * po/sv.po:
1261         * po/uk.po:
1262           Updated translations.
1263
1264 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1265
1266         * libs/gst/controller/Makefile.am:
1267         Dist gstlfocontrolsourceprivate.h
1268
1269 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1270
1271         * docs/libs/gstreamer-libs.types:
1272         Don't register the enum type gst_lfo_waveform_get_type() in the
1273         .types file - only GObject derived types belong.
1274
1275 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1276
1277         Patch by: <arenevier at fdn dot fr>
1278
1279         * gst/gstbuffer.h:
1280         Remove comma from last element in enum to avoid compile errors when
1281         using -pendantic. Fixes #464366.
1282
1283 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1284
1285         * docs/design/part-TODO.txt:
1286         Add some more TODO items
1287
1288         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1289         Improve debugging.
1290
1291         * gst/gstcaps.c: (gst_caps_intersect):
1292         Optimize trivial intersection case between identical caps pointers.
1293
1294         * gst/gstelement.c: (gst_element_continue_state),
1295         (gst_element_set_state_func):
1296         * gst/gstpad.c:
1297         Fix spelling and grammar mistakes.
1298
1299 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1300
1301         * po/POTFILES.in:
1302         * po/POTFILES.skip:
1303           Update POTFILES. Fixes #461599.
1304
1305 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1306
1307         * gst/gst.c:
1308         Fix confusing typo in debug output.
1309
1310 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1311
1312         reviewed by: Stefan Kost <ensonic@users.sf.net>
1313
1314         * libs/gst/controller/Makefile.am:
1315         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1316         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1317         (gst_lfo_control_source_new),
1318         (gst_lfo_control_source_set_waveform),
1319         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1320         (gst_lfo_control_source_finalize),
1321         (gst_lfo_control_source_dispose),
1322         (gst_lfo_control_source_set_property),
1323         (gst_lfo_control_source_get_property),
1324         (gst_lfo_control_source_class_init):
1325         * libs/gst/controller/gstlfocontrolsource.h:
1326         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1327         API: Add GstLFOControlSource, a control source that gives values
1328         for specific timestamps based on several periodic waveforms.
1329         Fixes #459717.
1330
1331         * tests/check/libs/controller.c: (GST_START_TEST),
1332         (gst_controller_suite):
1333         * docs/libs/gstreamer-libs-docs.sgml:
1334         * docs/libs/gstreamer-libs-sections.txt:
1335         * docs/libs/gstreamer-libs.types:
1336         Add documentation and unit tests for GstLFOControlSource.
1337
1338 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1339
1340         * configure.ac:
1341         Back to CVS
1342
1343 === release 0.10.14 ===
1344
1345 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1346
1347         * configure.ac:
1348           releasing 0.10.14, "Breathing Vacuum"
1349
1350 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1351
1352         * gst/gstelement.c: (gst_element_class_set_details_simple):
1353         * gst/gstelement.h:
1354           Make strings passed to gst_element_class_set_details_simple()
1355           constant, as they should be (#462752).
1356
1357 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1358
1359         * gst/gstbin.c: (gst_bin_change_state_func),
1360         (bin_handle_async_done), (gst_bin_handle_message_func):
1361         Don't forget about the fact that some element went ASYNC even after a
1362         resync. This makes us post the ASYNC_DONE message correctly.
1363         Fixes #462558.
1364
1365 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1366
1367         * gst/gstregistry.c: (gst_registry_add_feature):
1368         When replacing an existing feature in the registry, make sure to
1369         continue holding a reference until we've replaced the name string
1370         within our feature hash table. Make sure to use g_hash_table_replace
1371         instead of g_hash_table_insert to ensure the new name string is used
1372         as a key instead of the old one that we're about to free.
1373         Fixes: #462085
1374
1375 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1376
1377         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1378         (gst_plugin_feature_set_name):
1379         Revert patch from #459466 until after the release and we can work
1380         out exactly what the problem is (if any).
1381
1382 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1383
1384         * docs/gst/gstreamer-sections.txt:
1385         * gst/gsttaglist.c:
1386         * gst/gsttaglist.h:
1387           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1388
1389 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1390
1391         * docs/libs/Makefile.am:
1392         Include our build-prefix libs and includes before the generic ones to
1393         avoid linking against the installed libs when we want the build-tree
1394         ones.
1395
1396 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1397
1398         Patch by: Steve Fink  <sphink gmail com>
1399
1400         * docs/pwg/building-testapp.xml:
1401           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1402           if people try to build or install the example from the plugin
1403           template against a GStreamer from package using the configure
1404           defaults.
1405
1406 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1407
1408         Patch by: Steve Fink  <sphink gmail com>
1409
1410         * tools/gst-inspect.1.in:
1411           Document --print-all and --print-plugin-auto-install-info command
1412           line options in man page.
1413
1414 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1415
1416         * docs/gst/gstreamer-sections.txt:
1417         Add docs for new api function.
1418
1419 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1420
1421         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1422         * gst/gstelementfactory.h:
1423         API: gst_element_factory_has_interface()
1424         Added method to check if an element factory implements a named
1425         interface.
1426
1427 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1428
1429         * configure.ac:
1430         * docs/gst/gstreamer.types.in:
1431           Another conditional doc check.
1432
1433         * gst/gstmessage.c:
1434         * gst/gstparamspecs.h:
1435         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1436         * gst/gstvalue.c:
1437         * gst/gstxml.h:
1438           API-doc fixes.
1439
1440 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1441
1442         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1443         (gst_registry_binary_load_feature),
1444         (gst_registry_binary_load_plugin),
1445         (gst_registry_binary_read_cache):
1446           Print error just once and with additional info.
1447
1448 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1449
1450         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1451         (helper_find_suggest), (helper_find_get_length),
1452         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1453         (gst_type_find_helper_for_buffer):
1454           Cleanup the typefindhelper code and add private doc comments.
1455
1456 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1457
1458         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1459         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1460         Fix capsfilter for cases where the caps set on capsfilter will provide
1461         additional information.
1462         Fixes #449197
1463
1464 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1465
1466         * gst/gsttypefindfactory.c:
1467           Fix docs that recommened wrong function to use.
1468
1469 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1470
1471         * tools/gst-inspect.c: (print_plugin_features):
1472           Also give media-type for typefinders in element output.
1473
1474 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1475
1476         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1477         (gst_registry_remove_features_for_plugin_unlocked),
1478         (gst_registry_add_feature), (gst_registry_remove_feature),
1479         (gst_registry_lookup_feature_locked):
1480         * gst/gstregistry.h:
1481           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1482           Fixes #459501.
1483
1484 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1485
1486         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1487         (gst_plugin_feature_set_name):
1488           Avoid double memory usage for pluginfeature names. Fixes #459466.
1489
1490 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1491
1492         * gst/gstpad.h:
1493           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1494           driving the pipeline may need to explicitly check for NOT_LINKED as
1495           well, since IS_FATAL doesn't cover that.
1496
1497 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1498
1499         * docs/pwg/advanced-types.xml:
1500           Fix typo and duplicate entry in video formats list.
1501
1502 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1503
1504         * libs/gst/controller/gstinterpolation.c:
1505         Also round to the nearest int when using cubic interpolation.
1506
1507 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1508
1509         * libs/gst/controller/gstinterpolation.c:
1510         When linearly interpolating integer types, round to the nearest int
1511         by adding 0.5. Don't do it for float/double types.
1512         Fixes the failing controller test on my machine, which is somehow
1513         rounding differently than on the buildbots.
1514
1515 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * tools/gst-plot-timeline.py:
1518           Better log parsing (categories can have -). Adjust text vs. lines, so
1519           that they span the same y-range.        
1520
1521 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1522
1523         * docs/random/ensonic/audiobaseclasses.txt:
1524         * docs/random/ensonic/dynlink.txt:
1525         * docs/random/ensonic/profiling.txt:
1526           Save my thoughts.
1527
1528         * docs/random/moving-plugins:
1529           Add note to use g_assert type macros.
1530
1531 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1532
1533         * configure.ac:
1534         * libs/gst/check/Makefile.am:
1535           Add libm check as we use in for plugins.
1536
1537 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1538
1539         * gst/gstbin.c: (gst_bin_continue_func):
1540         Check that the state_cookie hasn't changed since the continue_func
1541         was scheduled. Avoids problems where the state changes back to
1542         something it shouldn't be because it was changed in the meantime.
1543
1544 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1545
1546         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1547         (gst_registry_binary_save_string),
1548         (gst_registry_binary_save_pad_template),
1549         (gst_registry_binary_save_feature),
1550         (gst_registry_binary_save_plugin),
1551         (gst_registry_binary_load_feature),
1552         (gst_registry_binary_load_plugin),
1553         (gst_registry_binary_read_cache):
1554           Fix memory leak. Be less verbose in the log.
1555
1556 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1557
1558         * tests/check/elements/.cvsignore:
1559         Add file to cvsignore as commanded.
1560
1561 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1562
1563         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1564         (mq_dummypad_event), (run_output_order_test):
1565         Use a GStaticMutex to protect all cases where libcheck
1566         fail_if/fail_unless macros might be called from multiple threads
1567         simultaneously to avoid errors like:
1568           "check_pack.c:107: :-1081725400:Bad message type arg"
1569
1570 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1571
1572         * tests/check/pipelines/stress.c: (GST_START_TEST):
1573         Make sure we set the pipeline back to the NULL state before
1574         dropping our final reference.
1575
1576 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1577
1578         * tests/check/elements/tee.c: (GST_START_TEST):
1579         Make the tee stress-test a little less stressful so it doesn't just
1580         time out on slow-machines, and remove a small race when it's starting 
1581         up by adding a get_state() call.
1582
1583 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1584
1585         * gst/gst.c:
1586           Avoid reading registry twice on startup. Fixes #457322.
1587
1588 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1589
1590         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1591         * pkgconfig/gstreamer-check.pc.in:
1592         Substitute the CFLAGS for libcheck into our .pc file too so that
1593         dependent modules will pick it up properly if libcheck is installed
1594         into some other prefix.
1595
1596 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1597
1598         * configure.ac:
1599         Revert the pkg-config check for libcheck, since it pulls in the
1600         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1601         a proper solution, either from the check project, or something else.
1602
1603 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1604
1605         * configure.ac:
1606           Use pkg-config to locate check.
1607
1608 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * gst/gsttaglist.c:
1611           Fix doc syntax.
1612
1613         * gst/gstutils.c:
1614         * gst/gstutils.h:
1615           Add deprecation guards.
1616
1617         * libs/gst/base/gstcollectpads.h:
1618           Don't document object (this is implicitly private).
1619
1620 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * gst/gststructure.c: (gst_structure_parse_value):
1623           When deserialising foo=bar without a type cast, check if it's a
1624           boolean before falling back to a string type, otherwise things like
1625           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1626           because the filtercaps end up having a signed=(string)true field,
1627           which causes problems later when intersection caps.
1628
1629         * tests/check/gst/gststructure.c: (GST_START_TEST):
1630           Add a unit test for this.
1631
1632 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1633
1634         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1635
1636         * libs/gst/controller/Makefile.am:
1637         * libs/gst/controller/gstcontroller.c:
1638         (gst_controlled_property_add_interpolation_control_source),
1639         (gst_controlled_property_new), (gst_controlled_property_free),
1640         (gst_controller_find_controlled_property),
1641         (gst_controller_new_valist), (gst_controller_new_list),
1642         (gst_controller_new), (gst_controller_remove_properties_valist),
1643         (gst_controller_remove_properties_list),
1644         (gst_controller_remove_properties),
1645         (gst_controller_set_property_disabled),
1646         (gst_controller_set_disabled), (gst_controller_set_control_source),
1647         (gst_controller_get_control_source), (gst_controller_get),
1648         (gst_controller_sync_values), (gst_controller_get_value_array),
1649         (_gst_controller_dispose), (gst_controller_get_type),
1650         (gst_controlled_property_set_interpolation_mode),
1651         (gst_controller_set), (gst_controller_set_from_list),
1652         (gst_controller_unset), (gst_controller_unset_all),
1653         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1654         * libs/gst/controller/gstcontroller.h:
1655         * libs/gst/controller/gstcontrollerprivate.h:
1656         * libs/gst/controller/gstcontrolsource.c:
1657         (gst_control_source_class_init), (gst_control_source_init),
1658         (gst_control_source_get_value),
1659         (gst_control_source_get_value_array), (gst_control_source_bind):
1660         * libs/gst/controller/gstcontrolsource.h:
1661         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1662         (gst_object_get_control_source):
1663         * libs/gst/controller/gstinterpolation.c:
1664         (gst_interpolation_control_source_find_control_point_node),
1665         (gst_interpolation_control_source_get_first_value),
1666         (_interpolate_none_get), (interpolate_none_get),
1667         (interpolate_none_get_boolean_value_array),
1668         (interpolate_none_get_enum_value_array),
1669         (interpolate_none_get_string_value_array),
1670         (_interpolate_trigger_get), (interpolate_trigger_get),
1671         (interpolate_trigger_get_boolean_value_array),
1672         (interpolate_trigger_get_enum_value_array),
1673         (interpolate_trigger_get_string_value_array):
1674         * libs/gst/controller/gstinterpolationcontrolsource.c:
1675         (gst_control_point_free), (gst_interpolation_control_source_reset),
1676         (gst_interpolation_control_source_new),
1677         (gst_interpolation_control_source_set_interpolation_mode),
1678         (gst_interpolation_control_source_bind),
1679         (gst_control_point_compare), (gst_control_point_find),
1680         (gst_interpolation_control_source_set_internal),
1681         (gst_interpolation_control_source_set),
1682         (gst_interpolation_control_source_set_from_list),
1683         (gst_interpolation_control_source_unset),
1684         (gst_interpolation_control_source_unset_all),
1685         (gst_interpolation_control_source_get_all),
1686         (gst_interpolation_control_source_get_count),
1687         (gst_interpolation_control_source_init),
1688         (gst_interpolation_control_source_finalize),
1689         (gst_interpolation_control_source_dispose),
1690         (gst_interpolation_control_source_class_init):
1691         * libs/gst/controller/gstinterpolationcontrolsource.h:
1692         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1693         API: Refactor GstController into the core controller which can take
1694         a GstControlSource for providing actual values for timestamps.
1695         Implement a interpolation control source and use this for backward
1696         compatibility, deprecate a bunch of functions that are now handled
1697         by GstControlSource or GstInterpolationControlSource.
1698         Make it possible to disable the controller completely or only for
1699         specific properties. Fixes #450711.
1700         * docs/libs/gstreamer-libs-docs.sgml:
1701         * docs/libs/gstreamer-libs-sections.txt:
1702         * docs/libs/gstreamer-libs.types:
1703         Add new functions and classes to the docs.
1704         * tests/check/libs/controller.c: (GST_START_TEST),
1705         (gst_controller_suite):
1706         * tests/examples/controller/audio-example.c: (main):
1707         Port unit test and example to the new API and add some new
1708         unit tests.
1709
1710 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1711
1712         Patch by: Mark Nauwelaerts <manauw at skynet be>
1713
1714         * plugins/elements/gstmultiqueue.c:
1715         (gst_multi_queue_get_internal_links), (apply_buffer),
1716         (single_queue_overrun_cb), (gst_single_queue_new):
1717         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1718         the pipeline layout can be tracked correctly. Fixes #453732.
1719
1720 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1721
1722         * docs/gst/Makefile.am:
1723         * docs/libs/Makefile.am:
1724         * docs/plugins/Makefile.am:
1725           Simplify --extra-dir as gtkdoc scans recursively.
1726
1727 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1728
1729         * tools/gst-launch.c: (main):
1730         When we got an error, there is no point in waiting for preroll when
1731         shutting down.
1732
1733 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1734
1735         * plugins/elements/gsttee.c: (gst_tee_base_init),
1736         (gst_tee_request_new_pad), (gst_tee_release_pad),
1737         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1738         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1739         (gst_tee_chain):
1740         Be a lot smarter when deciding what srcpad to use for proxying
1741         the buffer_alloc. Also handle pad added/removed when doing so.
1742         Fixes #357959.
1743         Keep track of what pads we already pushed on in case we have pads
1744         added/removed while pushing. Fixes #374639 
1745
1746         * tests/check/Makefile.am:
1747         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1748         (tee_suite):
1749         Added unit test for pad resync.
1750
1751 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1752
1753         * po/nl.po:
1754         * po/sv.po:
1755           Updated translations.
1756
1757 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1758
1759         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1760
1761         * po/LINGUAS:
1762         * po/fi.po:
1763           Added new Finnish translation.
1764
1765 2007-06-28  Wim Taymans  <wim@fluendo.com>
1766
1767         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1768         (single_queue_overrun_cb):
1769         When figuring out when a queue is filled, use our internal time estimate
1770         based on segments, just like check_full does.
1771
1772 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1773
1774         * gst/gstminiobject.c: (gst_mini_object_get_type):
1775           Remove 3 do-nothing methods.
1776
1777 2007-06-27  Wim Taymans  <wim@fluendo.com>
1778
1779         Patch by: Tim Angus <tim at ngus dot net>
1780
1781         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1782         (gst_capsfilter_set_property):
1783         Take a reference instead of a copy when setting "caps".
1784         Fix documentation to clarify this behaviour. Fixes #449414.
1785
1786 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1787
1788         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1789         * gst/gstplugin.c: (gst_plugin_init):
1790         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1791         * gst/gstquery.c: (gst_query_get_type):
1792         * gst/gstregistry.c: (gst_registry_init):
1793         * gst/gsturi.c: (gst_uri_handler_base_init):
1794           Remove empty instance_init() functions to save relocs and lessen the
1795           noise. Remove some of the function prototypes that are doubled by
1796           G_DEFINE_TYPE.
1797           
1798 2007-06-27  Wim Taymans  <wim@fluendo.com>
1799
1800         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1801
1802         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1803         Add peer and direction in the XML serialisation of ghostpads.
1804         Fixes #449226.
1805
1806 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1807
1808         * configure.ac:
1809           Preserve useful information, thanks Tim.
1810
1811 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1812
1813         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1814         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1815         (gst_single_queue_push_one), (gst_multi_queue_loop),
1816         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1817         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1818         (compute_high_id), (gst_single_queue_new):
1819         * plugins/elements/gstmultiqueue.h:
1820         Take the multiqueue lock when updating the fill level so we don't get
1821         confused. 
1822
1823         After applying a buffer or event on the src pad segment, make sure to
1824         call gst_data_queue_limits_changed() to get the data queue to unblock
1825         and check the filled state again.
1826         
1827         Rework the not-linked pad handling so the logic is that not-linked 
1828         pads can push as fast as they like, but only so they never get 
1829         ahead of any linked pads.
1830
1831         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1832         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1833         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1834
1835         Add a test to check that not-linked pads always stay behind
1836         linked pads.
1837
1838         Fixes: #430682
1839
1840 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1841
1842         * docs/random/release:
1843           Some updates to the release procedure.
1844
1845 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1846
1847         * gst/gstelementfactory.c: (__gst_element_details_clear):
1848           Microoptimization that saves stunning 80 bytes.
1849
1850 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1851
1852         * docs/plugins/gstreamer-plugins.args:
1853         * docs/plugins/inspect/plugin-coreelements.xml:
1854         * docs/plugins/inspect/plugin-coreindexers.xml:
1855           Update docs with caps info.
1856
1857 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1858
1859         * po/it.po:
1860           Updated Italian translation.
1861
1862 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * ChangeLog:
1865         * po/vi.po:
1866           Update Vietnamese translations.
1867
1868 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * libs/gst/base/gstbasesink.c:
1871           Remove unused signal enum.
1872
1873 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1874
1875         * docs/gst/gstreamer-sections.txt:
1876         * gst/gstelement.c:
1877         * gst/gstutils.c: (gst_type_register_static_full):
1878         Beef up and include the docs for gst_type_register_static_full and
1879         gst_element_class_set_details_simple and add the API keyword
1880         in the ChangeLog.
1881
1882 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1883
1884         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1885         (update_time_level), (gst_single_queue_push_one),
1886         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1887         (single_queue_overrun_cb), (single_queue_underrun_cb),
1888         (single_queue_check_full):
1889         Fix setting max-* properties after adding queues.
1890         Use IS_FILLED for checking visible items.
1891         Signal overrun if multiple queues overrun.
1892         Add extra debug output.
1893         Patch by: Wim Taymans <wim@fluendo.com>
1894
1895 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1896
1897         * gst/gstelement.c: (gst_element_class_set_details_simple):
1898         * gst/gstelement.h:
1899         * gst/gstutils.c: (gst_type_register_static_full):
1900         * gst/gstutils.h:
1901         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1902         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1903         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1904         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1905         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1906         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1907         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1908         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1909         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1910         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1911         (apply_buffer), (gst_queue_chain):
1912         * plugins/elements/gsttee.c: (gst_tee_base_init):
1913         * plugins/elements/gsttypefindelement.c:
1914         (gst_type_find_element_base_init),
1915         (gst_type_find_element_class_init):
1916           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1917           API: add gst_type_register_static_full
1918           API: add gst_element_class_set_details_simple
1919
1920 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * docs/pwg/advanced-types.xml:
1923           Fix typo in iana.org URI.
1924
1925 2007-06-19  Andy Wingo  <wingo@pobox.com>
1926
1927         * tests/check/pipelines/simple-launch-lines.c
1928         (test_state_change_returns): Enable pull-mode tests now that
1929         basesink has been fixed.
1930
1931         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1932         Changed from gst_base_sink_is_prerolled, reversing the sense of
1933         the return value. Returns FALSE also if the sink is in pull mode,
1934         in which case it needs no preroll.
1935         (gst_base_sink_query, gst_base_sink_change_state): Update for
1936         needs_preroll change.
1937         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1938         chaining up, in which we return SUCCESS directly if we activated
1939         in pull mode instead of ASYNC. Involves countering an async_start
1940         message sent before chaining up; not sure if this is correct, in
1941         an ideal world we only send async-start when activating in push
1942         mode.
1943
1944         * tests/check/pipelines/simple-launch-lines.c
1945         (test_state_change_returns): New test, partially disabled until
1946         basesink is fixed.
1947
1948 2007-06-19  Wim Taymans  <wim@fluendo.com>
1949
1950         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1951         (gst_multi_queue_sink_event):
1952         Fix event leak.
1953
1954 2007-06-19  Wim Taymans  <wim@fluendo.com>
1955
1956         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1957         (gst_bin_change_state_func), (bin_push_state_continue),
1958         (bin_handle_async_start), (bin_handle_async_done),
1959         (gst_bin_handle_message_func):
1960         Move the common code for posting state-change messages into
1961         one function.
1962         Broadcast the state signal after we posted the messages.
1963         Mark the bin as busy when it's doing a state-change.
1964         Make sure async-start/done messages don't interfere with the bin's
1965         state when it's busy.
1966         After the state change, let the bin check which elements completed the
1967         state change while it was busy so that it can update its state.
1968
1969 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
1970
1971         * docs/random/release:
1972         Add a note about updating the doap file to the release checklist
1973
1974 2007-06-18  Wim Taymans  <wim@fluendo.com>
1975
1976         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1977         (gst_single_queue_push_one), (gst_multi_queue_chain),
1978         (gst_multi_queue_sink_event):
1979         Make sure we don't reference the buffer/event after we have given away
1980         ownership in the queue.
1981
1982 2007-06-18  Wim Taymans  <wim@fluendo.com>
1983
1984         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1985         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1986         Update queue state _after_ adding the item in the queue because else we
1987         could end up being full without the element added yet.
1988
1989 2007-06-18  Wim Taymans  <wim@fluendo.com>
1990
1991         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1992         (gst_bin_remove_func), (gst_bin_get_state_func),
1993         (gst_bin_element_set_state), (gst_bin_continue_func),
1994         (bin_push_state_continue), (bin_handle_async_start),
1995         (bin_handle_async_done), (gst_bin_handle_message_func):
1996         * gst/gstbin.h:
1997         Immediatly commit the toplevel bin state when receiving an async-done
1998         message. This enables us to avoid spawning a thread to commit the state
1999         in some common cases and it also avoids some races.
2000         Avoid spawning a state thread when adding/removing async elements to a
2001         toplevel bin. Instead we immediatly update the bin state.
2002         Get rid of iterating all the children when getting the state in the bin
2003         because it is now always up-to-date.
2004         Fix bug where locked elements would always return _SUCCESS even it they
2005         returned NO_PREROLL before being locked.
2006         Fix the order of the state_change, async-start/done messages that was
2007         sometimes incorrect.
2008         Mark the state_dirty field as deprecated, we don't need it anymore as we
2009         are always up-to-date.
2010
2011         * gst/gstelement.c: (gst_element_get_state_func),
2012         (gst_element_continue_state):
2013         Small debug inprovements.
2014         Return the previous element state return when nothing is pending instead
2015         of blindly returning SUCCESS.
2016
2017         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2018         (gst_sinks_suite):
2019         Add a whole bunch of new testcases.
2020
2021 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2022
2023         * po/uk.po:
2024         * po/vi.po:
2025           Update translations.
2026
2027 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2028
2029         * gst/gstpad.c:
2030         Fix typo in the docs.
2031
2032 2007-06-15  Wim Taymans  <wim@fluendo.com>
2033
2034         * docs/libs/gstreamer-libs-sections.txt:
2035         Add docs for new methods.
2036
2037 2007-06-15  Wim Taymans  <wim@fluendo.com>
2038
2039         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2040         (gst_multi_queue_item_new):
2041         Don't use GSlice because we don't depend on >= 2.10 yet.
2042
2043 2007-06-15  Wim Taymans  <wim@fluendo.com>
2044
2045         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2046         (update_time_level), (apply_segment), (apply_buffer),
2047         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2048         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2049         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2050         (single_queue_underrun_cb), (single_queue_check_full):
2051         Remove debug printf.
2052
2053 2007-06-15  Wim Taymans  <wim@fluendo.com>
2054
2055         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2056         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2057         (gst_data_queue_set_flushing), (gst_data_queue_push),
2058         (gst_data_queue_pop), (gst_data_queue_drop_head),
2059         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2060         * libs/gst/base/gstdataqueue.h:
2061         Various cleanups.
2062         Added methods to get the current levels and to inform the queue that the
2063         'full' limits changed.
2064
2065         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2066         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2067         (gst_single_queue_flush), (update_time_level), (apply_segment),
2068         (apply_buffer), (gst_single_queue_push_one),
2069         (gst_multi_queue_item_steal_object),
2070         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2071         (gst_multi_queue_loop), (gst_multi_queue_chain),
2072         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2073         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2074         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2075         (single_queue_underrun_cb), (single_queue_check_full),
2076         (gst_single_queue_new):
2077         Keep track of time in the queue by measuring the difference between
2078         running_time on input and output. This gives more accurate results and
2079         can compensate for segments correctly.
2080         Make a queue by default only 5 buffers deep. We will now increase the
2081         buffer size depending on the filledness of the other queues.
2082         Factor out commong flush code.
2083         Make sure we don't add additional refcounts to buffers when we can avoid
2084         it.
2085         Propagate GstFlowReturn differently.
2086         Use GSlice for intermediate GstMultiQueueItems.
2087         Keep track of EOS.
2088         Resize queues on over and underruns based on filled level of other
2089         queues.
2090         When checking if the queue is filled, prefer to measure in time if we
2091         can and fall back to bytes when no time is known.
2092
2093         * plugins/elements/gstqueue.c:
2094         Fix return value.
2095
2096 2007-06-15  Wim Taymans  <wim@fluendo.com>
2097
2098         * libs/gst/base/gstbasetransform.c:
2099         (gst_base_transform_sink_event):
2100         Work around the brokenness of the event vmethod in basetransform. Prefer
2101         to return TRUE when the subclass returned FALSE (meaning don't forward
2102         the event). 
2103
2104         * libs/gst/base/gstbasetransform.h:
2105         Clarify the docs.
2106
2107 2007-06-15  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2110         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2111         (gst_base_src_default_query), (gst_base_src_get_range),
2112         (gst_base_src_start):
2113         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2114         Improve debugging.
2115
2116 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2117
2118         * docs/pwg/advanced-types.xml:
2119           Added more formats to caps table.
2120
2121 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2122
2123         * tools/gst-launch.c: (main):
2124           Remove crufy code. GOption does not need this workaround.
2125
2126 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2127
2128         * libs/gst/controller/gstcontroller.c:
2129         (gst_controlled_property_set_interpolation_mode):
2130           Fix wrong getter for enums in controller.
2131
2132 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2133
2134         * libs/gst/check/gstcheck.c: (gst_check_init):
2135           Intercept criticals and warnings in the Gst-Phonon log domain, so
2136           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2137           well.
2138         
2139 2007-06-14  Edward Hervey  <edward@fluendo.com>
2140
2141         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2142         Since this file doesn't include "gst.h" it will not go through the
2143         macros that disable GST_LOG if debugging was disabled.
2144
2145 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2146
2147         * libs/gst/check/Makefile.am:
2148         * libs/gst/check/gstcheck.h:
2149         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2150         * pkgconfig/gstreamer-check.pc.in:
2151           Ugly 'fix' for the controller unit test on the p5 bot: in
2152           fail_unless_equals_float() check whether the values are 'almost
2153           equal' by allowing a small absolute error, which should be good
2154           enough for our use cases (normal numbers and values close to 0).
2155           Proper fixage left to floating point arithmetic aficionados.
2156
2157 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2160         (gst_base_sink_render_object), (gst_base_sink_get_position):
2161           Add two breaks thats where missing.
2162
2163 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2164
2165         * docs/libs/gstreamer-libs-sections.txt:
2166         * libs/gst/check/gstcheck.h:
2167           API: add fail_unless_equals_float() and assert_equals_float().
2168           Add documentation for some of the macros.
2169
2170         * tests/check/libs/controller.c: (GST_START_TEST):
2171           Use newly-added asserts.
2172
2173 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2174
2175         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2176           Show the caps change in the log to help spotting the case of not
2177           exactly matching caps.
2178
2179 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2180
2181         * docs/pwg/building-boiler.xml:
2182           Fix typos, spotted by Thijs Vermeir (#447190).
2183
2184 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2185
2186         * docs/plugins/tmpl/.cvsignore:
2187         Ignore file to keep the buildbots happy
2188
2189 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2190
2191         * docs/plugins/Makefile.am:
2192         * docs/plugins/gstreamer-plugins-docs.sgml:
2193         * docs/plugins/gstreamer-plugins-sections.txt:
2194         Pull fdsink into the docs too.
2195
2196 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2197
2198         * libs/gst/controller/gstinterpolation.c:
2199         Actually use the new functions with min/max checks for the trigger and
2200         none interpolation modes for get() and get_value_array() instead of
2201         just the latter.
2202
2203 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2204
2205         * libs/gst/controller/gstcontroller.c:
2206         (gst_controlled_property_free):
2207         Unset the minimum and maximum GValues when freeing the corresponding
2208         GstControllerProperty struct.
2209
2210 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2211
2212         * libs/gst/controller/gstcontroller.c:
2213         (gst_controlled_property_new):
2214         * libs/gst/controller/gstcontrollerprivate.h:
2215         * libs/gst/controller/gstinterpolation.c:
2216         (gst_controlled_property_find_control_point_node),
2217         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2218         (interpolate_none_get_string_value_array),
2219         (interpolate_trigger_get),
2220         (interpolate_trigger_get_enum_value_array),
2221         (interpolate_trigger_get_string_value_array):
2222         Protect against values larger or smaller than the minimum or maximum
2223         allowed value for the property when using values that can be compared.
2224
2225         Optimize trigger interpolator a bit by taking the last requested value
2226         into account instead of always looping through the complete list.
2227
2228         Fix coding style a bit, everywhere else we use "return foo" instead
2229         of "return (foo)".
2230         
2231         * tests/check/libs/controller.c: (GST_START_TEST),
2232         (gst_controller_suite):
2233         Add unit test for the protection against too large or too small
2234         values.
2235
2236 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2237
2238         * docs/random/slomo/controller.txt:
2239         Add some thoughts about the future of the controller.
2240
2241 2007-06-08  Wim Taymans  <wim@fluendo.com>
2242
2243         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2244         Don't overflow in retimestamping code.
2245
2246 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2247
2248         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2249         Use gst_util_guint64_to_gdouble for conversions.
2250         * win32/common/libgstreamer.def:
2251         Add new exported functions.
2252
2253 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2254
2255         * gst/gstutils.c:
2256           Small docs addition.
2257
2258 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2259
2260         * README:
2261           Remove that test line again.
2262
2263 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2264
2265         * README:
2266           Test commit mail sending.
2267
2268 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2269
2270         * configure.ac:
2271           Fix typo and test commit mail sending.
2272
2273 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2274
2275         * tests/examples/controller/audio-example.c:
2276           Improve comment and test commit mail sending.
2277
2278 2007-06-07  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2281         (gst_bin_remove_func), (gst_bin_element_set_state),
2282         (bin_handle_async_start), (bin_handle_async_done),
2283         (gst_bin_handle_message_func):
2284         Add helper function to find messages.
2285         Generate the async-done messages together with the state change
2286         messages.
2287         Small cleanups in handling toplevel bins.
2288
2289 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2290
2291         * libs/gst/base/gstdataqueue.c:
2292         * libs/gst/base/gstdataqueue.h:
2293         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2294         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2295         (gst_multi_queue_sink_event):
2296         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2297           Fix multiqueue leaking buffers and events when downstream or the
2298           queue are flushing. Make refcounting assumptions explicit and
2299           document them (shouldn't break existing code that uses it other than
2300           maybe leak miniobjects, but that already happens anyway). Add unit
2301           test for the most common flushing case. Fixes #423700.
2302           
2303 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2304
2305         * libs/gst/controller/gstcontroller.c:
2306         Clarify docs: The get_all, get_value_array(s) functions
2307         don't modify the GObject properties.
2308
2309 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2310
2311         * libs/gst/controller/gstcontroller.c:
2312         (gst_controlled_property_set_interpolation_mode),
2313         (gst_controlled_property_prepend_default),
2314         (gst_controlled_property_new), (gst_controller_set_unlocked),
2315         (gst_controller_set), (gst_controller_set_from_list),
2316         (gst_controller_unset), (gst_controller_unset_all):
2317         * libs/gst/controller/gstcontrollerprivate.h:
2318         * libs/gst/controller/gstinterpolation.c:
2319         Factor out the 'set' logic into gst_controller_set_unlocked for the
2320         gst_controller_set and gst_controller_set_from_list functions.
2321
2322         To make life of the interpolators easier always add a control point
2323         at timestamp zero with the default value.
2324
2325         In the linear interpolator make things more obvious by better variable
2326         naming (slope).
2327
2328         Implement cubic interpolation mode (by using a natural cubic spline)
2329         and map the quadratic interpolation mode to this too (as quadratic
2330         doesn't make much sense, see discussion on the list).
2331
2332         * tests/check/libs/controller.c: (GST_START_TEST),
2333         (gst_controller_suite):
2334         Add unit test for the cubic interpolation mode and check everywhere
2335         if the interpolation mode could be set as expected.
2336
2337 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2340           Don't use GLib-2.10 functions, we still depend on
2341           GLib-how-old-is-it-again-2.8.
2342
2343 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2344
2345         * docs/gst/gstreamer-sections.txt:
2346         * gst/Makefile.am:
2347         * gst/gst.c:
2348         * gst/gst.h:
2349         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2350         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2351         (_gst_param_fraction_values_cmp),
2352         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2353         * gst/gstparamspecs.h:
2354         * gst/gstvalue.c:
2355         * tests/check/Makefile.am:
2356         * tests/check/gst/.cvsignore:
2357         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2358         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2359         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2360         (GST_START_TEST), (gst_param_spec_suite):
2361           API: add GstParamSpecFraction, so elements can have fraction
2362           properties without lots of painful string parsing (#444648).
2363
2364 2007-06-05  Wim Taymans  <wim@fluendo.com>
2365
2366         * gst/gstobject.c: (gst_object_class_init):
2367         Fix signal signature.
2368
2369         * gst/gstsegment.c:
2370         Add small clarification in the api docs.
2371
2372         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2373         States are protected with object lock.
2374
2375 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2376
2377         * AUTHORS:
2378         I should probably be listed as an author by now.
2379
2380         * docs/random/release:
2381         Update the release doc
2382
2383 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2384
2385         * gst/gstvalue.c:
2386           Make docs for gst_value_compare() mention return enums that
2387           actually exist.
2388
2389 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2390
2391         * configure.ac:
2392           Back to CVS
2393
2394 === release 0.10.13 ===
2395
2396 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2397
2398         * configure.ac:
2399           releasing 0.10.13, "With or without you"
2400
2401 2007-05-25  Wim Taymans  <wim@fluendo.com>
2402
2403         * gst/gstbin.c: (bin_handle_async_done):
2404         Make sure that the child bin stops after completing the async state
2405         change so that the parent can continue the state change to PLAYING.
2406         Fixes #441159.
2407
2408 2007-05-25  Wim Taymans  <wim@fluendo.com>
2409
2410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2411         (unref_data), (gst_collect_pads_remove_pad),
2412         (gst_collect_pads_check_pads):
2413         Use additional refcounting to avoid crashes when dynamically adding and
2414         removing pads. Fixes #420206.
2415
2416 2007-05-24  Wim Taymans  <wim@fluendo.com>
2417
2418         * tools/gst-launch.c: (event_loop):
2419         When buffering goes from a two digit to a single digit number, make sure
2420         to remove the old second digit by writing a blank over it.
2421
2422 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2423
2424         * libs/gst/base/gstdataqueue.c:
2425           Eliminate tabs and trailing comma in enum list; fix some typos.
2426
2427 2007-05-24  Wim Taymans  <wim@fluendo.com>
2428
2429         * tests/check/gst/gstbin.c: (GST_START_TEST):
2430         Allow refcount of 3 and 4 because some state thread might still be busy
2431         with it.
2432
2433 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2434
2435         * plugins/elements/Makefile.am:
2436         * plugins/elements/gstmultiqueue.h:
2437         * plugins/elements/gstqueue.h:
2438           These are not installed headers, no need for padding.
2439
2440 2007-05-24  Wim Taymans  <wim@fluendo.com>
2441
2442         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2443         (gst_bin_continue_func):
2444         Enable latency for next release.
2445         Restore STATE_LOCK around recalc_state that was left out during the
2446         rewrite and could result in racy behaviour when _get_state and
2447         recalc_state are run concurrently. See #440463.
2448
2449 2007-05-23  Wim Taymans  <wim@fluendo.com>
2450
2451         * tests/check/gst/gstsystemclock.c: (store_callback),
2452         (GST_START_TEST):
2453         Improve test_async_order to also work when both timers are already
2454         expired when we get scheduled to check it.
2455
2456 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2459         (gst_bin_set_property), (gst_bin_get_property),
2460         (gst_bin_remove_func), (gst_bin_handle_message_func):
2461         * gst/gstbin.h:
2462           'private' is a c++ keyword, let's not use that in header files,
2463           otherwise c++ compilers will throw a tantrum.
2464
2465 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * plugins/elements/gstelements.c:
2468         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2469         (gst_file_sink_get_current_offset):
2470         * plugins/indexers/gstindexers.c: (plugin_init):
2471           Use #ifdef for HAVE_XYZ for consistency.
2472
2473         * tests/check/Makefile.am:
2474         * tests/check/elements/.cvsignore:
2475         * tests/check/elements/filesink.c: (setup_filesink),
2476         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2477           Add some unit tests for filesink.
2478
2479 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         Patch by: Mark Nauwelaerts <manauw at skynet be>
2482
2483         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2484         (gst_file_sink_query), (gst_file_sink_do_seek),
2485         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2486         * plugins/elements/gstfilesink.h:
2487           Fix position reporting; rename data_written member to current_pos to
2488           reflect its real meaning (fixes #412648).
2489
2490 2007-05-22  Edward Hervey  <edward@fluendo.com>
2491
2492         * docs/gst/gstreamer-sections.txt:
2493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2494         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2495         (gst_bin_remove_func), (gst_bin_handle_message_func):
2496         * gst/gstbin.h:
2497         Add a property for bins that handle the state change of their childs.
2498         Fixes #435880
2499
2500 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2501
2502         * libs/gst/controller/gstinterpolation.c:
2503         Use an array of the correct type when using _get_value_array with
2504         linear interpolation.
2505
2506 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2507
2508         * gst/gstelement.c (gst_element_requires_clock,
2509           gst_element_provides_clock, gst_element_request_pad,
2510           gst_element_class_set_details, gst_element_class_set_details_simple,
2511           gst_element_default_send_event, gst_element_abort_state,
2512           gst_element_continue_state, gst_element_set_state,
2513           gst_element_set_state_func, iterator_activate_fold_with_resync):
2514         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2515           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2516           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2517           gst_pad_get_range, gst_pad_pull_range):
2518         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2519           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2520           GstPadActivateModeFunction, GstPadChainFunction,
2521           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2522           GstPadFixateCapsFunction, GstPadTemplate):
2523         * gst/gstpipeline.c (gst_pipeline_change_state,
2524           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2525           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2526           gst_pipeline_get_delay):
2527           Whitespace and docs fixes.
2528
2529 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2530
2531         * libs/gst/controller/gstinterpolation.c:
2532         (interpolate_trigger_get_enum_value_array),
2533         (interpolate_trigger_get_string_value_array):
2534         Add support for retrieving value arrays when using the trigger
2535         interpolation mode. 
2536
2537 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2538
2539         * libs/gst/controller/gstcontroller.c:
2540         (gst_controller_get_value_array):
2541         * libs/gst/controller/gstcontroller.h:
2542         Clarify the docs of gst_controller_get_value_array(): The array where
2543         the values should be written to must be allocated as there seems to be
2544         no way to get the size of a random GType. This doesn't change any
2545         behaviour. Also fix some typos all over the place and remove an unused,
2546         commented function that is not necessary as g_object_set() could be
2547         used instead.
2548         * tests/check/libs/controller.c: (GST_START_TEST),
2549         (gst_controller_suite):
2550         Add unit test for gst_controller_get_value_array().
2551
2552 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2553
2554         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2555
2556         Disable part of the gst_buffer_try_new_and_alloc test, because
2557         it can happily succeed on 64-bit systems where there's more address
2558         space available.
2559
2560 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2561
2562         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2563         Add unit test for the improved caps checking from bug #421543.
2564
2565 2007-05-21  Wim Taymans  <wim@fluendo.com>
2566
2567         * docs/design/part-synchronisation.txt:
2568         Small addition.
2569
2570         * gst/gstbin.c: (gst_bin_query):
2571         * plugins/elements/gstqueue.c: (apply_segment):
2572         Improve debugging.
2573
2574         * gst/gstmessage.h:
2575         Improve docs.
2576
2577 2007-05-21  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2580         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2581         (gst_pad_configure_src):
2582         Added simple version of improved caps checking. It was previously
2583         assumed that a setcaps function would check the validity of the caps but
2584         people prefer us to check caps against the template automatically. 
2585         Fixes #421543.
2586
2587 2007-05-21  Wim Taymans  <wim@fluendo.com>
2588
2589         * libs/gst/base/gstbasetransform.h:
2590         Fix macro for locking/unlocking the transform lock.
2591
2592 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2593
2594         * docs/plugins/tmpl/.cvsignore:
2595           Ignore more.
2596
2597 2007-05-18  Edward Hervey  <edward@fluendo.com>
2598
2599         * plugins/elements/gstqueue.c: (gst_queue_loop):
2600         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2601         for the subtle art of warning a potentially blocking thread that it
2602         should check the source pad return value, and relay the information
2603         upstream.
2604
2605 2007-05-18  Edward Hervey  <edward@fluendo.com>
2606
2607         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2608         Release the queue lock !
2609
2610 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2611
2612         * docs/libs/gstreamer-libs-sections.txt:
2613         Add the two new controller functions to the appropiate places.
2614
2615 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2616
2617         reviewed by: Stefan Kost <ensonic@users.sf.net>
2618
2619         * libs/gst/controller/gstcontroller.c:
2620         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2621         (_gst_controller_get_property), (_gst_controller_set_property),
2622         (_gst_controller_init), (_gst_controller_class_init):
2623         * libs/gst/controller/gstcontroller.h:
2624         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2625         (gst_object_get_control_rate), (gst_object_set_control_rate):
2626         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2627         Add API that provides sync suggestion timestamps for elements that
2628         call gst_object_sync_values() from which those elements can subdivide
2629         their processing loop to get the best results for the controlled
2630         properties. For now it just suggests last_sync + control_rate as
2631         new timestamp but this will be improved in the future.
2632
2633         While doing that change the control-rate property to a GstClockTime
2634         from guint and change it's meaning from samples to nanoseconds as
2635         the GstController doesn't know anything about sampling rate. Strictly
2636         speaking this breaks ABI but as the control-rate property didn't do
2637         anything in the past and as such couldn't be used this should be no
2638         problem.        
2639
2640 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2641
2642         reviewed by: Stefan Kost <ensonic@users.sf.net>
2643
2644         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2645         (gst_controller_unset_all):
2646         * libs/gst/controller/gstcontrollerprivate.h:
2647         * libs/gst/controller/gstinterpolation.c:
2648         (gst_controlled_property_find_control_point_node):
2649         Save last synced value from the list to continue searching from there
2650         in future syncs. This speeds everything up a bit.
2651         
2652 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2653
2654         reviewed by: Stefan Kost <ensonic@users.sf.net>
2655
2656         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2657         (gst_control_point_find), (gst_controlled_property_new),
2658         (gst_control_point_free), (gst_controlled_property_free),
2659         (gst_controller_set), (gst_controller_set_from_list),
2660         (gst_controller_unset), (gst_controller_unset_all),
2661         (gst_controller_sync_values):
2662         * libs/gst/controller/gstcontroller.h:
2663         * libs/gst/controller/gstcontrollerprivate.h:
2664         * libs/gst/controller/gstinterpolation.c:
2665         (gst_controlled_property_find_control_point_node),
2666         (interpolate_none_get), (interpolate_trigger_get):
2667         Add a new private GstControlPoint struct which "inherits" from
2668         GstTimedValue to allow different interpolators to store internal
2669         values next to each control point. From the outside everything is
2670         still a GstControlPoint so we don't loose binary compatibility.
2671         Also fixup all the GValue handling to not leak GValues or list nodes.
2672         * tests/check/libs/controller.c: (GST_START_TEST):
2673         Free the list nodes and GValues in the controller_misc test.
2674
2675 2007-05-17  Edward Hervey  <edward@fluendo.com>
2676
2677         * gst/gstsegment.c:
2678         Small doc fix.
2679
2680 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * gst/gstplugin.c: (gst_plugin_load_file):
2683           If we fail to load a plugin because of unresolved symbols or missing
2684           libraries and spew a warning to stderr, we may just as well mention
2685           which plugin it was that failed to load.
2686
2687 2007-05-13  David Schleef  <ds@schleef.org>
2688
2689         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2690           handles the case when ENABLE_GTK_DOC is false, and installs
2691           the prebuilt documentation.  So gtk-doc subdirs are 
2692           unconditionally enabled.  Fixes: #349099.
2693
2694 2007-05-13  David Schleef  <ds@schleef.org>
2695
2696         * gst/gstutils.h: Reword some documentation.
2697
2698 2007-05-12  David Schleef  <ds@schleef.org>
2699
2700         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2701           do anything with the passed "module" parameter, so remove it.
2702           Allows removal of additional vestigal code.
2703
2704 2007-05-12  David Schleef  <ds@schleef.org>
2705
2706         * gst/gstplugin.c:
2707           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2708           Switch to using g_stat() because it's more portable.
2709
2710 2007-05-12  David Schleef  <ds@schleef.org>
2711
2712         * gst/gst.c:
2713           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2714           parsing for embedded systems.
2715         * gst/gstelementfactory.c:
2716           Allow gst_element_register() to be called with plugin==NULL.
2717           Did nobody notice that static elements were broken?
2718
2719 2007-05-12  Wim Taymans  <wim@fluendo.com>
2720
2721         * tools/gst-launch.c: (event_loop):
2722         Give more interesting info when buffering starts and stops.
2723         Fix case where buffering starts but we fail to update the buffering flag
2724         because the target state is not PLAYING.
2725
2726 2007-05-12  Wim Taymans  <wim@fluendo.com>
2727
2728         * plugins/elements/gstqueue.c: (gst_queue_init),
2729         (gst_queue_finalize), (update_time_level), (apply_segment),
2730         (apply_buffer), (gst_queue_locked_flush),
2731         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2732         (gst_queue_handle_sink_event), (gst_queue_chain),
2733         (gst_queue_push_one), (gst_queue_loop):
2734         * plugins/elements/gstqueue.h:
2735         Refactor an cleanup queue a bit.
2736         Do better time level calculations that also work when the srcpad is not
2737         yet running.
2738         Remove some unneeded debug lines.
2739
2740         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2741         Added testcase for time level measurement.
2742         Try to make some stuff more racefree.
2743
2744 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * gst/gsturi.c: (gst_element_make_from_uri):
2747           Don't leak plugin feature.
2748
2749         * tests/check/Makefile.am:
2750         * tests/check/gst/.cvsignore:
2751         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2752           Add brain-dead unit test.
2753
2754 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2755
2756         Patch by: Jeroen Wouters <woutersj at gmail com>
2757
2758         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2759           Treat protocol strings in a case-insensitive way (#437563).
2760
2761 2007-05-11  Michael Smith <msmith@fluendo.com>
2762
2763         * gst/gstplugin.c: (gst_plugin_load_file):
2764         * gst/gstregistry.c: (gst_registry_scan_path_level):
2765           Don't print a g_warning for any failure to load a shared object.
2766           Instead, push this down into gstplugin.c, and warn _only_ if we
2767           failed to open the module (i.e. failure to link).
2768           Avoids warnings on normal, working, non-plugin .so files.
2769
2770 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2771
2772         * gst/gstplugin.c (gst_plugin_load_file):
2773         * gst/gstregistry.c (GST_CAT_DEFAULT,
2774           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2775           Print a g_warning if there was an error when loading a plugins during
2776           registry scan. The shuld help beginners starting with gst-plugin
2777           template.
2778
2779 2007-05-10  Wim Taymans  <wim@fluendo.com>
2780
2781         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2782         (update_time_level), (gst_queue_locked_flush),
2783         (gst_queue_handle_sink_event), (gst_queue_chain),
2784         (gst_queue_push_one), (gst_queue_loop):
2785         * plugins/elements/gstqueue.h:
2786         Be smarter when calculating the current amount of data in the queue by
2787         measuring the difference between start and end timestamps (in running
2788         time) inside the queue. Fixes #432876.
2789         API: GstQueue::pushing to notify elements that we are pushing data again
2790         since the running signal is rather broken for this purpose.
2791
2792 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2793
2794         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2795           gst_queue_base_init, gst_queue_init):
2796           use GST_BOILERPLATE
2797
2798 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2799
2800         * win32/common/libgstreamer.def:
2801         Add new exported functions.
2802         * win32/vs6/grammar.dsp:
2803         Use grammar pre-generated files.
2804
2805 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2808
2809         * gst/Makefile.am:
2810         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2811         * gst/gstparse.h:
2812         * gst/gstutils.c: (gst_parse_bin_from_description):
2813         * gst/gstutils.h:
2814           Maintain API and ABI when --disable-parse is used. Now that
2815           we have an appropriate error code, we can just return NULL and the
2816           appropriate error when gst_parse_launch() is used despite it having
2817           been disabled (#342564).
2818
2819         * tests/check/Makefile.am:
2820         * tests/check/pipelines/.cvsignore:
2821         * tests/check/pipelines/parse-disabled.c:
2822           Make sure these functions exist and return NULL plus a GError when
2823           --disable-parse is used.
2824
2825 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2826
2827         * tests/benchmarks/complexity.c: (main):
2828         * tests/benchmarks/mass-elements.c: (main):
2829           Set a good example and don't leak messages.
2830
2831 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2832
2833         * docs/gst/Makefile.am:
2834         * docs/libs/Makefile.am:
2835           Correct fixxrefs options.
2836
2837         * docs/plugins/Makefile.am:
2838         * docs/plugins/gstreamer-plugins-docs.sgml:
2839         * docs/plugins/gstreamer-plugins-sections.txt:
2840         * plugins/elements/Makefile.am:
2841         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2842         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2843           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2844           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2845           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2846           _GstCapsFilterClass, trans_class):
2847         * plugins/elements/gstelements.c (name, rank, type, _elements):
2848         * plugins/elements/gstidentity.c
2849           (gst_identity_check_imperfect_timestamp,
2850           gst_identity_check_imperfect_offset):
2851           Document capsfilter and add doc-blurb to identity.
2852
2853 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * libs/gst/controller/gstcontroller.c:
2856         (gst_controlled_property_set_interpolation_mode):
2857         * libs/gst/controller/gstinterpolation.c:
2858           Don't crash if someone tries to set an interpolation mode that
2859           is invalid or that isn't supported yet. Fixes #422295.
2860
2861         * tests/check/libs/controller.c: (GST_START_TEST),
2862         (gst_controller_suite):
2863           Add a test case for the above.
2864
2865 2007-05-03  Edward Hervey  <edward@fluendo.com>
2866
2867         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2868         Properly set the last_stop position on GstSegment. This will only happen
2869         if there is a buffer to push out.
2870
2871 2007-05-03  Wim Taymans  <wim@fluendo.com>
2872
2873         * libs/gst/base/gstbasetransform.c:
2874         (gst_base_transform_buffer_alloc):
2875         always_in_place does not mean that the sink and source caps are the
2876         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2877
2878 2007-05-03  Wim Taymans  <wim@fluendo.com>
2879
2880         * docs/libs/gstreamer-libs-sections.txt:
2881         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2882         (gst_base_src_default_query), (gst_base_src_get_range):
2883         * libs/gst/base/gstbasesrc.h:
2884         API: gst_base_src_query_latency(). Added method so that subclasses can
2885         easily get the latency values of the base source class.
2886
2887 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2888
2889         * tools/gst-inspect.c (print_implementation_info):
2890         Remove 0.8 cruft.
2891
2892 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2893
2894         * tools/Makefile.am:
2895         * tools/gst-launch.1.in:
2896           Don't create a customised man page based on the host architecture,
2897           describe the default registry path generically. That way the man
2898           page is the same for all architectures and packagers have one
2899           multilib issue less to deal with. Fixes #434926.
2900
2901 2007-05-02  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/gstpad.c:
2904         Fix documentation as spotted by rg on IRC. 
2905
2906 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2907
2908         * gst/gstutils.c:
2909           Improve docs for gst_element_{link,unlink}.
2910
2911 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2912
2913         * docs/design/part-events.txt:
2914         * docs/design/part-overview.txt:
2915         * gst/gstevent.c:
2916         * gst/gsturi.c:
2917         * gst/gsturi.h:
2918         * libs/gst/base/gstbasesink.c:
2919           Typo fixes; minor docs addition.
2920
2921 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2922
2923         * docs/gst/gstreamer-sections.txt:
2924         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2925         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2926         * gst/gsturi.h:
2927         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2928         or src that supports a given URI protocol exists.
2929
2930 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2931
2932         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2933         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2934         Set the location to NULL if "file://" is set as URI. Otherwise
2935         some random previous URI would still be set if "file://" is
2936         set on an already used filesink/filesrc.
2937
2938 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2939
2940         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2941         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2942         Special case the "file://" URI as as this is used by some
2943         applications to test with gst_element_make_from_uri if there's
2944         an element that supports the URI protocol.
2945         Also move the g_path_is_absolute() check for the location part
2946         of the URI to also check this for "file://localhost/bla" URIs.
2947
2948 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2949
2950         * docs/gst/gstreamer-sections.txt:
2951         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2952         * gst/gstbuffer.h:
2953         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2954         (gst_buffer_suite):
2955           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2956
2957 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2958
2959         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2960         (gst_registry_binary_load_pad_template),
2961         (gst_registry_binary_load_plugin),
2962         (gst_registry_binary_read_cache):
2963         * gst/gstregistrybinary.h:
2964           Implement no-mmap alternative for registry reading. Do code cleanups.
2965           Add more comments about avoiding strdups for all text data. Comments
2966           welcome.
2967
2968 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2969
2970         * gst/gstregistrybinary.h (GstBinaryPluginElement,
2971           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2972           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2973           Comment structs and reformat to fix the build (that stuff should go
2974           into a priv. header).
2975
2976 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2977
2978         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2979         (gst_registry_binary_load_feature):
2980         * gst/gstregistrybinary.h:
2981           Refactor so that we can implement multiple features. Add support for
2982           TypeFindFactory features.
2983
2984 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
2985
2986         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2987
2988         * configure.ac:
2989           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2990
2991 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
2992
2993         * gst/gstbin.c: (gst_bin_element_set_state),
2994         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2995         (bin_handle_async_done), (gst_bin_handle_message_func):
2996           Fix build with --gst-disable-gst-debug
2997
2998 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2999
3000         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3001           Make sure streaming has finished before calling the ::stop() vfunc,
3002           since that vfunc might clear state which is being used in the
3003           streaming thread. This fixes a race that caused crashes in
3004           audioresample when shutting down a pipeline (#420106).
3005
3006 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3007
3008         * docs/gst/gstreamer-sections.txt:
3009           That was one byte missing.
3010
3011 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3012
3013         * configure.ac:
3014         * docs/gst/gstreamer-sections.txt:
3015         * gst/Makefile.am:
3016         * gst/gstconfig.h.in:
3017         * gst/gstobject.c: (gst_object_class_init),
3018         (gst_signal_object_class_init):
3019         * gst/gstobject.h:
3020           2nd attempt to have a xml-less build as a joined effort of #413123
3021           and #421480.
3022
3023 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3024
3025         * docs/design/draft-tagreading.txt:
3026           Added open issues/thoughts to draft.
3027
3028 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3029
3030         * gst/parse/grammar.tab.pre.c:
3031         * gst/parse/grammar.tab.pre.h:
3032         * gst/parse/lex._gst_parse_yy.pre.c:
3033         Update the prebuild parser sources.
3034
3035 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3036
3037         * gst/parse/Makefile.am:
3038         And now fix the building of the flex sources. Now everything should
3039         work as expected.
3040
3041 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3042
3043         * gst/parse/Makefile.am:
3044         Now hopefully fix the build failures by setting proper rule
3045         dependencies and moving instead of copying.
3046
3047 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3048
3049         * tests/benchmarks/complexity.gnuplot:
3050         * tests/benchmarks/complexity.scm:
3051         * tests/benchmarks/mass-elements.gnuplot:
3052         * tests/benchmarks/mass-elements.scm:
3053           Total licensification.
3054
3055 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3056
3057         * gst/parse/Makefile.am:
3058           Fix the build by correcting the rule that gave wrong files to flex.
3059
3060 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3061
3062         * tests/benchmarks/complexity.c:
3063         * tests/benchmarks/mass-elements.c:
3064           Change licence to LGPL as granted by Benjamin and Andy.
3065
3066 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3067
3068         * gst/parse/Makefile.am:
3069         Add correct grammar.tab.h dependency if compiling without new enough
3070         flex. Fixes #431150.
3071
3072 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3073
3074         * gst/parse/Makefile.am:
3075         Fix typo and use outdated sources if the flex/bison sources are newer
3076         than the pregenerated ones but flex is too old. Print a warning in
3077         that case. This should fix the build on the build bot.
3078
3079 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3080
3081         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3082         * gst/parse/Makefile.am:
3083         * gst/parse/grammar.y:
3084         * gst/parse/parse.l:
3085         Make the parser reentrant and recursively callable. This requires flex
3086         >= 2.5.31, for older versions pregenerated sources are used as we
3087         can't bump the build dependency. Finally fixes #349180.
3088
3089         * gst/gstparse.c: (gst_parse_launch):
3090         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3091         now anyway.
3092
3093         * docs/gst/Makefile.am:
3094         * docs/gst/Makefile.am:
3095         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3096         (__gst_parse_strfree), (__gst_parse_link_new),
3097         (__gst_parse_link_free), (__gst_parse_chain_new),
3098         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3099         (gst_parse_element_set), (gst_parse_free_link),
3100         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3101         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3102         (_gst_parse_launch):
3103         * gst/parse/grammar.tab.pre.h:
3104         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3105         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3106         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3107         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3108         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3109         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3110         (_gst_parse_yypop_buffer_state),
3111         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3112         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3113         (yy_fatal_error), (_gst_parse_yyget_extra),
3114         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3115         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3116         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3117         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3118         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3119         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3120         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3121         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3122         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3123         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3124         (_gst_parse_yyfree):
3125         If the installed flex version is too old use pre-generated parser
3126         sources. These pre-generated parser sources are always updated when
3127         the actual flex/bison sources change but require everybody who wants
3128         to change something in the parser to have flex >= 2.5.31 installed.
3129
3130 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3131
3132         * common/m4/gst-gettext.m4:
3133         * gst/gst-i18n-lib.h:
3134           Make --disable-nls to work
3135
3136 2007-04-17  Wim Taymans  <wim@fluendo.com>
3137
3138         * gst/gstconfig.h.in:
3139         Revert previous change that broke the build.
3140
3141 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3142
3143         * configure.ac:
3144         * gst/Makefile.am:
3145         * gst/gstconfig.h.in:
3146           Drop libxml2 dependency when building with 
3147           --enable-binary-registry --disable-loadsave
3148
3149 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3150
3151         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3152         (gst_registry_binary_read_cache):
3153         * gst/gstregistrybinary.h:
3154           Remove unnecessary <sys/mman.h> include which broke the win32 build
3155           with MingW; move includes from header file to .c file, even if the
3156           header file isn't installed; use g_strerror() where UTF-8 strings
3157           are expected, such as in GST_DEBUG messages.
3158
3159 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3160
3161         * docs/libs/gstreamer-libs-sections.txt:
3162         Remove bogus addition for API I didn't end up keeping.
3163
3164         * libs/gst/base/gstbasesrc.h:
3165         Mention Since: 0.10.13 in the documentation.
3166
3167         Add the API keyword to the previous ChangeLog entry.
3168
3169 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3170
3171         * docs/libs/gstreamer-libs-sections.txt:
3172         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3173         (gst_base_src_default_prepare_seek_segment),
3174         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3175         * libs/gst/base/gstbasesrc.h:
3176         Allow basesrc derived classes to execute seeks in other formats
3177         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3178         to prepare the GstSegment in any format that their perform_seek method
3179         will be able to understand. The default implementation provides the
3180         old behaviour of attempting to convert the seek offsets to the 
3181         configured native format.
3182
3183         API: basesrc::prepare_seek_segment vmethod.
3184
3185 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3186
3187         * gst/gstelement.c: (gst_element_get_state_func):
3188         Don't output the same debug statement twice.
3189
3190         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3191         (gst_adapter_peek), (gst_adapter_take_buffer):
3192         Optimise the case where we have buffers at the head of the queue that
3193         can be joined quickly (because they're contiguous sub-buffers) by
3194         merging them together rather than copying data out into new memory.
3195
3196         * gst/parse/grammar.y:
3197         * tests/check/pipelines/parse-launch.c:
3198         Fix a leak in an error path for parse_launch, and add a check 
3199         for it to the testsuite.
3200
3201 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3202
3203         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3204           Don't deadlock when releasing a pad - gst_pad_set_active may try
3205           and take the multiqueue lock too.
3206
3207 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3208
3209         * gst/gsterror.c: (_gst_core_errors_init):
3210         * gst/gsterror.h:
3211           API: add GST_CORE_ERROR_DISABLED (#392804).
3212
3213 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3214
3215         * docs/faq/gst-uninstalled:
3216           don't get empty paths on the PATH variables
3217         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3218           Don't format for the uncommon terminal width of 84 characters.
3219
3220 2007-04-06  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/gstpipeline.c: (reset_stream_time),
3223         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3224         Only try to select a different pipeline clock when we went back to
3225         PAUSED and not when we merely got flushed.
3226
3227 2007-04-05  Michael Smith  <msmith@fluendo.com>
3228
3229         * tools/gst-launch.1.in:
3230           fractions are better supported in gstreamer than ractions, so
3231           suggest using those.
3232
3233 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3234
3235         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3236
3237         * po/LINGUAS:
3238         * po/da.po:
3239           Added Danish translation.
3240
3241 2007-04-05  Wim Taymans  <wim@fluendo.com>
3242
3243         * libs/gst/base/gstbasesink.c:
3244         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3245         Fix leak caused when refusing newsegment after EOS.
3246
3247         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3248         (gst_fake_sink_init), (gst_fake_sink_set_property),
3249         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3250         (gst_fake_sink_render), (gst_fake_sink_change_state):
3251         * plugins/elements/gstfakesink.h:
3252         Add num-buffers property to make the element generate EOS after a
3253         configurable amount of buffers.
3254         API: fakesink::num-buffers property.
3255
3256         * tests/check/elements/fakesink.c: (GST_START_TEST),
3257         (fakesink_suite):
3258         Fix GstBus leak in test.
3259         Test for fakesink num-buffers.
3260
3261 2007-04-05  Wim Taymans  <wim@fluendo.com>
3262
3263         * libs/gst/base/gstbasesink.c:
3264         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3265         (gst_base_sink_change_state):
3266         Don't accept anything after an EOS, return UNEXPECTED instead.
3267
3268         * tests/check/elements/fakesink.c: (GST_START_TEST),
3269         (fakesink_suite):
3270         Unit test for new EOS behaviour.
3271
3272 2007-04-05  Wim Taymans  <wim@fluendo.com>
3273
3274         * gst/gstelement.c: (gst_element_get_request_pad):
3275         Make padtemplates also work when they don't contain %s or %d.
3276
3277 2007-04-05  Wim Taymans  <wim@fluendo.com>
3278
3279         * docs/gst/gstreamer-sections.txt:
3280         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3281         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3282         * gst/gstclock.h:
3283         Improve _adjust_unlocked() so that it overflows less.
3284         Add gst_clock_unadjust_unlocked to convert from external time to
3285         internal time based on calibration.
3286         Add some more debug.
3287         API: GstClock::gst_clock_unadjust_unlocked()
3288
3289 2007-04-03  Wim Taymans  <wim@fluendo.com>
3290
3291         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3292
3293         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3294         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3295         when releasing sink pad. Fixes #425400.
3296
3297 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3298
3299         * docs/random/ensonic/dynlink.txt:
3300           More work on proposal for new core api.
3301
3302         * docs/libs/gstreamer-libs-sections.txt:
3303         * libs/gst/base/gstbasetransform.h:
3304           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3305           
3306         * libs/gst/controller/gstcontroller.c:
3307         (on_object_controlled_property_changed),
3308         (gst_controller_sync_values),
3309         (gst_controller_set_interpolation_mode):
3310         * libs/gst/controller/gstcontroller.h:
3311           Less verbose logging add docs for unimplemented parts and correctly
3312           return when using unavailable parts.
3313
3314 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3315
3316         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3317         Move all the debug to the CLOCK category, and associate it with
3318         the clock object.
3319
3320 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3321
3322         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3323         Make take_buffer a bit quicker by removing redundant checks
3324         caused by calling gst_adapter_take.
3325
3326 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3327
3328         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3329           Don't leak GCond.
3330
3331         * tests/check/Makefile.am:
3332         * tests/check/elements/.cvsignore:
3333         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3334         (GST_START_TEST), (multiqueue_suite):
3335           Add some dead simple unit tests for the 'multiqueue' element
3336           (some bits don't work yet and are disabled for now).
3337
3338 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         * gst/gstelement.c: (gst_element_get_request_pad),
3341         (gst_element_class_get_request_pad_template):
3342           Make gst_element_get_request_pad() create request pads only for
3343           request pad templates and not for, say, sometimes pad templates.
3344
3345 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3346
3347         * docs/design/draft-klass.txt:
3348           Add example that needs more thinking.
3349         
3350         * docs/design/draft-missing-plugins.txt:
3351           More thoughts about wrapper plugins.
3352         
3353         * docs/random/ensonic/embedded.txt:
3354         * docs/random/ensonic/profiling.txt:
3355           More design work.
3356
3357 2007-03-25  Wim Taymans  <wim@fluendo.com>
3358
3359         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3360         (gst_base_src_loop):
3361         Only push the segment events in the PLAYING state for live sources.
3362
3363 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3364
3365         * gst/gstpipeline.c: (gst_pipeline_change_state):
3366         Modify the clock distribution path in PAUSED->PLAYING so that we 
3367         never attempt to choose a new clock unless we're actually leaving
3368         the PAUSED state for the first time. This prevents choosing a
3369         different clock when the state_change gets called for a 2nd time due
3370         to some element doing an async state change.
3371
3372 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3373
3374         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3375         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3376         (gst_pad_chain_unchecked), (gst_pad_push):
3377         Revert last commit. This needs some more thoughts.
3378
3379 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3380
3381         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3382         (gst_pad_chain_unchecked), (gst_pad_push):
3383         Check in set_caps if the caps are compatible with the pad and remove
3384         two functions that are redundant now. Fixes #421543.
3385
3386 2007-03-22  Wim Taymans  <wim@fluendo.com>
3387
3388         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3389         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3390         Unref some more to make valgrind happy.
3391
3392 2007-03-22  Wim Taymans  <wim@fluendo.com>
3393
3394         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3395         (gst_system_clock_id_wait_jitter),
3396         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3397         Fix anoying regression that survived a few releases. When adding an
3398         async entry while blocking on a sync entry, the sync entry will unblock
3399         but still be busy, so it should continue to wait instead of returning
3400         _BUSY to the app.
3401         Add some comments here and there.
3402
3403         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3404         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3405         Add testcase for this.
3406
3407 2007-03-22  Wim Taymans  <wim@fluendo.com>
3408
3409         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3410         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3411         WRONG_STATE and can silently pause the task. All other cases should
3412         error out.
3413
3414 2007-03-22  Wim Taymans  <wim@fluendo.com>
3415
3416         Patch by: Ville Syrjala <syrjala at sci dot fi>
3417
3418         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3419         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3420         Improve debugging.
3421
3422 2007-03-21  Michael Smith  <msmith@fluendo.com>
3423
3424         * docs/pwg/advanced-types.xml:
3425           Fix some errors in the typefinding docs pointed out on irc.
3426
3427 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3428
3429         * libs/gst/base/gstbasesrc.c:
3430         Clarify FIXME comment in the face of having added unlock_stop()
3431
3432 2007-03-21  Wim Taymans  <wim@fluendo.com>
3433
3434         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3435         Prepare for release where we warn against possible app breakage in the
3436         case of live pipelines along with an env var to enable/disable live
3437         preroll mode (GST_COMPAT=[no-]live-preroll).
3438
3439 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3440
3441         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3442         So we should use correct constants for checking for None offset.
3443
3444 2007-03-20  Wim Taymans  <wim@fluendo.com>
3445
3446         * docs/design/part-block.txt:
3447         Mention the fact that the newly switched element should be set to at
3448         least PAUSED.
3449
3450 2007-03-20  Wim Taymans  <wim@fluendo.com>
3451
3452         * gst/gst.c:
3453         Fix compilation with registry disabled as spotted by Saur.
3454
3455 2007-03-20  Wim Taymans  <wim@fluendo.com>
3456
3457         Patch by: Olivier Crete <tester at tester dot ca>
3458
3459         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3460         Look at the pending state too when syncing the element state to the
3461         parent. Fixes #420133.
3462
3463 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3464
3465         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3466         (gst_base_sink_change_state):
3467         * libs/gst/base/gstbasesink.h:
3468         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3469         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3470         (gst_base_src_deactivate):
3471         * libs/gst/base/gstbasesrc.h:
3472         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3473         for sub-classes to correctly clear any state they set trying to
3474         unlock, such as clearing out unlock commands from a command fd.
3475         API: basesrc::unlock_stop
3476         API: basesink::unlock_stop
3477
3478         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3479         (gst_fd_sink_render), (gst_fd_sink_unlock),
3480         (gst_fd_sink_unlock_stop):
3481         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3482         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3483         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3484
3485         Implement unlock_stop in fdsrc and fdsink.
3486         Implement seeking in fdsrc when a seekable fd is passed, as in
3487         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3488
3489 2007-03-19  Wim Taymans  <wim@fluendo.com>
3490
3491         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3492
3493         * gst/gstelement.c: (gst_element_class_init):
3494         Fix pad-added and pad-removed signal signatures so that the pad type is
3495         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3496
3497 2007-03-19  Wim Taymans  <wim@fluendo.com>
3498
3499         * docs/gst/gstreamer-sections.txt:
3500         Add new element field and method.
3501
3502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3503         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3504         (gst_bin_recalc_state), (gst_bin_get_state_func),
3505         (gst_bin_element_set_state), (gst_bin_change_state_func),
3506         (gst_bin_continue_func), (bin_bus_handler),
3507         (bin_push_state_continue), (bin_handle_async_start),
3508         (bin_handle_async_done), (gst_bin_handle_message_func):
3509         Make async state changes a bit smarter by using new ASYNC_START and
3510         ASYNC_DONE messages. This reduces the number of times we run the state
3511         recalculation thread.
3512         Don't change state of element with a pending ASYNC_START message.
3513         Deprecate STATE_DIRTY messages.
3514         
3515         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3516         (gst_element_get_state_func), (gst_element_continue_state),
3517         (gst_element_lost_state), (gst_element_set_state_func),
3518         (gst_element_change_state):
3519         * gst/gstelement.h:
3520         Keep the state that was last set by the app in a new element field.
3521         Don't allow state changes when handling an element event.
3522         Post ASYNC_START and ASYNC_DONE messages.
3523         Change lost_state so that we go to PAUSED and wait for the parent to set
3524         us to PLAYING again (so latency calculation can be performed)
3525         Export gst_element_change_state() method so that subclasses can use it.
3526         API: gst_element_change_state()
3527         API: GST_STATE_TARGET
3528
3529         * gst/gstpipeline.c: (gst_pipeline_class_init),
3530         (reset_stream_time), (gst_pipeline_change_state),
3531         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3532         Using the new ASYNC_START message we can reset the base_time when
3533         needed. This can then be used to implement base_time redistribution in
3534         flushing seeks so that we can remove the explicit seek handling.
3535         Perform latency query and configuration when going to PLAYING.
3536
3537         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3538         (gst_base_sink_query), (gst_base_sink_change_state):
3539         Post new ASYNC_START/ASYNC_DONE messages.
3540
3541         * tests/check/generic/sinks.c: (GST_START_TEST):
3542         Fix test because the bin will not set the async element to PLAYING right
3543         away.
3544
3545         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3546         Make the message check a little stronger.
3547         Handle ASYNC messages.
3548
3549         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3550         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3551         Expect ASYNC_DONE messages.
3552
3553 2007-03-19  Wim Taymans  <wim@fluendo.com>
3554
3555         * docs/gst/gstreamer-sections.txt:
3556         * gst/gstmessage.c: (gst_message_new_async_start),
3557         (gst_message_new_async_done), (gst_message_parse_info),
3558         (gst_message_parse_async_start):
3559         * gst/gstmessage.h:
3560         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3561         support.
3562
3563 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3564
3565         * tools/gst-inspect.c:
3566         (print_plugin_automatic_install_info_codecs):
3567           Now that we don't check for the 'Codec' keyword any longer in the
3568           klass, we shouldn't spew a warning if the klass isn't a decoder or
3569           encoder (since it might be a Source/Network, for example).
3570
3571 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * tools/gst-inspect.c:
3574         (print_plugin_automatic_install_info_codecs):
3575           Don't require decoder/demuxer/depayloader elements or
3576           encoder/muxer/paylader elements to have 'Codec' as part of their
3577           factory class string when introspecting a plugin's capabilities.
3578           draft-klass.txt mentions that it might be removed in future, and
3579           flump3dec doesn't have it as part of its class string, so chances
3580           are others might also not have it.
3581
3582 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3583
3584         * po/af.po:
3585         * po/az.po:
3586         * po/bg.po:
3587         * po/ca.po:
3588         * po/cs.po:
3589         * po/de.po:
3590         * po/en_GB.po:
3591         * po/fr.po:
3592         * po/it.po:
3593         * po/nb.po:
3594         * po/nl.po:
3595         * po/ru.po:
3596         * po/sq.po:
3597         * po/sr.po:
3598         * po/sv.po:
3599         * po/tr.po:
3600         * po/uk.po:
3601         * po/vi.po:
3602         * po/zh_CN.po:
3603         * po/zh_TW.po:
3604           Update translations from translation project
3605
3606 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3607
3608         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3609         (gst_child_proxy_set_property):
3610           Invert precondition check to be alike the ones in the mimiced gobject
3611           api.
3612
3613 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3614
3615         * docs/design/draft-tagreading.txt:
3616         * docs/random/ensonic/audiobaseclasses.txt:
3617           Do some Architect work.
3618
3619         * gst/gstobject.c: (gst_object_set_name):
3620           Add a WARNING.
3621
3622         * gst/gstpad.c:
3623           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3624
3625 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3626
3627         * gst/gstsystemclock.c: (gst_system_clock_init),
3628         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3629         Defer starting the async system clock thread until the first async
3630         wait is scheduled. Fixes #414986.
3631
3632 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3633
3634         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3635         (gst_single_queue_free):
3636           Fix small leak (free GstSingleQueue structure too, not only contents).
3637
3638 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3639
3640         * gst/gstbin.c:(gst_bin_add):
3641         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3642         * win32/common/libgstbase.def:
3643         * win32/common/libgstreamer.def:
3644         Add new exported functions.
3645
3646 2007-03-09  Wim Taymans  <wim@fluendo.com>
3647
3648         * docs/plugins/gstreamer-plugins-sections.txt:
3649         Fix GstTee docs.
3650
3651 2007-03-09  Wim Taymans  <wim@fluendo.com>
3652
3653         * docs/gst/gstreamer-sections.txt:
3654         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3655         * gst/gstbuffer.h:
3656         Add metadata copy functions. Fixes #393099.
3657         API: gst_buffer_copy_metadata()
3658
3659         * gst/gstutils.c: (gst_buffer_stamp):
3660         * libs/gst/base/gstbasetransform.c:
3661         (gst_base_transform_prepare_output_buffer):
3662         Use new metadata copy functions.
3663
3664 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3667         (gst_identity_init), (gst_identity_check_perfect),
3668         (gst_identity_check_imperfect_timestamp),
3669         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3670         (gst_identity_set_property), (gst_identity_get_property):
3671         * plugins/elements/gstidentity.h:
3672         Separate out check-imperfect-timestamp and check-imperfect-offset.
3673         Put back check-perfect as it was to keep compatibility.
3674
3675 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3676
3677         * gst/gstelement.c: (gst_element_dispose):
3678         There's no need to warn if VOID_PENDING is not NONE here, as
3679         long as the state is NULL it's ok, and that's checked immediately
3680         above.
3681
3682 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3683
3684         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3685         Fix check for perfect stream to ignore buffers with -1 
3686         offsets/offset ends when checking data contiguity.
3687
3688 2007-03-08  Wim Taymans  <wim@fluendo.com>
3689
3690         * tools/gst-launch.c: (event_loop):
3691         Print INFO messages.
3692
3693 2007-03-08  Wim Taymans  <wim@fluendo.com>
3694
3695         * libs/gst/base/gstbasetransform.c:
3696         (gst_base_transform_sink_eventfunc),
3697         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3698         (gst_base_transform_activate):
3699         * libs/gst/base/gstbasetransform.h:
3700         Add support for dropping buffers with custom GstFlowReturn.
3701         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3702         buffers or dropped buffers.
3703
3704         * docs/libs/gstreamer-libs-sections.txt:
3705         docs for new custom return code.
3706
3707         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3708         Use drop support in base class to implement drop-probability.
3709
3710 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3711
3712         * gst/gst.c: (load_plugin_func):
3713         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3714         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3715         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3716           Remove newlines at end of debug log strings.
3717
3718 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3719
3720         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3721         Only post bus message at max, once per buffer received.
3722
3723 2007-03-07  Wim Taymans  <wim@fluendo.com>
3724
3725         * docs/design/Makefile.am:
3726         * docs/design/part-synchronisation.txt:
3727         Add doc about synchronisation
3728
3729         * docs/design/draft-latency.txt:
3730         * docs/design/part-TODO.txt:
3731         * docs/design/part-clocks.txt:
3732         * docs/design/part-events.txt:
3733         * docs/design/part-gstbus.txt:
3734         * docs/design/part-gstpipeline.txt:
3735         * docs/design/part-live-source.txt:
3736         * docs/design/part-messages.txt:
3737         * docs/design/part-overview.txt:
3738         * docs/design/part-streams.txt:
3739         * docs/design/part-trickmodes.txt:
3740         Documentation updates.
3741
3742 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3743
3744         * gstreamer.doap:
3745         Update the doap file.
3746
3747 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3748
3749         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3750         Rename non-perfect to imperfect for Mike and for the sanctity of the
3751         language.
3752         Also make sure bus message gets emitted for data-incontiguities.
3753
3754 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3755
3756         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3757         (gst_identity_start):
3758         * plugins/elements/gstidentity.h:
3759         Emit bus message if check-perfect is true and we encounter a
3760         non-perfect stream between 2 consecutive buffers.
3761         Fixes #415394.
3762
3763 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3764
3765         * configure.ac:
3766         Back to CVS
3767
3768 === release 0.10.12 ===
3769
3770 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3771
3772         * configure.ac:
3773           releasing 0.10.12, "Inevitable Demise"
3774
3775 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3776
3777         * configure.ac:
3778          Version 0.10.11.2 (0.10.12 pre-release)
3779          Bump libtool versioning.
3780
3781 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3782
3783         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3784           Log flow-names and not numbers.
3785
3786 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3787
3788         * configure.ac:
3789           Convert to new AG_GST style.
3790
3791 2007-02-28  Wim Taymans  <wim@fluendo.com>
3792
3793         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3794         Don't unref query twice.
3795
3796 2007-02-28  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/gstvalue.c: (gst_value_transform_object_string),
3799         (_gst_value_initialize):
3800         Implement GstObject -> string transform so we print object names
3801         when serializing GValues containing GstObjects.
3802
3803 2007-02-28  Wim Taymans  <wim@fluendo.com>
3804
3805         * docs/gst/gstreamer-sections.txt:
3806         Add new stuff to docs.
3807
3808 2007-02-28  Wim Taymans  <wim@fluendo.com>
3809
3810         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3811         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3812         (gst_base_sink_change_state):
3813         Improve latency query code.
3814         Don't leak latency events.
3815
3816         * tests/check/gst/gstbin.c: (GST_START_TEST):
3817         Improve debugging.
3818
3819 2007-02-28  Wim Taymans  <wim@fluendo.com>
3820
3821         * gst/gstelement.c: (gst_element_message_full),
3822         (gst_element_get_state_func):
3823         * gst/gstelement.h:
3824         Improve docs a little. Added Since: for new macro.
3825
3826         * gst/gstobject.c: (gst_object_sink):
3827         * gst/gstpipeline.c: (gst_pipeline_change_state),
3828         (gst_pipeline_set_new_stream_time):
3829         * gst/gstpipeline.h:
3830         Improve debugging and docs.
3831
3832         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3833         Improve debugging.
3834
3835 2007-02-28  Wim Taymans  <wim@fluendo.com>
3836
3837         * gst/gstelement.c: (gst_element_message_full),
3838         (gst_element_set_locked_state), (gst_element_get_state_func),
3839         (gst_element_change_state):
3840         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3841         Documentation updates.
3842         Small code cleanups.
3843
3844         * gst/gstmessage.c: (gst_message_new_info),
3845         (gst_message_parse_info):
3846         * gst/gstmessage.h:
3847         API: gst_message_new_info()
3848         API: gst_message_parse_info()
3849         Add INFO message create and parse code.
3850
3851 2007-02-28  Wim Taymans  <wim@fluendo.com>
3852
3853         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3854         (bin_query_latency_done):
3855         Also report the live parameter of a latency query.
3856
3857 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3858
3859         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3860           Copy the current generic/states example from -base and adapt so
3861           we can use the exact same code everywhere.
3862           Check a STATES_IGNORE_ELEMENTS env var which can be used
3863           to ignore certain element factories for this test, which is
3864           what is being done in -base
3865         * tests/check/Makefile.am:
3866           Mention this environment variable.
3867
3868 2007-02-27  Wim Taymans  <wim@fluendo.com>
3869
3870         * docs/gst/gstreamer-sections.txt:
3871         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3872         (gst_bus_timed_pop), (gst_bus_pop):
3873         * gst/gstbus.h:
3874         API: gst_bus_timed_pop()
3875         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3876         message to arrive on the bus.
3877
3878         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3879         (gst_bus_suite):
3880         Two unit tests for new _timed_pop() function.
3881
3882 2007-02-23  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/gstpipeline.c: (gst_pipeline_change_state),
3885         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3886         Don't ref a NULL clock in _provide_clock_func().
3887         Don't allow an INVALID delay.
3888         Don't try to calculate base_time with an invalid start_time.
3889         Also distribute and notify a NULL clock when it was selected.
3890
3891         * tools/gst-launch.c: (event_loop):
3892         Don't crash when a NULL clock was selected in the pipeline.
3893
3894 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         * docs/design/Makefile.am:
3897         * docs/design/draft-missing-plugins.txt:
3898         * docs/random/draft-missing-plugins.txt:
3899           Some small updates: update plugin system identifier prefix
3900           ('gstreamer.net' to 'gstreamer'), mention our new install
3901           API in libgstbaseutils rather than libgimme-codec, add
3902           reference to the online docs.
3903
3904 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3905
3906         * win32/common/config.h:
3907           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3908           use moap cl ci to only check in what is mentioned in the ChangeLog.
3909
3910 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3911
3912         * docs/gst/gstreamer-sections.txt:
3913         * gst/gstelement.h:
3914           Fix up documentation to link to the correct GstGError section.
3915           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3916
3917 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3918
3919         * tools/gst-launch.c: (event_loop):
3920           Make sure that we actually show the important message part of a
3921           warning message.
3922           No need to check if the gerror is not NULL to free; first of all
3923           g_free accepts NULL; and second the default error handler would
3924           segfault if gerror was NULL.
3925
3926 2007-02-21  Wim Taymans  <wim@fluendo.com>
3927
3928         * docs/gst/gstreamer-sections.txt:
3929         Removed docs as well.
3930
3931 2007-02-21  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/gstmessage.c: (gst_message_parse_duration):
3934         * gst/gstmessage.h:
3935         Remove new messages for release.
3936
3937 2007-02-20  Wim Taymans  <wim@fluendo.com>
3938
3939         * docs/design/part-gstghostpad.txt:
3940         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3941         (gst_ghost_pad_new_full):
3942         Make the ghostpad a parent of the internal pad again for better backward
3943         compatibility. Don't write code that relies on this however.
3944
3945         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3946         (gst_pad_link_check_hierarchy):
3947         Require that parents should be GstElements in the hierarchy check.
3948
3949 2007-02-20  Wim Taymans  <wim@fluendo.com>
3950
3951         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3952         (gst_bin_change_state_func), (bin_query_min_max_init),
3953         (bin_query_latency_fold), (bin_query_latency_done),
3954         (gst_bin_query):
3955         Improve debug info.
3956         Implement latency query.
3957
3958 2007-02-20  Wim Taymans  <wim@fluendo.com>
3959
3960         * docs/design/part-gstghostpad.txt:
3961         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3962         (gst_ghost_pad_internal_do_activate_push),
3963         (gst_ghost_pad_internal_do_activate_pull),
3964         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3965         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3966         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3967         Do not set the internal pad as a parent anymore so we can avoid
3968         hierarchy linking errors when the ghostpad has no parent yet. This also
3969         fixes failed activation because of unlinked internal pads, which in
3970         turn fixes the impossible case where you have to activate a pad before
3971         you can add it to a running element.
3972         Also fix the docs.
3973
3974         * gst/gstpad.c: (pre_activate), (post_activate),
3975         (gst_pad_set_active), (gst_pad_activate_pull),
3976         (gst_pad_activate_push), (gst_pad_check_pull_range):
3977         Add some more debug info.
3978         Mark activation mode in pre_activate so that we don't try to activate in
3979         endless loops. Fixes #385084.
3980
3981 2007-02-19  Wim Taymans  <wim@fluendo.com>
3982
3983         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3984         (gst_base_transform_check_get_range):
3985         Implement a checkgetrange function instead of relying on the default
3986         core behaviour that assumes we can operate in pull mode if we have a
3987         getrange function. First step at fixing #385084.
3988
3989 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
3990
3991         * gst/gstchildproxy.h:
3992         * libs/gst/base/gstbasesink.h:
3993         * libs/gst/base/gstbasesrc.h:
3994         * libs/gst/base/gstbasetransform.h:
3995         More docs coverage and some ChangeLog surgery (add missing names)
3996
3997 2007-02-15  Wim Taymans  <wim@fluendo.com>
3998
3999         * docs/design/part-TODO.txt:
4000         * docs/design/part-activation.txt:
4001         * docs/design/part-block.txt:
4002         * docs/design/part-buffering.txt:
4003         * docs/design/part-clocks.txt:
4004         * docs/design/part-element-source.txt:
4005         * docs/design/part-events.txt:
4006         * docs/design/part-gstbin.txt:
4007         * docs/design/part-gstbus.txt:
4008         * docs/design/part-gstpipeline.txt:
4009         * docs/design/part-live-source.txt:
4010         * docs/design/part-messages.txt:
4011         * docs/design/part-overview.txt:
4012         * docs/design/part-qos.txt:
4013         * docs/design/part-query.txt:
4014         * docs/design/part-states.txt:
4015         * docs/design/part-trickmodes.txt:
4016         Some doc updates. Start renaming from stream_time to running_time where
4017         it was used wrongly.
4018
4019 2007-02-15  Wim Taymans  <wim@fluendo.com>
4020
4021         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4022         Answer LATENCY query.
4023
4024 2007-02-15  Wim Taymans  <wim@fluendo.com>
4025
4026         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4027         (GST_START_TEST):
4028         Improve debugging.
4029
4030 2007-02-15  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4033         (gst_pad_dispatcher):
4034         Improve debugging of default pad dispatcher and query functions.
4035
4036 2007-02-15  Wim Taymans  <wim@fluendo.com>
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         Remove old unused method.
4040
4041 2007-02-13  Wim Taymans  <wim@fluendo.com>
4042
4043         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4044         Fix check
4045
4046 2007-02-13  Wim Taymans  <wim@fluendo.com>
4047
4048         * docs/design/part-seeking.txt:
4049         Some small update.
4050
4051         * gst/gstsegment.c: (gst_segment_set_seek):
4052         Revert old bogus change that should make seeking work again.
4053
4054 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4055
4056         * docs/random/ensonic/dynlink.txt:
4057         * docs/random/ensonic/interfaces.txt:
4058         * docs/random/ensonic/receipies.txt:
4059           Possible dynamic reconnection api, plus some type fixes the other two
4060           docs.
4061
4062 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4063
4064         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4065         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4066         Also check for an absolute path following file:// in the filesrc
4067         element. Remove redundant check and call g_path_is_absolute() on the
4068         unescaped location.
4069
4070 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4071
4072         * docs/design/draft-klass.txt:
4073           Add existing category analysis.
4074           
4075         * gst/gstcaps.c:
4076           Fix doc example, framerate is a fraction.
4077
4078 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4079
4080         * configure.ac:
4081         * docs/gst/Makefile.am:
4082         * docs/gst/gstreamer-sections.txt:
4083         * docs/libs/Makefile.am:
4084           Erm, forgot a bunch of --extra-dir.
4085
4086 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4087
4088         * configure.ac:
4089         * docs/gst/Makefile.am:
4090         * docs/libs/Makefile.am:
4091         * docs/plugins/Makefile.am:
4092           Add crossreferences to glib/gobject docs.
4093
4094 2007-02-12  Wim Taymans  <wim@fluendo.com>
4095
4096         * docs/design/draft-latency.txt:
4097         Small update.
4098
4099         * docs/libs/gstreamer-libs-sections.txt:
4100         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4101         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4102         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4103         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4104         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4105         (gst_base_sink_get_position), (gst_base_sink_query),
4106         (gst_base_sink_change_state):
4107         * libs/gst/base/gstbasesink.h:
4108         API: gst_base_sink_query_latency() to let subclasses query the upstream
4109         latency.
4110         API: gst_base_sink_get_latency() to let subclasses query the configured
4111         latency in the sink.
4112         Implement query and set latency.
4113         Update some docs.
4114         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4115         don't continue preroll when we are flushing. Fixes #405284.
4116
4117         * tests/check/pipelines/stress.c: (change_state_timeout),
4118         (quit_timeout), (GST_START_TEST), (stress_suite):
4119         Test for #405284.
4120
4121 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         Patch by: René Stadler <mail at renestadler de>
4124
4125         * docs/gst/gstreamer-sections.txt:
4126         * gst/gsttaglist.c: (_gst_tag_initialize):
4127         * gst/gsttaglist.h:
4128           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4129
4130 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4131
4132         * docs/libs/Makefile.am:
4133           Fix path to core docs.
4134
4135         * gst/gstbin.c: (gst_bin_get_by_interface),
4136         (gst_bin_iterate_all_by_interface):
4137           Refix docs by also renaming 'interface' to 'iface' in implementation.
4138
4139         * docs/gst/gstreamer-sections.txt:
4140         * gst/gstcaps.c:
4141         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4142         * gst/gstchildproxy.h:
4143         * gst/gstelementfactory.c:
4144         * gst/gstpadtemplate.h:
4145         * libs/gst/controller/gstcontroller.c:
4146         (gst_controlled_property_new):
4147           Document more.
4148
4149 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4150
4151         * gst/gstbin.h:(gst_bin_get_by_interface),
4152         (gst_bin_iterate_all_by_interface):
4153         Replace interface parameter name by iface as interface is 
4154         a reserved keyword in Visual Studio for C++ projects so it removes
4155         a build error for application developpers using VS.
4156         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4157         Fix a bug on Windows in uri format check. Now the prefix checked
4158         is file:// and next we check if the path after file:// is absolute.
4159         * win32/common/libgstbase.def:
4160         * win32/common/libgstdataprotocol.def:
4161         * win32/common/libgstgstreamer.def:
4162         Add new exported functions.
4163
4164 2007-02-09  Andy Wingo  <wingo@pobox.com>
4165
4166         * tests/check/pipelines/simple-launch-lines.c
4167         (simple_launch_lines_suite, test_tee): Disable tee test until I
4168         have time to fix it :-(
4169
4170         * tests/check/Makefile.am (noinst_HEADERS): 
4171         * tests/check/libs/libsabi.c: 
4172         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4173         * tests/check/gst/gstabi.c: 
4174         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4175
4176         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4177         tests for push and pull tee behavior.
4178
4179         * plugins/elements/gsttee.h: 
4180         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4181         mark as deprecated as well as unimplemented. It was a crack idea.
4182         Add support for tee operating in pull mode, off by default.
4183
4184         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4185         normal-case logs down to LOG, raise errors to WARNING.
4186         (gst_registry_xml_read_cache): Don't log before calling a function
4187         that logs.
4188
4189         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4190         exit (registry finalize).
4191         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4192         DEBUG log when we emit signals that people don't even have the
4193         chance to connect to.
4194         (gst_registry_scan_path_level): Less logging in the normal case.
4195
4196 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4197
4198         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4199
4200         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4201         Correctly generate EOS for non-seekable files. We don't have a total
4202         length for them and would get an unexpected end of file if we only
4203         special-cased for regular files. (Fixes: #404569)
4204
4205 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4206
4207         * tests/check/elements/filesrc.c: (GST_START_TEST),
4208         (filesrc_suite):
4209         Add unit test for the GstURIHandler interface in filesrc. This also
4210         tests the newly added file://localhost/foo/bar support.
4211
4212 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4213
4214         * gst/gstelementfactory.h:
4215           The klass string is not a hierarchy. Add reference to the design doc
4216           for more information and common types.
4217
4218 2007-02-02  Wim Taymans  <wim@fluendo.com>
4219
4220         * gst/gstquery.c: (gst_query_new_latency):
4221         Remove old structure field.
4222
4223 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4224
4225         * tools/gst-launch.1.in:
4226           Give example for network streaming (#351998)
4227
4228 2007-02-02  Wim Taymans  <wim@fluendo.com>
4229
4230         * docs/gst/gstreamer-sections.txt:
4231         Add docs for new methods.
4232
4233         * gst/gstevent.c: (gst_event_new_latency),
4234         (gst_event_parse_latency):
4235         * gst/gstevent.h:
4236         Add new LATENCY event to configure latency in a pipeline.
4237         API: gst_event_new_latency
4238         API: gst_event_parse_latency
4239
4240         * gst/gstmessage.c: (gst_message_new_buffering),
4241         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4242         (gst_message_new_latency), (gst_message_parse_buffering),
4243         (gst_message_parse_lost_preroll):
4244         * gst/gstmessage.h:
4245         Added messages used in draft-latency.
4246         API: gst_message_new_lost_preroll
4247         API: gst_message_parse_lost_preroll
4248         API: gst_message_new_prerolled
4249         API: gst_message_new_latency
4250
4251         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4252         (gst_query_parse_latency):
4253         * gst/gstquery.h:
4254         Implemented new latency query as in design doc.
4255         API: gst_query_new_latency
4256         API: gst_query_set_latency
4257         API: gst_query_parse_latency
4258
4259 2007-02-02  Wim Taymans  <wim@fluendo.com>
4260
4261         * docs/design/draft-latency.txt:
4262         Slight redesign to allow for dynamic latency adjustments.
4263
4264         * docs/design/part-negotiation.txt:
4265         Fix some typos.
4266
4267 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4268
4269         reviewed by: Wim Taymans <wim@fluendo.com>
4270
4271         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4272         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4273         Allow file://localhost/foo/bar URLs and correctly fail for every other
4274         hostname that one sets. This was gnomevfssrc is linked for those if
4275         installed as it can handle it (#403172)
4276
4277 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4278
4279         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4280
4281         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4282         (unref_data), (gst_collect_pads_add_pad_full):
4283         * libs/gst/base/gstcollectpads.h:
4284         Don't put the previously added destroy notify in the GstCollectData
4285         struct as all it's padding is already used and we don't want to break
4286         ABI. Instead put in the pad's GObject data for now. This should be
4287         cleaned up for 0.11 (#402393).
4288
4289 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4290
4291         reviewed by: Wim Taymans <wim@fluendo.com>
4292
4293         * docs/libs/gstreamer-libs-sections.txt:
4294         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4295         (unref_data), (gst_collect_pads_add_pad),
4296         (gst_collect_pads_add_pad_full):
4297         * libs/gst/base/gstcollectpads.h:
4298         API: Add function to specify a destroy notification for custom
4299         GstCollectData when adding new pads in GstCollectPads (#402393).
4300
4301 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4302
4303         * po/sv.po:
4304           Update Swedish translation (#378255).
4305
4306 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4307
4308         * docs/design/draft-klass.txt:
4309           Fix the previous change, this is a list of categories and not a hierarchy.
4310
4311 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4312
4313         * docs/design/draft-klass.txt:
4314           Add info about how to get a list of used classes.
4315
4316 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4317
4318         * plugins/elements/gsttypefindelement.c:
4319         (gst_type_find_element_chain_do_typefinding),
4320         (gst_type_find_element_change_state):
4321           Don't leak found caps in chain function (no idea why that never
4322           showed up as a leak anywhere).
4323
4324 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4325
4326         * gst/gstplugin.h:
4327           Fix and expand GstPluginDesc API docs.
4328
4329 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4330
4331         * gst/gstcaps.c:
4332         * gst/gstelementfactory.c:
4333         * gst/gstpadtemplate.h:
4334           api doc fixes
4335
4336         * libs/gst/controller/gstcontroller.c:
4337         (gst_controlled_property_new):
4338         * tests/examples/controller/audio-example.c:
4339           comment fixes
4340
4341 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4342
4343         * configure.ac:
4344           comment about refining the xml deps
4345
4346         * docs/manuals.mak:
4347           comments about moving away from jade for docs
4348         
4349         * gst/gst.c:
4350           recommit the ifdefs to use the binary registry
4351         
4352         * gst/gstbin.c: (gst_bin_change_state_func):
4353           this break is obsolete
4354
4355         * gst/gstelementfactory.h:
4356           better GST_ELEMENT_DETAILS docs, add comment about translation
4357
4358         * gst/gstinfo.h:
4359           remove eol slash
4360
4361         * gst/gstobject.c: (gst_signal_object_get_type):
4362           add G_UNLIKELY as usual
4363
4364         * gst/gstpad.c: (gst_pad_event_default):
4365           add fall trhu comment
4366
4367         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4368         (gst_registry_binary_initialize_magic),
4369         (gst_registry_binary_save_string),
4370         (gst_registry_binary_save_pad_template),
4371         (gst_registry_binary_save_feature),
4372         (gst_registry_binary_save_plugin),
4373         (gst_registry_binary_write_cache),
4374         (gst_registry_binary_check_magic),
4375         (gst_registry_binary_load_pad_template),
4376         (gst_registry_binary_load_feature),
4377         (gst_registry_binary_load_plugin),
4378         (gst_registry_binary_read_cache):
4379           comment typo and formatting
4380
4381         * gst/gstutils.c: (gst_element_state_get_name),
4382         (gst_element_state_change_return_get_name):
4383           remove obsolete breaks
4384
4385         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4386           add FIXME 0.11 and remove cpp comment
4387
4388 2007-01-29  Edward Hervey  <edward@fluendo.com>
4389
4390         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4391         Fix print statement in an even more portable way.
4392
4393 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4394
4395         * docs/gst/gstreamer-sections.txt:
4396         * gst/gstutils.h:
4397           API: add GST_ROUND_DOWN_* macros (#401781).
4398
4399 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4400
4401         * docs/gst/gstreamer.types.in:
4402         * gst/gstregistry.c: (gst_registry_class_init):
4403           Document registry signals and make gtk-doc pick them up (#401381).
4404
4405 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4406
4407         * docs/pwg/building-testapp.xml:
4408           Add some audioconverts and audioresample to the pipeline, and some
4409           more comments and error handling.
4410
4411 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4412
4413         * docs/manual/manual.xml:
4414         * docs/pwg/pwg.xml:
4415           Fix typo (#400987).
4416
4417 2007-01-26  Wim Taymans  <wim@fluendo.com>
4418
4419         * gst/gstcaps.c: (gst_static_caps_get):
4420         Init caps flags too.
4421
4422 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4423
4424         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4425
4426         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4427         If not using mmap'ed files try to seek to the end instead of the
4428         start to determine whether we can seek at all. This fixes the case
4429         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4430         seeks for everything afterwards fail. Fixes #400656
4431
4432 2007-01-25  Wim Taymans  <wim@fluendo.com>
4433
4434         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4435         Add some refcount debugging.
4436         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4437         in multiple streaming threads.
4438
4439 2007-01-25  Wim Taymans  <wim@fluendo.com>
4440
4441         Patch by: David Schleef <ds at schleef dot org>
4442
4443         * docs/libs/gstreamer-libs-sections.txt:
4444         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4445         * libs/gst/base/gstadapter.h:
4446         API: gst_adapter_copy() that can reduce the amount of memcpy when
4447         getting data from the adapter. Fixes #388201.
4448
4449 2007-01-25  Edward Hervey  <edward@fluendo.com>
4450
4451         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4452         In print statements, "%x" is for guint. Fixes build on macosx.
4453
4454 2007-01-24  Edward Hervey  <edward@fluendo.com>
4455
4456         * plugins/elements/gstmultiqueue.c:
4457         (gst_multi_queue_loop):
4458         Small fix.
4459         (single_queue_overrun_cb), (single_queue_underrun_cb),
4460         (single_queue_check_full), (gst_single_queue_new):
4461         Implement single queue growth system.
4462         This uses the extra-size properties, and will grow single queues by
4463         that much if one goes full whereas there are others empty. This is
4464         called extra-mode in the code.
4465         When a single queue's levels go back below the initial max-size
4466         limits, it is no longer in extra-mode. This is to ensure we don't
4467         consume too much memory.
4468         Fixes #399875
4469
4470 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4471
4472         * gst/gst.c: (gst_init_get_option_group):
4473           Make warning about late g_thread_init() calls a bit more explicit,
4474           so that it's more obvious to application developers what they need
4475           to do if a user files a bug against their application.
4476
4477 2007-01-22  Edward Hervey  <edward@fluendo.com>
4478
4479         * plugins/elements/gstmultiqueue.c:
4480         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4481         Remove previous hack of unsetting the flushing flag for the source pad
4482         instead of activating it. Instead, fix the source pad activate function
4483         so that it no longer depends on having a parent set or not.
4484
4485 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4486
4487         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4488
4489         * docs/manual/basics-bus.xml:
4490           Fix example code, gst_element_unref() doesn't exist any longer.
4491
4492 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4493
4494         Patch by: Mark Nauwelaerts <manauw at skynet be>
4495
4496         * gst/gstpad.c:
4497           Fix two docs typoes (#399094).
4498
4499 2007-01-19  Edward Hervey  <edward@fluendo.com>
4500
4501         * docs/faq/gst-uninstalled:
4502         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4503         depending on libgstbaseutils can work in uninstalled environment.
4504
4505 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4506
4507         * gst/gsttaglist.h:
4508         * gst/gsttagsetter.c:
4509         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4510         statement for new tag.
4511
4512 2007-01-17  Edward Hervey  <edward@fluendo.com>
4513
4514         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4515         When dynamically creating single queues, activate sinkpad before adding
4516         it.
4517         We should be doing the same thing for the source pad, but we can't
4518         since it would call a method which needs the parent to be set in order
4519         to work propertly. Instead of activating the source pad, we just unset
4520         the flushing flag, which is the minimal requirement for adding a pad
4521         to an element in a state greater than READY.
4522
4523 2007-01-17  Edward Hervey  <edward@fluendo.com>
4524
4525         * docs/faq/gst-uninstalled:
4526         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4527         Mac OS X.
4528
4529 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4530
4531         * tests/check/gst/gstabi.c:
4532         * tests/check/gst/struct_hppa.h:
4533         * tests/check/libs/libsabi.c:
4534         * tests/check/libs/struct_hppa.h:
4535           Add ABI structs for HPPA (see #393796).
4536
4537 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4538
4539         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4540           Actually write ABI structs to the file specified in the GST_ABI
4541           environment variable, as the message we print claims we would.
4542
4543 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4544
4545         * tests/check/gst/gsttask.c:
4546           Fix header comment.
4547
4548 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4549
4550         * gst/gsttaglist.c: (_gst_tag_initialize):
4551           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4552           previous two entries.
4553
4554 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4555
4556         * docs/gst/gstreamer-sections.txt:
4557         * gst/gsttaglist.c: (_gst_tag_initialize):
4558         * gst/gsttaglist.h:
4559           Add tag support for beat-per-minute.
4560
4561 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4562
4563         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4564         (gst_registry_binary_initialize_magic),
4565         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4566         (gst_registry_binary_save_pad_template),
4567         (gst_registry_binary_save_feature),
4568         (gst_registry_binary_save_plugin),
4569         (gst_registry_binary_write_cache),
4570         (gst_registry_binary_check_magic),
4571         (gst_registry_binary_load_pad_template),
4572         (gst_registry_binary_load_feature),
4573         (gst_registry_binary_load_plugin),
4574         (gst_registry_binary_read_cache):
4575         * gst/gstregistrybinary.h:
4576           Use glib types, cleanup comments, impement interfaces and uri-types.
4577
4578 2007-01-13  Andy Wingo  <wingo@pobox.com>
4579
4580         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4581         getrange() to return buffers with other caps, while we fix
4582         demuxers and typefind, or otherwise change part-negotiation.txt.
4583
4584 2007-01-12  Andy Wingo  <wingo@pobox.com>
4585
4586         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4587         Factor start/stop into this private function instead of partially
4588         in activate functions and partially in the change_state function.
4589         Fixes setup before the element has changed from READY->PAUSED, as
4590         is the case in pull-mode pipelines.
4591         (gst_base_transform_sink_activate_push)
4592         (gst_base_transform_src_activate_pull): Refactor to use
4593         gst_base_transform_activate().
4594         (gst_base_transform_change_state): Removed, not needed any more.
4595
4596         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4597         Truncate before fixating.
4598         
4599         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4600         Don't set_caps() if the result of fixating is ANY, as it's not
4601         supported, and not necessary in the case of a link with no
4602         template caps on either side. Fixes tests/check/libs/basesrc in
4603         some pull-mode tests.
4604
4605         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4606         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4607         (gst_base_transform_src_activate_pull): 
4608         Track the activation mode.
4609         (gst_base_transform_setcaps): In pull mode, when activating the
4610         src pad, after activating the sink pad, activate the sink pad's
4611         peer, as discussed in part-negotiation.txt.
4612
4613         * libs/gst/base/gstbasesrc.h: 
4614         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4615         vmethod, as in basesink.
4616
4617         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4618
4619         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4620         mode, first proxy the setcaps to the peer pad.
4621         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4622         new fixate vmethod.
4623         (gst_base_sink_default_activate_pull): Rename from
4624         gst_base_sink_activate_pull.
4625         (gst_base_sink_negotiate_pull): New function, performs negotiation
4626         in pull mode before calling ::activate_pull().
4627         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4628         vmethod instead of the default implementation. I have no idea how
4629         this worked before. Negotiate before calling activate_pull.
4630
4631         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4632         sink pads in pull mode. In addition to being correct, fixes
4633         filesrc ! decodebin ! identity ! fakesink.
4634         (gst_pad_get_range, gst_pad_pull_range): Don't call
4635         gst_pad_set_caps() if the caps changes; instead error out with
4636         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4637
4638 2007-01-12  Andy Wingo  <wingo@pobox.com>
4639
4640         * docs/design/part-negotiation.txt: Update with more policy.
4641
4642 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4643
4644         * libs/gst/check/gstbufferstraw.h:
4645         * libs/gst/check/gstcheck.h:
4646           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4647           belongs.
4648
4649 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4650
4651         * tests/check/Makefile.am:
4652         * tests/check/gst/.cvsignore:
4653         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4654         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4655         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4656         (GST_START_TEST), (gst_tag_setter_suite):
4657           Add minimal unit test for beforementioned GstTagSetter bug.
4658
4659 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4660
4661         Patch by: René Stadler <mail at renestadler dot de>
4662
4663         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4664           gst_tag_list_merge() returns a new list, so it's not the best idea
4665           to ingore its return value. Effectively meant that tags could only
4666           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4667           Also add function guard to require a non-NULL taglist as input (has
4668           always been so due to gst_tag_list_copy(), just making it explicit).
4669
4670 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         * docs/random/draft-missing-plugins.txt:
4673           Some additions: mention new API that is supposed to be used at the
4674           various stages; short blob about new gst-inspect introspection
4675           option; mention potential future problem with plugins that have
4676           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4677
4678 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4679
4680         * tools/gst-inspect.c:
4681         (print_plugin_automatic_install_info_codecs),
4682         (print_plugin_automatic_install_info_protocols),
4683         (print_plugin_automatic_install_info), (main):
4684         Add --print-plugin-auto-install-info option to gst-inspect, so we can
4685         introspect plugin files and get machine-parsable output that corresponds
4686         to the last bit of the missing-plugin installer string (small gotcha:
4687         doesn't take into account ranks).
4688
4689 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * configure.ac:
4692         * docs/gst/gstreamer-sections.txt:
4693         * gst/Makefile.am:
4694         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4695         (gst_registry_lookup_locked):
4696         * gst/gstregistry.h:
4697         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4698         (gst_registry_binary_initialize_magic),
4699         (gst_registry_binary_save_string),
4700         (gst_registry_binary_save_pad_template),
4701         (gst_registry_binary_save_feature),
4702         (gst_registry_binary_save_plugin),
4703         (gst_registry_binary_write_cache),
4704         (gst_registry_binary_check_magic),
4705         (gst_registry_binary_load_pad_template),
4706         (gst_registry_binary_load_feature),
4707         (gst_registry_binary_load_plugin),
4708         (gst_registry_binary_read_cache):
4709         * gst/gstregistrybinary.h:
4710         * gst/gstregistryxml.c: (load_feature),
4711         (gst_registry_xml_read_cache):
4712           commit binary registry (disabled by default, see #359653)
4713
4714 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4717           Fix 'make check' too.
4718
4719 2007-01-10  Andy Wingo  <wingo@pobox.com>
4720
4721         * docs/design/part-negotiation.txt: Fix a typo, add a couple
4722         notes.
4723         
4724         * docs/design/part-negotiation.txt: Update with, um, one way that
4725         pull-mode negotiation might work?
4726
4727         * gst/gstpad.h: 
4728         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4729         that the pad must be a src pad; makes sense to call it the other
4730         way in pull mode, and the logic is symmetric anyway.
4731
4732 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4733
4734         * plugins/elements/gstfilesink.c:
4735           Include <stdio.h> for fseeko().
4736
4737 2007-01-10  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstevent.c:
4740         * gst/gstevent.h:
4741         Reserve LATENCY event.
4742
4743 2007-01-09  Wim Taymans  <wim@fluendo.com>
4744
4745         * docs/design/draft-latency.txt:
4746         Updates.
4747
4748 2007-01-09  Wim Taymans  <wim@fluendo.com>
4749
4750         * docs/design/draft-latency.txt:
4751         Updates.
4752
4753         * gst/gstelement.h:
4754         * gst/gststructure.c:
4755         * gst/gsttrace.c:
4756         Small typo fixes.
4757
4758 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4759
4760         * tests/check/.cvsignore:
4761           Ignore test-registry.xml as well.
4762
4763 2007-01-09  Wim Taymans  <wim@fluendo.com>
4764
4765         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4766         unref data at the end when we are done with the pad.
4767
4768 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4769
4770         * docs/gst/gstreamer-sections.txt:
4771         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4772         (init_post), (gst_deinit), (gst_update_registry):
4773         * gst/gst.h:
4774           API: add gst_update_registry() (#391296).
4775
4776         * tests/check/Makefile.am:
4777         * tests/check/gst/gstregistry.c:
4778         * tests/check/gst/.cvsignore:
4779           Simple unit test for the above.
4780
4781 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4782
4783         * gst/gstregistry.c: (gst_registry_scan_path_level):
4784           Plugin extension on HP-UX is .sl, add that to the list of approved
4785           plugin extensions (see #393796).
4786
4787         * tests/check/gst/gstpad.c: (GST_START_TEST):
4788           ulong => gulong. Fixes compilation with HP-UX compiler.
4789
4790         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4791           Fix compilation if valgrind headers are not available.
4792
4793 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
4794
4795         * win32/common/libgstreamer.def: 
4796           Add new exported function.
4797         * win32/vs6/libgstbase.dsp: 
4798           Add gstdataqueue.c to the build.
4799         * win32/vs6/libgstcoreelements.dsp:
4800           Add gstmultiqueue.c to the build.
4801         
4802 2007-01-06  Andy Wingo  <wingo@pobox.com>
4803
4804         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4805         activate_pull(), providing for a way to specialize the process of
4806         spawning a thread to pull on the sink pad. There is a default
4807         implementation.
4808
4809         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4810         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4811         (gst_base_sink_init): Renamed pad activation functions (inserting
4812         "_pad" in their names). Refactor to use the new activate_pull
4813         vmethod, as appropriate.
4814         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4815         default activate_pull function to start a task pulling from the
4816         sink pad, as before.
4817
4818         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4819         on the pads if necessary, as in push()/chain(). Update docs.
4820         Shouldn't affect existing pull() usage as it is currently only
4821         being used on buffers without caps.
4822
4823 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4824
4825         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4826         (init_pre):
4827           Call g_thread_init() first thing in gst_init() / gst_check_init().
4828           When initialisation is done via gst_init_get_option_group() and
4829           GOption parsing, issue a warning if the GLib thread system has not
4830           been initialised yet by the time gst_init_get_option_group() is
4831           called, as it's quite likely other GLib functions such as
4832           g_option_context_new() have been called already then, and
4833           g_thread_init() must be called before any other GLib function. The
4834           application in question must be fixed in that case, since memory
4835           corruption might happen otherwise.
4836           We issue the warning because even if the GLib folks decide to work
4837           around the problem on their end in future, this is still an issue
4838           with all GLib versions >= 2.10.0, so we should warn until we depend
4839           on a GLib version we know to be safe.
4840           Update documentation as well.
4841           Closes bug #391278.
4842
4843 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4844
4845         * tools/gst-inspect.c: (main):
4846         * tools/gst-launch.c: (main):
4847         * tools/gst-typefind.c: (main):
4848         * tools/gst-xmlinspect.c: (main):
4849           Call g_thread_init() really really early, before any other GLib
4850           function (see #342564 and recent discussion on gtk-devel-list).
4851
4852 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4853
4854         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
4855
4856         * gst/gst_private.h:
4857         * gst/gstconfig.h.in:
4858         * gst/gstinfo.h:
4859           On win32, all the __declspec stuff for symbol exporting is
4860           apparently only needed with MSVC, but doesn't work with MingW.
4861           Fixes compilation with MingW and #391909.
4862
4863 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4866           Change some GST_ERROR_OBJECT that aren't really errors to
4867           GST_WARNING_OBJECT in order to reduce terminal spam.
4868
4869 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4870
4871         * tests/check/Makefile.am:
4872           disable test again, as there seem to be still race problems
4873
4874 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4875
4876         * tests/check/Makefile.am:
4877         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4878         (GST_START_TEST), (queue_suite):
4879           enable queue test again, add tests for the leaky behaviour
4880
4881 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
4882
4883         * configure.ac:
4884         * tests/examples/Makefile.am:
4885           Compile adapter test/example only if the required headers are
4886           available (fixes #391915).
4887
4888 2007-01-01  David Schleef  <ds@schleef.org>
4889
4890         * gst/gstplugin.c:
4891           Restore the previous signal handler for SIGSEGV instead of
4892           setting to default, since we may have stolen it away from
4893           someone.  (i.e., Mono)
4894
4895 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4896
4897         * docs/random/draft-missing-plugins.txt:
4898           Some small additions and clarifications.
4899
4900 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4901
4902         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4903           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4904           since that can lead to random memory corruptions and crashes
4905           (may or may not be related to #383244, #386711, and #386711).
4906
4907 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * tests/check/.cvsignore:
4910         * tests/check/Makefile.am:
4911           sync .cvsignome and CLEANFILES
4912
4913 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4914
4915         * tests/check/Makefile.am:
4916           fix distcheck
4917
4918 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * docs/design/part-states.txt:
4921           two tiny additional comments
4922         
4923         * gst/gststructure.c:
4924           doc fixing
4925
4926         * tests/check/Makefile.am:
4927         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4928         (GST_START_TEST):
4929           disable test for now, unless it gets fixed
4930
4931 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4932
4933         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4934         (GST_START_TEST):
4935           fix race in underrun test
4936
4937 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4938
4939         * tests/check/elements/.cvsignore:
4940           ignore more
4941
4942         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4943         (GST_START_TEST):
4944           try to narrow test failure
4945
4946 2006-12-21  David Schleef  <ds@schleef.org>
4947
4948         * plugins/elements/gstfakesrc.c:
4949           Use g_random_int_range(), since it produces better random
4950           numbers in a range than almost-correct floating point code.
4951
4952 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4953
4954         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4955         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4956         (gst_check_teardown_sink_pad):
4957           do not automatically (de)activate pads
4958
4959         * tests/check/Makefile.am:
4960         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4961         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4962           add new, yet simple tests for queue
4963
4964         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4965         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4966         * tests/check/elements/filesrc.c: (cleanup_filesrc),
4967         (GST_START_TEST):
4968         * tests/check/elements/identity.c: (cleanup_identity):
4969           consistent pad (de)activation
4970
4971 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4972
4973         Patch by: Sebastian Dröge  <slomo ubuntu com>
4974
4975         * libs/gst/base/gstcollectpads.c:
4976           Fix two doc typos (#387866).
4977
4978 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4979
4980         * docs/manual/advanced-dparams.xml:
4981           Fix typo (g_object_control_properties() doesn't exist).
4982
4983 2006-12-19  Edward Hervey  <edward@fluendo.com>
4984
4985         * gst/gstsegment.c: (gst_segment_set_seek):
4986         Fine tune the cases where the segment start/stop values are really
4987         updated.
4988         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4989         Add tests for the return values of gst_segment_set_seek().
4990
4991 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * gst/gst.c:
4994           Docs typo fix.
4995
4996         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4997         (gst_queue_init):
4998           Fix incorrect documentation and flesh it out a bit more.
4999           Set default values for the max properties on the GParamSpec as well,
5000           so it shows up correctly in gst-inspect.
5001
5002 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5003
5004         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5005           Correct docs of queue, add more detail and crosslink it more.
5006
5007 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5010           Print additional debug info when the stream isn't perfectly
5011           timestamped; don't try to use invalid durations.
5012
5013 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5014
5015         * docs/design/Makefile.am:
5016           Dist new design docs.
5017
5018 2006-12-16  Wim Taymans  <wim@fluendo.com>
5019
5020         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5021
5022         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5023         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5024         (gst_collect_pads_stop), (gst_collect_pads_event),
5025         (gst_collect_pads_chain):
5026         * libs/gst/base/gstcollectpads.h:
5027         Add refcounting to the collectpads data so we can track when it's safe
5028         to free the data. Fixes #383382.
5029
5030 2006-12-15  Wim Taymans  <wim@fluendo.com>
5031
5032         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5033         (gst_collect_pads_remove_pad):
5034         Automatically activate/deactivate pads when they are added to a
5035         started/stoped collectpads.
5036
5037 2006-12-15  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/gstelement.c: (gst_element_add_pad):
5040         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5041         * gst/gstpad.c: (gst_pad_init):
5042         Set pads to FLUSHING when they are created. Check, warn and fix when a
5043         demuxer adds an inactive pad to itself when running. Fixes #339326.
5044
5045 2006-12-15  Wim Taymans  <wim@fluendo.com>
5046
5047         * gst/gstelement.c: (gst_element_class_init),
5048         (gst_element_default_send_event), (gst_element_send_event),
5049         (gst_element_default_query), (gst_element_query):
5050         Expose default element send_event and query handling as vmethods that
5051         subclasses can chain up to.
5052
5053 2006-12-15  Wim Taymans  <wim@fluendo.com>
5054
5055         * gst/gstelement.c: (gst_element_set_state_func):
5056         Small documentation fixes.
5057
5058 2006-12-15  Wim Taymans  <wim@fluendo.com>
5059
5060         * docs/design/draft-latency.txt:
5061         Checked in draft for handling latency in pipelines.
5062
5063 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5064
5065         * Makefile.am:
5066         * gstreamer.doap:
5067         * gstreamer.spec.in:
5068           adding .doap file
5069
5070 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
5071
5072         * gst/gst.c: (init_pre), (init_post):
5073           init_pre() and init_post() might be called via our GOptionGroup or
5074           from gst_init(), and we should skip both of them if we've already
5075           been initialised, otherwise we will init some things twice or add
5076           two default log functions.
5077
5078 2006-12-13  Edward Hervey  <edward@fluendo.com>
5079
5080         * docs/manual/basics-bus.xml:
5081         No, gst_main_loop does not exist. Its g_main_loop.
5082         Discovered by somebody who abused the copy-paste technique of coding :)
5083
5084 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5085
5086         * gst/gstghostpad.c:
5087           Log ghostpad debug stuff to the GST_PADS category as well rather
5088           than just to the default category.
5089
5090 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5091
5092         * configure.ac:
5093         * gst/gst.c: (init_pre):
5094           Add some basic system details such as OS and architecture
5095           to the debug output if possible, courtesy of uname().
5096
5097 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         * docs/gst/running.xml:
5100           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5101           environment variables.
5102
5103 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5104
5105         * tests/check/gst/gstbin.c: (GST_START_TEST):
5106         It is acceptable to have a refcount of 2 or 3 at this point in the
5107         test, because the pipeline might be just posting its state_change
5108         message. The next line then waits for that message to appear using
5109         bus_poll, so that should be fine too.
5110
5111 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5112
5113         * gst/gst.c: (ensure_current_registry_forking):
5114         Ignore EINTR when reading from the child registry pipe.
5115         Explicitly ignore the return value from close, since it makes no
5116         difference.
5117
5118         * gst/gstminiobject.c: (gst_mini_object_ref),
5119         (gst_mini_object_unref):
5120         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5121
5122         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5123         When removing cached plugins, remove their features too, so they're
5124         not visible after they've disappeared.
5125
5126         * gst/gstutils.c: (prepare_link_maybe_ghosting):
5127         In the unlikely case that we are linking pads with no parents, don't
5128         crash trying to get the non-existent parent bin.
5129
5130         * gst/parse/grammar.y:
5131         Output debug in the PIPELINE category
5132
5133 2005-03-08  Wim Taymans  <wim@fluendo.com>
5134
5135         Patch by: René Stadler <mail at renestadler dot de>
5136
5137         * gst/gstclock.c: (gst_clock_new_periodic_id):
5138         Reject invalid clock times for interval of periodic ids.
5139         Fixes ##383506.
5140
5141 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5142
5143         * gst/gstelementfactory.c: (gst_element_factory_create):
5144         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5145         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5146         * tools/gst-inspect.c: (print_element_info):
5147         Fix refcounting of gst_plugin_feature_load to match the docs. 
5148         Fixes: #380129
5149
5150 2006-12-07  Wim Taymans  <wim@fluendo.com>
5151
5152         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5153         (gst_base_sink_get_position):
5154         Improve debugging of events.
5155
5156 2006-12-07  Wim Taymans  <wim@fluendo.com>
5157
5158         Patch by: René Stadler <mail at renestadler dot de>
5159
5160         * gst/gstclock.c: (gst_clock_id_wait):
5161         Make period ids add the interval to the origial requested time instead
5162         of the possibly updated time which can be wrong when there are multiple
5163         waiters for the same id. Fixes #382592.
5164
5165         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5166         (gst_system_clock_id_wait_jitter_unlocked),
5167         (gst_system_clock_id_wait_jitter):
5168         Fix restart in the async notify thread when an async entry is added to
5169         the front of the list. Fixes #381492. 
5170
5171         * tests/check/gst/gstsystemclock.c: (store_callback),
5172         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5173         Added test for multiple async waits.
5174         Added test for async wait order.
5175
5176 2006-12-07  Wim Taymans  <wim@fluendo.com>
5177
5178         * gst/gstbin.c: (gst_bin_query):
5179         Add some more docs about the POSITION query.
5180
5181 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5182
5183         * configure.ac:
5184         Bump version nano - back to CVS.
5185
5186 === release 0.10.11 ===
5187
5188 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5189
5190         * configure.ac:
5191           releasing 0.10.11, "Love never runs on time"
5192
5193 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5194
5195         * win32/common/libgstbase.def:
5196         * win32/common/libgstreamer.def:
5197         * win32/vs8/libgstbase.vcproj:
5198         * win32/vs8/libgstcoreelements.vcproj:
5199         * win32/vs8/libgstreamer.vcproj:
5200         Fix compilation on win32 under VS8
5201         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5202         Partially fixes #381175
5203
5204 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5205
5206         * gst/gstvalue.c: (gst_value_compare_fraction):
5207         If someone is foolish enough to compare 2 fractions with denominator =
5208         0, return UNORDERED rather than aborting.
5209
5210 2006-11-28  Edward Hervey  <edward@fluendo.com>
5211
5212         * libs/gst/base/Makefile.am:
5213         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5214         (gst_data_queue_base_init), (gst_data_queue_class_init),
5215         (gst_data_queue_init), (gst_data_queue_new),
5216         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5217         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5218         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5219         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5220         (gst_data_queue_set_flushing), (gst_data_queue_push),
5221         (gst_data_queue_pop), (gst_data_queue_drop_head),
5222         (gst_data_queue_set_property), (gst_data_queue_get_property):
5223         * libs/gst/base/gstdataqueue.h:
5224         New GstDataQueue object for threadsafe queueing. Most useful for
5225         elements that need some queueing functionnality.
5226         * docs/libs/gstreamer-libs-docs.sgml:
5227         * docs/libs/gstreamer-libs-sections.txt:
5228         Insert documentation for GstDataQueue
5229         * plugins/elements/Makefile.am:
5230         * plugins/elements/gstelements.c:
5231         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5232         (gst_multi_queue_class_init), (gst_multi_queue_init),
5233         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5234         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5235         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5236         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5237         (gst_multi_queue_loop), (gst_multi_queue_chain),
5238         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5239         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5240         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5241         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5242         (wake_up_next_non_linked), (compute_next_non_linked),
5243         (single_queue_overrun_cb), (single_queue_underrun_cb),
5244         (single_queue_check_full), (gst_single_queue_new):
5245         * plugins/elements/gstmultiqueue.h:
5246         New multiqueue element, using GstDataQueue. Used for queuing multiple
5247         streams.
5248         Closes #344639 and #347785
5249
5250 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5251
5252         * docs/pwg/advanced-types.xml:
5253           add more missing type details
5254
5255         * tools/gst-run.c: (main):
5256           remove unused variable
5257
5258 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5259
5260         * docs/libs/Makefile.am:
5261         * docs/libs/gstreamer-libs.types:
5262           add types of base classes to enable gobject specific stuff in the docs
5263
5264         * docs/random/ensonic/embedded.txt:
5265           more ideas about isolating platform specific things
5266
5267 2006-11-20  Wim Taymans  <wim@fluendo.com>
5268
5269         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5270
5271         * libs/gst/check/gstcheck.h:
5272         Fix compilation and running against 0.9.4. Fixes #377332.
5273
5274 2006-11-20  Wim Taymans  <wim@fluendo.com>
5275
5276         * gst/gstsegment.c: (gst_segment_set_seek),
5277         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5278         (gst_segment_to_running_time):
5279         Fix boundary checking in to_running_time() and to_stream_time().
5280         Fixes #377183.
5281
5282         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5283         stream and running time can now be calculated for the complete
5284         clipped segment.
5285
5286 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5287
5288         * gst/gstpad.c: (gst_pad_push_event):
5289           Can't access event structure after giving away ownership of
5290           the event.
5291
5292 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5293
5294         * docs/random/ensonic/embedded.txt:
5295         * docs/random/ensonic/profiling.txt:
5296         * docs/random/ensonic/receipies.txt:
5297           more thinking
5298
5299 2006-11-13  Wim Taymans  <wim@fluendo.com>
5300
5301         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5302
5303         * gst/gstpad.c:
5304         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5305
5306 2006-11-13  Wim Taymans  <wim@fluendo.com>
5307
5308         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5309
5310         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5311         Store new length in segment duration so we don't keep on calling the
5312         potentially expensize get_size() call. Fixes #370865.
5313
5314 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5315
5316         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5317
5318         * win32/common/libgstreamer.def:
5319           Add two missing symbols (#366492).
5320
5321 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5322
5323         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5324         (gst_adapter_take_buffer):
5325         Fix format string to use all its arguments.
5326         Remove useless >= check on a guint
5327
5328 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5329
5330         * tests/examples/adapter/.cvsignore:
5331         Ignore build file as commanded by the build-bot
5332
5333 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5334
5335         * tests/examples/adapter/Makefile.am:
5336         * tests/examples/adapter/adapter_test.c: (run_test_take),
5337         (run_test_take_buffer), (run_tests), (main):
5338
5339         Add new files from the previous commit
5340
5341 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5342
5343         * Makefile.am:
5344         * configure.ac:
5345         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5346         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5347         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5348         * libs/gst/base/gstadapter.h:
5349         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5350         (GST_START_TEST), (gst_adapter_suite):
5351         * tests/examples/Makefile.am:
5352         Do some optimisation work in GstAdapter to avoid copies in more cases.
5353         It could still do slightly better by merging buffers when
5354         gst_buffer_is_span_fast is true, but is already faster. 
5355
5356         Also, avoid traversing a single-linked list to append each incoming 
5357         buffer inside the adapter.
5358
5359         Add simple test app that times the adapter behaviour in different
5360         situations, and extend the unit test to check that bytes enter and
5361         exit the adapter in their original order.
5362
5363 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5364
5365         * docs/random/draft-missing-plugins.txt:
5366           Update: use element message instead of adding a new message
5367           type to the core; don't provide GStreamer API to initiate the
5368           plugin download, just provide API to compose the strings needed
5369           and let an external libgimmestuff handle the rest.
5370
5371 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5372
5373         * tools/gst-inspect.c: (print_element_properties_info):
5374         Print a string instead of 'unknown type' for GValueArray properties
5375
5376 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5377
5378         * docs/random/draft-missing-plugins.txt:
5379         More small fixes.
5380
5381 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * tests/examples/typefind/typefind.c: (type_found), (main):
5384           Make typefind element example work again (#371894); add a
5385           license header.
5386
5387 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5388
5389         * docs/random/draft-missing-plugins.txt:
5390           Commit initial draft about how to deal with missing plugins,
5391           needs work (API too).
5392
5393 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * docs/pwg/advanced-types.xml:
5396           documents the new caps elements (see #363118)
5397
5398 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * gst/gstplugin.c: (gst_plugin_load_file):
5401         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5402         (gst_file_src_map_region), (gst_file_src_start):
5403         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5404         (gst_file_index_commit):
5405           Use g_strerror() instead of strerror() - we want UTF-8.
5406
5407 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         Patch by: Peter Kjellerstedt <pkj at axis com>
5410
5411         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5412           Another printf fix (#371493).
5413
5414 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5415
5416         * tests/check/gst/gsttag.c:
5417           relicence (okay with author=company)
5418
5419 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5420
5421         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5422         (gst_pad_push_event):
5423           Enhance debug and improve docs
5424         
5425         * gst/gsturi.c:
5426           Fix docs
5427
5428 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5429
5430         * docs/random/ensonic/distributed.txt:
5431         * docs/random/ensonic/profiling.txt:
5432           more ideas
5433
5434 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5435
5436         * docs/gst/gstreamer-sections.txt:
5437           add new API and fix the build
5438           
5439         * gst/gstbin.c: (gst_bin_recalc_state):
5440         * gst/gstelement.c: (gst_element_message_full),
5441         (gst_element_get_state_func), (gst_element_set_state_func):
5442           use new API and improve logging
5443         
5444         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5445         * gst/gstutils.h:
5446           API: add function to get StateChangereturn names to improve logs 
5447
5448 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5451           I'm considering shooting the next person to put strerror stuff
5452           in the translateable part of the message.
5453
5454 2006-11-03  Wim Taymans  <wim@fluendo.com>
5455
5456         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5457         Get the type and printf conversion specifiers right.
5458
5459 2006-11-03  Wim Taymans  <wim@fluendo.com>
5460
5461         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5462
5463         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5464         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5465         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5466         Some small cleanups. Improve debugging.
5467         * gst/gstpad.h:
5468         Signal all waiting threads with a broadcast instead of just one.
5469         Fixes #369942.
5470
5471 2006-11-03  Wim Taymans  <wim@fluendo.com>
5472
5473         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5474         (gst_fd_src_create):
5475         Add some debugging. 
5476         Only update fd when it's different from the old.
5477
5478 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5479
5480         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5481           Printf fixes for PPC/OSX, take two (#369366).
5482
5483 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5484
5485         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5486
5487         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5488         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5489         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5490           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5491           don't cast to long long for portability reasons, but use
5492           GLib's types instead.
5493
5494 2006-10-30  Michael Smith  <msmith@fluendo.com>
5495
5496         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5497           Get the arguments to lseek() the right way around.
5498           Fixes 367677.
5499
5500 2006-10-30  Wim Taymans  <wim@fluendo.com>
5501
5502         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5503
5504         * gst/gstinfo.h:
5505         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5506
5507 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5508
5509         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5510
5511         * docs/design/part-MT-refcounting.txt:
5512         * docs/random/wtay/capsnego2-docs:
5513         * gst/gstclock.c:
5514         * gst/gstxml.c:
5515           Typo fixes (#366212).
5516
5517 2006-10-28  Wim Taymans  <wim@fluendo.com>
5518
5519         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5520
5521         * gst/gst.c:
5522         * win32/common/libgstbase.def:
5523         * win32/common/libgstreamer.def:
5524         * win32/vs8/libgstbase.vcproj:
5525         * win32/vs8/libgstcontroller.vcproj:
5526         Add needed entries in .def files.
5527         Use HAVE_UNISTD_H.
5528         Rearrange def files in vs8 solutions. Fixes #366286.
5529
5530 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5531
5532         * win32/common/gstconfig.h:
5533           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5534           hand-made win32 gstconfig.h. Fixes #366321.
5535
5536 2006-10-27  Wim Taymans  <wim@fluendo.com>
5537
5538         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5539         (gst_ghost_pad_new_full):
5540         Make acceptcaps return TRUE when we don't have a target, just like
5541         setcaps does.
5542
5543 2006-10-27  Wim Taymans  <wim@fluendo.com>
5544
5545         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5546         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5547
5548 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5549
5550         * gst/gststructure.c: (gst_structure_id_set_value):
5551           If someone tries to set a non-UTF8 string field on a structure,
5552           don't just print a warning, but also ignore the request and do
5553           not change/add that field to the structure.
5554
5555         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5556           Test for the above.
5557
5558 2006-10-25  David Schleef  <ds@schleef.org>
5559
5560         * gst/gstinfo.c:
5561           g_hash_table_insert() needs a cast to a non-const pointer duh.
5562
5563 2006-10-25  David Schleef  <ds@schleef.org>
5564
5565         * gst/gstinfo.c:
5566         * gst/gstinfo.h:
5567           Change name parameter of _gst_debug_register_funcptr to const
5568           to reflect the constness of its use in the function as well
5569           as to quiet a gcc warning.
5570
5571 2006-10-25  Edward Hervey  <edward@fluendo.com>
5572
5573         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5574         Don't push the buffer if it's empty.
5575         Closes #363095
5576
5577 2006-10-24  Wim Taymans  <wim@fluendo.com>
5578
5579         * gst/gstevent.h:
5580         Add small comment.
5581
5582         * libs/gst/base/gstbasetransform.c:
5583         (gst_base_transform_sink_eventfunc):
5584         Debug segment values *after* updating them as this is more
5585         interesting.
5586
5587 2006-10-23  Wim Taymans  <wim@fluendo.com>
5588
5589         * docs/design/part-events.txt:
5590         Update some docs.
5591
5592         * docs/design/part-block.txt:
5593         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5594         (gst_pad_push_event):
5595         Revert BLOCKING patch, it tries to be smart without really having a
5596         clear idea what or how. So, now we discard all FLUSHING events again on
5597         a blocking pad. Should fix gnonlin again.
5598
5599 2006-10-23  Wim Taymans  <wim@fluendo.com>
5600
5601         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5602
5603         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5604         (gst_base_src_start), (gst_base_src_activate_push):
5605         Make sure size is always initialized. Fixes #364388.
5606
5607 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5608
5609         * docs/random/ensonic/distributed.txt:
5610           add some ideas about doing distributed processing
5611
5612         * docs/random/ensonic/profiling.txt:
5613           get_rusage look promising
5614
5615 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5616
5617         * docs/manual/basics-helloworld.xml:
5618           Add a cast in example to fix compile warning
5619
5620 2006-10-18  Wim Taymans  <wim@fluendo.com>
5621
5622         * gst/gstsegment.c: (gst_segment_set_last_stop),
5623         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5624         Relax arg checking again, -1 is allowed.
5625
5626 2006-10-18  Wim Taymans  <wim@fluendo.com>
5627
5628         * gst/gstsegment.c: (gst_segment_set_last_stop),
5629         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5630         _set_last_stop() must be with a value != -1
5631         A _TYPE_SET to -1 means seek to 0.
5632         Calc last_stop correctly for negative rates.
5633         Make sure we work with positive durations when updating a segment.
5634
5635 2006-10-18  Wim Taymans  <wim@fluendo.com>
5636
5637         * docs/design/part-live-source.txt:
5638         * gst/gstclock.h:
5639         Small docs fixes.
5640
5641 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5642
5643         * gst/gstbuffer.h:
5644           Add an explicit cast to GstBuffer** to keep old code that added an
5645           explicit cast to GstMiniObject** for gst_mini_object_replace()
5646           compiling without warning.
5647
5648 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5649
5650         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5651           check for validity of dates
5652
5653 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5654
5655         * docs/gst/gstreamer-sections.txt:
5656           Forgot this one, makes gtk-doc shut up.
5657
5658 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5659
5660         Patch by: Peter Kjellerstedt <pkj at axis com>
5661
5662         * gst/gstobject.h:
5663           Don't define xmlNodePtr to gpointer if the core was built with
5664           --disable-loadsave and --disable-registry, this will break
5665           applications that want to use libxml2 but are buildling against a
5666           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5667           instead so we don't have to mess with the libxml2 namespace
5668           (#361675).
5669
5670 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5671
5672         * gst/gstbuffer.h:
5673           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5674           type-punned pointer warnings.
5675
5676 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5677
5678         * gst/gstelement.h:
5679           Add casts to the correct return type to state <=> state transition
5680           macros.
5681
5682 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
5683
5684         * docs/design/part-live-source.txt:
5685           describe howto handle latency
5686         
5687         * docs/random/ensonic/profiling.txt:
5688           more ideas
5689
5690         * tools/gst-plot-timeline.py:
5691           fix log parsing for solaris, remove unused function
5692
5693 2006-10-16  Wim Taymans  <wim@fluendo.com>
5694
5695         * docs/design/part-trickmodes.txt:
5696         * gst/gstevent.c:
5697         Update some docs regarding reverse playback.
5698
5699 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5700
5701         Patch by: Marcus Granado  <mrc dot gran at gmail com>
5702
5703         * win32/vs8/grammar.vcproj:
5704           Error out with a warning if glib-genmarshal.exe is not in path,
5705           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5706
5707 2006-10-13  Wim Taymans  <wim@fluendo.com>
5708
5709         * gst/gstsegment.c: (gst_segment_set_seek):
5710         When seeking to stop -1, set last_stop (current position) to the
5711         duration of the segment.
5712
5713 2006-10-13  Wim Taymans  <wim@fluendo.com>
5714
5715         * gst/gstelement.h:
5716         Clarify _NO_PREROLL a bit more.
5717
5718         * gst/gstevent.c:
5719         Fix docs.
5720
5721         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5722         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5723         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5724         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5725         due to wrong locking order. Fixes #361769.
5726         Remove some redundant/misplaced checks in pad_block.
5727
5728         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5729         For negative rates, count backwards from the duration.
5730
5731 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5732
5733         * gst/gsterror.c: (_gst_library_errors_init):
5734           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5735           up with something better).
5736
5737 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5738
5739         * win32/vs6/libgstreamer.dsp:
5740         * win32/vs7/libgstreamer.vcproj:
5741         * win32/vs8/libgstreamer.vcproj:
5742           Don't reference glib-compat.c which is currently not used and not
5743           disted; add gstquark.c which was recently added. Fixes #361730.
5744
5745 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * win32/common/libgstbase.def:
5748         * win32/common/libgstcontroller.def:
5749         * win32/common/libgstreamer.def:
5750           Add gst_caps_merge() and a bunch of other recently-added functions.
5751           Fixes #361732.
5752
5753 2006-10-11  Wim Taymans  <wim@fluendo.com>
5754
5755         * docs/plugins/gstreamer-plugins.args:
5756         * docs/plugins/inspect/plugin-coreelements.xml:
5757         * docs/plugins/inspect/plugin-coreindexers.xml:
5758         Update element args.
5759
5760         * gst/gstsystemclock.c:
5761         Small comment update.
5762
5763         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5764         (gst_tee_request_new_pad), (gst_tee_release_pad),
5765         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5766         (gst_tee_sink_activate_pull):
5767         * plugins/elements/gsttee.h:
5768         Some tee loving:
5769         Add default property defines.
5770         Implement release pad function.
5771         Give properties better blubs etc.
5772         Activate pads before adding them to a running tee.
5773         Do simple buffer_alloc on the first requested pad.
5774         Post error when activation fails.
5775
5776 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5777
5778         * gst/gst.c: (ensure_current_registry_forking):
5779           Check return value of write() to make compiler happy.
5780
5781 2006-10-11  Wim Taymans  <wim@fluendo.com>
5782
5783         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5784
5785         * plugins/elements/gstqueue.c: (gst_queue_chain):
5786         Recheck queue filledness after signalling the overrun when we're about
5787         to leak downstream because we released the lock when emitting the signal
5788         and the queue could be empty again. Fixes #352345.
5789
5790 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5791
5792         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5793           Fix refcounting here too, just like we did for _new_valist() a few
5794           days ago (#357180) (thanks to René Stadler). Also remove all those
5795           'Since: 0.9' from the gtk-doc blobs.
5796
5797         * tests/check/libs/controller.c: (controller_refcount_new_list),
5798         (gst_controller_suite):
5799           Unit test for the above.
5800
5801 2006-10-10  Wim Taymans  <wim@fluendo.com>
5802
5803         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5804
5805         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5806         (gst_pad_save_thyself):
5807         Update some docs.
5808         Write pad direction in XML output. Fixes #345496.
5809
5810 2006-10-10  Wim Taymans  <wim@fluendo.com>
5811
5812         Patch by: René Stadler <mail at renestadler dot de>
5813
5814         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5815         (gst_controller_new_list), (_gst_controller_dispose),
5816         (_gst_controller_finalize), (_gst_controller_class_init):
5817         Take ref to controlled object so that it cannot disappear. 
5818         Fixes #357432.
5819
5820 2006-10-10  Wim Taymans  <wim@fluendo.com>
5821
5822         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5823         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5824         (gst_check_teardown_sink_pad):
5825         Activate/deactivate pads in setup/teardown respectively.
5826
5827 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5828
5829         Patch by: Josep Torre Valles <josep@fluendo.com>
5830
5831         * gst/Makefile.am:
5832         Cast values when making gstenumtypes.h.  This pacifies Forte
5833         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5834         in the enumeration.
5835
5836 2006-10-09  Wim Taymans  <wim@fluendo.com>
5837
5838         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5839         Rename some more @cur to @start to fix docs. 
5840
5841         * gst/gstsegment.c: (gst_segment_set_seek):
5842         Fix typo.
5843         time and start must always stay in sync as defined in design doc.
5844
5845         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5846         Rename param to fix docs.
5847
5848         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5849         Check that start and time are in sync.
5850
5851         * tests/check/pipelines/parse-launch.c:
5852         (gst_parse_test_element_change_state):
5853         Activate pad before adding to the element.
5854
5855 2006-10-09  Wim Taymans  <wim@fluendo.com>
5856
5857         * docs/design/part-qos.txt:
5858         Fix typo.
5859
5860         * gst/gstevent.c:
5861         * gst/gstevent.h:
5862         Update seek event docs regarding negative rates.
5863         Rename @cur to @start. 
5864
5865         * gst/gstsegment.c: (gst_segment_set_seek):
5866         * gst/gstsegment.h:
5867         Update set_seek docs regarding negative rates.
5868         Correctly update last_stop to @stop when dealing with negative
5869         rates.
5870         Rename @cur to @start. 
5871
5872         * tests/check/gst/gstpad.c: (GST_START_TEST):
5873         Activate pads before trying to use them.
5874
5875         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5876         (gst_segment_suite):
5877         Add simple check for segments and negative rates.
5878
5879 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5882         * gst/gsttaglist.h:
5883         * docs/gst/gstreamer-sections.txt:
5884           API: add gst_tag_list_is_empty() (#360467).
5885
5886         * tests/check/gst/gsttag.c: (GST_START_TEST):
5887           And a test case.
5888
5889 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5890
5891         * gst/gstmessage.h:
5892         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5893         a value that doesn't fit on enumeration.
5894
5895 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5896
5897         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5898         Remove local debugging system and use Gstreamer's instead.
5899
5900 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5901
5902         Patch by: Josep Torre Valles <josep@fluendo.com>
5903
5904         * common/m4/gst-error.m4:
5905         Disable warning of statement not reached on Forte.
5906         * gst/gstmessage.h:
5907         Fix warning on Forte (value doesn't fit on enumeration).
5908         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5909         Fix warning on Forte (value doesn't fit on enumeration).
5910         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5911         DEBUG macro says it takes minimum of 2 args and so Forte
5912         complains about the use with just 1 arg.
5913         * plugins/elements/gstfdsink.c:
5914         * plugins/elements/gstfdsrc.c:
5915         * plugins/elements/gstfilesink.c:
5916         * plugins/elements/gstfilesrc.c:
5917         Use correct return type for the uri handler implementations.
5918
5919         All these fix warnings in Forte.  Fixes bug #360860.
5920
5921 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5922
5923         * gst/gstelement.h:
5924           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5925           format string, so don't use G_GNUC_PRINTF for those versions.
5926
5927 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/gsttaglist.c: (gst_is_tag_list):
5930         * gst/gsttaglist.h:
5931           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5932
5933         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5934           Small test for the above.
5935
5936 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5937
5938         * gst/gsttaglist.h:
5939           Less tabs, more spaces.
5940
5941 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5942
5943         * gst/gstinfo.h:
5944           Those two function declarations do actually belong there, revert
5945           commit from yesterday that turned them intro macros.
5946
5947 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5948
5949         Patch by: Josep Torre Valles <josep@fluendo.com>
5950
5951         * gst/gst.c: (gst_init_get_option_group):
5952         Fix empty declaration and type mismatch.
5953         * gst/gstbin.c: (gst_bin_change_state_func):
5954         Fix type mismatch.
5955         * gst/gstelement.c: (gst_element_continue_state),
5956         (gst_element_set_state_func), (gst_element_change_state),
5957         (gst_element_change_state_func):
5958         Fix type mismatches.
5959         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5960         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5961         Cast as appropriate.
5962         * gst/gstobject.c: (gst_class_signal_connect):
5963         Cast as appropriate.  The function pointer parameter really
5964         has the wrong type but would break API if we change it.
5965         * gst/gstquery.c:
5966         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5967         order of including string.h.
5968         * gst/gstutils.c: (gst_element_state_get_name):
5969         Remove unreachable line.
5970         * gst/gstxml.c: (gst_xml_parse_doc):
5971         Fix type mismatch.
5972         All these caught by Forte.
5973
5974 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5975
5976         Patch by: Josep Torre Valles <josep@fluendo.com>
5977
5978         * common/m4/gst-error.m4:
5979         Fixed bug #360151.
5980         We need to disable warnings on Forte for empty declarations
5981         due to gst-indent adding ;s to lines that just use macros
5982         where the macro actually doesn't need a ; at end to end
5983         statement.
5984
5985 2006-10-06  Wim Taymans  <wim@fluendo.com>
5986
5987         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5988         (gst_file_sink_close_file), (gst_file_sink_event),
5989         (gst_file_sink_render):
5990         Add some FIXME for the NEWSEGMENT handling.
5991
5992 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5993
5994         * gst/parse/grammar.y:
5995         Remove static function gst_parse_element_lock as all it does
5996         is return.  Looks like cruft from 0.8.
5997
5998 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5999
6000         Patch by: Josep Torre Valles <josep@fluendo.com>
6001
6002         * common/m4/gst-error.m4:
6003         * configure.ac:
6004         * libs/gst/net/Makefile.am:
6005         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6006         libresolv.
6007
6008 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6009
6010         * gst/gstpad.c: (pre_activate):
6011         * gst/gstregistry.c: (gst_registry_scan_path_level):
6012         * gst/gstregistryxml.c: (load_plugin):
6013         * libs/gst/controller/gstcontroller.c:
6014         (gst_controlled_property_set_interpolation_mode):
6015         * libs/gst/dataprotocol/dataprotocol.c:
6016         (gst_dp_packet_from_event_1_0):
6017         * libs/gst/net/gstnetclientclock.c:
6018         (gst_net_client_clock_observe_times):
6019         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6020           Printf fixes.
6021
6022 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6023
6024         * configure.ac:
6025         * docs/gst/gstreamer-sections.txt:
6026         * gst/gstconfig.h.in:
6027         * gst/gstelement.h:
6028         * gst/gstinfo.h:
6029           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6030           whether we can use G_GNUC_PRINTF in other header files and at
6031           least check the printf format/arguments of debug messages and
6032           GST_ELEMENT_ERROR messages when the printf extension is not
6033           being used.
6034           Replace more tabs with spaces in gstinfo.h and remove two spurious
6035           function declarations in GST_DISABLE_DEBUG part with macros.
6036
6037 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6038
6039         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6040           More docs for the sync-message signal (mention that it is not
6041           emitted by default); log message structures of messages posted on
6042           the bus as well.
6043
6044 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6045
6046         * gst/gst.c: (ensure_current_registry_forking):
6047         Use a pipe pair to receive status results from the forked child, and
6048         ignore the result from waitpid. Fixes #355499
6049
6050 2006-10-02  Wim Taymans  <wim@fluendo.com>
6051
6052         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6053         (gst_ghost_pad_suite):
6054         Fix leak in check.
6055
6056 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * gst/gstpad.c:
6059           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6060
6061 2006-10-02  Edward Hervey  <edward@fluendo.com>
6062
6063         * docs/design/part-block.txt:
6064         Further explain the use of flushing on blocked pads.
6065         * docs/gst/gstreamer-sections.txt:
6066         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6067         (gst_pad_push_event):
6068         * gst/gstpad.h:
6069         Added new GstPadFlag : GST_PAD_BLOCKING.
6070         Adds the notion of pads really blocking, which enables to properly
6071         handle FLUSH_START/FLUSH_STOP events on blocked pads.
6072         Fixes #358999
6073         API: gst_pad_is_blocking()
6074         API: GST_PAD_IS_BLOCKING() macro
6075         API: GST_PAD_BLOCKING GstPadFlag
6076         
6077 2006-10-02  Wim Taymans  <wim@fluendo.com>
6078
6079         Patch by: mrcgran <mrc.gran at gmail dot com>
6080
6081         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6082         Filter the proxied caps against the padtemplate if we have one.
6083
6084         * gst/gstquery.c: (gst_query_new_segment):
6085         Add include for gstinfo.h so that compilation with
6086         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6087
6088 2006-10-02  Wim Taymans  <wim@fluendo.com>
6089
6090         Patch by: Alessandro Decina  <alessandro at nnva org>
6091
6092         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6093         (gst_file_sink_set_location), (gst_file_sink_open_file),
6094         (gst_file_sink_close_file), (gst_file_sink_event),
6095         (gst_file_sink_render):
6096         Set file to NULL when closing filesink so that we can set a new filename
6097         in READY. Fixes #358613.
6098
6099 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6100
6101         Patch by: Alessandro Decina  <alessandro at nnva org>
6102
6103         * gst/gstevent.c: (_gst_event_copy):
6104           Fix gst_mini_object_make_writable() and gst_event_copy() for events
6105           with event structures by setting the parent refcount address of the
6106           copied structure to the address of the refcount member of the newly
6107           copied event rather than the address of the refcount member of the
6108           original event. Fixes #358737.
6109
6110         * tests/check/gst/gstevent.c: (GST_START_TEST):
6111           Unit test for the above.
6112
6113 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
6114
6115         * docs/design/Makefile.am:
6116           Dist some more files.
6117
6118 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6119
6120         * tests/check/libs/controller.c: (GST_START_TEST),
6121         (gst_controller_suite):
6122           Add test for the previous fix; add some more tests
6123           for correct refcounting behaviour; fix a few leaks
6124           in test cases; call gst_controller_init() at start
6125           of all tests.
6126
6127 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6128
6129         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6130         (gst_controller_set_from_list):
6131           Don't g_return_val_if_fail() on timed values with invalid timestamps
6132           inside a critical section without unlocking the mutex. Spotted by
6133           René Stadler. (#357617)
6134           Also, fix up refcounting properly: when returning an existing
6135           controller, we should increase the reference only once and not
6136           once per property and when trying to control a property again
6137           we should also increase the refcount.
6138
6139 2006-09-29  Wim Taymans  <wim@fluendo.com>
6140
6141         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6142         * libs/gst/net/gstnettimeprovider.c:
6143         (gst_net_time_provider_thread):
6144         Stop reading commands when EOF as well.
6145
6146         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6147         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6148         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6149         Unify description of the dump property.
6150
6151 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6152
6153         * tests/examples/manual/.cvsignore:
6154         OK, so it's actually cvsignore that needs changing. Stop laughing.
6155
6156 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6157
6158         * tests/examples/manual/Makefile.am:
6159         Gah, declare vars *before* using them
6160
6161 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6162
6163         * gst/gst.c: (init_pre), (scan_and_update_registry),
6164         (ensure_current_registry_nonforking),
6165         (ensure_current_registry_forking), (ensure_current_registry),
6166         (init_post), (gst_debug_help), (gst_deinit):
6167         * gst/gst_private.h:
6168         * gst/gstregistry.c: (gst_registry_finalize),
6169         (gst_registry_remove_features_for_plugin_unlocked),
6170         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6171         (gst_registry_scan_path),
6172         (_priv_gst_registry_remove_cache_plugins),
6173         (_priv_gst_registry_cleanup):
6174         * gst/gstregistry.h:
6175         Re-commit the registry changes, along with an extra fix:
6176           When a cached plugin is encountered at a different file path,
6177           update the stored path in the registry cache so that the parent
6178           process knows where it actually is now when it re-reads the registry
6179           cache. Fixes the thing that broke distcheck with the previous commit.
6180
6181         * tests/check/Makefile.am:
6182         Clean up files named 'core' too when running make clean.
6183
6184         * tests/examples/manual/Makefile.am:
6185         Set up a registry path for running these tests, and clean it properly
6186         for distcheck.
6187
6188 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6189
6190         * configure.ac:
6191         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6192         want gmodule-no-export-2.0.pc instead so that we don't drag in
6193         --export-dynamic on every project that links to GStreamer.
6194
6195         Also, make our export regex only match the start of symbols, rather 
6196         than any symbol that contains '_gst' somewhere.
6197
6198         * libs/gst/check/Makefile.am:
6199         The libgstcheck we build does however need export-dynamic, as it
6200         produces some symbols that don't match our _gst... style regex.
6201         Fixes: #318031
6202
6203 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6204
6205         * gst/gst.c: (init_pre), (scan_and_update_registry),
6206         (ensure_current_registry_nonforking),
6207         (ensure_current_registry_forking), (ensure_current_registry),
6208         (init_post), (gst_debug_help), (gst_deinit):
6209         * gst/gst_private.h:
6210         * gst/gstregistry.c: (gst_registry_finalize),
6211         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6212         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6213         (_gst_registry_cleanup):
6214         * gst/gstregistry.h:
6215           Revert previous change until I figure out why it breaks distcheck.
6216
6217 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6218
6219         * gst/gst.c: (init_pre), (scan_and_update_registry),
6220         (ensure_current_registry_nonforking),
6221         (ensure_current_registry_forking), (ensure_current_registry),
6222         (init_post), (gst_debug_help), (gst_deinit):
6223
6224           Make init_pre and init_post take the full complement of GOptionFunc
6225           args so they can return useful GErrors. Make the registry updating
6226           functions do so.
6227
6228           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6229           ensure that the registry we're about to write out doesn't contain
6230           stale information about old-deleted plugin files.
6231
6232           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6233           that deletion of plugin files is considered a registry change.
6234
6235         * gst/gst_private.h:
6236         * gst/gstregistry.c: (gst_registry_finalize),
6237         (gst_registry_remove_features_for_plugin_unlocked),
6238         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6239         (gst_registry_scan_path),
6240         (_priv_gst_registry_remove_cache_plugins),
6241         (_priv_gst_registry_cleanup):
6242         * gst/gstregistry.h:
6243         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6244         by adding _priv prefix, so that they won't appear in the global
6245         symbol table. They still do atm though because of #318031. Move the
6246         prototypes to gst_private.h
6247
6248         When removing a plugin, remove all features for that plugin too. 
6249         Fixes #340878.
6250
6251 2006-09-27  Wim Taymans  <wim@fluendo.com>
6252
6253         * docs/random/moving-plugins:
6254         Make it clear that the "compiled-in descriptions" really mean
6255         the element details.
6256
6257         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6258         (gst_base_sink_wait_preroll):
6259         Update docs.
6260
6261         * docs/libs/gstreamer-libs-sections.txt:
6262         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6263         (gst_base_src_get_range), (gst_base_src_activate_push):
6264         * libs/gst/base/gstbasesrc.h:
6265         Added function to block while waiting for PLAYING, this function
6266         is used by live sources that block on the clock.
6267         API: gst_base_src_wait_playing()
6268
6269 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6270
6271         Patch by: Peter Kjellerstedt <pkj at axis com>
6272
6273         * Makefile.am:
6274           gst-element-check.m4 is generated and should therefore be
6275           copied from the build dir rather than the source dir (#357593).
6276           'make distcheck' hasn't noticed this because we were disting
6277           the file as well, so stop doing that.
6278
6279 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6280
6281         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6282           Add some tests for gst_caps_intersect().
6283
6284         * tools/gst-launch.c: (event_loop):
6285           Print all buffering percentages we get, even the 100% one.
6286
6287 2006-09-26  Wim Taymans  <wim@fluendo.com>
6288
6289         * tools/gst-inspect.c: (print_element_properties_info),
6290         (print_signal_info):
6291         Fix printing of flags to match the look of enums.
6292
6293 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6294
6295         * gst/gstelementfactory.c:
6296           Fix typo in docs blurb.
6297
6298 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6299
6300         * gst/gsturi.c: (search_by_entry):
6301           Don't assert/crash here if a uri handler doesn't return any
6302           supported protocols. The list of protocols could be generated
6303           dynamically at runtime or at plugin registration, and an error
6304           in the underlying library shouldn't be fatal (#353301).
6305
6306 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6307
6308         * gst/gstinfo.c:
6309           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6310           (spotted by Peter Kjellerstedt).
6311
6312 2006-09-23  Wim Taymans  <wim@fluendo.com>
6313
6314         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6315
6316         * libs/gst/base/gstbasesrc.c:
6317         (gst_base_src_default_check_get_range), (gst_base_src_start),
6318         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6319         (gst_base_src_change_state):
6320         Match _start/_stop calls in the activate functions. Remove redundant
6321         _stop call from the state change function. Fixes #356910.
6322         Turn failure DEBUG into ERROR. 
6323
6324 2006-09-22  Wim Taymans  <wim@fluendo.com>
6325
6326         * docs/design/part-buffering.txt:
6327         * gst/gstmessage.c: (gst_message_new_buffering),
6328         (gst_message_parse_buffering):
6329         Update docs about buffering.
6330
6331         * docs/design/part-trickmodes.txt:
6332         Fix typo.
6333
6334 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6335
6336         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6337         (gst_controller_new_list):
6338           Ref instances when returning them again (fixes #357180)
6339
6340 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6341
6342         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6343           Don't forget to release proxy lock when there's an error.
6344
6345 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6346
6347         * gst/gstcaps.h:
6348           Add extra initialisers for Caps things, to fix some plugin warnings
6349           when using -Wextra
6350
6351 2006-09-18  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6354           Also set template on the internal pad so that a getcaps from the 
6355           target pad returns the template caps.
6356
6357 2006-09-18  Wim Taymans  <wim@fluendo.com>
6358
6359         * gst/gstelement.c: (gst_element_post_message),
6360         (gst_element_dispose):
6361         Use _DEBUG_OBJECT some more.
6362
6363         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6364         Avoid typechecks.
6365
6366         * tools/gst-launch.c: (main):
6367         If the toplevel element is not a GstPipeline, it must be put in a
6368         pipeline so that a bus and clock is selected.
6369
6370 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6373           JITTER, RATE, and LATENCY query should be handled by the
6374           default case and not by the CONVERT query code.
6375
6376 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * gst/gstformat.c: (gst_format_register):
6379           Fix locking order (must take lock before using n_values).
6380
6381         * gst/gstvalue.c: (gst_value_serialize_enum),
6382         (gst_value_deserialize_enum_iter_cmp),
6383         (gst_value_deserialize_enum):
6384           Fix serialisation/deserialisation of custom registered GstFormats.
6385
6386         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6387           Unit test for custom format serialisation/deserialisation.
6388
6389 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * docs/pwg/building-boiler.xml:
6392         * plugins/elements/gstcapsfilter.c:
6393         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6394         section.
6395
6396 2006-09-16  Edward Hervey  <edward@fluendo.com>
6397
6398         * libs/gst/base/gstbasetransform.c:
6399         (gst_base_transform_buffer_alloc):
6400         Check if requested caps are the same as the sinks caps IF
6401         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6402         is FALSE.
6403         This fixes the renegotiation issues stated in #352827.
6404
6405 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6406
6407         * configure.ac:
6408         * docs/manual/advanced-autoplugging.xml:
6409         * tests/examples/Makefile.am:
6410         * tests/examples/manual/.cvsignore:
6411         * tests/examples/manual/Makefile.am:
6412         * tests/examples/manual/extract.pl:
6413           Extract the manual examples again like we used to do.
6414           Fix one of them.
6415
6416 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6417
6418         * win32/common/config.h:
6419           update for version
6420
6421 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6422
6423         * gst/gsterror.c:
6424           Documents how to receive errors.
6425
6426 2006-09-15  Wim Taymans  <wim@fluendo.com>
6427
6428         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6429         (event_loop), (main):
6430         Added some comments here and there.
6431         Post an application message when an interrupt is caught instead of doing
6432         an uncontrolled state change.
6433         Clean up the event loop.
6434         Handle buffering messages, pause/resume the pipeline.
6435         Make shutdown because of an interrupt more reliable.
6436
6437 2006-09-15  Wim Taymans  <wim@fluendo.com>
6438
6439         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6440         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6441         (gst_base_sink_preroll_object):
6442         Make sure that our internal state is correct when we commit our state
6443         asynchronously. This solves a race where a state change to PLAYING
6444         could cause the sink to remain blocked in preroll in some situations.
6445
6446 2006-09-15  Wim Taymans  <wim@fluendo.com>
6447
6448         * tools/gst-inspect.c: (print_element_properties_info),
6449         (print_signal_info):
6450         List flags as hex so it's easier to deal with.
6451
6452 2006-09-15  Wim Taymans  <wim@fluendo.com>
6453
6454         * docs/libs/gstreamer-libs-sections.txt:
6455         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6456         (gst_base_sink_do_sync):
6457         * libs/gst/base/gstbasesink.h:
6458         Expose logic to wait for preroll so that subclasses such as audiosink
6459         can also use this method.
6460         API: gst_base_sink_wait_preroll()
6461
6462 2006-09-15  Wim Taymans  <wim@fluendo.com>
6463
6464         * gst/gstobject.c: (gst_object_set_parent):
6465         * gst/gstpipeline.c: (do_pipeline_seek):
6466         Small cleanups in docs and code.
6467
6468         * gst/gstsegment.c: (gst_segment_clip):
6469         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6470         if stop == start and start is in the segment, no clipping should be
6471         done. Also add a test for this.
6472
6473 2006-09-15  Wim Taymans  <wim@fluendo.com>
6474
6475         * docs/design/part-buffering.txt:
6476         * docs/gst/gstreamer-sections.txt:
6477         * gst/gstmessage.c: (gst_message_new_buffering),
6478         (gst_message_parse_buffering):
6479         * gst/gstmessage.h:
6480         Added methods to create and parse BUFFERING messages.
6481         Added preliminary docs about buffering.
6482         API: gst_message_new_buffering
6483         API: gst_message_parse_buffering
6484
6485 2006-09-06  Wim Taymans  <wim@fluendo.com>
6486
6487         * gst/gstbin.c:
6488         Update documentation.
6489
6490         * gst/gstelement.c: (gst_element_class_init),
6491         (gst_element_release_request_pad), (gst_element_set_clock),
6492         (gst_element_get_index), (gst_element_add_pad),
6493         (gst_element_remove_pad), (gst_element_get_random_pad),
6494         (gst_element_send_event), (gst_element_get_query_types),
6495         (gst_element_query), (gst_element_post_message),
6496         (gst_element_message_full), (gst_element_continue_state),
6497         (gst_element_lost_state), (gst_element_save_thyself),
6498         (gst_element_restore_thyself):
6499         Documentation updates.
6500         Rename last bit of the new-pad -> pad-added signal rename.
6501         Fix the case where an element query would only work if the source
6502         pad was linked.
6503         Avoid some useless type checking in message handling.
6504
6505         * gst/gstevent.c:
6506         * gst/gstevent.h:
6507         * gst/gstutils.c:
6508         Documentation updates.
6509
6510 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6511
6512         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6513           add an INFO line for when we actually update the fd
6514
6515 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * configure.ac:
6518           back to TRUNK
6519
6520 === release 0.10.10 ===
6521
6522 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6523
6524         * configure.ac:
6525           releasing 0.10.10, "Pais"
6526
6527 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6528
6529         * docs/manual/advanced-position.xml:
6530           Fix typo in sample code.
6531
6532 2006-09-05  Wim Taymans  <wim@fluendo.com>
6533
6534         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6535         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6536         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6537         * libs/gst/net/gstnetclientclock.h:
6538         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6539         * libs/gst/net/gstnettimepacket.h:
6540         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6541         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6542         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6543         * libs/gst/net/gstnettimeprovider.h:
6544         Make stuff compile on windows. Fixes #345295.
6545
6546 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6547
6548         * gst/gst.c: (ensure_current_registry_forking):
6549           Print better details when child was terminated by signal.
6550
6551 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6552
6553         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6554           Print a warning rather than g_assert() if a plugin feature
6555           is a URI handler but returns no protocols (#353976).
6556
6557 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6558
6559         * docs/random/moving-plugins:
6560         Fix two typos.         
6561
6562 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6563
6564         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6565           Fix locking order, handle NULL function values properly.
6566
6567         * gst/gstinfo.h:
6568           Fix docs.
6569
6570         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6571           Initialise variable before using it and fix debug statement to
6572           print the address of the function rather than the address of the
6573           variable on the stack holding the address of the function.
6574
6575 2006-09-01  Wim Taymans  <wim@fluendo.com>
6576
6577         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6578         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6579         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6580         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6581         (gst_ghost_pad_parent_unset),
6582         (gst_ghost_pad_internal_do_activate_push),
6583         (gst_ghost_pad_internal_do_activate_pull),
6584         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6585         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6586         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6587         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6588         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6589         (gst_ghost_pad_new_no_target_from_template),
6590         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6591         More cleanups.
6592         Avoid needless typechecking in macros.
6593         Since the internal pad is always present and never changes, there is
6594         no need to locking or ref when retrieving it.
6595         Improve debugging a bit.
6596         Handle link errors when setting the target. Fixes #341029.
6597
6598 2006-09-01  Wim Taymans  <wim@fluendo.com>
6599
6600         * docs/libs/gstreamer-libs-sections.txt:
6601         * docs/plugins/gstreamer-plugins-sections.txt:
6602         Fix docs some more.
6603
6604         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6605         (gst_collect_pads_event):
6606         * libs/gst/base/gstcollectpads.h:
6607         Documentation updates.
6608         Free queued buffer when removing a pad.
6609
6610 2006-08-31  Michael Smith  <msmith@fluendo.com>
6611
6612         * gst/gstutils.c: (gst_element_link_pads),
6613         (gst_element_link_pads_filtered):
6614           Ensure that we set a capsfilter to NULL if we failed to link it
6615           when doing filtered linking, to avoid criticals.
6616
6617           No need to check for unreffing srcpad, which is explicly NULLed
6618           above (a trivial code cleanup).
6619
6620 2006-08-31  Wim Taymans  <wim@fluendo.com>
6621
6622         * docs/design/part-gstghostpad.txt:
6623         Update ascii art in documentation.
6624
6625         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6626         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6627         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6628         (gst_ghost_pad_internal_do_activate_push),
6629         (gst_ghost_pad_internal_do_activate_pull),
6630         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6631         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6632         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6633         (gst_ghost_pad_set_target):
6634         Small cleanups and leak fixes.
6635         Remove some checks now that the internal pad is never NULL.
6636         Fix the case where linking pads without a target would create nasty
6637         criticals. Fixes #341029.
6638         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6639         value of _set_target().
6640
6641         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6642         (gst_ghost_pad_suite):
6643         Some more tests for creating and linking untargeted ghostpads.
6644
6645 2006-08-31  Edward Hervey  <edward@fluendo.com>
6646
6647         * docs/gst/gstreamer-sections.txt:
6648         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6649         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6650         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6651         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6652         (gst_ghost_pad_new_from_template),
6653         (gst_ghost_pad_new_no_target_from_template):
6654         * gst/gstghostpad.h:
6655         Refactored *_new() functions.
6656         Templates are now used as a g_object_new() parameter.
6657         Use template in _do_getcaps() if we don't have a target.
6658         Small documentation cleanups.
6659         Added two new constructors:
6660         gst_ghost_pad_new_from_template()
6661         gst_ghost_pad_new_no_target_from_template()
6662         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6663         (gst_ghost_pad_suite):
6664         Added tests for new ghostpad instanciation functions.
6665
6666         API additions: gst_ghost_pad_new_from_template,
6667         gst_ghost_pad_new_no_target_from_template
6668
6669 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6670
6671         * docs/random/ensonic/profiling.txt:
6672           Ideas about qos profiling.
6673
6674 2006-08-29  Wim Taymans  <wim@fluendo.com>
6675
6676         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6677         Code cleanups.
6678         Fix memleak.
6679
6680 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
6681
6682         * gst/gstxml.c:
6683           Improve and detypofy docs.
6684
6685         * tests/check/Makefile.am:
6686         * tests/check/gst/.cvsignore:
6687         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6688           Add a basic test suite for GstXML.
6689
6690 2006-08-29  Wim Taymans  <wim@fluendo.com>
6691
6692         * gst/gstelement.c: (activate_pads), (clear_caps),
6693         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6694         Clear the pad caps when the element shut down all of the pads and
6695         is not streaming data that could modify the caps. 
6696         Fixes #352958.
6697
6698 2006-08-28  Michael Smith  <msmith@fluendo.com>
6699
6700         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6701           Revert previous change; I misunderstood single-segment mode.
6702
6703 2006-08-28  Michael Smith  <msmith@fluendo.com>
6704
6705         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6706           Unset DISCONT on buffers when using single-segment mode.
6707
6708 2006-08-28  Wim Taymans  <wim@fluendo.com>
6709
6710         * gst/gstcaps.c: (gst_caps_merge_structure):
6711         * gst/gstcaps.h:
6712         Fix docs and indentation again.
6713
6714         * tests/check/gst/gstquery.c: (GST_START_TEST):
6715         Fix leak in tests and add some more tests.
6716
6717 2006-08-28  Edward Hervey  <edward@fluendo.com>
6718
6719         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6720         Inform GstSegment of the last stop position in order for the current
6721         segment to have a proper duration if it doesn't have a specific stop
6722         position from which a duration could be calculated.
6723         This bug was noticeable when a non-flushing, non-update new segment was
6724         followed by another segment (all buffers from the new segment were being
6725         dropped).
6726
6727 2006-08-28  Wim Taymans  <wim@fluendo.com>
6728
6729         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6730         Small comment update.
6731
6732         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6733         (gst_identity_transform_ip):
6734         Drop-probability is broken, mention this in the code with a 
6735         FIXME and also in the property description.
6736         Make silent also be silent about the drop messages.
6737
6738 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
6739
6740         * docs/manual/appendix-win32.xml:
6741           Remove mention of popt, we don't depend on that any
6742           longer (#353136). Add some comments pointing out that
6743           this section is slightly outdated.
6744
6745 2006-08-28  Wim Taymans  <wim@fluendo.com>
6746
6747         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6748
6749         * gst/gstquery.c: (gst_query_new_segment):
6750         * tests/check/gst/gstquery.c: (GST_START_TEST):
6751         Initialize variables when creating a new segment query.
6752         Fixes #353121.
6753
6754 2006-08-28  Wim Taymans  <wim@fluendo.com>
6755
6756         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6757
6758         * gst/gstelement.c: (gst_element_get_bus):
6759         * tests/check/gst/gstelement.c: (GST_START_TEST):
6760         Check for NULL before _reffing the bus. Fixes #353122.
6761
6762 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
6763
6764         * docs/manual/basics-bus.xml:
6765           Docs update: fix wrong callback return value explanation; add
6766           some lines about the implicit relationship between main loop
6767           and main context; remove duplicate main loop variable declaration.
6768
6769 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
6770
6771         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6772           Don't leak caps in unit test; add a few more simple
6773           checks. 
6774
6775 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * docs/gst/gstreamer-sections.txt:
6778         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6779         (gst_caps_structure_is_subset), (gst_caps_merge),
6780         (gst_caps_merge_structure):
6781         * gst/gstcaps.h:
6782         * libs/gst/base/gstbasetransform.c:
6783         (gst_base_transform_transform_caps):
6784         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6785           implement caps merging (fixes #352580)
6786
6787 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
6788
6789         * tools/Makefile.am:
6790         * tools/gst-plot-timeline.py:
6791           add debug-log plotting developer tool (#340674)
6792
6793 2006-08-23  Wim Taymans  <wim@fluendo.com>
6794
6795         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6796         (gst_pad_stop_task):
6797         Improve debugging for task functions.
6798
6799         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6800         (gst_task_start), (gst_task_pause), (gst_task_join):
6801         Make sure that the task function started and finished after a 
6802         join(). 
6803         Don't try to push the task function on the threadpool multiple
6804         times.
6805         Improve the g_warning message with some useful suggestions
6806         about how to fix the problem. 
6807
6808 2006-08-23  Wim Taymans  <wim@fluendo.com>
6809
6810         * gst/gstutils.c: (gst_pad_proxy_getcaps):
6811         Handle RESYNC correctly in _proxy_getcaps.
6812
6813 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
6814
6815         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6816         (gst_xml_parse_memory), (gst_xml_get_element):
6817           Chain up to parent class in dispose function and also
6818           unref the elements in the toplevel_elements GList.
6819           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6820           Always return a reference in gst_xml_get_element() rather
6821           than only sometimes.
6822
6823         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6824           Don't leak GstXml object.
6825
6826 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
6827
6828         * docs/gst/gstreamer-sections.txt:
6829         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6830         (gst_caps_merge):
6831         * gst/gstcaps.h:
6832         * libs/gst/base/gstbasetransform.c:
6833         (gst_base_transform_transform_caps):
6834           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6835           in a better way
6836
6837 2006-08-21  Edward Hervey  <edward@fluendo.com>
6838
6839         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6840         Implement GObject::dispose virtual method in GstXML so we can free the
6841         top_elements GList.
6842
6843 2006-08-21  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6846         (gst_buffer_create_sub):
6847         Copy duration/offset_end/caps when creating a subbuffer of the
6848         complete parent.
6849         Make the subbuffer read-only when we make the metadata writable for
6850         now. Fixes #351768.
6851
6852         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6853         Added check for metadata copy when creating subbuffers.
6854
6855 2006-08-21  Edward Hervey  <edward@fluendo.com>
6856
6857         * libs/gst/base/gstbasetransform.c:
6858         (gst_base_transform_buffer_alloc):
6859         Only call downstream buffer_alloc if transform element is passthrough
6860         or always_in_place. Closes #350449.
6861
6862 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * ChangeLog:
6865           ChangeLog surgery to add comments to previous changes
6866
6867 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6868
6869         * gst/gst.c:
6870           Add comments
6871
6872         * gst/gstpad.c: (gst_pad_set_active):
6873           Be more verbose in the log
6874
6875         * libs/gst/base/gstbasetransform.c:
6876         (gst_base_transform_transform_caps):
6877           Simplify caps to get rid of duplicates, fixes #345444
6878
6879 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6880
6881         * gst/gstvalue.c:
6882         * gst/gstvalue.h:
6883           Use these optimizations only internally.
6884
6885 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6886
6887         * gst/gstvalue.c: (gst_value_compare_list),
6888         (gst_value_compare_fraction_range),
6889         (gst_value_intersect_fraction_fraction_range),
6890         (gst_value_intersect_fraction_range_fraction_range),
6891         (gst_value_subtract_fraction_fraction_range),
6892         (gst_value_subtract_fraction_range_fraction_range),
6893         (gst_value_get_compare_func), (gst_value_compare),
6894         (gst_value_compare_with_func):
6895         * gst/gstvalue.h:
6896           Saves the expensive lookup of the compare function in many cases
6897          (#345444)
6898
6899 2006-08-18  Edward Hervey  <edward@fluendo.com>
6900
6901         * tests/check/gst/gstinfo.c: (gst_info_suite):
6902         Disable test that require gstdebug if it wasn't built in core.
6903
6904 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * docs/random/ensonic/logging.txt:
6907           update ideas
6908           
6909         * gst/gstinfo.c: (gst_debug_log_default):
6910           reorder fields, save some columns, add optional color codes for log
6911           levels
6912
6913 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * docs/random/ensonic/logging.txt:
6916           add ideas about making the logs a bit more useful
6917
6918 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6919
6920         * docs/pwg/advanced-events.xml:
6921         * docs/pwg/titlepage.xml:
6922           Update for 0.10 API (#340627). Add myself
6923           to authors list.
6924
6925 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         * docs/libs/gstreamer-libs-docs.sgml:
6928         * docs/libs/gstreamer-libs-sections.txt:
6929         * libs/gst/check/gstbufferstraw.c:
6930           Make gstcheck stuff show up in docs (still needs to
6931           be documented properly though).
6932
6933 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6934
6935         * docs/gst/gstreamer-sections.txt:
6936         * gst/Makefile.am:
6937         * gst/gst.c: (init_post):
6938         * gst/gst_private.h:
6939         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6940         * gst/gstquark.h:
6941         * gst/gstquery.c: (gst_query_new_position),
6942         (gst_query_set_position), (gst_query_parse_position),
6943         (gst_query_new_duration), (gst_query_set_duration),
6944         (gst_query_parse_duration), (gst_query_new_convert),
6945         (gst_query_set_convert), (gst_query_parse_convert),
6946         (gst_query_new_segment), (gst_query_set_segment),
6947         (gst_query_parse_segment), (gst_query_new_seeking),
6948         (gst_query_set_seeking), (gst_query_parse_seeking):
6949         Add internal helpers for pre-registering quarks from static strings
6950         and using the quark values directly instead of looking them up when
6951         creating and parsing queries. Can be used for event construction too.
6952         Closes #350432.
6953
6954 2006-08-16  Wim Taymans  <wim@fluendo.com>
6955
6956         * gst/gstbin.c:
6957         Fix bogus docs.
6958
6959 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6960
6961         * gst/gstutils.c: (gst_util_set_value_from_string):
6962           Fix memleak (#351502).
6963
6964         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6965           Add unit test for most of gst_util_set_value_from_string()
6966           (not that one would want to encourage use of this function).
6967
6968 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6969
6970         * libs/gst/check/gstcheck.h:
6971           Use const gchar * variables in fail_unless_equals_string
6972           macro to avoid compiler warnings (and don't use tabs for
6973           indenting).
6974
6975 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6976
6977         * tools/gst-launch.c: (print_tag):
6978           More space on the left for the tag names, to cater
6979           for the 'extended comment' tag (not touching the
6980           string for the first line since it's translated).
6981
6982 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6983
6984         * libs/gst/check/gstcheck.h:
6985           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6986           print something when they fail.
6987
6988 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * docs/gst/gstreamer-sections.txt:
6991         * gst/gsttaglist.c: (_gst_tag_initialize):
6992         * gst/gsttaglist.h:
6993           API: add GST_TAG_EXTENDED_COMMENT (#350935).
6994           Also change merge function for GST_TAG_COMMENT to
6995           use_first.
6996
6997 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6998
6999         * gst/gstinfo.c: (gst_debug_print_object):
7000           Make GST_PTR_FORMAT print messages as well.
7001
7002         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7003         (GST_START_TEST), (gst_info_suite):
7004           More tests.
7005
7006 2006-08-14  Edward Hervey  <edward@fluendo.com>
7007
7008         * gst/gstelementfactory.c: (gst_element_register):
7009         If the GstElementClass doesn't have a GstElementDetails with all fields
7010         filled up correctly (longname, description AND author), then error out
7011         nicely instead of crashing.
7012
7013 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7014
7015         * gst/gststructure.c:
7016           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7017
7018         * gst/gstvalue.h:
7019           Expand on the difference between arrays and lists as we use them.
7020           
7021 2006-08-14  Wim Taymans  <wim@fluendo.com>
7022
7023         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7024         If the parent state change function failed, don't assume we can safely
7025         stop the source, this will be done when the pads are deactivated.
7026
7027 2006-08-14  Wim Taymans  <wim@fluendo.com>
7028
7029         * gst/gstbuffer.c:
7030         * gst/gsttask.c: (gst_task_join):
7031         Small doc updates.
7032
7033         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7034         (gst_pad_stop_task):
7035         When pad (de)activation failed for some reason, restore the old
7036         activation mode and set the pad to flushing instead of assuming the
7037         pad is deactivated.
7038         If the _task_join() failed, reinstall the task on the pad so that it can
7039         be stopped later and return an error.
7040
7041 2006-08-11  Andy Wingo  <wingo@pobox.com>
7042
7043         * configure.ac:
7044         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7045         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7046         is only for users of API that don't want to see deprecated
7047         functions in the headers; people that want to compile out
7048         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7049         CFLAGS. Fixes the build of multifdsink, or will soon..
7050
7051 2006-08-11  Wim Taymans  <wim@fluendo.com>
7052
7053         * docs/gst/gstreamer-sections.txt:
7054         Add GstClockClass vmethod docs.
7055
7056         * gst/gstcaps.h:
7057         Mark #endif with comment for associated #if
7058
7059         * gst/gstclock.c: (gst_clock_id_wait):
7060         * gst/gstclock.h:
7061         Add vmethod wait_jitter to avoid an unneeded _get_time() for
7062         most clock implementations.
7063         Document vmethods.
7064         Flesh out docs about resolution methods.
7065         API: GstClockClass::wait_jitter
7066
7067         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7068         (gst_system_clock_async_thread),
7069         (gst_system_clock_id_wait_jitter_unlocked),
7070         (gst_system_clock_id_wait_jitter):
7071         Use base class wait_jitter variant for improved performance
7072         due to less clock polling.
7073
7074 2006-08-11  Edward Hervey  <edward@fluendo.com>
7075
7076         * gst/gst.c: (gst_init_check), (init_post):
7077         Set gst as being initialized before scanning/updating the registry,
7078         since there might be my python plugin loader that calls gst_init() and
7079         we don't want to loop back in.
7080         Closes #350879
7081
7082 2006-08-11  Wim Taymans  <wim@fluendo.com>
7083
7084         * docs/design/part-qos.txt:
7085         Bring docs in line with the code. Mostly the sign of the jitter was
7086         wrong in the docs. Fixes #349943.
7087
7088         * gst/gstclock.c:
7089         Fix the docs for the jitter.
7090
7091         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7092         (gst_event_parse_tag), (gst_event_new_buffer_size),
7093         (gst_event_parse_buffer_size), (gst_event_parse_qos),
7094         (gst_event_new_seek), (gst_event_parse_seek),
7095         (gst_event_new_navigation):
7096         Make sure the GstStructure has no parent when creating custom
7097         events.
7098         Add some more argument checking so that we avoid 0.0 rates.
7099         Flesh out the docs for the QoS event some more.
7100
7101 2006-08-11  Wim Taymans  <wim@fluendo.com>
7102
7103         * docs/gst/gstreamer-sections.txt:
7104         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7105         (ensure_current_registry_forking), (ensure_current_registry),
7106         (parse_one_option), (parse_goption_arg), (gst_deinit),
7107         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7108         * gst/gst.h:
7109         Doc updates.
7110         Added API and command line option to disable registry forking in
7111         addition to the environment variable.
7112         Constify some static arrays.
7113         Added some more debug.
7114         Don't deinit twice.
7115         API: gst_registry_fork_is_enabled()
7116         API: gst_registry_fork_set_enabled()
7117         API: --gst-disable-registry-fork command line option
7118         Fixes #348918.
7119
7120 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
7121
7122         * gst/gst.c: (gst_init):
7123           Fix typo in error message.
7124
7125 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7126
7127         * libs/gst/controller/gstcontroller.h:
7128           fix ABI size-correction
7129
7130         * tests/check/libs/gdp.c: (gst_dp_suite):
7131           make tests that use deprecated API conditional
7132
7133 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * docs/libs/gstreamer-libs-sections.txt:
7136         * libs/gst/controller/gstcontroller.c:
7137         (_gst_controller_get_property), (_gst_controller_set_property),
7138         (_gst_controller_init), (_gst_controller_class_init):
7139         * libs/gst/controller/gstcontroller.h:
7140         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7141         (gst_object_set_control_rate):
7142           API: add gst_object_{s,g}et_control_rate(), add private data section,
7143           fix docs
7144
7145         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7146         * libs/gst/dataprotocol/dataprotocol.h:
7147           add deprecation guards to make gtk-doc happy and allow disabling cruft
7148
7149 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7150
7151         * tests/check/Makefile.am:
7152         * tests/check/gst/.cvsignore:
7153           Let's enable the new unit test as well.
7154
7155 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7156
7157         * configure.ac:
7158         * docs/gst/gstreamer-sections.txt:
7159         * gst/gstconfig.h.in:
7160         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7161         (_gst_info_printf_extension_ptr),
7162         (_gst_info_printf_extension_segment):
7163           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7164           register that lets us easily dump GstSegments into debug
7165           logs (#350419).
7166
7167         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7168         (info_segment_format_printf_extension), (gst_info_suite):
7169           Add simple unit test that logs a bunch of different segments (not
7170           valgrinded at the moment because of leaks in
7171           gst_debug_add_log_function).
7172
7173 2006-08-09  Edward Hervey  <edward@fluendo.com>
7174
7175         * libs/gst/base/gstbasetransform.c:
7176         (gst_base_transform_buffer_alloc):
7177         Even if we can't figure out the proper format to request downstream,
7178         call buffer_alloc() downstream with the input parameters without setting
7179         the caps on the srcpad. This will force negotiation in the chain
7180         function.
7181         Closes #350449
7182
7183 2006-08-08  Edward Hervey  <edward@fluendo.com>
7184
7185         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7186         Unlinking from a pad without a target is now a perfectly valid case
7187         which should NOT raise an assertion.
7188         This case would happen if a linked ghostpad its target set to NULL after
7189         it was previously linked.
7190
7191 2006-08-08  Edward Hervey  <edward@fluendo.com>
7192
7193         * tests/check/libs/gdp.c:
7194         Also comment out the test (see below).
7195
7196 2006-08-08  Edward Hervey  <edward@fluendo.com>
7197
7198         * tests/check/libs/gdp.c: (gst_dp_suite):
7199         Use the architecture information from config.h and not gcc macros
7200         in order to properly disable a test that fails on PPC64.
7201
7202 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7203
7204         * gst/gstelement.c: (gst_element_remove_pad):
7205           Don't crash printing the warning if the pad has no parent.
7206
7207 2006-08-02  Wim Taymans  <wim@fluendo.com>
7208
7209         * libs/gst/dataprotocol/dataprotocol.c:
7210         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7211         (gst_dp_crc), (gst_dp_header_payload_length),
7212         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7213         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7214         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7215         (gst_dp_event_from_packet), (gst_dp_validate_header),
7216         (gst_dp_validate_payload):
7217         Make debug category static
7218         Constify the crc table.
7219         Do some more arg checking in public functions.
7220         Fix some docs and do some small cleanups.
7221
7222         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7223         Add some more checks to see if GDP deals with bogus input.
7224
7225 2006-07-31  Wim Taymans  <wim@fluendo.com>
7226
7227         * gst/gstvalue.c: (gst_value_compare_list):
7228         Fix GstValueList comparison code. Fixes #347293.
7229
7230         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7231         Check to test GstValueList comparison.
7232
7233 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7234
7235         * gst/gstelementfactory.c: (gst_element_factory_create):
7236         Remove unnecessary ref/unref pair
7237
7238         * gst/parse/grammar.y:
7239         Make sure to free the parse buffer on all code paths.
7240         Move a g_free up to the error handler where it's easier to see.
7241
7242         * tests/check/gst/gstevent.c: (test_event):
7243         Extending timeout for downstream travelling events to 10 seconds to
7244         hopefully avoid intermittent failure on the buildbots.
7245
7246         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7247         Don't manually set the state of the src element - it will happen as a
7248         natural consequence of the pipeline changing state, and that way it
7249         will do it in the right order too.
7250
7251 2006-07-31  Wim Taymans  <wim@fluendo.com>
7252
7253         * libs/gst/base/gstbasetransform.c:
7254         (gst_base_transform_buffer_alloc):
7255         Use OBJECT_LOCK and refcounting to get the pad caps in the
7256         buffer_alloc function because the caps could change while we are
7257         busy with them. Fixes #349105
7258
7259 2006-07-31  Wim Taymans  <wim@fluendo.com>
7260
7261         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7262         Protect _PAD_CAPS with OBJECT_LOCK.
7263
7264 2006-07-31  Wim Taymans  <wim@fluendo.com>
7265
7266         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7267         (gst_pad_get_property), (gst_pad_activate_pull),
7268         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7269         (gst_pad_set_activate_function),
7270         (gst_pad_set_activatepull_function),
7271         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7272         (gst_pad_set_getrange_function),
7273         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7274         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7275         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7276         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7277         (gst_pad_set_acceptcaps_function),
7278         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7279         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7280         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7281         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7282         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7283         (gst_pad_configure_sink), (gst_pad_configure_src),
7284         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7285         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7286         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7287         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7288         (gst_pad_send_event):
7289         Use _DEBUG_OBJECT when it makes sense.
7290         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7291         Small cleanups and code reflows.
7292         Avoid caps refcounting in _accept_caps.
7293         Refactor alloc_buffer so that the code performed on the peer is in a
7294         separate function. Also if the pad does not implement a buffer alloc
7295         function, we should still check if the pad is flushing before falling
7296         back to the default allocator.
7297
7298 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7299
7300         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7301         Make all uses of identity and fakesink have silent=true to avoid
7302         serialising every passing data structure, which is breaking tests
7303         on FC4 for some unknown reason.
7304
7305 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7306
7307         * gst/parse/Makefile.am:
7308         * gst/parse/grammar.y:
7309         * gst/parse/parse.l:
7310           Reverted previous patch as it required to bump the flex dependency to
7311           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7312
7313 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7314
7315         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7316
7317         * gst/parse/Makefile.am:
7318         * gst/parse/grammar.y:
7319         * gst/parse/parse.l:
7320           push & pop the state of the lexer for reentrant use case
7321           Fixes #349180
7322
7323 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7324
7325         * libs/gst/base/gstbasesrc.h:
7326           Note in the docs that the ::newsegment vfunc is not actually used by
7327           GstBaseSrc.
7328
7329 2006-07-28  Wim Taymans  <wim@fluendo.com>
7330
7331         * libs/gst/base/gstcollectpads.c:
7332         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7333         (gst_collect_pads_clear), (gst_collect_pads_flush),
7334         (gst_collect_pads_event), (gst_collect_pads_chain):
7335         When flushing a pad, also clear the queued buffer so that we don't
7336         accidentally use it when we shouldn't.
7337         Fix leaks by inreffing incomming buffer.
7338         Flush out queued buffers in case of errors.
7339         Fixes #347452.
7340
7341 2006-07-28  Wim Taymans  <wim@fluendo.com>
7342
7343         * docs/random/phonon-gst:
7344         Random notes about a Phonon backend.
7345
7346 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7347
7348         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7349         Extra debug output
7350         * tests/check/libs/gdp.c: (gst_dp_suite):
7351         Take a whack at fixing the ppc compile using a different define to
7352         disable the broken test.
7353
7354         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7355         Remove excess g_print()
7356
7357 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7358
7359         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7360         Oops, meant to uncomment this line too to dampen the noise a bit.
7361
7362 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7363
7364         * gst/parse/grammar.y:
7365         * gst/parse/parse.l:
7366         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7367         (GST_START_TEST), (parse_suite):
7368         Fix some of the leaks exposed by extending the parse-launch testsuite,
7369         and move the 3 I can't figure out into a separate test that won't run
7370         the pipelines unless the appropriate line is uncommented.
7371
7372 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7373
7374         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7375           Requesting 0 bytes before the end of the file should result in
7376           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7377           unit test.
7378
7379 2006-07-27  Wim Taymans  <wim@fluendo.com>
7380
7381         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7382         Fix useless assert, a uint is always positive.
7383
7384         * gst/gststructure.c: (gst_structure_nth_field_name),
7385         (gst_structure_foreach), (gst_structure_map_in_place):
7386         Check input arguments for public functions to avoid obvious crashes.
7387
7388         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7389         * plugins/elements/gstfakesink.h:
7390         Do less useless typechecking.
7391
7392 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7393
7394         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7395           Do not use mmap() by default since there are a number of error
7396           conditions that we would like to handle in a non-fatal way that
7397           will result in a SIGBUS if we use mmap(). Examples: external
7398           devices (USB harddrive, portable music player) being unplugged
7399           while in use; file on mounted CD/DVD that can't be read because
7400           the medium is partly damaged. Fixes #348455 and #348475.
7401
7402 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7403
7404         * gst/gstquery.h:
7405         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7406         rates are a gdouble
7407
7408 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7409
7410         * gst/gstregistry.c:
7411           Move big documentation comment into class section header, so that it
7412           appears in the API docs.
7413
7414 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7415
7416         * docs/gst/gstreamer-sections.txt:
7417         Oops. Commit the docs additions too for new API.
7418         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7419
7420 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7421
7422         * gst/gststructure.c: (gst_structure_id_set),
7423         (gst_structure_id_set_valist):
7424         * gst/gststructure.h:
7425         Add API for setting values into structures without performing
7426         a quark lookup, if the appropriate quark is already known.
7427
7428         API: gst_structure_id_set
7429         API: gst_structure_id_set_valist
7430
7431         * gst/parse/grammar.y:
7432         * gst/parse/parse.l:
7433         Remove some dead code shown by the coverage information.
7434         Don't throw a critical g_warning when encountering a syntax error,
7435         just warn and let the normal error path handle it.
7436
7437         * plugins/elements/gstelements.c:
7438         Bump the rank of filesink up to PRIMARY so that it is preferred over
7439         gnomevfssink for file:// sink uri's
7440
7441         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7442         (GST_START_TEST), (run_delayed_test),
7443         (gst_parse_test_element_base_init),
7444         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7445         (gst_parse_test_element_change_state),
7446         (gst_register_parse_element), (parse_suite):
7447         Beef up the tests for parse syntax to check that more error cases
7448         fail as they are supposed to. Increases the test coverage a bit.
7449
7450 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7451
7452         * docs/manual/basics-elements.xml:
7453           Fix gst_element_link() example.
7454
7455         * gst/gstutils.c:
7456           Mention in API docs that one should usually gst_bin_add()
7457           elements to a bin or pipeline before doing the linking.
7458           
7459 2006-07-26  Wim Taymans  <wim@fluendo.com>
7460
7461         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7462         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7463         Avoid function call for known types by keeping the buffer and
7464         subbuffer GType global.
7465
7466         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7467         Random silly optimisations in read() path.
7468
7469 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7470
7471         * tools/gst-launch.c: (main):
7472           If the top-level of the parse is a normal bin, it doesn't do the
7473           right logic to run as a top-level element, so place it inside a
7474           pipeline.
7475
7476 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7477
7478         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7479           Remove superfluous g_object_notify() calls, GObject does
7480           that for us automatically.
7481
7482 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7483
7484         * gst/gstinfo.h:
7485           on Win32, use dllspec to export the debug category symbols
7486
7487 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7488
7489         * gst/gsttaglist.c: (_gst_tag_initialize):
7490           Allow more than one GST_TAG_IMAGE per taglist.
7491
7492 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7493
7494         * gst/gstminiobject.c:
7495           update docs
7496         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7497         (gst_fd_src_create):
7498           log recurring events at LOG level
7499           add more debug for when the fd gets set
7500
7501 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7502
7503         * gst/gstparse.c: (gst_parse_launch):
7504           Also remove reentrance checks if flex is MT safe (#348179)
7505          Fix my empty ChangeLog entry below
7506
7507 2006-07-21  Andy Wingo  <wingo@pobox.com>
7508
7509         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7510
7511         * libs/gst/check/Makefile.am
7512         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7513         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7514         * libs/gst/check/gstbufferstraw.h:
7515         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7516         functions, thus proving I am still a GStreamer haxor. OK I wrote
7517         them a long time ago, but anyways.
7518
7519 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7520
7521         * configure.ac:
7522         * gst/gstparse.c: (gst_parse_launch):
7523           Check for flex version and omit mutex if we have a MT save flex
7524           (fixes #348179)
7525
7526 2006-07-21  Wim Taymans  <wim@fluendo.com>
7527
7528         * gst/gstparse.c: (gst_parse_launch):
7529         Protect recursive calls to _parse with a recursive mutex
7530         and busy flag.
7531
7532 2006-07-21  Wim Taymans  <wim@fluendo.com>
7533
7534         * tests/check/gst/gstpad.c: (GST_START_TEST):
7535         Fix leak in test.
7536
7537 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7538
7539         * gst/gstparse.c: (gst_parse_launch):
7540           Do not hang on recursive usage of gst_parse_launch()
7541
7542 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * gst/gsttaglist.c:
7545           Add some more docs, comments and FIXME 0.11s here and there
7546           and also fix some typos.
7547
7548 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7549
7550         * gst/gstsegment.h:
7551           Convert tabs to spaces for better readability. 
7552
7553 2006-07-20  Edward Hervey  <edward@fluendo.com>
7554
7555         * tests/check/libs/gdp.c: (gst_dp_suite):
7556         the test_buffer test fails at line 140 on ppc64 at the following
7557         check:
7558         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7559                 GST_BUFFER_FLAG_IN_CAPS),
7560                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7561         See bug #348114 for more details.
7562
7563 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7564
7565         * docs/pwg/advanced-scheduling.xml:
7566         * gst/gstpad.c:
7567           Fix typos (#348000).
7568
7569 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * docs/pwg/intro-basics.xml:
7572           Fix wrong links (#347927).
7573
7574 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7575
7576         * gst/gstregistry.h:
7577         * gst/gstregistryxml.c: (load_feature),
7578         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7579         * win32/common/config.h:
7580           make --disable-index work (#342564)
7581
7582 2006-07-18  Wim Taymans  <wim@fluendo.com>
7583
7584         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7585
7586         * gst/Makefile.am:
7587         * gst/gsttrace.h:
7588         The attached patch adds two missing defines to gsttrace.h when tracing
7589         is disabled.  It also corrects one existing define.
7590         Fixes #347756.
7591
7592 2006-07-17  Wim Taymans  <wim@fluendo.com>
7593
7594         * docs/gst/gstreamer-sections.txt:
7595         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7596         * gst/gst.h:
7597         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7598         Add two functions to check and change the SIGSEGV behaviour
7599         when loading plugins.
7600         Don't mess with the SIGSEGV handler when we were told not to.
7601         Fixes #347794.
7602         API: gst_segtrap_is_enabled
7603         API: gst_segtrap_set_enabled
7604
7605 2006-07-14  Wim Taymans  <wim@fluendo.com>
7606
7607         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7608         * tests/check/elements/filesrc.c: (GST_START_TEST):
7609         Revert fix for regression in #347408 after release.
7610
7611 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7612
7613         Patch by: Antoine Tremblay <hexa00 at gmail com>
7614
7615         * gst/gstutils.c: (gst_element_unlink):
7616           Free iterator when done (#347311).
7617
7618         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7619           And add a test case for this.
7620
7621 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7622
7623         * configure.ac:
7624         Bump nano back to CVS
7625
7626 === release 0.10.9 ===
7627
7628 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7629
7630         * configure.ac:
7631           releasing 0.10.9, "On the road again"
7632
7633 2006-07-13  Wim Taymans  <wim@fluendo.com>
7634
7635         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7636         * tests/check/elements/filesrc.c: (GST_START_TEST):
7637         Revert pull-0 fix for release. Disable check. Fixes #347408.
7638
7639 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * libs/gst/dataprotocol/dataprotocol.c:
7642         (gst_dp_event_from_packet_1_0):
7643           Fixes #347337: failure to deserialize event packets with
7644           empty payload (only event type)
7645
7646 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7647
7648         * gst/Makefile.am:
7649           do not install a .c file in the header directory
7650
7651 2006-07-13  Edward Hervey  <edward@fluendo.com>
7652
7653         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7654         GhostPad no longer implicitely use the padtemplates of the targets.
7655         Fixes #347384
7656
7657 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7658
7659         * gst/gstvalue.c: (gst_value_compare_list),
7660         (gst_value_compare_array), (_gst_value_initialize):
7661         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7662         Make GstValueArray comparison be order dependent as designed.
7663         Add checks for value lists and value array comparisons.
7664         Fixes #347221
7665
7666 2006-07-11  Edward Hervey  <edward@fluendo.com>
7667
7668         * gst/gstbin.c: (activate_pads),
7669         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7670         (gst_bin_change_state_func):
7671         (de)activate src pads before calling state_change on the childs.
7672         This is to avoid the case where a src ghostpad is blocked (holding the
7673         stream lock), which would block the deactivation of the ghostpad's
7674         target pad.
7675         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7676         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7677         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7678         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7679         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7680         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7681         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7682         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7683         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7684         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7685         (gst_ghost_pad_class_init),
7686         (gst_ghost_pad_internal_do_activate_push),
7687         (gst_ghost_pad_internal_do_activate_pull),
7688         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7689         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7690         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7691         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7692         GhostPads now create their internal GstProxyPad at creation (and not
7693         when they're linked, as it was being done previously).
7694         The internal and target pads are linked straight away.
7695         The data will also travel through the other pad in order to make
7696         pad blocking and probes non-hackish (the probe/block now really happens
7697         on the GhostPad and not on the target).
7698         * gst/gstpad.c: (gst_pad_set_blocked_async),
7699         (gst_pad_link_prepare), (gst_pad_push_event):
7700         Remove previous ghostpad cruft.
7701         * gst/gstutils.c: (gst_pad_add_data_probe),
7702         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7703         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7704         (gst_pad_remove_buffer_probe):
7705         Remove previous ghost pad cruft.
7706         Added more detailed debug statements.
7707         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7708         Fix the testsuite for refcounting changes.
7709         The comments about who has references were correct, but the refcount
7710         being checked wasn't the same (!?!).
7711
7712         Fixes #341029
7713
7714 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7715
7716         * docs/gst/gstreamer-sections.txt:
7717         * gst/gstconfig.h.in:
7718         More docs for configuration options, add docs to gtk-doc.
7719
7720 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7721
7722         * gst/Makefile.am:
7723         * gst/gstconfig.h.in:
7724         * win32/common/config.h:
7725         Fix build when disabling tracing (fixes #344016). Also start to document
7726         the defines that disable the sub-systems.
7727
7728 2006-07-10  Edward Hervey  <edward@fluendo.com>
7729
7730         * gst/gst.c: (ensure_current_registry_forking):
7731         let's make valgrind happy...
7732
7733 2006-07-09  Wim Taymans  <wim@fluendo.com>
7734
7735         * gst/gstelement.c: (activate_pads),
7736         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7737         Better pad activation code: Reset the collect value too on resync.
7738         Add some comments.
7739
7740 2006-07-09  Wim Taymans  <wim@fluendo.com>
7741
7742         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7743         (gst_pad_activate_push):
7744         Use some more macros where it makes sense.
7745         Allow pad mode switching instead of asserting. When a pad
7746         is activated in one mode and we activate it in another, 
7747         deactivate it first before activating it in a different mode.
7748         Fixes #329198.
7749
7750 2006-07-08  Andy Wingo  <wingo@pobox.com>
7751
7752         * tools/gst-launch.c (main): Handle err == NULL.
7753
7754         * gst/gst.c (init_post, ensure_current_registry)
7755         (ensure_current_registry_forking)
7756         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7757         factoring out the registry scanning into separate functions. Don't
7758         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7759         Better environment var name/interface suggestions accepted.
7760
7761 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7762
7763         * gst/gstobject.c: (gst_object_set_name_default),
7764         (gst_object_set_name):
7765           Random micro-optimisation: don't use a hash table
7766           with strings as keys and the usual strdup/strcmp
7767           involved, but rather just use the GQuark of the
7768           type name as key, since it needs to be looked up
7769           anyway to get the type name string.
7770
7771         * tests/check/gst/gstobject.c: (GST_START_TEST):
7772           Fix various leaks.
7773
7774 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7775
7776         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7777         (gst_bin_iterate_all_by_interface):
7778           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7779           GTypes are gulongs and thus the top 4 bytes might be cut
7780           off on some platforms when doing GPOINTER_TO_INT, leading
7781           to invalid GTypes and bad things happening (see RH bug #179654).
7782           Also add a check to make sure the type passed in is really
7783           an interface type.
7784
7785 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7786
7787         * .cvsignore:
7788           Ignore more.
7789
7790 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7791
7792         * Makefile.am:
7793         * configure.ac:
7794         * gst-element-check.m4:
7795         * gst-element-check.m4.in:
7796           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7797           instead of the unversioned gst-inspect (#324176, #168659).
7798
7799 2006-07-06  Wim Taymans  <wim@fluendo.com>
7800
7801         * gst/gstmessage.h:
7802         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7803         warnings.
7804
7805 2006-07-06  Wim Taymans  <wim@fluendo.com>
7806
7807         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7808         (gst_base_src_wait), (gst_base_src_update_length),
7809         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7810         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7811         (gst_base_src_loop), (gst_base_src_start),
7812         (gst_base_src_activate_pull):
7813         Update docs.
7814         blocksize == 0 now means the default blocksize when working in push
7815         based mode.
7816         Remove some pointless asserts in _wait function.
7817         Fix offset/length calculations and EOS handling. We can now pull 0
7818         bytes as well, which is allowed.
7819         use _check_get_range() to decide if we can operate in _pull based
7820         mode.
7821         Fix refcounting leak when check_get_range function was not 
7822         implemented.
7823         API GstBaseSrc::blocksize range can be 0 too now (default)
7824
7825         * tests/check/elements/filesrc.c: (GST_START_TEST),
7826         (filesrc_suite):
7827         Added check to test _get_range() behaviour.
7828
7829 2006-07-06  Wim Taymans  <wim@fluendo.com>
7830
7831         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7832         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7833         (gst_pad_pull_range):
7834         * gst/gstpad.h:
7835         Lots of comments and docs added to the pad functions.
7836         Flesh out the expected behaviour of the get_range() functions.
7837
7838 2006-07-06  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/gstbus.h:
7841         * gst/gstclock.h:
7842         * gst/gstevent.h:
7843         * gst/gstiterator.h:
7844         * gst/gstpad.h:
7845         * gst/gstplugin.h:
7846         * gst/gsttask.h:
7847         Remove comma at end of enumerator list. 
7848
7849 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
7850
7851         * win32/common/libgstbase.def:
7852         * win32/common/libgstdataprotocol.def:
7853         * win32/common/libsgtreamer.def:
7854         Add new exported functions.
7855
7856 2006-07-05  Wim Taymans  <wim@fluendo.com>
7857
7858         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7859         Add some more docs here and there.
7860
7861 2006-07-05  Wim Taymans  <wim@fluendo.com>
7862
7863         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7864         (gst_base_sink_loop), (gst_base_sink_get_position):
7865         When operating in pull mode update the offset so that we
7866         read sequentially.
7867
7868 2006-07-05  Wim Taymans  <wim@fluendo.com>
7869
7870         * gst/gstregistryxml.c: (read_string):
7871         Avoid strdup. (will happen in libxml, but hey!)
7872
7873         * gst/gsturi.c:
7874         Add some more docs.
7875
7876 2006-07-05  Wim Taymans  <wim@fluendo.com>
7877
7878         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7879         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7880         (gst_buffer_suite):
7881         No point in checking if the size of the subbuffer > 0, the
7882         code handles it correclty as demonstrated by unit test.
7883         Also add a unit test for the zero sized _new_and_alloc and
7884         _copy. Fixes #346663.
7885
7886 2006-07-05  Wim Taymans  <wim@fluendo.com>
7887
7888         * libs/gst/base/gstbasetransform.c:
7889         (gst_base_transform_prepare_output_buffer),
7890         (gst_base_transform_buffer_alloc),
7891         (gst_base_transform_handle_buffer):
7892         Make sure the buffer we pass to transform_ip has a refcount of
7893         1 and thus is writable. Fixes #343196
7894
7895 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
7896
7897         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7898         (gst_file_src_init), (gst_file_src_set_property),
7899         (gst_file_src_get_property), (gst_file_src_map_region):
7900         * plugins/elements/gstfilesrc.h:
7901         Add "sequential" property, off by default, to use madvise and hint
7902         to the kernel that sequential access is desired.
7903         Touch all retrieved pages by default to ensure they are pulled
7904         into memory. (Closes #345720)
7905
7906 2006-07-03  Wim Taymans  <wim@fluendo.com>
7907
7908         * docs/design/part-block.txt:
7909         * docs/design/part-dynamic.txt:
7910         Small docs updates.
7911
7912 2006-07-03  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7915         (gst_caps_unref), (gst_static_caps_get),
7916         (gst_caps_append_structure):
7917         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7918         Use GSlice when the glib we build against is >= 2.10
7919
7920 2006-07-03  Wim Taymans  <wim@fluendo.com>
7921
7922         * gst/gstelement.c: (gst_element_pads_activate):
7923         Small cleanup in pad activation code.
7924
7925 2006-07-03  Wim Taymans  <wim@fluendo.com>
7926
7927         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7928
7929         * gst/gst-i18n-app.h:
7930         * gst/gst-i18n-lib.h:
7931         * tools/gst-inspect.c: (print_signal_info):
7932         The attached patch will make the inclusion of gettext.h unconditional in
7933         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7934         libintl.h in tools/gst-inspect.c.
7935         This allows use of --disable-nls again and fixes #344642.
7936
7937 2006-07-03  Edward Hervey  <edward@fluendo.com>
7938
7939         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7940         Implement pad blocking on events according to part-block.txt.
7941         More comments on behaviour.
7942         * tests/check/gst/gstevent.c: (test_event):
7943         Send event to peer pad of blocked pad (else it will block).
7944
7945 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7946
7947         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7948         (gst_check_run_suite):
7949           if we get the wrong message, give us the types as string
7950         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7951           Fix a translatable
7952         * tests/check/elements/filesrc.c: (GST_START_TEST):
7953           add a test for trying to open a non-existing file
7954
7955 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7958           add a test for adding self
7959
7960 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * libs/gst/check/gstcheck.h:
7963           add some assert_ as alias for fail_unless_*
7964         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7965           increase test coverage
7966
7967 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7968
7969         * Makefile.am:
7970           include lcov.mak for lcov coverage generation
7971         * tools/Makefile.am:
7972           add to CLEANFILES
7973
7974 2006-07-02  Edward Hervey  <edward@fluendo.com>
7975
7976         * tests/check/elements/.cvsignore:
7977         moaping
7978
7979 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7980
7981         * configure.ac:
7982           don't set CFLAGS and friends for gcov, done from GST_GCOV now
7983         * tests/check/Makefile.am:
7984           clean up gcov files
7985
7986 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7989           remove gst_caps_simplify; it was not declared and not used
7990           and deprecated in 0.8
7991
7992 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7993
7994         * docs/faq/gst-uninstalled:
7995           don't put empty paths on PYTHONPATH
7996         * docs/gst/gstreamer-sections.txt:
7997           remove some symbols that are not there
7998
7999 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * gst/gstcaps.c: (gst_caps_compare_structures):
8002           whitespace fixes
8003         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8004         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8005           add more tests
8006
8007 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8008
8009         * libs/gst/dataprotocol/Makefile.am:
8010           build dataprotocol test by linking to the lib, instead of
8011           compiling the source, so we get coverage
8012         * tests/check/Makefile.am:
8013         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8014         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8015           add a test for filesrc
8016
8017 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8018
8019         * tests/check/gst/gststructure.c: (GST_START_TEST),
8020         (gst_structure_suite):
8021           Push coverage from 59.04% to 70.00%
8022
8023 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8024
8025         * tests/check/Makefile.am:
8026           gst-inspect every element; this makes sure that we also get
8027           coverage on element's get/set functions
8028
8029 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * configure.ac:
8032           set CFLAGS and friends to -O0 if gcov is being used
8033           add GCOV LIBS
8034         * gst/Makefile.am:
8035         * libs/gst/base/Makefile.am:
8036         * libs/gst/check/Makefile.am:
8037         * libs/gst/controller/Makefile.am:
8038         * libs/gst/dataprotocol/Makefile.am:
8039         * libs/gst/net/Makefile.am:
8040         * plugins/elements/Makefile.am:
8041         * plugins/indexers/Makefile.am:
8042           add makefile rules to generate gcov data and clean up
8043         * tests/check/Makefile.am:
8044           add a coverage target that generates an html overview
8045           of coverage data
8046
8047 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * tests/check/elements/fakesink.c:
8050         * tests/check/elements/fakesrc.c:
8051         * tests/check/elements/fdsrc.c:
8052         * tests/check/elements/identity.c:
8053         * tests/check/generic/sinks.c: (gst_sinks_suite):
8054         * tests/check/generic/states.c:
8055         * tests/check/gst/gst.c:
8056         * tests/check/gst/gstabi.c:
8057         * tests/check/gst/gstbin.c:
8058         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8059         * tests/check/gst/gstbus.c: (gst_bus_suite):
8060         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8061         * tests/check/gst/gstelement.c:
8062         * tests/check/gst/gstevent.c: (gst_event_suite):
8063         * tests/check/gst/gstghostpad.c:
8064         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8065         * tests/check/gst/gstmessage.c: (gst_message_suite):
8066         * tests/check/gst/gstminiobject.c:
8067         * tests/check/gst/gstobject.c:
8068         * tests/check/gst/gstpad.c:
8069         * tests/check/gst/gstpipeline.c:
8070         * tests/check/gst/gstplugin.c:
8071         * tests/check/gst/gstquery.c: (gst_query_suite):
8072         * tests/check/gst/gstsegment.c: (gst_segment_suite):
8073         * tests/check/gst/gststructure.c:
8074         * tests/check/gst/gstsystemclock.c:
8075         * tests/check/gst/gsttag.c:
8076         * tests/check/gst/gsttask.c: (gst_task_suite):
8077         * tests/check/gst/gstutils.c:
8078         * tests/check/gst/gstvalue.c:
8079         * tests/check/libs/adapter.c:
8080         * tests/check/libs/basesrc.c:
8081         * tests/check/libs/collectpads.c:
8082         * tests/check/libs/controller.c:
8083         * tests/check/libs/gdp.c: (gst_dp_suite):
8084         * tests/check/libs/gstnetclientclock.c:
8085         * tests/check/libs/gstnettimeprovider.c:
8086         * tests/check/libs/libsabi.c: (libsabi_suite):
8087         * tests/check/libs/typefindhelper.c:
8088         * tests/check/pipelines/cleanup.c:
8089         * tests/check/pipelines/parse-launch.c:
8090         * tests/check/pipelines/simple-launch-lines.c:
8091         * tests/check/pipelines/stress.c: (stress_suite):
8092           use the new macro
8093
8094 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8097         * libs/gst/check/gstcheck.h:
8098           create a macro and function so that the simple unit test
8099           case can be just one macro to create main()
8100
8101 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
8102
8103         * gst/gstbin.c: (gst_bin_restore_thyself):
8104         * gst/gstxml.c: (gst_xml_make_element):
8105           Fix deserialisation from XML. Set parent manually
8106           instead of using gst_bin_add(), since gst_bin_add()
8107           will unlink all pads of the element being added.
8108           Fixes #341667.
8109
8110 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
8111
8112         Patch by: Peter Kjellerstedt <pkj at axis com>
8113
8114         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8115           Fix missing g_strdup() and double free when using the
8116           --gst-plugin-load command line option (#346097).
8117
8118 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * gst/gstinfo.c:
8121           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8122
8123         * libs/gst/net/gstnetclientclock.c:
8124         * libs/gst/net/gstnettimeprovider.c:
8125           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8126
8127 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8128
8129         * docs/manual/advanced-dataaccess.xml:
8130           Fix buffer probe example compilation in
8131           ADM (#345708).
8132         
8133 2006-06-22  Edward Hervey  <edward@fluendo.com>
8134
8135         * gst/gstelement.c: (gst_element_pads_activate):
8136         We need to deactivate src pads first and then sink pads.
8137         The reason is the src pads might be blocking while holding the streaming
8138         lock, so we need to deactivate them first so that deactivating the sink
8139         pads doesn't block (since it will require the streaming lock).
8140
8141 2006-06-22  Wim Taymans  <wim@fluendo.com>
8142
8143         * libs/gst/base/gstbasetransform.c:
8144         (gst_base_transform_buffer_alloc):
8145         Forgot to remove two unneeded unrefs.
8146         Simplify a check _is_equal allready checks the obvious case.
8147
8148 2006-06-22  Wim Taymans  <wim@fluendo.com>
8149
8150         * docs/design/part-block.txt:
8151         Some docs about what pad_block should do.
8152
8153 2006-06-22  Wim Taymans  <wim@fluendo.com>
8154
8155         * gst/gstcaps.c: (gst_caps_replace):
8156         Fix crasher when passed NULL. Doc clarification.
8157         Optimize for the trivial case.
8158
8159         * gst/gstpipeline.c: (gst_pipeline_change_state):
8160         Small cleanups.
8161
8162         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8163         Small documentation cleanup.
8164
8165         * libs/gst/base/gstbasetransform.c:
8166         (gst_base_transform_buffer_alloc):
8167         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8168         is what we need and it avoids a whole lot of redundant 
8169         refcount operations.
8170
8171 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8174
8175         * docs/manual/advanced-dataaccess.xml:
8176           Fix 'Embedding static elements' section to use
8177           GST_PLUGIN_DEFINE_STATIC (#345607).
8178
8179 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8182           Attempt to 'fix' spuriously failing test case: it seems like the
8183           timeout of half a second is simply too small when the system is under
8184           load otherwise, and the timeout doesn't really seem to serve any
8185           particular purpose here. Give the pipeline a few seconds to preroll
8186           first, and then give it another half a second to go from PAUSED to
8187           PLAYING and marshal the message into the main thread.
8188
8189 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8190
8191         * tools/gst-feedback-m.m:
8192           Don't only use unversioned tools, try versioned tools as well
8193           (#345086).
8194
8195 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8196
8197         * gst/gstbus.c: (gst_bus_class_init):
8198           Fix some typos, make docs more explicit.
8199
8200 2006-06-20  Wim Taymans  <wim@fluendo.com>
8201
8202         * tests/check/gst/gstghostpad.c: (block_callback),
8203         (GST_START_TEST), (gst_ghost_pad_suite):
8204         Added some more ghostpad tests, mainly blocking
8205         and probes.
8206
8207 2006-06-16  Wim Taymans  <wim@fluendo.com>
8208
8209         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8210         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8211         (gst_file_sink_event), (gst_file_sink_render):
8212         * plugins/elements/gstfilesink.h:
8213         Check if we can seek in the file instead of assuming
8214         we always can. Post an error when we are asked to seek in a
8215         non-seekable file (like a fifo). Fixes #343312.
8216         Some cleanups.
8217
8218 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8219
8220         * tools/gst-launch.1.in:
8221           Un-garble (fourcc) bit in filtered caps section.
8222
8223 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8224
8225         * docs/manual/advanced-autoplugging.xml:
8226         * docs/manual/basics-helloworld.xml:
8227         * docs/manual/highlevel-components.xml:
8228           Don't leak bus reference in sample code.
8229
8230 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8231
8232         * autogen.sh:
8233           Add default for new --enable-plugin-docs switch.
8234
8235         * configure.ac:
8236           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8237           Fixes #344039.
8238
8239         * docs/Makefile.am:
8240           Use new ENABLE_PLUGIN_DOCS conditional.
8241
8242 2006-06-14  Wim Taymans  <wim@fluendo.com>
8243
8244         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8245         Make it clear with a FIXME and a real define what the #if 0
8246         previously disabled.
8247
8248 2006-06-14  Wim Taymans  <wim@fluendo.com>
8249
8250         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8251         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8252         * libs/gst/base/gstbasetransform.c:
8253         (gst_base_transform_sink_eventfunc):
8254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8255         Don't randomly and silently reset a segment when the format 
8256         changes as this is a bug somewhere upstream. Fixes #330379.
8257
8258 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8259
8260         Patch by: Wouter Paesen  <wouter at kangaroot net>
8261
8262         * libs/gst/controller/gstcontroller.c:
8263         (gst_controlled_property_new):
8264           Fix controlling of float properties (#344849).
8265
8266         * tests/check/libs/controller.c:
8267         (gst_test_mono_source_get_property),
8268         (gst_test_mono_source_set_property),
8269         (gst_test_mono_source_class_init), (GST_START_TEST):
8270           While we're at it, add some float stuff to unit test.
8271
8272 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8273
8274         * docs/README:
8275         * docs/images/gdp-header.svg:
8276           add a gdp image
8277         * docs/libs/Makefile.am:
8278         * docs/libs/gdp-header.png:
8279         * libs/gst/dataprotocol/dataprotocol.c:
8280           add it to the API docs
8281         * docs/manual/intro-motivation.xml:
8282           fix typo
8283
8284 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8285
8286         * gst/gst.c: (scan_and_update_registry), (init_post):
8287           If the fork()'ed child process can't write the updated registry cache
8288           file to disk for some reason, make it exit with a failure exit code,
8289           so that the parent can then re-scan the plugins itself and update the
8290           registry structures in memory and work with that (rather than failing
8291           when creating elements because seemingly no plugins are available).
8292           Refactor registry scanning code into separate function for this and
8293           also separate fork() and non-fork() code paths. Fixes #344748.
8294
8295 2006-06-13  Wim Taymans  <wim@fluendo.com>
8296
8297         * docs/manual/advanced-dataaccess.xml:
8298         Fix wrong PluginDesc. Fixes #344755.
8299
8300 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8301
8302         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8303           Fix silly bug that prevented us from creating
8304           ~/.gstreamer-0.10 and writing the registry in one
8305           go (the first call to g_mkstemp() would overwrite the
8306           placeholder in the template string, so the second call
8307           to g_mkstemp() after creating the missing directory
8308           would then error out with 'invalid argument').
8309
8310 2006-06-13  Edward Hervey  <edward@fluendo.com>
8311
8312         * gst/gst.c: (init_post):
8313         Free string.
8314
8315 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8316
8317         * gst/glib-compat-private.h:
8318         * gst/glib-compat.c:
8319         * gst/glib-compat.h:
8320         * gst/gstvalue.c: (gst_value_serialize_flags):
8321           remove GLib 2.6 compatibility code
8322
8323 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8324
8325         * gst/parse/Makefile.am:
8326           Fix build with 'make -j N' even more (#340016).
8327
8328 2006-06-12  Wim Taymans  <wim@fluendo.com>
8329
8330         * docs/gst/gstreamer-sections.txt:
8331         Fix docs.
8332
8333 2006-06-12  Wim Taymans  <wim@fluendo.com>
8334
8335         * gst/gstsegment.c: (gst_segment_set_duration),
8336         (gst_segment_set_last_stop), (gst_segment_set_seek),
8337         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8338         (gst_segment_to_running_time), (gst_segment_clip):
8339         Use G_UNLIKELY to help the compiler a bit.
8340
8341 2006-06-12  Wim Taymans  <wim@fluendo.com>
8342
8343         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8344
8345         * gst/gstevent.c: (gst_event_get_type):
8346         * gst/gstmessage.c:
8347         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8348         (gst_pad_push):
8349         constify quark registration strings. Fixes #344115
8350         Avoid unneeded type checking is _pad_push() by internally
8351         calling gst_pad_chain_unchecked().
8352
8353 2006-06-12  Wim Taymans  <wim@fluendo.com>
8354
8355         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8356         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8357         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8358         (gst_buffer_is_span_fast), (gst_buffer_span):
8359         Init _type for consistency.
8360         Use _FLAGS macro to avoid type check.
8361         Avoid unneeded type checks in subbufer code.
8362
8363 2006-06-12  Wim Taymans  <wim@fluendo.com>
8364
8365         * gst/gst.c: (gst_debug_help):
8366         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8367         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8368         (gst_plugin_feature_list_free):
8369         * gst/gstregistry.c: (gst_registry_add_plugin),
8370         (gst_registry_add_feature), (gst_registry_plugin_filter),
8371         (gst_registry_feature_filter), (gst_registry_find_plugin),
8372         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8373         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8374         * gst/gstregistryxml.c: (load_feature),
8375         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8376         * gst/gstminiobject.c: (gst_mini_object_unref),
8377         (gst_mini_object_replace), (gst_value_mini_object_free),
8378         (gst_value_mini_object_copy):
8379         Use _CAST macros to avoid unneeded type checking.
8380         Added some more G_UNLIKELY.
8381
8382 2006-06-12  Wim Taymans  <wim@fluendo.com>
8383
8384         * gst/gstbuffer.h:
8385         Avoid unneeded type checking.
8386         API: GST_BUFFER_IS_DISCONT
8387
8388         * gst/gstminiobject.h:
8389         Avoid type check in flag accessor.
8390
8391         * gst/gstelementfactory.h:
8392         * gst/gstplugin.h:
8393         * gst/gstpluginfeature.h:
8394         Add _CAST macros.
8395         API: GST_ELEMENT_FACTORY_CAST
8396         API: GST_PLUGIN_CAST
8397         API: GST_PLUGIN_FEATURE_CAST
8398
8399 2006-06-12  Wim Taymans  <wim@fluendo.com>
8400
8401         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8402         (gst_object_unref):
8403         Add G_UNLIKELY in type registration.
8404         Avoid type check in _ref/_unref since that is also
8405         done in glib.
8406
8407 2006-06-12  Wim Taymans  <wim@fluendo.com>
8408
8409         * gst/gsterror.c: (gst_g_error_get_type):
8410         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8411         (gst_static_pad_template_get_type):
8412         * gst/gsttaglist.c: (gst_tag_list_get_type):
8413         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8414         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8415         * gst/gsturi.c: (gst_uri_handler_get_type):
8416         * gst/gstvalue.c: (gst_date_get_type):
8417         * gst/gstxml.c: (gst_xml_get_type):
8418         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8419         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8420         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8421         Add G_UNLIKELY in type registration.
8422
8423 2006-06-12  Wim Taymans  <wim@fluendo.com>
8424
8425         * tools/gst-inspect.c: (print_signal_info):
8426         Properly print enum values.
8427
8428 2006-06-12  Wim Taymans  <wim@fluendo.com>
8429
8430         * gst/gstinfo.c: (gst_debug_set_active),
8431         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8432         * gst/gstinfo.h:
8433         Add some G_[UN]LIKELY.
8434         Maintain __gst_debug_min to avoid formatting the arguments of
8435         debug messages that will be dropped anyway to avoid a lot of 
8436         overhead from the debugging system.
8437
8438 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8439
8440         * po/POTFILES.in:
8441         * po/POTFILES.skip:
8442           add missing files containing translatable strings, tell intltool about
8443           one exception
8444
8445 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8446
8447         * tests/check/libs/.cvsignore:
8448         add test-binary to ignore list
8449
8450 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8451
8452         * docs/libs/gstreamer-libs-docs.sgml:
8453         reorder (put dp into a chapter) and indent
8454
8455 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * configure.ac:
8458           back to HEAD
8459
8460 === release 0.10.8 ===
8461
8462 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8463
8464         * configure.ac:
8465           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8466
8467 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * gst/gst.c: (init_post):
8470           move pid declaration to declaration block
8471
8472 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8473
8474         * gst/gst.c: (init_post):
8475           use _exit() instead of exit() in our forked child; this ensures
8476           that none of the registered exit handlers from whatever is using
8477           GStreamer get executed.  This fixes gnome-mixer-applet failing
8478           to load, because ORBit would shut down.
8479           Spotted by: Edward Hervey  <edward@fluendo.com>
8480           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8481           Fixes #344474
8482
8483 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8484
8485         * configure.ac:
8486           back to TRUNK
8487
8488 === release 0.10.7 ===
8489
8490 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8491
8492         * configure.ac:
8493           releasing 0.10.7, "Soepeke, ik zie ou"
8494
8495 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8496
8497         * configure.ac:
8498         * po/af.po:
8499         * po/az.po:
8500         * po/bg.po:
8501         * po/ca.po:
8502         * po/cs.po:
8503         * po/de.po:
8504         * po/en_GB.po:
8505         * po/fr.po:
8506         * po/it.po:
8507         * po/nb.po:
8508         * po/nl.po:
8509         * po/ru.po:
8510         * po/sq.po:
8511         * po/sr.po:
8512         * po/sv.po:
8513         * po/tr.po:
8514         * po/uk.po:
8515         * po/vi.po:
8516         * po/zh_CN.po:
8517         * po/zh_TW.po:
8518         * win32/common/config.h:
8519           0.10.6.2 prerelease
8520
8521 2006-06-07  Wim Taymans  <wim@fluendo.com>
8522
8523         * gst/gstindex.c: (gst_index_gtype_resolver):
8524         * tools/gst-xmlinspect.c: (print_plugin_info):
8525         Fix leak spotted by coverity checker. Fixes #343827
8526         Fix another other leak found by paolo borelli.
8527
8528 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * libs/gst/dataprotocol/dataprotocol.c:
8531         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8532         (gst_dp_version_get_type), (gst_dp_init),
8533         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8534         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8535         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8536         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8537         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8538         (gst_dp_packetizer_free):
8539         * libs/gst/dataprotocol/dataprotocol.h:
8540           API: add a GstDPPacketizer object, and create/free functions
8541           API: add GstDPVersion enum
8542           Add 1.0 event function that uses the string serialization
8543           Serialize more useful buffer flags
8544           Fixes #343988
8545
8546 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * tests/check/Makefile.am:
8549         * tests/check/gst/gstabi.c:
8550         * tests/check/gst/struct_ppc64.h:
8551         * tests/check/libs/libsabi.c:
8552         * tests/check/libs/struct_ppc64.h:
8553           add ppc64 structure sizes
8554
8555 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8556
8557         * tests/check/Makefile.am:
8558         * tests/check/gst/gstabi.c:
8559         * tests/check/gst/struct_x86_64.h:
8560         * tests/check/libs/libsabi.c:
8561         * tests/check/libs/struct_x86_64.h:
8562           generate and add structure size lists for x86_64
8563
8564 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8567         * libs/gst/check/gstcheck.h:
8568           factor out the method from tests that checks size of structures,
8569           and add code to generate the header containing these sizes
8570         * tests/check/gst/gstabi.c: (GST_START_TEST):
8571         * tests/check/gst/struct_i386.h:
8572         * tests/check/libs/libsabi.c: (GST_START_TEST):
8573         * tests/check/libs/struct_i386.h:
8574           use it
8575
8576 2006-06-06  Michael Smith  <msmith@fluendo.com>
8577
8578         * gst/gstsegment.h:
8579           Don't use c++-style comments, fixes #343929
8580
8581 2006-06-05  Edward Hervey  <edward@fluendo.com>
8582
8583         * gst/gst.c:
8584         plugin_paths is not used if we build without registry support.
8585
8586         * gst/gstsegment.c: (gst_segment_copy): 
8587         _copy() was always returning NULL...
8588
8589 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8590
8591         * libs/gst/dataprotocol/dataprotocol.c:
8592         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8593         (gst_dp_packet_from_event):
8594           factor out CRC code
8595
8596 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8599           make sure we unset caps
8600
8601 2006-06-02  Michael Smith  <msmith@fluendo.com>
8602
8603         * libs/gst/check/gstcheck.c: (gst_check_init),
8604         (gst_check_chain_func):
8605         * libs/gst/check/gstcheck.h:
8606           Add a cond/mutex to the check support lib, signal this whenever we
8607           add to the buffers list. This will allow tests to not busy-wait on
8608           the buffer-list.
8609
8610 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8611
8612         * libs/gst/dataprotocol/dataprotocol.c:
8613         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8614         (gst_dp_packet_from_event):
8615           factor out some common header init code
8616
8617 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8618
8619         * docs/libs/gstreamer-libs-sections.txt:
8620         * docs/libs/tmpl/gstdataprotocol.sgml:
8621         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8622         * libs/gst/dataprotocol/dataprotocol.h:
8623           API: make gst_dp_crc() public
8624
8625 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8626
8627         * plugins/indexers/gstindexers.c: (plugin_init):
8628         conditionally register fileindexer (fixes #343598)
8629
8630 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8631
8632         * gst/gsttagsetter.h:
8633         Can't cast ifaces to a class
8634
8635         * libs/gst/net/gstnetclientclock.h:
8636         * libs/gst/net/gstnettimeprovider.h:
8637         * plugins/elements/gstfakesink.h:
8638         * plugins/elements/gstfakesrc.h:
8639         * plugins/elements/gstfdsink.h:
8640         * plugins/elements/gstfdsrc.h:
8641         * plugins/elements/gstfilesink.h:
8642         * plugins/elements/gstfilesrc.h:
8643         * plugins/elements/gstidentity.h:
8644         * plugins/elements/gstqueue.h:
8645         * plugins/elements/gsttee.h:
8646         * plugins/indexers/gstfileindex.c:
8647         * plugins/indexers/gstmemindex.c:
8648         * tests/old/examples/plugins/example.h:
8649         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8650
8651 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * libs/gst/dataprotocol/dataprotocol.c:
8654         (gst_dp_header_from_buffer):
8655           make sure we zero the whole ABI-compatible area
8656
8657 2006-06-01  Wim Taymans  <wim@fluendo.com>
8658
8659         Patch by: Alessandro Decina <alessandro at nnva dot org>
8660
8661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8662         Make sure the EOS flag is cleared from pads after a flush
8663         or stop. Fixes #343538.
8664
8665         * tests/check/libs/collectpads.c: (GST_START_TEST),
8666         (gst_collect_pads_suite):
8667         Added test for collectpads reusage after EOS.
8668
8669 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8670
8671         * gst/gst.c:
8672          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8673         * win32/common/libgstbase.def:
8674          export gst_collect_pads_set_flushing
8675         * win32/common/libgstreamer.def:
8676          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8677          gst_value_fraction_multiply
8678         * win32/vs6/gst_inspect.dsp:
8679          add a link to intl.lib
8680
8681 2006-05-30  Wim Taymans  <wim@fluendo.com>
8682
8683         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8684         (gst_collect_pads_chain):
8685         Handle the case where a pad is removed from the collection
8686         that could cause the other pads to become collectable.
8687
8688 2006-05-30  Wim Taymans  <wim@fluendo.com>
8689
8690         * gst/gstelement.c:
8691         Clarify the use of _release_request_pad() and
8692         _get_request_pad() a bit better.
8693
8694         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8695         (gst_adapter_take_buffer):
8696         Fix some doc and comment typos.
8697
8698 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8699
8700         * docs/gst/gstreamer-sections.txt:
8701         * docs/libs/gstreamer-libs-sections.txt:
8702           add declared symbols
8703
8704 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
8705
8706         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8707         Add debug that can be enabled using a #define at the top of the file,
8708         for dumping stats about how late/early we were when waking up from
8709         waiting on the clock.
8710
8711 2006-05-30  Wim Taymans  <wim@fluendo.com>
8712
8713         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8714         When rebuilding the pad list, don't leak the previous list.
8715
8716 2006-05-30  Wim Taymans  <wim@fluendo.com>
8717
8718         Patch by: Lutz Mueller <lutz at topfrose dot de>
8719
8720         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8721         (gst_base_src_get_query_types), (gst_base_src_update_length):
8722         Publish supported query types.
8723         Update last_stop field in get_range mode so the position
8724         query works. Fixes #342321.
8725
8726 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
8727
8728         * docs/gst/gstreamer-sections.txt:
8729         * gst/gsttaglist.c: (_gst_tag_initialize):
8730         * gst/gsttaglist.h:
8731           API: add GST_TAG_PREVIEW_IMAGE (#343341).
8732
8733 2006-05-30  Wim Taymans  <wim@fluendo.com>
8734
8735         Patch by: Alessandro Decina <alessandro at nnva dot org>
8736
8737         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8738         Unlock mutex when removing an unknown pad.
8739         Fixes #343334.
8740
8741         * tests/check/Makefile.am:
8742         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8743         (push_event), (setup), (teardown), (GST_START_TEST),
8744         (gst_collect_pads_suite), (main):
8745         Added collecpads check, disabled for now as check crashes for
8746         some reason.
8747
8748 2006-05-29  Wim Taymans  <wim@fluendo.com>
8749
8750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8751         Don't leak pads lists.
8752
8753 2006-05-29  Wim Taymans  <wim@fluendo.com>
8754
8755         * docs/libs/gstreamer-libs-sections.txt:
8756         * libs/gst/base/gstcollectpads.c:
8757         (gst_collect_pads_set_flushing_unlocked),
8758         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8759         (gst_collect_pads_stop):
8760         * libs/gst/base/gstcollectpads.h:
8761         API: gst_collect_pads_set_flushing()
8762         Added api to set the pads to flushing, useful for seeking
8763         code in elements using collectpads.
8764         Clear segment when receiving a flush.
8765
8766 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
8767
8768         * gst/gst.c: (add_path_func), (init_post):
8769           Don't scan registry paths passed via --gst-plugin-path immediately
8770           (will crash, because absolutely nothing is set up and no types are
8771           registered etc.); do this later in init_post(). Fixes #343057.
8772
8773 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8774
8775         * gst/gst.c: (init_post):
8776           if we have fork, fork while reading/rebuilding the registry
8777           so the parent doesn't take the hit of having all plugins loaded
8778           in memory.  Fixes #342777.
8779         * configure.ac:
8780           Check if we have fork()
8781         * win32/common/config.h.in:
8782           no fork() on win32
8783
8784 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8785
8786         * plugins/elements/gstelements.c:
8787         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8788         (gst_file_src_init), (gst_file_src_set_property),
8789         (gst_file_src_get_property), (gst_file_src_start):
8790         * plugins/elements/gstfilesrc.h:
8791           API: GstFileSrc::use-mmap
8792
8793         Add a use-mmap property to enable easier testing of all code paths.
8794         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8795         in the absence of gnomevfssrc. (Closes #340501)
8796
8797 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8798
8799         * tools/gst-inspect.c:
8800         Add missing include, removes warning of ngettext not being defined on
8801         some arches.
8802
8803 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8804
8805         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8806         Handle NULL input and output pointers silently as a failed conversion,
8807         rather than g_warnings.
8808
8809 2006-05-25  Wim Taymans  <wim@fluendo.com>
8810
8811         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8812         Initialize variable before using. Fixes #342820.
8813
8814 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8815
8816         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8817           Fix off-by-one bug that would only allow peeks of N-1 bytes
8818           from the start even if the buffer to typefind on contains
8819           in fact N bytes of data (makes vorbis typefinding from a
8820           vorbis identification header buffer work).
8821
8822         * tests/check/Makefile.am:
8823         * tests/check/libs/.cvsignore:
8824         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8825         (gst_typefindhelper_suite), (main), (foobar_typefind),
8826         (plugin_init):
8827           Add very basic unit test for gst_type_find_helper_for_buffer()
8828           that checks for the problem fixed above.
8829
8830 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8831
8832         * tools/gst-inspect.c: (print_interfaces),
8833         (print_element_properties_info), (print_element_list), (main):
8834           add more translatable strings
8835
8836 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
8837
8838         Patch by: Julien Moutte  <julien at moutte net>
8839
8840         * docs/gst/gstreamer-sections.txt:
8841           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8842           
8843         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8844         (gst_fake_sink_preroll):
8845         * plugins/elements/gstfakesink.h:
8846           API: Add new GstFakeSink::preroll-handoff signal (#337100).
8847
8848 2006-05-23  Wim Taymans  <wim@fluendo.com>
8849
8850         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8851         * gst/gstpad.h:
8852         Added _CUSTOM error and success GstFlowReturn that can be
8853         used be elements internally. 
8854         Added macro to check for SUCCESS flowreturns.
8855         API: GST_FLOW_CUSTOM_SUCCESS
8856         API: GST_FLOW_CUSTOM_ERROR
8857         API: GST_FLOW_IS_SUCCESS
8858
8859         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8860         Added check for GstFlowReturn sanity.
8861
8862 2006-05-23  Wim Taymans  <wim@fluendo.com>
8863
8864         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8865
8866         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8867         (gst_collect_pads_event):
8868         clear/reset segment info in FLUSH_STOP.
8869         Fixes #336929.
8870
8871 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8874         (gst_collect_pads_check_collected):
8875         Flush queued buffer on _stop(), fixes playing again (#342454)
8876
8877 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8878
8879         * tests/check/gst/gststructure.c: (GST_START_TEST),
8880         (gst_structure_suite):
8881           add a test for a complete structure
8882
8883 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8884
8885         * docs/faq/developing.xml:
8886         * docs/faq/faq.xml:
8887         * docs/faq/troubleshooting.xml:
8888         * docs/faq/using.xml:
8889           Some minor FAQ updates that won't change the fact that
8890           our FAQ is badly structured, full of information hardly
8891           anyone new to GStreamer needs to know and lacking lots
8892           of information people constantly ask for.
8893           
8894 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
8895
8896         * gst/gstpad.c: (gst_pad_set_caps):
8897           Short-circuit gst_pad_set_caps if setting the existing
8898           caps pointer again, and avoid printing debug and 
8899           reffing/unreffing the caps.
8900
8901         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8902           There's actually no need to set the caps before pushing -
8903           the acceptcaps method will handle it anyway.
8904
8905 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8906
8907         * docs/gst/gstreamer-sections.txt:
8908         * win32/common/libgstreamer.def:
8909         * gst/gstutils.c: (gst_element_seek_simple):
8910         * gst/gstutils.h:
8911           API: add gst_element_seek_simple() (#342238).
8912
8913 2006-05-18  Edward Hervey  <edward@fluendo.com>
8914
8915         * gst/gsttypefind.c: (gst_type_find_get_type):
8916         * gst/gsttypefind.h:
8917         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8918         registered for GstTypeFind pointers. This allows wrapping the structure
8919         in bindings (i.e. gst-python).
8920
8921 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * gst/gsttagsetter.c:
8924           Docs additions and fixes (see #339918).
8925
8926 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8927
8928         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8929         The caps intersection algorithm can produce multiple copies of the
8930         caps. Until that is fixed, we need to simplify the result to be
8931         sure whether the allowed caps are fixed or not.
8932
8933         * plugins/elements/gstqueue.c: (gst_queue_init),
8934         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8935         (gst_queue_push_one):
8936         Proxied buffer alloc should not set the caps on the source pad.
8937         When pushing buffers, we always accept the caps change that triggers.
8938         This prevents negotiation errors caused by caps changing mid-stream 
8939         and then being refused on our source pad (because upstream is now
8940         refusing those caps).
8941
8942 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8943
8944         * tests/examples/helloworld/helloworld.c: (main):
8945           Must plug audioconvert and audioresample between decoder
8946           and audio sink.
8947
8948 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8949
8950         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8951         (load_feature), (load_plugin):
8952         Allow empty strings for some of the plugin fields so we don't 
8953         drop valid plugin entries that were written out correctly
8954         (Fixes #341479)
8955
8956 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8957         
8958         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8959           Use g_remove and g_rename instead of remove and rename that don't 
8960           handle utf8 characters. rename was failing for users who had specific
8961           characters in their name then the registry was built at each 
8962           gstreamer init.
8963         * win32/vs6/gst_inspect.dsp:
8964         * win32/vs6/gst_launch.dsp:
8965         * win32/vs6/libgstbase.dsp:
8966         * win32/vs6/libgstcoreelements.dsp:
8967         * win32/vs6/libgstreamer.dsp:
8968           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
8969           build of libgstreamer and clean unused libraries in projects link 
8970           settings.
8971
8972 2006-05-17  Edward Hervey  <edward@fluendo.com>
8973
8974         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8975         The queue is not responsible for pushing an EOS when receiving a fatal
8976         flow error. It's up to the real element driving the pipeline to do that.
8977
8978 2006-05-16  Edward Hervey  <edward@fluendo.com>
8979
8980         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8981         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8982         buffer returned a fatal error. It should just send an EOS and stop
8983         its task.
8984         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8985         when pushing buffers on the queue and will be able to handle the event.
8986
8987 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8988
8989         * docs/manual/basics-bins.xml:
8990         * docs/manual/basics-init.xml:
8991           Fix typos and minor errors in sample code (#341856).
8992
8993 2006-05-16  Wim Taymans  <wim@fluendo.com>
8994
8995         * docs/design/part-qos.txt:
8996         Fix indexes in formulas to make more sense.
8997
8998 2006-05-15  Wim Taymans  <wim@fluendo.com>
8999
9000         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9001         Don't report POSITION based on clock time if sync is
9002         disabled in a sink.
9003
9004 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9005
9006         * gst/gstobject.h:
9007           Add cast to make compiler happy - refcount variable was a gint
9008           in GstObject but is a guint in GObject and g_atomic_int_get()
9009           wants a gint *.
9010
9011 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9012
9013         * gst/parse/Makefile.am:
9014           chain commands using &&, which also makes parallel make work
9015
9016 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9017
9018         * docs/gst/gstreamer-sections.txt:
9019         * gst/gstevent.c:
9020         * gst/gstevent.h:
9021         * gst/gstmessage.h:
9022           Minor docs fixes.
9023
9024 === release 0.10.6 ===
9025
9026 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9027
9028         * configure.ac:
9029           releasing 0.10.6, "Take the cannoli"
9030
9031 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9032
9033         * tools/gst-launch.c: (print_tag):
9034           Fix use of uninitialized variable in the hypothetical
9035           case that some broken plugin creates a GST_TAG_IMAGE
9036           tag containing a NULL buffer (#341667).
9037
9038 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9039
9040         * tools/gst-launch.c: (print_tag):
9041           Print something more intelligible for image tags when
9042           using the -t switch (#341556).
9043
9044 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9045
9046         * Makefile.am:
9047           updates for win32
9048         * configure.ac:
9049           define GST_MAJORMINOR so we have it available in win32/common/config.h
9050           Possibly remove it from our Makefile.am files later
9051         * win32/common/config.h:
9052         * win32/common/config.h.in:
9053           added GST_MAJORMINOR
9054         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9055         * win32/common/gstversion.h:
9056           updated
9057
9058 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9059
9060         * win32/MANIFEST:
9061           Update win32 files listing.
9062         * win32/common/gstversion.h:
9063           Add GST_MAJORMINOR definition.
9064         * win32/common/libgstreamer.def:
9065           Add new exported functions.
9066           
9067 2006-05-12  Michael Smith  <msmith@fluendo.com>
9068
9069         * gst/gstplugin.c: (gst_plugin_load_file):
9070           If an so file has no plugin entry point, unload the module.
9071
9072 2006-05-11  Wim Taymans  <wim@fluendo.com>
9073
9074         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9075         (gst_queue_set_property):
9076         Don't forget to signal the _chain or _loop function 
9077         when the queue size or thresholds change since that might
9078         cause them to make progres again.
9079
9080 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
9081
9082         * gst/gstclock.c: (gst_clock_class_init):
9083         * gst/gstindex.c: (gst_index_class_init):
9084         * gst/gstobject.c: (gst_object_class_init):
9085         * gst/gstpad.c: (gst_pad_class_init):
9086         * gst/gstpipeline.c: (gst_pipeline_class_init):
9087         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9088         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9089         * libs/gst/base/gstbasetransform.c:
9090         (gst_base_transform_class_init):
9091         * libs/gst/net/gstnetclientclock.c:
9092         (gst_net_client_clock_class_init):
9093         * libs/gst/net/gstnettimeprovider.c:
9094         (gst_net_time_provider_class_init):
9095         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9096         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9097         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9098         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9099         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9100         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9101         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9102         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9103         * plugins/elements/gsttee.c: (gst_tee_class_init):
9104         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9105         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9106           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9107
9108 2006-05-11  Wim Taymans  <wim@fluendo.com>
9109
9110         * gst/gstbuffer.c: (_gst_buffer_initialize):
9111         Register subbufer along with the buffer type so that
9112         it does not accidentally gets registered from N
9113         different streaming threads in a non threadsafe way.
9114
9115 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9116
9117         * gst/gstbuffer.h:
9118         * gst/gstevent.h:
9119         * gst/gstmessage.h:
9120           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9121           gst_event_ref() and gst_message_ref() functions again
9122           (ugly hack, please do fix if there's a better way besides
9123           overrides.txt, which doesn't seem to work).
9124
9125 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * libs/gst/check/gstcheck.h:
9128           add an assert for setting state to avoid lots of repetitive code
9129           in the future
9130
9131 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9132
9133         * gst/gstvalue.c: (gst_value_serialize_flags):
9134           fix a leak if no flags are set
9135         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9136           fix leak in tests
9137
9138 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9139
9140         * docs/manual/basics-pads.xml:
9141           Expand a bit on caps and filtered links and update
9142           examples that were still using the no longer existing
9143           gst_pad_link_filtered() (#338206).
9144
9145 2006-05-10  Wim Taymans  <wim@fluendo.com>
9146
9147         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9148         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9149         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9150         (gst_collect_pads_stop):
9151         * libs/gst/base/gstcollectpads.h:
9152         No need to call _stop in _finalize.
9153         Iterate the main pad list in _finalize.
9154         Added some more debug.
9155         Free lists and data in the right order.
9156         Also free data whem doing _remove_pad when stopped for
9157         backward compatibility protect ::started with PAD_LOCK as
9158         well.
9159
9160 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9161
9162         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9163         (gst_structure_parse_value):
9164           add some comments
9165           rename a method so that it actually says what it does better
9166
9167 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9168
9169         * gst/gstevent.c: (_gst_event_initialize):
9170         * gst/gstformat.c: (_gst_format_initialize):
9171           make sure some essential types used by events are registered
9172           as part of gst_init()
9173         * gst/gstvalue.c: (gst_value_serialize_flags):
9174           if no flags are set, serialize them to a value that represents NONE
9175           so that deserializing them works
9176         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9177           add tests for serialization and deserialization of flags
9178
9179 2006-05-10  Wim Taymans  <wim@fluendo.com>
9180
9181         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9182         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9183         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9184         (gst_collect_pads_event), (gst_collect_pads_chain):
9185         Update docs.
9186         Better debug info.
9187         Catch and return errors from the collect function
9188         Refuse data on eos pads.
9189
9190 2006-05-10  Edward Hervey  <edward@fluendo.com>
9191
9192         * gst/gstinterface.h:
9193         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9194         GInterface type checking.
9195         They were previously using non-defined macros.
9196
9197 2006-05-09  Wim Taymans  <wim@fluendo.com>
9198
9199         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9200         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9201         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9202         (gst_collect_pads_start), (gst_collect_pads_stop),
9203         (gst_collect_pads_peek), (gst_collect_pads_pop),
9204         (gst_collect_pads_available), (gst_collect_pads_read),
9205         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9206         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9207         (gst_collect_pads_chain):
9208         * libs/gst/base/gstcollectpads.h:
9209         Clean up the mess that is collectpads, add comments and
9210         FIXMEs where needed.
9211         Maintain a separate pad list so we can add pads while
9212         collecting the other ones. For this we need a new separate 
9213         lock (see comics).
9214         Fix memory leak in finalize.
9215         Refactor some weird code to set/unset pad flushing flags, mark
9216         with comments.
9217         Don't crash in _available, _read, _flush when we're EOS.
9218
9219         * tests/check/libs/.cvsignore:
9220         Ignore adapter check binary.
9221
9222 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9223
9224         * gst/gstindex.c: (gst_index_resolver_get_type):
9225         * plugins/elements/gstfakesink.c:
9226         (gst_fake_sink_state_error_get_type):
9227         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9228         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9229         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9230           Const-ify GEnumValue arrays.
9231
9232 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9233
9234         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9235           Add test case for flags + gst_buffer_make_metadata_writable().
9236
9237 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9238
9239         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9240           gst_buffer_make_metadata_writable() should maintain the
9241           buffer flags (those that make sense at least) (see #340859).
9242
9243 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9244
9245         * tools/gst-inspect.c:
9246         * tools/gst-launch.c:
9247         * tools/gst-typefind.c:
9248         * tools/gst-xmlinspect.c:
9249         * tools/tools.h:
9250           Fix up includes: need to include stdlib.h in tools.h for exit().
9251
9252 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9253
9254         * gst/gsttaglist.c: (_gst_tag_initialize):
9255         * gst/gsttaglist.h:
9256           API: add GST_TAG_IMAGE tag (#340721).
9257
9258 2006-05-08  Wim Taymans  <wim@fluendo.com>
9259
9260         * gst/gstquery.c:
9261         Added some docs for the segment query.
9262
9263 2006-05-08  Wim Taymans  <wim@fluendo.com>
9264
9265         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9266         (gst_base_src_loop), (gst_base_src_change_state):
9267         Always push non-flushing serialized events in the streaming 
9268         thread.
9269
9270 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * gst/gsterror.c: (_gst_stream_errors_init):
9273           Add a missing error string.
9274
9275 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9276
9277         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9278         Add applied_rate to the debug
9279
9280         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9281         Copy applied_rate into the outgoing NEWSEGMENT event
9282
9283 2006-05-08  Wim Taymans  <wim@fluendo.com>
9284
9285         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9286
9287         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9288         (gst_base_sink_change_state):
9289         call ::unlock before taking the PREROLL_LOCK so we can safely
9290         handle elements that lock in ::render.
9291         Fixes #340174.
9292
9293 2006-05-08  Edward Hervey  <edward@fluendo.com>
9294
9295         * autogen.sh: (CONFIGURE_DEF_OPT): 
9296         Darwin's libtoolize is in fact called glibtoolize.
9297         Adding glibtoolize to the list of accepted names for libtoolize.
9298
9299 2006-05-08  Wim Taymans  <wim@fluendo.com>
9300
9301         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9302         Unify error handling, don't post an error message
9303         when a push() returns EOS but perform our normal EOS
9304         handling code. Fixes #340772.
9305
9306 2006-05-08  Wim Taymans  <wim@fluendo.com>
9307
9308         * docs/design/part-overview.txt:
9309         Make upsteam/downstream concepts more clear.
9310         Give an example of serialized/non-serialized events.
9311
9312         * docs/design/part-events.txt:
9313         * docs/design/part-streams.txt:
9314         Mention applied_rate.
9315
9316         * docs/design/part-trickmodes.txt:
9317         Mention applied rate, flesh out some more use cases.
9318
9319         * gst/gstevent.c: (gst_event_new_new_segment),
9320         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9321         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9322         (gst_event_parse_tag), (gst_event_new_buffer_size),
9323         (gst_event_parse_buffer_size), (gst_event_new_qos),
9324         (gst_event_parse_qos), (gst_event_parse_seek),
9325         (gst_event_new_navigation):
9326         * gst/gstevent.h:
9327         Add applied_rate field to NEWSEGMENT event.
9328         API: gst_event_new_new_segment_full()
9329         API: gst_event_parse_new_segment_full()
9330
9331         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9332         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9333         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9334         * gst/gstsegment.h:
9335         Add applied_rate to GstSegment structure.
9336         Make calculation of stream_time and running_time more correct
9337         wrt rate/applied_rate.
9338         Add some more docs.
9339         API: GstSegment::applied_rate field
9340         API: gst_segment_set_newsegment_full();
9341
9342         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9343         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9344         * libs/gst/base/gstbasetransform.c:
9345         (gst_base_transform_sink_eventfunc),
9346         (gst_base_transform_handle_buffer):
9347         Parse and use applied_rate in the GstSegment field.
9348
9349         * tests/check/gst/gstevent.c: (GST_START_TEST):
9350         Add check for applied_rate field.
9351
9352         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9353         (gstsegments_suite):
9354         Add more checks for various GstSegment operations.
9355
9356 2006-05-08  Wim Taymans  <wim@fluendo.com>
9357
9358         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9359         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9360         (gst_base_sink_get_position), (gst_base_sink_change_state):
9361         Store the sync time of the buffer end position separatly in a
9362         new variable eos_rtime so we can properly sync the EOS event.
9363         Fixes #340697.
9364         Fix the docs for gst_base_sink_set_qos_enabled().
9365         Don't set segment start to invalid value when we receive a 
9366         non TIME newsegment.
9367         get closer to handling position reporting for negative rates 
9368         correctly.
9369
9370 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9371
9372         * gst/gstcaps.c:
9373         Docs about how to print caps for debug purposes.
9374
9375         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9376         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9377
9378 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * gst/gstelement.c:
9381           use full enum names and preprend a '%' in docs strings to make recent 
9382           gtk-doc turn that into a link
9383
9384 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9385
9386         * docs/manual/basics-bins.xml:
9387         * docs/manual/basics-bus.xml:
9388         * docs/manual/basics-pads.xml:
9389           Some typo fixes, some additions, some clarifications. 
9390
9391 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9392
9393         * tools/gst-inspect.c: (main):
9394         * tools/gst-launch.c: (main):
9395         * tools/gst-run.c: (main):
9396         * tools/gst-typefind.c: (main):
9397         * tools/gst-xmlinspect.c: (main):
9398           Use the string passed to g_option_context_new() for
9399           what it's intended for - the program name is already
9400           printed elsewhere.
9401
9402 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9403
9404         * tools/Makefile.am:
9405         * tools/gst-inspect.c: (main):
9406         * tools/gst-launch.c: (main):
9407         * tools/gst-xmlinspect.c: (main):
9408         * tools/tools.h:
9409           Add back --version command line option (#340460).
9410
9411         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9412           Add --version option and use GOption for argument parsing; refactor a
9413           bit; accept directories as arguments and recurse into them; lastly,
9414           print a decent error message when things go wrong.
9415
9416 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9417
9418         * docs/manual/basics-bins.xml:
9419         Don't mention GstThread (#340611)
9420         * docs/manual/basics-elements.xml:
9421         Update link to GObject tutorial (#340607)
9422         
9423 2006-05-05  Wim Taymans  <wim@fluendo.com>
9424
9425         * gst/gstbuffer.h:
9426         * gst/gstminiobject.c:
9427         Add note about refcounting and miniobject/buffer writeability
9428         to docs. Fixes #340604
9429
9430         * gst/gstelementfactory.h:
9431         Added some explanation about @klass.
9432
9433 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9434
9435         * docs/manual/intro-motivation.xml:
9436         * docs/manual/manual.xml:
9437         Avoid CORBA & Bonobo references (#340598)
9438
9439 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9440
9441         * docs/manual/basics-bus.xml:
9442         * docs/manual/basics-pads.xml:
9443         Fix up some inaccuracies and omissions (#340609)
9444         
9445 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9446
9447         * gst/gstghostpad.c:
9448           Small typo in docs (#340625)
9449
9450 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9451
9452         * gst/parse/Makefile.am:
9453           Make 'make -j' proof (see #340698).
9454
9455 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9456
9457         * configure.ac:
9458           Require GLib-2.8 here as well.
9459
9460 2006-05-05  Wim Taymans  <wim@fluendo.com>
9461
9462         * gst/glib-compat.c:
9463         * gst/gst.c: (init_pre):
9464         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9465         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9466         (gst_object_dispatch_properties_changed):
9467         * gst/gstobject.h:
9468         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9469         * gst/gststructure.c: (gst_structure_set_valist):
9470         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9471         Remove pre glib2.8 compatibility, fixes #340508
9472
9473 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9474
9475         * gst/gsttaglist.h:
9476           Mention type of tags in doc blurbs.
9477
9478 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9479
9480         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9481         (gst_pad_configure_src), (gst_pad_push):
9482         Restore acceptcaps checking behaviour now that good plugins have
9483         been released.
9484
9485 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9486
9487         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9488
9489         * gst/gst.c:
9490         * gst/gstbus.c:
9491         * gst/gstclock.c:
9492         * gst/gstevent.c:
9493         * gst/gstformat.c:
9494         * gst/gstmessage.c:
9495         * gst/gstparse.c:
9496         * gst/gstquery.c:
9497         * gst/gstutils.c:
9498         * gst/parse/Makefile.am:
9499         * libs/gst/base/gstadapter.c:
9500         * libs/gst/base/gstbasesrc.c:
9501         * libs/gst/base/gstpushsrc.c:
9502         * libs/gst/base/gsttypefindhelper.c:
9503         * plugins/elements/gstfakesrc.c:
9504         * plugins/elements/gstidentity.c:
9505           Make sure gstprivate.h and/or config.h are
9506           always included first, otherwise some of our
9507           defines (like _FILE_OFFSET_BITS) might be
9508           redefined in the system headers. Fixes build
9509           on opensolaris (#340016).
9510
9511 2006-05-04  Wim Taymans  <wim@fluendo.com>
9512
9513         * docs/libs/gstreamer-libs-sections.txt:
9514         API: addition: gst_adapter_take_buffer()
9515         
9516         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9517         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9518         (gst_adapter_available_fast):
9519         * libs/gst/base/gstadapter.h:
9520         Prepare for optimizing the hell out of this hugely inefficient
9521         piece of code. 
9522         Added gst_adapter_take_buffer() so we can at least start thinking
9523         about subbuffering and merging.
9524         Added some comments.
9525
9526         * tests/check/Makefile.am:
9527         * tests/check/libs/adapter.c: (GST_START_TEST),
9528         (gst_adapter_suite), (main):
9529         Added GstAdapter check.
9530
9531 2006-05-04  Wim Taymans  <wim@fluendo.com>
9532
9533         * docs/design/part-overview.txt:
9534         Fix some typos, add blurb about buffer flags.
9535
9536 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * docs/libs/gstreamer-libs-sections.txt:
9539           make sure GstBaseTransformClass shows up in the docs
9540         * libs/gst/base/gstbasetransform.c:
9541         * libs/gst/base/gstbasetransform.h:
9542           move docs so gtk-doc picks it up now
9543
9544 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9545
9546         * docs/libs/gstreamer-libs-sections.txt:
9547           add missing symbols to docs
9548
9549 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9550
9551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9552           back out the newsegment handling change, see #340060 for ongoing
9553           discussion
9554
9555 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9556
9557         * tools/gst-run.c: (get_candidates), (main):
9558           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9559           work); fix typo in error message. Fixes #340079.
9560
9561 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * common/Makefile.am:
9564         * docs/Makefile.am:
9565         * docs/faq/Makefile.am:
9566         * docs/gst/Makefile.am:
9567         * docs/libs/Makefile.am:
9568         * docs/manual/Makefile.am:
9569         * docs/plugins/Makefile.am:
9570         * docs/pwg/Makefile.am:
9571         * docs/slides/Makefile.am:
9572         * docs/upload.mak:
9573         * common/upload.mak:
9574           move upload.mak to common
9575
9576 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9579           add more asserts on refcounts
9580           do more cleanup at end of tests
9581           fix test leaks showing in FC5
9582
9583 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9584
9585         * plugins/elements/gsttypefindelement.c:
9586         (gst_type_find_element_handle_event):
9587         reverted wrong change and reflowed code to avoid others falling into
9588         this trap
9589
9590 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9591
9592         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9593           fix changelog entry about last collectpads change,
9594           add notes about proper fix
9595
9596 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9597
9598         * gst/gst.c:
9599         * gst/gstregistry.c: (gst_registry_scan_path_level),
9600         (gst_registry_scan_path):
9601         * gst/gstregistry.h:
9602           only write out registry if it has changed, fixes #338339
9603
9604 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9605
9606         * gst/gstbin.c:
9607         * gst/gstpipeline.c:
9608         * plugins/elements/gstcapsfilter.c:
9609         * plugins/elements/gstfakesink.c:
9610         * plugins/elements/gstfakesrc.c:
9611         * plugins/elements/gstfdsink.c:
9612         * plugins/elements/gstfdsrc.c:
9613         * plugins/elements/gstfilesink.c:
9614         * plugins/elements/gstfilesrc.c:
9615         * plugins/elements/gstidentity.c:
9616         * plugins/elements/gstqueue.c:
9617         * plugins/elements/gsttee.c:
9618         * plugins/elements/gsttypefindelement.c:
9619         (gst_type_find_element_handle_event):
9620           make GstElementDetails const
9621
9622 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9623
9624         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9625         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9626         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9627           more detailed debug and formatting cleanup,
9628           forward newsegments to src-pad (so that e.g. adder not eats them)
9629
9630 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9631
9632         * gst/gstutils.c: (gst_element_link_pads):
9633           cleanup double code
9634
9635 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9636
9637         * libs/gst/controller/gstcontroller.c:
9638         (gst_controller_sync_values):
9639           some little tuning
9640         * tests/check/libs/controller.c: (GST_START_TEST),
9641         (gst_controller_suite):
9642           a new test for live value handling
9643
9644 2006-04-28  Wim Taymans  <wim@fluendo.com>
9645
9646         * gst/gstutils.c: (push_and_ref):
9647         Added some more docs.
9648         Fix refcount issue whith gst_element_found_tags() helper 
9649         function. Fixes #338335
9650
9651         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9652         Added testsuite for gst_element_found_tags().
9653
9654 2006-04-28  Michael Smith  <msmith@fluendo.com>
9655
9656         * gst/gstvalue.c: (gst_value_serialize_flags):
9657           Avoid NULL dereference when trying to serialize flags containing
9658           invalid values.
9659
9660 2006-04-28  Michael Smith  <msmith@fluendo.com>
9661
9662         * plugins/elements/gsttypefindelement.c:
9663         (gst_type_find_element_handle_event):
9664           If we get EOS before any data is accumulated, don't use
9665           uninitialised local variables.
9666
9667 2006-04-28  Michael Smith  <msmith@fluendo.com>
9668
9669         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9670         (gst_dp_event_from_packet):
9671           Fixes in reading/writing events over GDP (not currently used?) - 
9672           dereferencing NULL events for unknown/invalid event types, memory
9673           leak, and change g_warning to GST_WARNING.
9674
9675 2006-04-28  Wim Taymans  <wim@fluendo.com>
9676
9677         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9678         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9679         (gst_base_sink_get_position), (gst_base_sink_change_state):
9680         When frame dropping is enabled, we should not ignore frames
9681         without a duration.
9682         Update some documentation.
9683
9684 2006-04-28  Wim Taymans  <wim@fluendo.com>
9685
9686         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9687         (gst_base_src_send_event), (gst_base_src_change_state):
9688         Documentation updates.
9689
9690 2006-04-28  Wim Taymans  <wim@fluendo.com>
9691
9692         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9693         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9694         handle EAGAIN, EINTR and short writes correctly. Also clean
9695         up some error cases, avoid a deadlock on bad file descriptors and
9696         use GST_DEBUG_OBJECT.
9697         Fixes #339843
9698
9699 2006-04-28  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/gstvalue.c: (gst_value_serialize_buffer),
9702         (gst_value_deserialize_buffer):
9703         Don't try to serialize a GValue with a NULL buffer. 
9704         Fixes #339821.
9705
9706         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9707         Added check for serialisation of NULL buffers.
9708
9709 2006-04-28  Wim Taymans  <wim@fluendo.com>
9710
9711         * gst/gstminiobject.c: (gst_value_take_mini_object):
9712         Taking a NULL miniobject is valid, fix the case where
9713         we try to unref the NULL miniobject.
9714
9715 2006-04-28  Wim Taymans  <wim@fluendo.com>
9716
9717         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9718
9719         * gst/gstbin.c: (gst_bin_handle_message_func):
9720         Update docs.
9721         Don't leak bin refcount when a state recalc is
9722         in progress and we delay another one #339808.
9723
9724 2006-04-28  Wim Taymans  <wim@fluendo.com>
9725
9726         * docs/design/part-TODO.txt:
9727         Mention QoS as an ongoing work item.
9728
9729         * docs/design/part-buffering.txt:
9730         New doc about buffering that needs to be fleshed out
9731         at some point.
9732
9733         * docs/design/part-qos.txt:
9734         More QoS policy for decoders/demuxers/transforms
9735
9736         * docs/design/part-trickmodes.txt:
9737         Small update.
9738
9739 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9740
9741         * configure.ac:
9742           back to HEAD
9743
9744 === release 0.10.5 ===
9745
9746 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
9747
9748         * configure.ac:
9749           releasing 0.10.5, "Fogo"
9750
9751 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         patch by: Wim Taymans
9754
9755         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9756         (gst_pad_configure_src), (gst_pad_push):
9757         * gst/gstpipeline.c: (gst_pipeline_init):
9758           Fix internal data flow errors.  Fixes #338711.
9759
9760 2006-04-12  Wim Taymans  <wim@fluendo.com>
9761
9762         * tests/check/gst/gstelement.c: (GST_START_TEST):
9763         Don't leak the factory.
9764
9765 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * configure.ac:
9768         * win32/common/config.h:
9769           prerelease
9770
9771 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9772
9773         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9774         (gst_controller_unset_all):
9775           Free allocated GstTimedValues when freeing list nodes.
9776           Should fix leaks 'make check-valgrind' complains about.
9777
9778         * win32/common/libgstcontroller.def:
9779           Add gst_controller_unset_all.
9780
9781 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
9782
9783         * docs/libs/gstreamer-libs-sections.txt:
9784         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9785         (gst_controller_unset_all):
9786         * libs/gst/controller/gstcontroller.h:
9787         API: Added new method gst_controller_unset_all()
9788         fixed gst_controller_unset()
9789         * tests/check/libs/controller.c: (GST_START_TEST),
9790         (gst_controller_suite):
9791         Added two testcases for new and fixed method
9792
9793 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
9794
9795         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9796           MSG_DONTWAIT is not defined on Cygwin, so work
9797           around that (fixes #317048).
9798           
9799 2006-04-11  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/gstelementfactory.c: (gst_element_register),
9802         (gst_element_factory_create), (gst_element_factory_make):
9803         Some cleanups.
9804         Fixed a FIXME.
9805         Updated docs (Fixes #131079)
9806
9807         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9808         Small cleanups.
9809
9810         * tests/check/gst/gstelement.c: (GST_START_TEST),
9811         (gst_element_suite):
9812         Added testcase for elementfactory class field.
9813
9814 2006-04-10  Wim Taymans  <wim@fluendo.com>
9815
9816         * gst/gstsegment.c:
9817         Added some more docs.
9818
9819         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9820         (gst_base_sink_reset_qos):
9821         Calculate more accurate rate values.
9822
9823 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
9824
9825         * gst/gst_private.h:
9826           add a new #ifdef to use __declspec(dllimport) only for
9827           other modules and not for gstreamer core
9828         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9829           use gst_guint64_to_gdouble for conversion
9830         * win32/common/libgstreamer.def:
9831           add new exported functions
9832         * win32/vs6/gst_inspect.dsp:
9833         * win32/vs6/gst_launch.dsp:
9834         * win32/vs6/libgstbase.dsp:
9835         * win32/vs6/libgstcontroller.dsp:
9836         * win32/vs6/libgstcoreelements.dsp:
9837         * win32/vs6/libgstdataprotocol.dsp:
9838         * win32/vs6/libgstnet.dsp:
9839           update project files
9840
9841 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9842
9843         * gst/gstbuffer.c: (gst_subbuffer_class_init):
9844         * gst/gstclock.c: (gst_clock_class_init):
9845         * gst/gstelement.c: (gst_element_class_init):
9846         * gst/gstindex.c: (gst_index_class_init):
9847         * gst/gstindexfactory.c: (gst_index_factory_class_init):
9848         * gst/gstobject.c: (gst_object_class_init),
9849         (gst_signal_object_class_init):
9850         * gst/gstpad.c: (gst_pad_class_init):
9851         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9852         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9853         * gst/gstregistry.c: (gst_registry_class_init):
9854         * gst/gstsystemclock.c: (gst_system_clock_class_init):
9855         * gst/gsttask.c: (gst_task_class_init):
9856         * gst/gstxml.c: (gst_xml_class_init):
9857         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9858         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9859         (gst_base_src_loop):
9860         * libs/gst/controller/gstcontroller.c:/
9861         (_gst_controller_class_init):
9862         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9863         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9864         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9865         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9866         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9867         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9868
9869 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
9870
9871         * gst/gstpad.c: (gst_pad_link):
9872           Must set peer pads before calling the link function, otherwise
9873           a task started from a link function might get a flow-not-linked
9874           result when trying to push because the other thread where the
9875           linking happens hasn't had a chance to set the peers yet. This
9876           might happen for example when a queue gets linked to a downstream
9877           element, as queue starts a streaming task when its source pad
9878           gets linked. Happens in real life when playing back flac/musepack
9879           files in playbin (#332390).
9880           
9881 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9882
9883         * gst/gstindex.h:
9884         * gst/gstxml.h:
9885         * libs/gst/base/gstadapter.h:
9886         * libs/gst/base/gstbasesink.h:
9887         * libs/gst/base/gstbasesrc.h:
9888         * libs/gst/base/gstbasetransform.h:
9889         * libs/gst/base/gstcollectpads.h:
9890         * libs/gst/base/gstpushsrc.h:
9891         Fix broken GObject macros
9892
9893 2006-04-07  Wim Taymans  <wim@fluendo.com>
9894
9895         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9896         Initialize start and stop times, thanks valgrind.
9897
9898 2006-04-07  Wim Taymans  <wim@fluendo.com>
9899
9900         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9901         Be a bit nicer to badly behaving upstream elements that expect
9902         us to deal with non TIME segments and timestamps (such as fakesrc
9903         in the testsuite).
9904
9905 2006-04-07  Wim Taymans  <wim@fluendo.com>
9906
9907         * gst/gstbus.c:
9908         Small documentation clarification about the signal watch.
9909
9910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9911         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9912         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9913         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9914         (gst_base_sink_get_position_last),
9915         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9916         Convert and store timestamps in stream time and running time, the
9917         raw timestamps are not useful, also document this better.
9918         Use different window sizes for good and bad QoS observations so
9919         we react to badness a little quicker.
9920         Keep track of the amount of rendered and dropped buffers.
9921         Send QoS timestamps in running time.
9922
9923         * libs/gst/base/gstbasetransform.c:
9924         (gst_base_transform_sink_eventfunc),
9925         (gst_base_transform_handle_buffer):
9926         Compare QoS timestamps against running time.
9927
9928 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9929
9930         * gst/gstpad.c:
9931           Typo fixes in docs.
9932
9933 2006-04-06  Michael Smith  <msmith@fluendo.com>
9934
9935         * gst/gstpad.c: (gst_pad_set_property):
9936           Use g_value_get_object() instead of g_value_dup_gst_object(),
9937           to avoid double-reffing the pad template (which we then sink,
9938           so this worked previously if (and only if) the pad template
9939           was floating.
9940
9941         * gst/gstpadtemplate.c: (gst_pad_template_init),
9942         (gst_pad_template_pad_created):
9943           Never return floating references to pad templates, create
9944           them as initially-sunken.
9945
9946           Document an extra function (and make this stop sinking our
9947           pad template, since that is now guaranteed to do nothing,
9948           since we created it sunken).
9949
9950         * gst/gstghostpad.c:
9951           Fix docs typo.
9952
9953 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9954
9955         * gst/gstinfo.c: (__gst_in_valgrind):
9956           Add some newlines.
9957
9958         * plugins/elements/gsttypefindelement.c:
9959         (gst_type_find_element_chain):
9960           Don't leak buffer caps.
9961
9962 2006-04-06  Michael Smith  <msmith@fluendo.com>
9963
9964         * gst/parse/grammar.y:
9965           Fix a leak in parse-launch for any source-or-sink named element 
9966           references used.
9967
9968         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9969           Unref the pipeline if it exists after we've failed parsing.
9970
9971 2006-04-05  Michael Smith  <msmith@fluendo.com>
9972
9973         * gst/gstpipeline.c: (gst_pipeline_init):
9974           When we create a pipeline bus, initially create it in flushing mode.
9975           Fixes leaks in at least one test, and makes a new pipeline work the
9976           same as one that has gone to READY and then back to NULL.
9977
9978         * gst/gstelement.c:
9979           Typo fix in docs.
9980
9981 2006-04-05  Michael Smith  <msmith@fluendo.com>
9982
9983         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9984           Unref a pad we reffed.
9985         * tests/check/gst/gstutils.c: (GST_START_TEST):
9986           Unref bins
9987
9988 2006-04-05  Michael Smith  <msmith@fluendo.com>
9989
9990         * gst/gstquery.c: (gst_query_set_formats),
9991         (gst_query_set_formatsv):
9992           Fix leaking GValues in queries, as shown by valgrind/testsuite.
9993
9994 2006-04-05  Michael Smith  <msmith@fluendo.com>
9995
9996         * tests/check/generic/sinks.c: (GST_START_TEST):
9997           Fix a variety of memleaks in sinks check, which are only sometimes 
9998           shown by running the tests under valgrind (weird?).
9999
10000 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10001
10002         * docs/version.entities.in:
10003           Fix the substituted entity name after thomas' changes on the
10004           weekend.
10005
10006 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10007
10008         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10009         VALGRIND_PRINTF
10010         
10011 2006-04-05  Andy Wingo  <wingo@pobox.com>
10012
10013         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10014
10015         * libs/gst/base/gstbasetransform.c
10016         (gst_base_transform_sink_eventfunc): When resetting our segment on
10017         FLUSH_STOP, also update the flag saying we haven't seen a
10018         newsegment.
10019
10020 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10021
10022         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10023
10024         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10025         (gst_plugin_check_license):
10026           minor clean-ups: G_DEFINE_TYPE already takes care of the
10027           parent_class stuff, no need to do it twice. Mark array of
10028           license strings as constant. (#337103)
10029           
10030 2006-04-04  Michael Smith  <msmith@fluendo.com>
10031
10032         * tools/gst-inspect.c: (print_element_list):
10033           Free the right plugin list; fixes a memory leak.
10034
10035 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10036
10037         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10038
10039         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10040           Don't error out on empty buffers (#336945).
10041           
10042 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10043
10044         * docs/libs/gstreamer-libs-sections.txt:
10045         * gst/gsttaglist.c:
10046         * libs/gst/base/gstbasesink.c:
10047         * libs/gst/base/gstbasesink.h:
10048         * libs/gst/base/gstbasesrc.c:
10049         * libs/gst/base/gstbasesrc.h:
10050           Documentation updates. Make BaseSink and BaseSrc docs contain the
10051           class structure so that people can actually see the prototypes for
10052           virtual functions they're supposed to be overriding.
10053
10054 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10055
10056         * plugins/elements/gsttypefindelement.c:
10057         (gst_type_find_element_chain):
10058           More debug info; when skipping typefinding, send cached
10059           events in all cases.
10060
10061 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10062
10063         * configure.ac:
10064           use new AS_VERSION and AS_NANO macros
10065         * gst/gst-i18n-lib.h:
10066         * gst/gst.c:
10067         * gst/gsterror.c:
10068         * gst/gstversion.h.in:
10069         * win32/common/config.h:
10070         * win32/common/config.h.in:
10071           update accordingly
10072
10073 2006-03-31  Michael Smith  <msmith@fluendo.com>
10074
10075         * plugins/elements/gsttypefindelement.c:
10076         (gst_type_find_element_chain):
10077           Do not typefind content if the buffers already have caps.
10078           Neccesary for icydemux (#333657), and the right thing to do anyway.
10079
10080 2006-03-30  Wim Taymans  <wim@fluendo.com>
10081
10082         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10083         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10084         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10085         (gst_base_sink_record_qos_observation),
10086         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10087         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10088         (gst_base_sink_change_state):
10089         More QoS measurements as described in the design doc.
10090         Get rid of ringbuffer with observations, running average is
10091         more simple and equally good.
10092         Calculates valid proportion now.
10093         Added beginning of flood measurement.
10094
10095 2006-03-29  Wim Taymans  <wim@fluendo.com>
10096
10097         * docs/design/part-qos.txt:
10098         * gst/gstclock.c:
10099         Small documentation updates and additions.
10100
10101 2006-03-29  Wim Taymans  <wim@fluendo.com>
10102
10103         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10104         (gst_base_src_send_event), (gst_base_src_loop),
10105         (gst_base_src_change_state):
10106         Perform the EOS logic when we reach the segment stop position.
10107         Fix compilation on gcc4.1
10108
10109 2006-03-29  Wim Taymans  <wim@fluendo.com>
10110
10111         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10112
10113         * plugins/elements/gstqueue.c: (gst_queue_init),
10114         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10115         (gst_queue_set_property):
10116         * plugins/elements/gstqueue.h:
10117         In queue, when EOS is received, if minimum threshold > max_size -
10118         current_level, there is chance that queue blocks forever in conditional
10119         item del wait. This is because the queue is not emptied completely due
10120         to minimum threshold.  Here is another approach. Instead of setting
10121         cur_levels to max in EOS, just zero all minimum threshold levels. This
10122         should make sure that queue gives out all data. When going to READY
10123         (stop) state, just reset the original minimum threshold levels.
10124         Fixes #336336.
10125
10126 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
10127
10128         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10129         (gst_type_find_element_handle_event),
10130         (gst_type_find_element_send_cached_events),
10131         (gst_type_find_element_change_state):
10132         * plugins/elements/gsttypefindelement.h:
10133           When typefinding is done in push mode, we should cache
10134           events we receive during typefinding instead of just
10135           dropping them (e.g. newsegment, custom events from
10136           dvdreadsrc etc.) and then send them out once we've
10137           determined the type of the stream (and decodebin
10138           has had a chance to plug in a decoder/demuxer).
10139           
10140 2006-03-27  Wim Taymans  <wim@fluendo.com>
10141
10142         * docs/design/part-qos.txt:
10143         First QoS ideas.
10144
10145 2006-03-27  Wim Taymans  <wim@fluendo.com>
10146
10147         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10148
10149         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10150         (gst_base_src_send_event), (gst_base_src_change_state):
10151         Handle element seek correctly when we are streaming.
10152         Fixes #326998.
10153
10154 2006-03-24  Michael Smith  <msmith@fluendo.com>
10155
10156         * docs/faq/gst-uninstalled:
10157           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10158           allow you to correctly run intalled applications built against old 
10159           core, using plugins that require updated core (e.g. running
10160           installed totem against a full uninstalled gstreamer stack)
10161
10162 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10163
10164         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10165         more debug details
10166
10167 2006-03-24  Wim Taymans  <wim@fluendo.com>
10168
10169         * docs/gst/gstreamer-sections.txt:
10170         Rearrange the order of the methods so that related methods
10171         are grouped together in sections.
10172
10173 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10174
10175         * gst/gstelement.c:
10176           Little clarification in the docs
10177
10178 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10179
10180         * docs/README:
10181         formatting fix
10182         * plugins/elements/gstidentity.c:
10183         * plugins/elements/gstqueue.c:
10184         * plugins/elements/gsttee.c:
10185         * plugins/elements/gsttypefindelement.c:
10186         GST_ELEMENT_DETAILS formatting
10187
10188 2006-03-24  Wim Taymans  <wim@fluendo.com>
10189
10190         * libs/gst/base/gstbasesink.h:
10191         Only add fields, not insert or we break ABI.
10192
10193 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10194
10195         * win32/common/libgstbase.def:
10196         * win32/common/libgstreamer.def:
10197           Update, add recently added functions.
10198
10199 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10200
10201         * docs/gst/gstreamer-sections.txt:
10202         * gst/gstutils.c: (gst_pad_query_peer_position),
10203         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10204         * gst/gstutils.h:
10205           API: add some new utility functions:
10206            - gst_pad_query_peer_position()
10207            - gst_pad_query_peer_duration()
10208            - gst_pad_query_peer_convert()
10209           
10210 2006-03-23  Wim Taymans  <wim@fluendo.com>
10211
10212         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10213         (gst_base_sink_init), (gst_base_sink_finalize),
10214         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10215         (gst_base_sink_set_property), (gst_base_sink_get_property),
10216         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10217         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10218         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10219         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10220         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10221         (gst_base_sink_preroll_object), (gst_base_sink_event),
10222         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10223         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10224         (gst_base_sink_query), (gst_base_sink_change_state):
10225         Decouple max-lateness and the fact that QoS messages are generated
10226         with a new property (qos).
10227         added API: GstBaseSink::async_play()
10228         Add vmethod so subclasses can be notified of ASYNC playing
10229         state changes.
10230         Collect timestamp start and stop to report better current
10231         position in EOS/PLAYING/PAUSED/READY/NULL.
10232         Refactor QoS/frame dropping and other measurements.
10233         API: GstBaseSrc::qos
10234         Fixes #326311
10235
10236         * libs/gst/base/gstbasesink.h:
10237         Added Private struct.
10238         API: gst_base_sink_set_qos_enabled()
10239         API: gst_base_sink_is_qos_enabled()
10240
10241 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10242
10243         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10244           If compiling against GLib-2.8 or newer, try to read the
10245           registry file using GMappedFile first before falling back
10246           to fopen() + fread() (#332151).
10247
10248 2006-03-22  Wim Taymans  <wim@fluendo.com>
10249
10250         * gst/gstinfo.c: (gst_debug_set_active),
10251         (gst_debug_category_set_threshold):
10252         Disable debugging unless explicitly activated.
10253         Fixes #335480.
10254
10255 2006-03-22  Wim Taymans  <wim@fluendo.com>
10256
10257         * gst/gstelement.c: (gst_element_set_locked_state),
10258         (gst_element_dispose):
10259         Cleanup the error case.
10260
10261         * gst/gstobject.c: (gst_object_dispose):
10262         print a critical when some object was disposed with
10263         a parent, also revive the object since it might
10264         crash the parent.
10265
10266 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10267
10268         * tools/gst-launch.1.in:
10269           Fix another typo.
10270
10271 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10272
10273         * configure.ac:
10274         * tests/check/Makefile.am:
10275           disable some tests when we don't have a registry
10276         * tests/check/gst/gstutils.c: (gst_utils_suite):
10277           don't build the part that needs parsing
10278
10279 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10280
10281         * gst/Makefile.am
10282         * tests/examples/Makefile.am:
10283           fix --disable-parse build
10284
10285 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10286
10287         * tools/gst-feedback.1.in:
10288           Fix typo: s/feeback/feedback/ (#133494).
10289
10290 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10291
10292         * tools/Makefile.am:
10293         * tools/gst-launch.1.in:
10294           Add FILES section and correct entry about GST_REGISTRY_PATH
10295           environment variable (#133495; #133494).
10296
10297 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10298
10299         * tools/Makefile.am:
10300         * tools/gst-md5sum.1.in:
10301         * tools/gst-md5sum.c:
10302           Remove gst-md5sum and man page (the md5sink element
10303           required was removed ages ago)
10304
10305 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10306
10307         * gst/gststructure.c: (gst_structure_id_set_value):
10308           Make sure that string fields in structures/taglists
10309           contain valid UTF-8 - we don't want to pass rubbish to
10310           applications because of a buggy plugin (cp. #334167).
10311
10312 2006-03-21  Edward Hervey  <edward@fluendo.com>
10313
10314         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10315         (gst_bin_handle_message_func):
10316         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10317         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10318         (gst_element_set_bus_func):
10319         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10320         * gst/gstminiobject.c: (gst_value_set_mini_object),
10321         (gst_value_take_mini_object):
10322         * gst/gstpad.c: (gst_pad_set_pad_template):
10323         * gst/gstpipeline.c: (gst_pipeline_dispose),
10324         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10325         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10326         (gst_collect_pads_chain):
10327         * libs/gst/net/gstnettimeprovider.c:
10328         (gst_net_time_provider_set_property):
10329         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10330         It's in fact all issues with gst_*object_replace().
10331
10332 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10333
10334         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10335         
10336         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10337         * pkgconfig/gstreamer-check.pc.in:
10338           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10339
10340 2006-03-21  Edward Hervey  <edward@fluendo.com>
10341
10342         * gst/gstbuffer.h:
10343         * gst/gstevent.h:
10344         * gst/gstmessage.h:
10345         gst_[buffer|event|message]_ref() macros are replaced by a static
10346         inline functions because gcc-4.1 will about if the return value
10347         isn't used.
10348         * tests/check/gst/gstevent.c: (event_probe):
10349         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10350
10351 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10352
10353         * gst/gstutils.h:
10354         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10355         the type' case. (Closes: #335195 for now). In the future, when we
10356         depend on GLib 2.10, we could also intern the type name using
10357         g_intern_static_string()
10358
10359 2006-03-20  Wim Taymans  <wim@fluendo.com>
10360
10361         * gst/gstbin.c: (gst_bin_handle_message_func),
10362         (bin_query_max_init), (bin_query_position_fold),
10363         (bin_query_position_done), (gst_bin_query):
10364         Position query should also take max of all streams.
10365
10366 2006-03-20  Wim Taymans  <wim@fluendo.com>
10367
10368         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10369         (gst_fake_src_finalize):
10370         Fix leaks in fakesrc.
10371
10372         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10373         Fix leaks in the testcase.
10374
10375 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10376
10377         * gst/gst_private.h:
10378           add win32 specific import decoration(__declspec(dllimport)) 
10379           for all extern GstDebugCategory * variables
10380         * win32/common/libgstbase.def:
10381         * win32/common/libgstcontroller.def:
10382         * win32/common/libgstreamer.def:
10383           Add some exports, remove empty lines
10384         * win32/common/libgstdataprotocol.def:
10385         * win32/common/libgstdataprotocol.dsp:
10386         * win32/common/libgstnet.def:
10387         * win32/common/libgstnet.dsp:
10388           new project files and exportation files added
10389         
10390 2006-03-19  Wim Taymans  <wim@fluendo.com>
10391
10392         * tests/check/libs/basesrc.c: (eos_event_counter):
10393         Use proper return value for probe.
10394
10395 2006-03-17  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10398         (gst_pad_push):
10399         Don't leak buffers, caps and pads on negotiation errors.
10400
10401 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10402
10403         * docs/faq/cvs.xml:
10404         * docs/faq/dependencies.xml:
10405         * docs/faq/developing.xml:
10406         * docs/faq/faq.xml:
10407         * docs/faq/general.xml:
10408         * docs/faq/getting.xml:
10409         * docs/faq/legal.xml:
10410         * docs/faq/troubleshooting.xml:
10411         * docs/faq/using.xml:
10412         Faq review and update.
10413
10414 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10415
10416         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10417         (gst_pad_push):
10418         Don't pound the cpu to pieces by checking get_caps when accept_caps
10419         is called with the same caps as the pad already has.
10420         Use GST_DEBUG_OBJECT when outputting caps change information.
10421
10422 2006-03-15  Wim Taymans  <wim@fluendo.com>
10423
10424         * gst/gstclock.c: (gst_clock_class_init):
10425         Fix docs.
10426
10427 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10428
10429         * gst/gstbuffer.h:
10430         Documentation fix.
10431
10432         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10433         (gst_pad_accept_caps), (gst_pad_configure_sink),
10434         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10435         Make the default acceptcaps behaviour be to check the requested 
10436         caps against the gst_pad_get_caps output. 
10437
10438         Ensure that gst_pad_accept_caps is used to check caps when a pad
10439         doesn't have a setcaps function, so that pads automatically refuse 
10440         caps that they don't allow in their pad template. (Fixes #332986)
10441
10442         When a buffer with attached caps is pushed, ensure that the source 
10443         pad receives those caps even if the element didn't call
10444         gst_pad_set_caps first.
10445
10446 2006-03-15  Wim Taymans  <wim@fluendo.com>
10447
10448         * libs/gst/base/gstadapter.c:
10449         Add some docs.
10450
10451 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10452
10453         * win32/common/libgstbase.def:
10454         * win32/common/libgstcontroller.def:
10455         * win32/common/libgstreamer.def:
10456           Add a whole bunch of missing functions (#334434).
10457
10458 2006-03-14  Wim Taymans  <wim@fluendo.com>
10459
10460         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10461         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10462         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10463         Better debug info when we receive a segment event.
10464         Reorganize a bit so we can pass the get_times() results around.
10465         Use the segment format when calculating the running time.
10466         Don't do QoS is sync is disabled or we have no clock or the
10467         element does not want us to sync to the clock.
10468         Don't drop buffers if QoS is disabled for now.
10469
10470 2006-03-14  Wim Taymans  <wim@fluendo.com>
10471
10472         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10473         Marked the stats property as unimplemented so people don't get
10474         wild ideas.
10475         Add debug message when regression goes wrong.
10476         Added some more docs.
10477
10478 2006-03-14  Wim Taymans  <wim@fluendo.com>
10479
10480         * gst/gstsegment.c: (gst_segment_to_stream_time):
10481         Return correct return type in case of errors.
10482
10483 2006-03-14  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10486           Don't segfault on invalid formats.
10487
10488 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10489
10490         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10491           Can't use gst_segment_to_running_time() when the segment
10492           is not in GST_TIME_FORMAT (like with filesink, for example).
10493           Stops flac encoding pipelines from spewing critical warnings
10494           at EOS (#331248).
10495           
10496 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10497
10498         * gst/gstpipeline.c: (gst_pipeline_class_init):
10499           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10500
10501         * plugins/elements/gsttypefindelement.c:
10502         (gst_type_find_element_handle_event):
10503           Don't try to typefind empty streams.
10504
10505 2006-03-14  Wim Taymans  <wim@fluendo.com>
10506
10507         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10508         (gst_base_sink_do_qos):
10509         Separate QoS calculation.
10510         Only drop buffers when lateness is bigger than the 
10511         duration of the buffer.
10512
10513 2006-03-13  Wim Taymans  <wim@fluendo.com>
10514
10515         * gst/gstpipeline.c: (gst_pipeline_set_property),
10516         (gst_pipeline_get_property), (do_pipeline_seek),
10517         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10518         (gst_pipeline_get_delay):
10519         Don't deadlock when reading properties.
10520
10521 2006-03-13  Wim Taymans  <wim@fluendo.com>
10522
10523         * libs/gst/base/gstbasetransform.c:
10524         (gst_base_transform_class_init), (gst_base_transform_init),
10525         (gst_base_transform_sink_event),
10526         (gst_base_transform_sink_eventfunc),
10527         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10528         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10529         (gst_base_transform_set_property),
10530         (gst_base_transform_get_property),
10531         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10532         (gst_base_transform_set_qos_enabled),
10533         (gst_base_transform_is_qos_enabled):
10534         * libs/gst/base/gstbasetransform.h:
10535         Make basetransform virtual method for src events too.
10536         Handle QOS in basetransform.
10537         API: gst_base_transform_update_qos()
10538         API: gst_base_transform_set_qos_enabled()
10539         API: gst_base_transform_is_qos_enabled()
10540
10541 2006-03-13  Wim Taymans  <wim@fluendo.com>
10542
10543         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10544         (gst_base_sink_do_sync):
10545         Small cleanups.
10546         Use QOS debug category.
10547
10548 2006-03-13  Wim Taymans  <wim@fluendo.com>
10549
10550         * plugins/elements/gstqueue.c:
10551         Very small doc update.
10552
10553 2006-03-13  Wim Taymans  <wim@fluendo.com>
10554
10555         * gst/gst_private.h:
10556         * gst/gstinfo.c: (_gst_debug_init):
10557         Added QOS debug category
10558
10559 2006-03-13  Wim Taymans  <wim@fluendo.com>
10560
10561         * docs/gst/gstreamer-sections.txt:
10562         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10563         * gst/gstbin.h:
10564         * gst/gstbus.c: (gst_bus_class_init):
10565         * gst/gstbus.h:
10566         * gst/gstclock.c:
10567         * gst/gstelement.c: (gst_element_set_locked_state):
10568         * gst/gstsegment.c:
10569         Documentation updates.
10570
10571         * gst/gstpipeline.c: (gst_pipeline_get_type),
10572         (gst_pipeline_class_init), (gst_pipeline_init),
10573         (gst_pipeline_dispose), (gst_pipeline_set_property),
10574         (gst_pipeline_get_property), (do_pipeline_seek),
10575         (gst_pipeline_send_event), (gst_pipeline_change_state),
10576         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10577         (gst_pipeline_get_delay):
10578         * gst/gstpipeline.h:
10579         Added methods for setting the delay.
10580         API: gst_pipeline_set_delay()
10581         API: gst_pipeline_get_delay()
10582         Add pipeline debug category
10583         Various cleanups.
10584         Updated docs.
10585         Don't reset stream time when seek failed.
10586
10587 2006-03-13  Wim Taymans  <wim@fluendo.com>
10588
10589         * docs/design/draft-klass.txt:
10590         * docs/design/part-clocks.txt:
10591         * docs/design/part-events.txt:
10592         * docs/design/part-gstbin.txt:
10593         * docs/design/part-gstpipeline.txt:
10594         * docs/design/part-messages.txt:
10595         * docs/design/part-negotiation.txt:
10596         * docs/design/part-overview.txt:
10597         * docs/design/part-preroll.txt:
10598         * docs/design/part-seeking.txt:
10599         * docs/design/part-states.txt:
10600         * docs/design/part-streams.txt:
10601         Documentation updates.
10602
10603 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10604
10605         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10606         us to leak strings...
10607
10608 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * libs/gst/net/gstnettimeprovider.c:
10611           fix docs
10612         * win32/common/config.h:
10613           update
10614
10615 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10618
10619         * configure.ac:
10620           Don't check for libgnomeui (leftover from old examples
10621           that aren't built or disted any longer) (#334303).
10622           
10623 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10626         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10627           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10628           there's no space left on the device.
10629
10630 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10631
10632         * gst/gstclock.h:
10633           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10634           to cast the input to GstClockTime before comparing with
10635           another GstClockTime value.
10636
10637 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10638
10639         * configure.ac:
10640           back to trunk
10641
10642 === release 0.10.4 ===
10643
10644 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10645
10646         * configure.ac:
10647           releasing 0.10.4, "Light"
10648
10649 2006-03-10  Michael Smith  <msmith@fluendo.com>
10650
10651         * libs/gst/dataprotocol/dataprotocol.c:
10652           Fix docs for dataprocotol to not get the return types completely
10653           wrong for a few functions.
10654
10655 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10656
10657         * docs/gst/gstreamer-sections.txt:
10658         * gst/gstpipeline.c: (gst_pipeline_class_init),
10659         (gst_pipeline_init), (gst_pipeline_set_property),
10660         (gst_pipeline_get_property), (gst_pipeline_change_state),
10661         (gst_pipeline_set_auto_flush_bus),
10662         (gst_pipeline_get_auto_flush_bus):
10663         * gst/gstpipeline.h:
10664           Add new API: gst_pipeline_set_auto_flush_bus() and
10665           gst_pipeline_get_auto_flush_bus() to disable automatic
10666           flushing of the pipeline's GstBus when going from READY
10667           to NULL state (#332045).
10668
10669 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10670
10671         * docs/gst/gstreamer-sections.txt:
10672         * gst/gsturi.c: (gst_uri_has_protocol):
10673         * gst/gsturi.h:
10674            Add new API: gst_uri_has_protocol() (#333779).
10675
10676 2006-03-09  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gstclock.c: (gst_clock_entry_new),
10679         (gst_clock_id_compare_func), (gst_clock_id_wait),
10680         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10681         (gst_clock_init), (gst_clock_get_internal_time),
10682         (gst_clock_set_master), (do_linear_regression),
10683         (gst_clock_add_observation), (gst_clock_set_property):
10684         * gst/gstclock.h:
10685         Review docs.
10686         Small cleanups.
10687         Fix a possible segfault when the window-size is made smaller.
10688         Calculate jitter before performing the clock wait. Ideally
10689         the clock implementation should calculate jitter but we need
10690         API breakage for that.
10691
10692         * gst/gstsystemclock.c: (gst_system_clock_init):
10693         Docs review.
10694         
10695         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10696         Remove leftover else
10697
10698         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10699         (gst_systemclock_suite):
10700         Added check to test GST_CLOCK_DIFF.
10701
10702 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10703
10704         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10705         (gst_type_find_helper_get_range):
10706           If we are provided with the size, we should implement
10707           GstTypeFind::get_length, so that typefind functions who
10708           want to can actually peek at the middle of a file.
10709
10710 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
10711
10712         * docs/manual/advanced-dataaccess.xml:
10713           Add some very very basic error checking.
10714
10715         * docs/pwg/appendix-checklist.xml:
10716           Some updates to the list of things to check when writing an element.
10717
10718 2006-03-08  Wim Taymans  <wim@fluendo.com>
10719
10720         * docs/design/part-element-transform.txt:
10721         Added some docs about the design of tranform elements.
10722
10723         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10724         (gst_base_src_loop), (gst_base_src_change_state):
10725         Mark buffers with the DISCONT flag.
10726
10727 2006-03-08  Michael Smith  <msmith@fluendo.com>
10728
10729         * gst/gstregistry.h:
10730         * gst/gstregistryxml.c: (gst_registry_save),
10731         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10732         (gst_registry_xml_save_pad_template),
10733         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10734         (gst_registry_xml_write_cache):
10735           Rewrite registry-saving to avoid race conditions and check for
10736           failed writes.
10737
10738 2006-03-08  Wim Taymans  <wim@fluendo.com>
10739
10740         * libs/gst/base/gstbasetransform.c:
10741         (gst_base_transform_transform_caps),
10742         (gst_base_transform_transform_size),
10743         (gst_base_transform_prepare_output_buffer),
10744         (gst_base_transform_get_unit_size),
10745         (gst_base_transform_buffer_alloc),
10746         (gst_base_transform_handle_buffer),
10747         (gst_base_transform_change_state):
10748         Cleanups, separate normal flow from errors, add sensible
10749         DEBUG lines.
10750         Don't try to renegotiate when allocating an output buffer.
10751         Also copy DISCONT buffer flag when copying a buffer.
10752         Reset the transform after we finish streaming, not during.
10753
10754 2006-03-08  Wim Taymans  <wim@fluendo.com>
10755
10756         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10757         Use last buffer timestamp in qos message.
10758
10759 2006-03-07  Wim Taymans  <wim@fluendo.com>
10760
10761         Patch by: Christophe Fergeau
10762
10763         * docs/pwg/advanced-tagging.xml:
10764         * docs/pwg/building-pads.xml:
10765           fixes #333416
10766
10767 2006-03-07  Wim Taymans  <wim@fluendo.com>
10768
10769         * docs/libs/gstreamer-libs-sections.txt:
10770         Added basesink new methods.
10771
10772         * gst/gstevent.c:
10773         * gst/gstevent.h:
10774         Docs updates. Flesh out the QoS docs.
10775
10776         * libs/gst/base/gstadapter.c:
10777         Small doc clarification about ownership and flushing.
10778
10779         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10780         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10781         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10782         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10783         * libs/gst/base/gstbasesink.h:
10784         API additions: 
10785         Added new methods to allow subclass to control max-lateness 
10786         and sync.
10787         Generate very basic QoS events based on last sync observation.
10788         Updated docs, fix typo, added some QoS blurb.
10789
10790         * libs/gst/base/gstbasesrc.c:
10791         Remove obsolete _get_state() calls from docs.
10792
10793 2006-03-07  Wim Taymans  <wim@fluendo.com>
10794
10795         * docs/libs/gstreamer-libs-sections.txt:
10796         * libs/gst/base/gstbasetransform.h:
10797         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10798         Fix docs for GstBaseSrc.
10799
10800 2006-03-07  Wim Taymans  <wim@fluendo.com>
10801
10802         * docs/gst/gstreamer-sections.txt:
10803         * gst/gstbuffer.h:
10804         * gst/gstvalue.c:
10805         * libs/gst/base/gstbasetransform.h:
10806         Small documentation fixes.
10807
10808 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10809
10810         * gst/gstvalue.c:
10811           Document thread-unsafety of gst_value_register_foo_func()
10812           when used at the same time as gst_value_foo() (#322628).
10813
10814 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10815
10816         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10817         (gst_push_src_check_get_range):
10818           Push sources don't support pull mode by default.
10819
10820 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10823         (gst_base_src_init), (gst_base_src_pad_check_get_range),
10824         (gst_base_src_default_check_get_range):
10825         * libs/gst/base/gstbasesrc.h:
10826           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10827           provide default implementation, and rename
10828           gst_base_src_check_get_range() to
10829           gst_base_src_pad_check_get_range() for clarity.
10830
10831 2006-03-06  Wim Taymans  <wim@fluendo.com>
10832
10833         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10834         Make property overridable.
10835
10836 2006-03-06  Wim Taymans  <wim@fluendo.com>
10837
10838         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10839         (gst_base_sink_init), (gst_base_sink_set_property),
10840         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10841         * libs/gst/base/gstbasesink.h:
10842         API addition: Make max-lateness a property.
10843
10844 2006-03-06  Wim Taymans  <wim@fluendo.com>
10845
10846         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10847         (gst_base_sink_do_sync), (gst_base_sink_render_object):
10848         Don't ever draw a frame that is >10ms late.
10849
10850 2006-03-06  Michael Smith  <msmith@fluendo.com>
10851
10852         * gst/gstmessage.c: (_gst_message_copy):
10853           When copying a message, set the parent_refcount of the enclosed
10854           structure to point at the copy, not the original message.
10855
10856 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10857
10858         Patch by: Christophe Fergeau
10859
10860         * gst/gstutils.h:
10861           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10862           usable in c++ code (#333417)
10863
10864 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * gst/gstclock.h:
10867           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10868
10869 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
10870
10871         * libs/gst/base/gstbasetransform.c:
10872         (gst_base_transform_transform_caps):
10873           Make sure caps are writable before passing them to
10874           gst_caps_append().
10875
10876 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10877
10878         * gst/gsterror.h:
10879           Fix some minor docs errors.
10880
10881 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10882
10883           Patch by: Ross Burton <ross at burtonini dot com>
10884
10885         * gst/gsterror.c: (_gst_resource_errors_init):
10886         * gst/gsterror.h:
10887           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10888
10889 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10890
10891         * gst/gst.c:
10892         Add a check and output a g_warning when GStreamer is built
10893         against GLib 2.6 but running against 2.8 or higher, and vice 
10894         versa. (Closes: #323542)
10895
10896 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10897
10898         * gst/parse/parse.l:
10899           Commit patch for parse_launch syntax from #331255. Removes 
10900           support for quoted strings and mimetypes when writing filtered 
10901           caps. See the bug report for more details - I'm pretty sure this
10902           obscure feature is not in use by _anyone_ anywhere.
10903
10904           With this simple change, the size of the gstreamer.so here 
10905           drops from 2193KB to 1565KB.
10906
10907 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * plugins/elements/gsttypefindelement.h:
10910         * plugins/elements/gsttypefindelement.c:
10911         (gst_type_find_element_src_event), (start_typefinding),
10912         (stop_typefinding), (gst_type_find_element_handle_event),
10913         (gst_type_find_element_chain),
10914         (gst_type_find_element_chain_do_typefinding):
10915           Use gst_type_find_helper_for_buffer() for chain-based
10916           typefinding.
10917
10918 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10919
10920         * plugins/elements/gsttypefindelement.c:
10921         (gst_type_find_element_class_init),
10922         (gst_type_find_element_set_property),
10923         (gst_type_find_element_get_property):
10924           Deprecate "maximum" property (not only was it only taken into
10925           account for typefinding in push-mode anyway, it also was never
10926           actually possible to set it in the first place because the
10927           property was registered with the numeric property ID for the
10928           "minimum" property). Register "maximum" property correctly,
10929           for the sake of future copy'n'pasters. Remove some cruft
10930           from property get/set functions.
10931
10932 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10933
10934         * plugins/elements/gsttypefindelement.c:
10935         (gst_type_find_element_activate):
10936           Use gst_type_find_helper_get_range() here, so we
10937           can honour the "minimum" property and also emit
10938           the signal with the correct probability of the found caps.
10939
10940 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10941
10942         * docs/libs/gstreamer-libs-sections.txt:
10943         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10944         (helper_find_suggest), (gst_type_find_helper_get_range),
10945         (gst_type_find_helper):
10946         * libs/gst/base/gsttypefindhelper.h:
10947           New API: gst_type_find_helper_get_range() (#333042).
10948
10949 2006-03-02  Michael Smith  <msmith@fluendo.com>
10950
10951         * gst/gstregistryxml.c: (load_feature):
10952           Asserting on a failure to read part of the registry is Not Cool.
10953           Just log a warning and return NULL (which is already handled)
10954
10955 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10956
10957         * win32/common/libgstbase.def:
10958           added export of gst_type_find_helper_for_buffer
10959         * win32/common/libgstbase.def:
10960           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10961           gst_ghost_pad_get_target
10962
10963 2006-02-28  Wim Taymans  <wim@fluendo.com>
10964
10965         * docs/design/draft-klass.txt:
10966         We use Filter now.
10967         Added Connector to mark elements that are only used to
10968         allow pipeline connections.
10969         Moved Debug to extra feature since most of them are 
10970         functionally something else.
10971
10972 2006-02-28  Wim Taymans  <wim@fluendo.com>
10973
10974         * docs/design/draft-klass.txt:
10975         Some updates and clarifications.
10976
10977 2006-02-28  Wim Taymans  <wim@fluendo.com>
10978
10979         * docs/design/draft-klass.txt:
10980         Proposal for klass field values.
10981
10982         * docs/design/part-streams.txt:
10983         Start of a doc describing stream anatomy.
10984
10985 2006-02-28  Wim Taymans  <wim@fluendo.com>
10986
10987         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10988         Help the compiler a bit with type registration.
10989         Use existing forward cod path instead of duplicating it when 
10990         handling a message.
10991         
10992         * gst/gstbus.c: (gst_bus_get_type):
10993         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10994         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10995         * gst/gstclock.c: (gst_clock_get_type):
10996         * gst/gstelement.c: (gst_element_get_type),
10997         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10998         * gst/gstindexfactory.c: (gst_index_factory_get_type):
10999         * gst/gstminiobject.c: (gst_mini_object_get_type):
11000         * gst/gstpad.c: (gst_pad_get_type):
11001         * gst/gstsegment.c: (gst_segment_get_type):
11002         * gst/gststructure.c: (gst_structure_get_type):
11003         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11004         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11005         * gst/gstvalue.c:
11006         Help compiler with type registration.
11007
11008         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11009         Small doc update.
11010
11011 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11012
11013         * plugins/elements/gsttypefindelement.c:
11014         (gst_type_find_element_handle_event):
11015           When we get an EOS event and have not found a type yet
11016           (most likely because we had not yet accumulated
11017           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11018           type given the data we have so far. Fixes typefinding
11019           for very short streams again, most notably quicktime
11020           redirections as used on Apple's trailer site (#331701).
11021
11022 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11023
11024         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11025         (gst_type_find_helper):
11026           Try typefinding factories with the highest rank first.
11027
11028 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11029
11030         * docs/libs/gstreamer-libs-docs.sgml:
11031         * docs/libs/gstreamer-libs-sections.txt:
11032         * libs/gst/base/gsttypefindhelper.c:
11033           Add section for typefind helper and add documentation
11034           for the old and the new function.
11035
11036 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11037
11038         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11039         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11040         (gst_type_find_helper_for_buffer):
11041         * libs/gst/base/gsttypefindhelper.h:
11042           New API: gst_type_find_helper_for_buffer() (#332723).
11043           
11044 2006-02-27  Michael Smith  <msmith@fluendo.com>
11045
11046         Patch by: Loïc Minier
11047
11048         * configure.ac:
11049         * docs/Makefile.am:
11050         * docs/slides/Makefile.am:
11051           prevent CVS directories getting disted.
11052
11053 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11054
11055         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11056           Use the REFCOUNTING category for caps refcounting.
11057           
11058 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11059
11060         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11061           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11062
11063 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11064
11065         * plugins/elements/gsttypefindelement.c:
11066         (gst_type_find_element_activate):
11067           Use gst_pad_check_pull_range() before _activate_pull()
11068           to avoid unnecessary open/close (see #331690).
11069
11070 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11071
11072         * gst/gstutils.c:
11073           Docs enhancement: make it crystal clear what the
11074           gst_pad_add_*_probe() callbacks should look like.
11075
11076 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11077
11078         * libs/gst/base/gstbasesrc.c:
11079           Document how applications can stop recording from
11080           live sources (see #330996).
11081
11082 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11083
11084         * tests/check/Makefile.am:
11085         * tests/check/libs/basesrc.c: (eos_event_counter),
11086         (basesrc_eos_events_pull), (basesrc_eos_events_push),
11087         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11088         (gst_basesrc_suite), (main):
11089           ... and add some tests for the base source EOS stuff.
11090
11091 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11092
11093         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11094           Test case originally showed the problem fixed below,
11095           but was then amended. Add checks back at the place
11096           where they used to be.
11097
11098 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11099
11100         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11101         (gst_base_src_init), (gst_base_src_loop),
11102         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11103         (gst_base_src_change_state):
11104         * libs/gst/base/gstbasesrc.h:
11105           Don't unconditionally send EOS when going from PAUSED to
11106           READY state, esp. make sure we don't send two EOS events
11107           in some cases (e.g. one when reaching EOS and one when
11108           going from PAUSED to READY). Also, we don't want to send
11109           EOS events when operating in pull mode. However, we do
11110           want to send an EOS event when shutting down a live
11111           source explicitly, for example (fixes #330996).
11112           
11113 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11114
11115         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11116           Update src->read_position after a seek when not using mmap.
11117           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11118
11119 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
11120
11121         * gst/Makefile.am:
11122         * gst/gstparse.h:
11123         * gst/gstutils.c:
11124         * gst/gstutils.h:
11125         Make things work with --disable-parse as they do with 
11126         --disable-load-save - the symbols involved disappear, but the
11127         header is still installed and GST_DISABLE_PARSE is included via
11128         gstconfig.h
11129
11130 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11131
11132         * libs/gst/base/gstbasetransform.c:
11133         (gst_base_transform_change_state): Fix a stupid bug. I was 
11134         sure I compiled that.
11135
11136 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11137
11138         * gst/gstpad.c: (gst_pad_set_blocked_async):
11139         * gst/gstutils.c: (gst_pad_add_data_probe),
11140         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11141         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11142         (gst_pad_remove_buffer_probe): Make those function act on the
11143         ghostpad target when it's a ghostpad. (Closes #331727)
11144
11145 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11146
11147         * libs/gst/base/gstbasetransform.c:
11148         (gst_base_transform_change_state): Make basetransform reusable.
11149         (Closes #331898)
11150
11151 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11152
11153         * docs/random/release:
11154         Move the current documentation of how to do a release to the top
11155         of the file.
11156
11157         * gst/gstbin.c: (gst_bin_class_init),
11158         (gst_bin_handle_message_func):
11159         Allow multiple state-recalculation threads. (Closes #328873)
11160
11161 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11162
11163         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11164         * gst/gstpad.c: (gst_pad_set_event_function),
11165         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11166         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11167         2 strings. You can't use the STR_NULL macro on that.
11168
11169 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11170
11171         * gst/gstpad.c: (gst_pad_set_event_function),
11172         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11173         (gst_pad_set_getcaps_function)
11174         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11175           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11176           So now, we can use --gst-debug-level=5 on Windows
11177         * win32/common/libgstcontroller.def:
11178           Added export of gst_controller_init
11179         * win32/vs6/libgstcontroller.dsp:
11180           Fixed Release post build configuration
11181
11182 2006-02-17  Wim Taymans  <wim@fluendo.com>
11183
11184         * tests/check/gst/gstquery.c: (GST_START_TEST):
11185         Added another check.
11186
11187 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11188
11189         * plugins/elements/gsttypefindelement.c: (find_peek):
11190           We can do peeks at non-zero offsets, as long as they
11191           fall within the buffer we have.
11192
11193 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11194
11195         * tests/check/Makefile.am:
11196         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11197         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11198         (parse_suite), (main):
11199           Add testsuite for parse launch syntax
11200
11201 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11202
11203         * plugins/elements/gsttypefindelement.c:
11204         (gst_type_find_element_chain):
11205           When typefinding is unsuccessful in the chain function, don't
11206           error out immediately. Only error out with NO_CAPS_FOUND if
11207           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11208           otherwise simply wait for more data so we can try typefinding
11209           again with more data later. Also, don't attempt to typefind
11210           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11211           this should improve typefinding from network sources where the
11212           size of the first buffer can be somewhat random.
11213
11214 2006-02-14  Wim Taymans  <wim@fluendo.com>
11215
11216         * docs/gst/gstreamer-sections.txt:
11217         * gst/gstpadtemplate.c:
11218         * gst/gstpadtemplate.h:
11219         Fix padtemplate docs, fixes #328805.
11220
11221 2006-02-14  Wim Taymans  <wim@fluendo.com>
11222
11223         * tools/gst-launch.c: (main):
11224         NO_PREROLL is not an ERROR so don't send confusing messages
11225         to the user.
11226
11227 2006-02-14  Wim Taymans  <wim@fluendo.com>
11228
11229         Patch by: Torsten Schoenfeld
11230
11231         * gst/gstregistry.c: (gst_registry_get_default),
11232         (_gst_registry_cleanup):
11233         Protect default registry with lock and ref/sink it.
11234         Fixes #324818
11235
11236 2006-02-14  Wim Taymans  <wim@fluendo.com>
11237
11238         * gst/gstbuffer.c:
11239         * gst/gstquery.c: (gst_query_list_add_format),
11240         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11241         (gst_query_parse_formats_nth):
11242         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11243         Docs fixes.
11244
11245 2006-02-14  Wim Taymans  <wim@fluendo.com>
11246
11247         * docs/gst/gstreamer-sections.txt:
11248         Reworked query docs.
11249
11250         * gst/gstquery.c: (gst_query_new_formats),
11251         (gst_query_list_add_format), (gst_query_set_formats),
11252         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11253         (gst_query_parse_formats_nth):
11254         * gst/gstquery.h:
11255         Flesh out formats query, added some new methods.
11256         Fix part of #324398.
11257
11258         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11259         Added query creation tests.
11260
11261 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11262
11263         * gst/gstpad.c: (fixate_value):
11264         Add a default fixation for fraction lists.
11265
11266 2006-02-13  Wim Taymans  <wim@fluendo.com>
11267
11268         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11269         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11270         (gst_task_join):
11271         * gst/gsttask.h:
11272         Detect and warn for obvious deadlocks. fixes #320340
11273         Fix error case where lock was not released.
11274
11275         * tests/check/Makefile.am:
11276         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11277         (task_func), (gst_element_suite), (main):
11278         Add task check.
11279
11280 2006-02-13  Wim Taymans  <wim@fluendo.com>
11281
11282         * docs/gst/gstreamer-sections.txt:
11283         * gst/gstbus.c:
11284         Add new functions to docs.
11285
11286 2006-02-13  Wim Taymans  <wim@fluendo.com>
11287
11288         * docs/design/part-TODO.txt:
11289         Updated TODO list, basesrc supports seeking to non-bytes
11290         formats.
11291
11292         * docs/design/part-element-sink.txt:
11293         Update docs.
11294
11295         * gst/gstbin.c: (bin_replace_message),
11296         (gst_bin_handle_message_func):
11297         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11298         * gst/gstevent.c: (gst_event_finalize):
11299         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11300         (gst_pad_send_event):
11301         Use shiny new _TYPE_NAME macros.
11302
11303         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11304         Move debug statement up.
11305
11306         * gst/gstelement.c: (gst_element_set_locked_state):
11307         Add some debugging.
11308
11309 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11310
11311         * docs/gst/gstreamer-sections.txt:
11312         * gst/gstmessage.h:
11313         * gst/gstquery.h:
11314           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11315           macros (#330906). Also, document the already existing
11316           GST_QUERY_TYPE macro.
11317
11318 2006-02-13  Wim Taymans  <wim@fluendo.com>
11319
11320         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11321         (event_probe), (GST_START_TEST):
11322         Only events up to the pipeline EOS are counted, there are
11323         some more when going to NULL currently which we don't care
11324         about for now.
11325
11326 2006-02-13  Wim Taymans  <wim@fluendo.com>
11327
11328         * gst/gstpad.c: (gst_pad_send_event):
11329         Correctly check flushing and emit probes. fixes #330125
11330
11331 2006-02-10  Andy Wingo  <wingo@pobox.com>
11332
11333         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11334         structure.
11335         (gst_bus_init): Cache the location of the private data in the
11336         instance structure.
11337         (gst_bus_enable_sync_message_emission) 
11338         (gst_bus_disable_sync_message_emission): Implement new public
11339         functions.
11340         (gst_bus_post): Emit the sync-message signal if the user asked for
11341         it. Fixes #330684.
11342
11343         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11344         location of the bus-private structure.
11345         (gst_bus_enable_sync_message_emission)
11346         (gst_bus_disable_sync_message_emission): API addition
11347
11348 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11349
11350         Patch by: Vincent Torri
11351
11352         * docs/pwg/building-boiler.xml:
11353         PWG patch from #326800
11354
11355 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11356
11357         * configure.ac:
11358         * docs/Makefile.am:
11359         * docs/design/Makefile.am:
11360           Dist design docs.
11361
11362 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11363
11364         * configure.ac:
11365           back to CVS
11366
11367 === release 0.10.3 ===
11368
11369 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11370
11371         * configure.ac:
11372           releasing 0.10.3, "Like a virgin"
11373
11374 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11375
11376         * configure.ac:
11377           2nd prerelease of 0.10.3
11378           Bump libtool versioning.
11379
11380 2006-02-07  Andy Wingo  <wingo@pobox.com>
11381
11382         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11383         update last_stop if we're in TIME format and the timestamp is
11384         valid.
11385
11386         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11387         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11388         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11389         If we get a new newsegment with a different format, adapt
11390         accordingly.
11391
11392         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11393         of 0. Not a problem, really.
11394
11395         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11396         warn if sync=true.
11397
11398 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11399
11400         * configure.ac:
11401           Prelease of 0.10.3
11402
11403 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11404
11405         * win32/vs7:
11406           project files updated to the default vs7 configuration
11407         * win32/common/libgstbase.def:
11408         * win32/common/libgstreamer.def:
11409           added new symbols,
11410           removed empty lines,
11411           sorted all exported symbols alphabetically
11412         * win32/common/dirent.c:
11413         * win32/common/dirent.h:
11414         * win32/common/gchar.h:
11415           use windows line end.
11416           
11417 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11418
11419         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11420           Send EOS event when stopping.
11421
11422 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11423
11424         * docs/README:
11425           Tell folks what to do if the plugin-foobar.xml file
11426           hasn't been generated for a newly-added plugin.
11427
11428 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11429
11430         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11431         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11432         (gst_collect_pads_start), (gst_collect_pads_stop),
11433         (gst_collect_pads_event): Collectpads now holds a reference
11434         to the GstPad that was added. Indeed we don't want to look
11435         at pads that might just go away with no warning...
11436
11437 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11438
11439         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11440         (gst_collect_pads_start), (gst_collect_pads_stop),
11441         (gst_collect_pads_event), (gst_collect_pads_chain):
11442         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11443         Mark Nauwelaerts's patch on bug #328491.
11444
11445 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11446
11447         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11448         (gst_utils_suite):
11449           Add some simple tests for gst_parse_bin_from_description() and
11450           gst_bin_find_unconnected_pad() (#329069).
11451
11452 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11453
11454         * tools/gst-launch.c: (event_loop), (main):
11455           Catch errors during preroll (#320084).
11456
11457 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11458
11459         * plugins/elements/gsttypefindelement.c:
11460         (gst_type_find_element_activate):
11461           Post TYPE_NOT_FOUND error message when typefinding
11462           is unsuccessful in the activate function as well.
11463
11464 2006-02-02  Wim Taymans  <wim@fluendo.com>
11465
11466         * docs/design/part-element-sink.txt:
11467         Updated doc.
11468
11469 2006-02-02  Wim Taymans  <wim@fluendo.com>
11470
11471         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11472         (gst_base_sink_render_object),
11473         (gst_base_sink_queue_object_unlocked):
11474         Only keep track of prerollable items when we are 
11475         prerolling.
11476         Before rendering after preroll, always check if we
11477         have queued items.
11478         Added some more debugging.
11479
11480 2006-02-02  Wim Taymans  <wim@fluendo.com>
11481
11482         * gst/gstelement.c: (gst_element_continue_state),
11483         (gst_element_set_state_func), (gst_element_change_state):
11484         Fixed #326576, been running this for quite some time with
11485         no regressions at all.
11486
11487 2006-02-02  Wim Taymans  <wim@fluendo.com>
11488
11489         * common/gst.supp:
11490         Added more suppressions
11491
11492 2006-02-02  Wim Taymans  <wim@fluendo.com>
11493
11494         * docs/design/part-element-sink.txt:
11495         Updated document.
11496
11497         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11498         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11499         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11500         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11501         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11502         (gst_base_sink_preroll_object),
11503         (gst_base_sink_queue_object_unlocked),
11504         (gst_base_sink_queue_object), (gst_base_sink_event),
11505         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11506         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11507         (gst_base_sink_get_position), (gst_base_sink_change_state):
11508         * libs/gst/base/gstbasesink.h:
11509         Totally refactored matching the design doc.
11510         Use two segments, one to clip incomming buffers and another to
11511         perform sync.
11512         Handle queueing correctly, bypass the queue when playing.
11513         Make EOS cancelable.
11514         Handle errors correctly when operating in pull based mode.
11515
11516         * tests/check/elements/fakesink.c: (GST_START_TEST),
11517         (fakesink_suite):
11518         Added new check for sinks.
11519
11520 2006-02-02  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/gstsegment.c: (gst_segment_clip):
11523         No reason to refuse to clip when start == -1
11524
11525 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11526
11527         * docs/README:
11528         * docs/manual/intro-basics.xml:
11529         * docs/manual/intro-preface.xml:
11530         * docs/manual/manual.xml:
11531         * docs/pwg/advanced-dparams.xml:
11532         * docs/pwg/intro-basics.xml:
11533         * docs/pwg/intro-preface.xml:
11534         * docs/pwg/pwg.xml:
11535           describe dparams (controller) for plugins
11536           unify docs a little more
11537
11538 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11539
11540         * docs/gst/gstreamer-sections.txt:
11541         * gst/gstutils.c: (element_find_unconnected_pad),
11542         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11543         * gst/gstutils.h:
11544           Add new API: gst_parse_bin_from_description() and
11545           gst_bin_find_unconnected_pad() (#329069).
11546
11547 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11548
11549         * docs/manual/README:
11550           uncover a nasty detail of the docs build
11551
11552 2006-01-31  Wim Taymans  <wim@fluendo.com>
11553
11554         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11555         Don't cache duration messages if we're not going to use or
11556         free them.
11557
11558 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11559
11560         * docs/manual/advanced-dparams.xml:
11561         * docs/pwg/advanced-dparams.xml:
11562           more dparam docs
11563         * gst/gstindex.c:
11564           fix docs
11565         * libs/gst/controller/lib.c: (gst_controller_init):
11566           init just once
11567
11568 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11569
11570         * gst/gstelement.c: (gst_element_message_full):
11571           also show file/line/func if no additional debug was given
11572
11573 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11574         
11575         * win32/vs7/grammar.vcproj:
11576           activate copy of autogenerated files for Release mode
11577
11578 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11579         
11580         * win32/common/libgstreamer.def:
11581           export gst_value_compare
11582
11583 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11584
11585         * plugins/elements/Makefile.am:
11586         * plugins/elements/gstelements.c:
11587         * plugins/elements/gstfdsink.c: (_do_init),
11588         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11589         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11590         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11591         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11592         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11593         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11594         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11595         * plugins/elements/gstfdsink.h:
11596         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11597
11598 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11599
11600         * docs/manual/advanced-dparams.xml:
11601           describe controller
11602         * docs/manual/advanced-position.xml:
11603         * docs/manual/basics-init.xml:
11604         * docs/manual/manual.xml:
11605         * docs/manual/titlepage.xml:
11606         * docs/pwg/pwg.xml:
11607         * docs/pwg/titlepage.xml:
11608           cleanup xml (more to come)
11609         * libs/gst/controller/gstcontroller.c:
11610           fix typo
11611
11612 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11613         
11614         * win32/vs6/grammar.dsp:
11615           add autogen of gstmarshal.c,h for Release mode
11616                 
11617 2006-01-30  Wim Taymans  <wim@fluendo.com>
11618
11619         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11620         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11621         (gst_base_sink_handle_object), (gst_base_sink_event),
11622         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11623         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11624         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11625         (gst_base_sink_deactivate), (gst_base_sink_activate),
11626         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11627         (gst_base_sink_query), (gst_base_sink_change_state):
11628         Basesink cleanups, remove some old code.
11629         Handle the case where a subclass can preroll in the render
11630         method (mostly audiosinks).
11631         Handle more events.
11632         Remove some locks around variables that are now protected
11633         with the PREROLL_LOCK (clock_id, flushing, ..).
11634         Optimize position query some more, do correct locking.
11635         Remove old code to push queue in state change, this is not
11636         needed anymore since preroll blocks on all prerollable items 
11637         now.
11638         Almost implemented as described in design doc.
11639
11640 2006-01-30  Wim Taymans  <wim@fluendo.com>
11641
11642         * tests/check/gst/gstbin.c: (GST_START_TEST):
11643         Wait for refcount to settle down before checking.
11644
11645 2006-01-30  Wim Taymans  <wim@fluendo.com>
11646
11647         * docs/design/part-element-sink.txt:
11648         Pseudo code overview of desired sink behaviour regarding
11649         preroll.
11650
11651 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11652         * win32/vs6/grammar.dsp:
11653           fix some bugs in Release mode for autogenerated files
11654                 
11655 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11656         * win32/common/libgstbase.def:
11657         * win32/common/libgstreamer.def:
11658           export some new symbols: gst_base_src_set_format,
11659           gst_iterator_next, gst_structure_set_valist
11660
11661 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11662
11663         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11664         Set pad functions unconditionally. Fixes #329105.
11665
11666 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11667         * win32/vs8:
11668           add vs8 project files created by Sergey Scobich
11669
11670 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11671
11672         * gst/gstutils.c: (gst_element_unlink_pads):
11673         Don't leak pad references.
11674
11675         * tests/check/elements/fakesink.c: (GST_START_TEST):
11676         * tests/check/generic/sinks.c: (GST_START_TEST):
11677         * tests/check/generic/states.c: (GST_START_TEST):
11678         * tests/check/gst/gstbin.c: (GST_START_TEST):
11679         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11680         * tests/check/gst/gstelement.c: (GST_START_TEST):
11681         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11682         * tests/check/gst/gstiterator.c: (GST_START_TEST):
11683         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11684         Fix a bunch of leaks. Make generic/sinks.c
11685         use a bit less cpu by slowing the buffer rate
11686         between fakesrc and fakesink.
11687         
11688 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11689         * gst/gstcaps.c:
11690         * gst/gstelement.c: (gst_element_send_event):
11691         * gst/gstevent.c:
11692         * gst/gstinfo.c:
11693         * gst/gstiterator.c:
11694         * gst/gstiterator.h:
11695         * gst/gstpad.c: (gst_pad_send_event):
11696         * gst/gststructure.c:
11697         * gst/gsturi.c:
11698         * gst/gstutils.c:
11699         * gst/gstvalue.c:
11700         * libs/gst/base/gstadapter.c:
11701           doc fixes, to link to function, just write gst_cool_function(), don't
11702           prefix with '#'
11703
11704 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11705
11706         * plugins/elements/gsttee.c: (gst_tee_do_push),
11707         (gst_tee_handle_buffer):
11708         Always prefer an actual return value from a src
11709         pad in place of NOT_LINKED. This means we return
11710         WRONG_STATE when all src pads are WRONG_STATE
11711         instead of NOT_LINKED.
11712
11713         Lock when replacing the last message to prevent
11714         racing with the get_property method.
11715
11716         Add debug output
11717
11718 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11719
11720         * tests/check/Makefile.am:
11721         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11722         (main):
11723         Add a very simple check that should have caught the memleak I fixed
11724         last night (if not for the slice allocator hiding it)
11725
11726 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11727
11728         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11729         (gst_bin_remove_func), (gst_bin_handle_message_func),
11730         (bin_query_duration_fold), (bin_query_generic_fold):
11731         Clean up references to the clock provider when disposed or when
11732         handling a clock-lost message from it.
11733
11734         Unref sinks when performing a query via gst_iterator_fold, as the
11735         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11736
11737         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11738         (gst_clock_set_master):
11739         Drop our reference to the master clock, if any, when we are disposed.
11740
11741         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11742         Chain up in dispose. 
11743
11744 2006-01-26  Wim Taymans  <wim@fluendo.com>
11745
11746         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11747         Add some debugging.
11748
11749 2006-01-26  Julien MOUTTE  <julien@moutte.net>
11750
11751         * plugins/elements/gsttee.c: (gst_tee_do_push),
11752         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11753         handles pad being NOT_LINKED or in WRONG_STATE.
11754
11755 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11756
11757         * win32/MANIFEST:
11758           more updating
11759
11760 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11761
11762         * win32/MANIFEST:
11763           remove obsolete entry
11764
11765 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11766
11767         * docs/gst/gstreamer-sections.txt:
11768         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11769         (gst_bin_iterate_sources), (gst_bin_send_event):
11770         * gst/gstbin.h:
11771         * gst/gstelement.c: (gst_element_send_event):
11772         * gst/gstevent.c:
11773         * gst/gstpad.c: (gst_pad_send_event):
11774           added code for downstream events, reviewed docs in gstevent.c
11775
11776 2006-01-25  Julien MOUTTE  <julien@moutte.net>
11777
11778         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11779         We only query position using the clock in the playing state.
11780         Query peer in the other cases.
11781         * win32/common/config.h: Updates.
11782
11783 2006-01-24  Wim Taymans  <wim@fluendo.com>
11784
11785         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11786         A clock entry that is scheduled for the exact time of the
11787         clock is still in time.
11788
11789         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11790         (gst_base_sink_do_sync):
11791         Add some more debug info.
11792
11793 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11794
11795         * win32/vs7:
11796           Add new vs7 project files and solution.
11797
11798 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11799
11800         * win32/vs7:
11801           all files removed as they were out-dated.
11802
11803 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * docs/random/release:
11806           update notes
11807         * gst/gstbin.c: (gst_bin_init):
11808         * gst/gstbus.c: (gst_bus_new):
11809         * gst/gstbus.h:
11810         * gst/gstpipeline.c: (gst_pipeline_init):
11811           use gst_bus_new(), improve logging, fix docs
11812         * win32/common/config.h:
11813           update for cvs build
11814
11815 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * autogen.sh:
11818           up required version of automake to 1.7
11819
11820 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
11821
11822         * win32/common/libgstreamer.def:
11823           export gst_buffer_is_metadata_writable
11824
11825 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
11826
11827         * docs/gst/gstreamer-sections.txt:
11828         * gst/gstevent.h:
11829           Add gst_event_replace() (#327001)
11830
11831 2006-01-20  Wim Taymans  <wim@fluendo.com>
11832
11833         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11834         Make it actually compile too..
11835
11836 2006-01-20  Wim Taymans  <wim@fluendo.com>
11837
11838         * gst/gstcaps.c:
11839         Clarify behaviour of _is_equal() when passing NULL parameters.
11840
11841         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11842         (gst_pad_set_caps):
11843         Cleanups. Don't unref NULL caps.
11844         When setting the same caps, protect caps of the pad with
11845         proper lock.
11846         Use full functionality of _is_equal() when comparing caps.
11847
11848 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11849
11850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11851         Don't loop infinitely if there are no buffers to present. Partially
11852         fixes #327197, but collectpads is just broken for reusing elements
11853         to do multiple encodes atm.
11854
11855 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11856
11857         * tools/gst-inspect.c: (print_element_features):
11858         * tools/gst-xmlinspect.c: (main):
11859         URL_HANDLER is not a plugin feature we can search for in
11860         the registry.
11861
11862 2006-01-19  Edward Hervey  <edward@fluendo.com>
11863
11864         * gst/gstelement.c: (gst_element_pads_activate): 
11865         When activating, do src pads first, then sink pads.
11866         When de-activating, do sink pads first, then src pads.
11867
11868 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11869
11870         * docs/gst/gstreamer-sections.txt:
11871         Add gst_index_add_associationv to the docs
11872
11873 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11874
11875         * gst/gstevent.c:
11876           Fix docs typo
11877
11878         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11879         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11880           Do some refactoring. Doesn't actually change functionality,
11881           but makes landing the DRAIN event easier later.
11882
11883 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
11884
11885         * docs/pwg/advanced-scheduling.xml:
11886           Update from 0.9.x to 0.10 API and make example a bit
11887           clearer.
11888
11889 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11890
11891         * docs/gst/gstreamer-sections.txt:
11892         Add gst_buffer_(is|make)_metadata_writable methods.
11893
11894 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11895
11896         * docs/design/part-sparsestreams.txt:
11897         Update sparse streams doc, hopefully for greater clarity
11898
11899 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11900
11901         * docs/design/part-events.txt:
11902         Remove mention of FILLER events.
11903         Add DRAIN event.
11904
11905         * docs/design/part-sparsestreams.txt:
11906         Write some things about using NEWSEGMENT to keep sparse streams
11907         flowing.
11908
11909 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11910
11911         * gst/gstbin.c: (gst_bin_dispose):
11912           Guard gst_object_unref call against a NULL object (dispose
11913           can theoretically be called multiple times).
11914           
11915 2006-01-18  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstbin.c: (gst_bin_element_set_state):
11918         * gst/gstclock.c: (gst_clock_id_wait):
11919         Added some more debug info.
11920
11921         * libs/gst/base/gstadapter.c:
11922         Added more docs.
11923
11924         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11925         (gst_base_sink_do_sync), (gst_base_sink_chain):
11926         Added some comments.
11927
11928 2006-01-18  Wim Taymans  <wim@fluendo.com>
11929
11930         * tests/check/Makefile.am:
11931         * tests/check/elements/fakesink.c: (chain_async_buffer),
11932         (chain_async), (chain_async_return), (GST_START_TEST),
11933         (fakesink_suite), (main):
11934         Added fakesink test that checks prerolling and clipping
11935         behaviour.
11936
11937         * tests/check/gst/gstutils.c: (GST_START_TEST):
11938         Make check run faster so that buildbots don't timeout.
11939
11940 2006-01-18  Wim Taymans  <wim@fluendo.com>
11941
11942         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11943         (gst_base_sink_do_sync):
11944         Some cleanups.
11945         When the sink finishes blocking on the preroll buffer, it can
11946         immediatly render it instead of rendering when the next buffer
11947         arrives.
11948
11949 2006-01-18  Wim Taymans  <wim@fluendo.com>
11950
11951         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11952         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11953         (gst_base_sink_chain):
11954         Small cleanups.
11955         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11956         Don't store _last_stop if the buffer is dropped.
11957
11958 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11959
11960         * plugins/elements/gsttypefindelement.c:
11961         (gst_type_find_element_class_init):
11962           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11963           object method handler that sets the caps on the pad and we want
11964           that to happen before we emit the signal (fixes e.g. feeding a
11965           plain text file to decodebin).
11966
11967 2006-01-18  Christian Schaller  <Christian@fluendo.com>
11968
11969         * gst/gstplugin.c: Add MPL and Proprietary as license options
11970
11971 2006-01-18  Andy Wingo  <wingo@pobox.com>
11972
11973         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11974         symbol was exported before, it appears this was just an oversight.
11975         Fixes #168703.
11976         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11977
11978         * gst/gstindex.c (gst_index_add_associationv): Changed int in
11979         prototype to gint. OK since this prototype was not in the header.
11980
11981 2006-01-17  Andy Wingo  <wingo@pobox.com>
11982
11983         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11984         registry while we remove plugins.
11985
11986         * tools/gst-inspect.c (print_element_info): Don't unref the
11987         factory arg, that should be the responsibility of whatever code
11988         received the ref. Fixes a double-free when called from
11989         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11990         (main): Unref the factory if we have one.
11991         (print_element_list): No change -- relies on the
11992         plugin_feature_list_free to free the list of features.
11993
11994 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
11995
11996         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11997         (gst_buffer_make_metadata_writable):
11998         * gst/gstbuffer.h:
11999         * libs/gst/base/gstbasetransform.c:
12000         (gst_base_transform_prepare_output_buf):
12001         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12002         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12003           Replace gst_buffer_(make|is)_metadata_writable patch now
12004           that the release is out.
12005
12006 2006-01-17  Andy Wingo  <wingo@pobox.com>
12007
12008         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12009         in the present tense without reference to versions.
12010
12011         * gst/gstregistry.c (gst_registry_add_plugin)
12012         (gst_registry_remove_plugin, gst_registry_remove_feature)
12013         (gst_registry_find_feature, gst_registry_get_feature_list)
12014         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12015         (gst_registry_lookup, gst_registry_scan_path)
12016         (_gst_registry_remove_cache_plugins)
12017         (gst_registry_get_feature_list_by_plugin): Add argument
12018         validation.
12019
12020 === release 0.10.2 ===
12021
12022 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12023
12024         * configure.ac:
12025           releasing 0.10.2, "If man is five"
12026
12027 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12028
12029         * gst/gstbuffer.c:
12030         * gst/gstbuffer.h:
12031         * libs/gst/base/gstbasetransform.c:
12032         (gst_base_transform_prepare_output_buf):
12033         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12034         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12035           Back out patch until after the release.
12036
12037 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12038
12039         * gst/gstminiobject.c:
12040           Spelling fix in docs.
12041         * ChangeLog - remove conflict indicator
12042
12043 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12044
12045         Reviewed By: Andy Wingo
12046
12047         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12048         (gst_buffer_make_metadata_writable):
12049         * gst/gstbuffer.h:
12050           Add gst_buffer_(is|make)_metadata_writable as analogues of
12051           gst_buffer_(is|make)_writable.
12052
12053         * libs/gst/base/gstbasetransform.c:
12054         (gst_base_transform_prepare_output_buf):
12055         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12056           Use name gst_buffer_(is|make)_metadata_writable functions.
12057
12058         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12059           Test gst_buffer_(is|make)_metadata_writable
12060         
12061           (Closes: #324162)
12062
12063 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12064
12065         * docs/manual/Makefile.am:
12066           don't do parallel make
12067         * configure.ac:
12068           AC_SUBST HOST_CPU
12069         * win32/common/config.h.in:
12070           add generations for HOST_CPU and GST_MAJORMINOR
12071         * win32/common/config.h:
12072           commit generated result
12073
12074 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
12075
12076         * docs/manual/appendix-integration.xml:
12077           Update GNOME integration section to use gst_init_get_option_group()
12078           instead of the old popt stuff (#322911). Also, GNOME applications
12079           should  now use gconf*sink and gconf*src instead of the old gconf
12080           helper lib we had.
12081
12082 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
12083
12084
12085         * docs/gst/gstreamer-docs.sgml:
12086         * docs/gst/gstreamer-sections.txt:
12087         * docs/libs/gstreamer-libs-sections.txt:
12088           add new API entries to the docs
12089         * libs/gst/controller/Makefile.am:
12090         * libs/gst/controller/gstcontroller.c:
12091         * libs/gst/controller/gstcontroller.h:
12092         * libs/gst/controller/gstcontrollerprivate.h:
12093         * libs/gst/controller/gsthelper.c:
12094         * libs/gst/controller/gstinterpolation.c:
12095           move private structs to private header
12096         * po/README:
12097           gstreamer-0.7 -> gstreamer-0.10
12098         * tests/check/libs/struct_i386.h:
12099           remove private structs
12100
12101 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12102
12103         * plugins/indexers/Makefile.am:
12104           Fixes as part of #317048
12105
12106 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12107
12108         * plugins/indexers/Makefile.am:
12109           fix #316086 - compilation when mmap is missing
12110
12111 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
12112
12113         * libs/gst/base/gstbasesink.c:
12114           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
12115           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12116         * win32/common/config.h:
12117           added some defines GST_MAJORMINOR and HOST_CPU
12118         * win32/common/libgstbase.def:
12119         * win32/common/libgstreamer.def:
12120           added some exported functions.
12121
12122 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12123
12124         * libs/gst/controller/gstcontroller.c:
12125         (gst_controlled_property_set_interpolation_mode),
12126         (gst_controlled_property_new):
12127         * libs/gst/controller/gstcontroller.h:
12128         * libs/gst/controller/gstinterpolation.c:
12129         (interpolate_none_get_string_value_array):
12130           make G_TYPE_STRING controlable
12131
12132 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12133
12134         * tools/README:
12135         * tools/gst-feedback.1.in:
12136         * tools/gst-inspect.1.in:
12137         * tools/gst-launch.1.in:
12138         * tools/gst-md5sum.1.in:
12139         * tools/gst-typefind.1.in:
12140         * tools/gst-xmlinspect.1.in:
12141         * tools/gst-xmllaunch.1.in:
12142           cleanup man-pages, remove reference to gst-register, document env-vars
12143
12144 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12145
12146         * gst/gstbuffer.c: (gst_buffer_span):
12147           gst_buffer_span should copy the timestamp of the first buffer
12148           if they were both originally overlapping subbuffers of the 
12149           same parent, using the same logic as the 'slow copy' case.
12150
12151 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12152
12153         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12154           Need to awaken ALL the pads when we pop a buffer, otherwise
12155           collectpads only works when there is 2 input streams.
12156
12157 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12158
12159         * docs/random/ensonic/media-device-daemon.txt:
12160           more ideas (dbus)
12161         * gst/gstbuffer.c:
12162           fix doc example, add clarification
12163         * tools/gst-launch.1.in:
12164           add initial info about GST_PLUGIN_PATH, needs more work
12165
12166 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12167
12168         * docs/manual/basics-bins.xml:
12169         * docs/manual/basics-elements.xml:
12170         * docs/manual/intro-basics.xml:
12171           Some more minor docs additions and updates.
12172
12173 2006-01-11  Wim Taymans  <wim@fluendo.com>
12174
12175         * docs/manual/basics-bins.xml:
12176         * docs/manual/basics-elements.xml:
12177         Some small fixes as pointed out by Ser-ver on IRC.
12178
12179 2006-01-10  Edward Hervey  <edward@fluendo.com>
12180
12181         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12182         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12183         the single-segment mode.
12184
12185 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12186
12187         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12188
12189         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12190         (gst_base_src_perform_seek), (gst_base_src_send_event),
12191         (gst_base_src_set_property), (gst_base_src_get_property),
12192         (gst_base_src_loop), (gst_base_src_start),
12193         (gst_base_src_activate_push):
12194         * libs/gst/base/gstbasesrc.h:
12195           Name (private) union; makes Sun's Forte compiler happy (#324900).
12196
12197 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12198
12199         * README:
12200           gst-register is gone.
12201
12202 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * gst/gstvalue.c: (_gst_value_initialize):
12205           make the G_TYPE_DATE instantiation work if debug is disabled
12206
12207 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12208
12209         * gst/gstmessage.c: (gst_message_parse_tag),
12210         (gst_message_parse_error), (gst_message_parse_warning):
12211           Don't crash when return location for error/warning debug
12212           string is NULL; add fact that return locations can be
12213           NULL to docs where appropriate.
12214
12215 2006-01-05  Wim Taymans  <wim@fluendo.com>
12216
12217         * gst/gstplugin.c: (gst_plugin_load_file):
12218         Replace strdup by g_strdup.
12219
12220 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * docs/pwg/advanced-types.xml:
12223           fix doc borkage
12224
12225 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12226
12227         submitted by: Abel Cheung
12228
12229         * po/LINGUAS:
12230         * po/zh_TW.po:
12231           Added Chinese (traditional) translation
12232
12233 2006-01-04  Wim Taymans  <wim@fluendo.com>
12234
12235         * docs/manual/basics-pads.xml:
12236         * docs/plugins/Makefile.am:
12237         * docs/plugins/gstreamer-plugins-docs.sgml:
12238         * docs/plugins/gstreamer-plugins-sections.txt:
12239         * docs/pwg/advanced-clock.xml:
12240         * docs/pwg/advanced-scheduling.xml:
12241         * docs/pwg/advanced-types.xml:
12242         * plugins/elements/gstfdsink.c:
12243         * plugins/elements/gstfdsrc.c:
12244         * plugins/elements/gstfdsrc.h:
12245         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12246         * plugins/elements/gstidentity.h:
12247         * plugins/elements/gstqueue.h:
12248         * plugins/elements/gsttee.c:
12249         * plugins/elements/gsttee.h:
12250         * plugins/elements/gsttypefindelement.c:
12251         (gst_type_find_element_class_init):
12252         * plugins/elements/gsttypefindelement.h:
12253         Small updates to various docs.
12254         Added core plugins to docs.
12255
12256 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12257
12258         * common/gst.supp:
12259           add a suppression for liboil's uninitialized variable
12260
12261 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12262
12263         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12264
12265         * gst/gstutils.h:
12266           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12267           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12268           compiler switch is being used (#325429).
12269
12270 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12271
12272         * gst/gstbin.c: (gst_bin_query):
12273           Disable duration query caching in bins until it gets
12274           fixed (see #324807).
12275
12276 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12277
12278         * tools/gst-inspect.c: (print_element_properties_info):
12279           Handle properties of POINTER and BOXED type.
12280
12281 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12282
12283         * gst/gst.c: (init_post):
12284           Init tags stuff and some other things before loading
12285           any static plugins (there may be other static plugins
12286           than just the GStreamer ones, and they may want to
12287           register their own tags or formats or whatever, and
12288           preferably without segfaulting).
12289
12290         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12291           Print at least a warning in the debug logs if we drop a
12292           query just because we don't know how to adjust the value
12293           in the particular format.
12294
12295 2005-12-24  David Schleef  <ds@schleef.org>
12296
12297         * tools/gstreamer-completion:
12298           Replacement for gst-complete written in sh and sed.  Only
12299           completes names of features, but that's 90% of what I want
12300           it for.  Properties are not available in registry.xml.  (Maybe
12301           they should be...)
12302
12303 === release 0.10.1 ===
12304
12305 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12306
12307         * configure.ac:
12308           releasing 0.10.1, "Nollaig chridheil"
12309
12310 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12311
12312         * docs/faq/cvs.xml:
12313           Add missing quote, should be make ERROR_CFLAGS="".
12314
12315 2005-12-20  Wim Taymans  <wim@fluendo.com>
12316
12317         * docs/design/part-trickmodes.txt:
12318         More documentation on trickmodes.
12319
12320 2005-12-20  Edward Hervey  <edward@fluendo.com>
12321
12322         * gst/gstcaps.c: (gst_static_caps_get_type):
12323         * gst/gstcaps.h:
12324           API addition: GST_TYPE_STATIC_CAPS
12325         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12326         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12327         * gst/gstpadtemplate.h:
12328           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12329         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12330         bindings.
12331
12332 2005-12-18  Wim Taymans  <wim@fluendo.com>
12333
12334         * libs/gst/base/gstadapter.c:
12335         * libs/gst/base/gstadapter.h:
12336         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12337         (gst_base_sink_get_position):
12338         * libs/gst/base/gstbasesink.h:
12339         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12340         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12341         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12342         (gst_base_src_send_event), (gst_base_src_update_length),
12343         (gst_base_src_get_range), (gst_base_src_loop),
12344         (gst_base_src_start):
12345         * libs/gst/base/gstbasesrc.h:
12346         * libs/gst/base/gstbasetransform.h:
12347         * libs/gst/base/gstcollectpads.h:
12348         * libs/gst/base/gstpushsrc.c:
12349         * libs/gst/base/gstpushsrc.h:
12350         * libs/gst/dataprotocol/dataprotocol.c:
12351         * libs/gst/dataprotocol/dataprotocol.h:
12352         * libs/gst/net/gstnetclientclock.h:
12353         * libs/gst/net/gstnettimeprovider.h:
12354         Documentation updates.
12355
12356 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12357
12358         * docs/manual/basics-helloworld.xml:
12359           Remove superfluous closing bracket in helloworld example.
12360
12361 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12362
12363         * tools/gst-launch.1.in:
12364           Update gst-launch man page; add a section with useful
12365           environment variables. Fixes #323882.
12366
12367 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12368
12369         * gst/gst.c:
12370         * gst/gst_private.h:
12371           change some char* into char[]
12372
12373 2005-12-16  Wim Taymans  <wim@fluendo.com>
12374
12375         * gst/gstregistryxml.c: (load_feature):
12376         Cleanups.
12377         Don't use g_object_unref on GstObjects so that we avoid
12378         leaks on unsafe glibs.
12379
12380 2005-12-16  Wim Taymans  <wim@fluendo.com>
12381
12382         * gst/gstbin.c: (gst_bin_recalc_state):
12383         Small doc updates.
12384
12385 2005-12-16  Wim Taymans  <wim@fluendo.com>
12386
12387         * common/check.mak:
12388         Added make forever target for check.
12389
12390 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12391
12392         * gst/gst.c: (init_post):
12393           make the registry cache file HOST_CPU-dependent
12394
12395 2005-12-16  Andy Wingo  <wingo@pobox.com>
12396
12397         * plugins/elements/gstbufferstore.c
12398         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12399         return value.
12400
12401         * tests/check/gst/gstobject.c
12402         (test_fake_object_name_threaded_unique): Pay attention to
12403         g_list_sort return value.
12404
12405 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12406
12407         * tools/gst-feedback-m.m:
12408           Update for 0.9/0.10 (fixes #323870).
12409
12410 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12411
12412         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12413           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12414           
12415         * tests/check/gst/gstminiobject.c: (my_foo_init),
12416         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12417         (test_value_collection), (gst_mini_object_suite):
12418           Add test to ensure refcounts end up as expected when passing
12419           GstMiniObjects through g_object_get() and g_object_set().
12420
12421 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12422
12423         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12424         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12425         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12426         of collectpads. This version removes a lot of races without
12427         touching API/ABI. Yay !
12428
12429 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12430
12431         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12432           Don't allow activation of a srcpad in pull_range if it has no
12433           getrange function.
12434           Change some debug statements to be a little clearer
12435
12436         * plugins/elements/gsttypefindelement.c:
12437         (gst_type_find_handle_src_query):
12438           Check that we have a peer before executing queries thereupon.
12439
12440         * tests/examples/metadata/read-metadata.c: (message_loop):
12441           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12442           immediately return us any available message with 0 timeout.
12443
12444 2005-12-12  Michael Smith  <msmith@fluendo.com>
12445
12446         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12447           Don't unref factories after calling them.
12448         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12449         * plugins/elements/gsttypefindelement.c:
12450         (gst_type_find_element_chain):
12451           Free lists of factories after using them. Fixing typefinding memory
12452           leaks.
12453
12454 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12455
12456         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12457         (gst_plugin_feature_load):
12458           more meaningful debug output
12459         * configure.ac:
12460         * tests/Makefile.am:
12461         * tests/old/examples/Makefile.am:
12462           make make distcheck happy again
12463
12464 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12465
12466         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12467           Catch the special case where we are operating chain-based,
12468           but the downstream peer pad has no chain function. Emit a
12469           custom error message in this case instead of letting the
12470           core generate one implying that this is some sort of core
12471           bug. It's not, it just means that whatever got plugged
12472           into the pipeline downstream when we announced the type
12473           can only operate pull-based, while our source can only
12474           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12475           Error string has not been marked for translation yet, as
12476           it probably needs some more work first.
12477
12478         (gst_type_find_element_get_best_possibility):
12479           Add helper function to find the best of all available
12480           found possibilities that qualify given the min. threshold.
12481
12482         (gst_type_find_element_handle_event):
12483           Fix the case where we get an EOS while still in TYPEFIND
12484           mode (we want to chose the best of all possible types,
12485           not just the first type that happens to be in our unsorted
12486           list of possible types).
12487
12488         (gst_type_find_element_chain):
12489           Make sure we return GST_FLOW_ERROR when we errored out
12490           in stop_typefinding(); also, don't just find the best of
12491           all found type entries and then use the last examined
12492           type entry, but actually use the best entry.
12493
12494 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12495
12496         * tests/examples/typefind/typefind.c: (type_found):
12497         * tests/examples/xml/runxml.c: (xml_loaded):
12498           More gcc4 fixes and a mem leak fix.
12499
12500 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12501
12502         * tests/examples/xml/createxml.c: (object_saved):
12503           gcc 4 fixes
12504
12505 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12506
12507         * tests/Makefile.am:
12508           enable the examples even more
12509
12510 2005-12-12  Andy Wingo  <wingo@pobox.com>
12511
12512         * libs/gst/net/gstnettimeprovider.c
12513         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12514         (gst_net_time_provider_set_property)
12515         (gst_net_time_provider_get_property):
12516         API addition: Export "active" as a GObject property.
12517         (gst_net_time_provider_thread): Only respond to time queries if
12518         the time provider is active.
12519
12520         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12521         NetTimeProvider, preserving binary compat.
12522
12523 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12524
12525         * tests/examples/controller/audio-example.c: (main):
12526         * tests/examples/launch/Makefile.am:
12527           convert comments again
12528
12529 2005-12-12  Wim Taymans  <wim@fluendo.com>
12530
12531         * libs/gst/base/gstpushsrc.c:
12532         Fix typo.
12533
12534 2005-12-12  Wim Taymans  <wim@fluendo.com>
12535
12536         * docs/libs/gstreamer-libs-sections.txt:
12537         Added new symbol to docs.
12538
12539         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12540         (gst_base_src_init), (gst_base_src_set_format),
12541         (gst_base_src_default_query), (gst_base_src_query),
12542         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12543         (gst_base_src_perform_seek), (gst_base_src_send_event),
12544         (gst_base_src_default_event), (gst_base_src_event_handler),
12545         (gst_base_src_set_property), (gst_base_src_get_property),
12546         (gst_base_src_wait), (gst_base_src_do_sync),
12547         (gst_base_src_update_length), (gst_base_src_get_range),
12548         (gst_base_src_check_get_range), (gst_base_src_loop),
12549         (gst_base_src_default_negotiate), (gst_base_src_start),
12550         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12551         (gst_base_src_change_state):
12552         * libs/gst/base/gstbasesrc.h:
12553         Implement seeking to other formats than _BYTES.
12554         Implement more seeking methods correctly.
12555         Doc updates.
12556         Added query vmethod.
12557         Added do_seek vmethod to make life easier for subclasses
12558         when seeking.
12559         API addition: gst_base_src_set_format()
12560
12561 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12562
12563         * tests/examples/Makefile.am:
12564           added that too
12565
12566 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12567
12568         * configure.ac:
12569         * docs/random/ensonic/media-device-daemon.txt:
12570         * tests/examples/controller/.cvsignore:
12571         * tests/examples/controller/Makefile.am:
12572         * tests/examples/controller/audio-example.c: (main):
12573         * tests/examples/helloworld/.cvsignore:
12574         * tests/examples/helloworld/Makefile.am:
12575         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12576         * tests/examples/launch/.cvsignore:
12577         * tests/examples/launch/Makefile.am:
12578         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12579         * tests/examples/metadata/.cvsignore:
12580         * tests/examples/metadata/Makefile.am:
12581         * tests/examples/metadata/read-metadata.c: (message_loop),
12582         (make_pipeline), (print_tag), (main):
12583         * tests/examples/queue/.cvsignore:
12584         * tests/examples/queue/Makefile.am:
12585         * tests/examples/queue/queue.c: (event_loop), (main):
12586         * tests/examples/typefind/.cvsignore:
12587         * tests/examples/typefind/Makefile.am:
12588         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12589         (main):
12590         * tests/examples/xml/.cvsignore:
12591         * tests/examples/xml/Makefile.am:
12592         * tests/examples/xml/createxml.c: (object_saved), (main):
12593         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12594         * tests/old/examples/Makefile.am:
12595         * tests/old/examples/TODO:
12596         * tests/old/examples/controller/.cvsignore:
12597         * tests/old/examples/controller/Makefile.am:
12598         * tests/old/examples/controller/audio-example.c:
12599         * tests/old/examples/helloworld/.cvsignore:
12600         * tests/old/examples/helloworld/Makefile.am:
12601         * tests/old/examples/helloworld/helloworld.c:
12602         * tests/old/examples/launch/.cvsignore:
12603         * tests/old/examples/launch/Makefile.am:
12604         * tests/old/examples/launch/mp3parselaunch.c:
12605         * tests/old/examples/launch/mp3play:
12606         * tests/old/examples/manual/Makefile.am:
12607         * tests/old/examples/metadata/Makefile.am:
12608         * tests/old/examples/metadata/read-metadata.c:
12609         * tests/old/examples/queue/.cvsignore:
12610         * tests/old/examples/queue/Makefile.am:
12611         * tests/old/examples/queue/queue.c:
12612         * tests/old/examples/typefind/.cvsignore:
12613         * tests/old/examples/typefind/Makefile.am:
12614         * tests/old/examples/typefind/typefind.c:
12615         * tests/old/examples/xml/.cvsignore:
12616         * tests/old/examples/xml/Makefile.am:
12617         * tests/old/examples/xml/createxml.c:
12618         * tests/old/examples/xml/runxml.c:
12619           applied some simple fixing to some examples
12620           re-enabled the working examples
12621
12622 2005-12-12  Wim Taymans  <wim@fluendo.com>
12623
12624         * gst/gstsegment.c: (gst_segment_init),
12625         (gst_segment_set_last_stop), (gst_segment_set_seek),
12626         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12627         (gst_segment_to_running_time):
12628         Added more documentation.
12629         Make sure the last_pos value is updated properly.
12630         Make sure to_stream_time and to_running_time don't
12631         operate on wrong values.
12632
12633         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12634         Update check.
12635
12636 2005-12-12  Michael Smith  <msmith@fluendo.com>
12637
12638         * plugins/elements/gsttypefindelement.c: (free_entry),
12639         (gst_type_find_element_chain):
12640           Now that we're not leaking factories, make sure we keep references
12641           to them while we need them.
12642
12643 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12644
12645         * tests/check/gst/struct_i386.h:
12646           ifdef out the XML structs
12647
12648 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12649
12650         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12651           floor is not needed, F is always positive; this obviates the
12652           need for adding -lm when building without libxml
12653
12654 2005-12-12  Wim Taymans  <wim@fluendo.com>
12655
12656         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12657         Take current playback rate into account when reporting
12658         the position.
12659
12660 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12661
12662         * docs/manual/mime-world.fig:
12663           Let's try this again, this time with a file that is
12664           actually in XFig format.
12665
12666 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12667
12668         * docs/manual/mime-world.fig:
12669           Add audioconvert element to diagram so that it
12670           matches the text and the code (fixes #319526).
12671
12672 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12673
12674         * docs/pwg/building-chainfn.xml:
12675         * docs/pwg/building-pads.xml:
12676         * docs/pwg/building-state.xml:
12677         * docs/pwg/other-source.xml:
12678           Update state change stuff for 0.10 (fixes #322969).
12679
12680 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12681
12682         * docs/manual/advanced-dataaccess.xml:
12683         * docs/manual/appendix-checklist.xml:
12684         * docs/manual/appendix-programs.xml:
12685         * docs/manual/basics-pads.xml:
12686         * docs/manual/highlevel-components.xml:
12687         * docs/manual/manual.xml:
12688           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12689           add converters in front of pipelines; remove curly
12690           brackets for threads stuff, they no longer exist; use
12691           GST_TYPE_FRACTION for framerates; update some pieces of
12692           code to 0.10, but there's plenty more to do.
12693
12694         * docs/manual/appendix-porting.xml:
12695           Expand on asynchroneous state changes; s/0.9/0.10/;
12696           mention disappearance of gst_init_get_popt_table()
12697           (fixes #322916).
12698
12699 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12700
12701         * docs/faq/using.xml:
12702           Spider no longer exists, and neither does gst-launch-ext.
12703           Update examples to use decodebin and playbin and put
12704           converters in front of sinks (fixes #323726).
12705
12706 2005-12-09  Michael Smith  <msmith@fluendo.com>
12707
12708         * plugins/elements/gsttypefindelement.c: (find_peek),
12709         (gst_type_find_element_chain):
12710           Fix leaking element factories in typefinding.
12711           Fix problem where we forgot about a probable type on non-seekable
12712           files, and thus later mis-typefound it.
12713
12714 2005-12-09  Michael Smith  <msmith@fluendo.com>
12715
12716         * common/m4/gst-makecontext.m4:
12717         * common/m4/gst-mcsc.m4:
12718         * configure.ac:
12719         * win32/common/config.h:
12720         * win32/common/config.h.in:
12721           Remove makecontext stuff; not used in 0.10 and causes problems on
12722           HPUX according to bug #322441
12723
12724 2005-12-07  Wim Taymans  <wim@fluendo.com>
12725
12726         * tests/check/Makefile.am:
12727         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12728         (main):
12729         * tests/check/libs/struct_i386.h:
12730         Added ABI check for libs
12731
12732 2005-12-07  Wim Taymans  <wim@fluendo.com>
12733
12734         * tests/check/Makefile.am:
12735         And add the struct_i386.h to dist.
12736
12737 2005-12-07  Wim Taymans  <wim@fluendo.com>
12738
12739         * tests/check/Makefile.am:
12740         * tests/check/gst/.cvsignore:
12741         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12742         (main):
12743         * tests/check/gst/struct_i386.h:
12744         Added check for ABI compatibility.
12745
12746 2005-12-07  Wim Taymans  <wim@fluendo.com>
12747
12748         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12749         (gst_fake_src_get_times), (gst_fake_src_create):
12750         Fix broken sync option, fixes #323259
12751
12752 2005-12-07  Wim Taymans  <wim@fluendo.com>
12753
12754         * gst/gstbuffer.c:
12755         Small docs update.
12756
12757         * gst/gstcaps.c: (gst_caps_is_equal):
12758         Don't assert on NULL <--> X. Fixes #323260
12759
12760         * gst/gstminiobject.c: (gst_mini_object_replace):
12761         If we're doing atomic operations, we might just as well use
12762         the proper way to get an atomic pointer.
12763
12764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12765         Clean up debugging.
12766
12767 2005-12-07  Michael Smith  <msmith@fluendo.com>
12768
12769         * gst/parse/grammar.y:
12770           Remove handling of { } for threads.
12771
12772 2005-12-06  David Schleef  <ds@schleef.org>
12773
12774         * libs/gst/base/gstbasetransform.c: speling fix.
12775
12776 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12777
12778         * docs/libs/tmpl/gstdataprotocol.sgml:
12779         * docs/random/omega/testing/gstobject.c:
12780         * gst/gst.c:
12781         * gst/gstclock.c:
12782         * gst/gstelement.c:
12783         * gst/gstelementfactory.c:
12784         * gst/gsterror.c:
12785         * gst/gstevent.c:
12786         * gst/gstghostpad.c:
12787         * gst/gstinfo.c:
12788         * gst/gstpadtemplate.c:
12789         * gst/gstregistryxml.c:
12790         * gst/gsttaglist.c:
12791         * gst/gsttagsetter.c:
12792         * gst/gsttypefind.c:
12793         * gst/gstvalue.c:
12794         * libs/gst/base/gstbasesrc.c:
12795         * libs/gst/net/gstnetclientclock.c:
12796         * libs/gst/net/gstnettimeprovider.c:
12797         * plugins/elements/gstfakesrc.c:
12798         * plugins/elements/gstfdsrc.c:
12799         * plugins/elements/gstfilesrc.c:
12800         * plugins/elements/gstidentity.c:
12801         * plugins/elements/gstqueue.c:
12802         * plugins/elements/gsttypefindelement.c:
12803         * plugins/indexers/gstfileindex.c:
12804         * plugins/indexers/gstmemindex.c:
12805         * tests/check/gst/gsttag.c:
12806         * tests/old/examples/cutter/cutter.c:
12807         * tests/old/examples/mixer/mixer.c:
12808         * tests/old/examples/xml/runxml.c: (main):
12809         * tests/old/testsuite/caps/normalisation.c:
12810         * tests/old/testsuite/debug/global.c:
12811         * tests/old/testsuite/parse/parse1.c:
12812         * tools/gst-xmlinspect.c:
12813         * win32/common/dirent.c:
12814           expand tabs
12815
12816 === release 0.10.0 ===
12817
12818 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12819
12820         * configure.ac:
12821           releasing 0.10.0, "Maroilles"
12822
12823 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12824
12825         submitted by: Funda Wang <fundawang@linux.net.cn>
12826
12827         * po/LINGUAS:
12828         * po/zh_CN.po:
12829           added Chinese (Traditional) translation
12830
12831 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12832
12833         * docs/gst/gstreamer-sections.txt:
12834         * docs/libs/tmpl/gstdataprotocol.sgml:
12835         * docs/random/thomasvs/TODO:
12836         * gst/gstutils.c:
12837         * gst/gstutils.h:
12838           fix docs
12839
12840 2005-12-05  Andy Wingo  <wingo@pobox.com>
12841
12842         patch by: Wim Taymans <wim@fluendo.com>
12843
12844         * libs/gst/base/gstbasetransform.c
12845         (gst_base_transform_prepare_output_buf)
12846         (gst_base_transform_buffer_alloc):
12847         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12848         alloc_buffer_and_set_caps.
12849
12850         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12851         set_caps on the source pad.
12852         (gst_pad_alloc_buffer_and_set_caps): New function, does what
12853         alloc_buffer used to do. Fixes #322874.
12854
12855         * docs/gst/gstreamer-sections.txt: 
12856         * docs/design/part-negotiation.txt: 
12857         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12858         changes.
12859
12860 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12861
12862         patch by: Sebastien Moutte
12863
12864         * win32/MANIFEST:
12865         * win32/common/config.h.in:
12866         * win32/vs6/libgstcontroller.dsp:
12867           win32 build fixes
12868
12869 2005-12-05  Wim Taymans  <wim@fluendo.com>
12870
12871         * gst/gstcaps.c: (gst_caps_is_equal):
12872         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12873         (gst_fake_src_create):
12874         Back out previous code changes, leave doc updates, file bugs 
12875         instead. 
12876
12877 2005-12-05  Wim Taymans  <wim@fluendo.com>
12878
12879         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12880         (gst_fake_src_get_times), (gst_fake_src_create):
12881         * plugins/elements/gstfakesrc.h:
12882         Fix broken sync code.
12883
12884 2005-12-05  Wim Taymans  <wim@fluendo.com>
12885
12886         * gst/gstcaps.c: (gst_caps_is_equal):
12887         Comparing NULL against !NULL yields different caps, not a
12888         failure.
12889
12890 2005-12-05  Wim Taymans  <wim@fluendo.com>
12891
12892         * gst/gstpipeline.c:
12893         Fix small typo in docs.
12894
12895 2005-12-05  Andy Wingo  <wingo@pobox.com>
12896
12897         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12900         registries/plugins with a MAJORMINOR one.
12901         (plugin_desc): Rename library from gstcoreleements to
12902         staticelements. Fixes #323222.
12903
12904 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12905
12906         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12907           Change debug category to 'collectpads' from 'collect_pads'
12908           (fixes #323250).
12909
12910 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         patch by: Sebastien Moutte
12913
12914         * libs/gst/controller/gstinterpolation.c:
12915           use convert function for uint64/double
12916         * win32/vs6/libgstcontroller.dsp:
12917           link to GLib
12918
12919 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12922         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12923         * gst/gstutils.h:
12924         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12925           add tests that seem to show that the guint64/gdouble conversions
12926           are correct.
12927
12928 2005-12-02  Wim Taymans  <wim@fluendo.com>
12929
12930         * gst/gstregistry.c: (gst_registry_add_path):
12931         * gst/gstregistry.h:
12932         * gst/gstregistryxml.c:
12933         Fix docs again.
12934
12935 2005-12-02  Wim Taymans  <wim@fluendo.com>
12936
12937         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12938         (gst_util_uint64_scale_int):
12939         Small cleanup.
12940
12941         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12942         Add debug log line.
12943
12944         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12945         Add FIXME.
12946
12947 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * win32/MANIFEST:
12950         * win32/common/config.h:
12951         * win32/vs6/gstreamer.dsw:
12952         * win32/vs6/libgstcoreelements.dsp:
12953         * win32/vs6/libgstelements.dsp:
12954           renamed core elements plugin
12955
12956 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12957
12958         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12959         (get_candidates):
12960           do piece-wise major/minor comparison so 0.9 < 0.10
12961           also allow .exe extensions for tools
12962
12963 2005-12-02  Michael Smith  <msmith@fluendo.com>
12964
12965         * gst/gst.c:
12966           Escape a % to make gtkdoc happier; bug 322958.
12967
12968 === release 0.9.7 ===
12969
12970 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12971
12972         * configure.ac:
12973           releasing 0.9.7, "My Dog Has No Nose"
12974
12975 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12976
12977         * common/gst-xmlinspect.py:
12978         * configure.ac:
12979         * docs/libs/tmpl/gstdataprotocol.sgml:
12980         * docs/random/release:
12981         * po/af.po:
12982         * po/az.po:
12983         * po/bg.po:
12984         * po/ca.po:
12985         * po/cs.po:
12986         * po/de.po:
12987         * po/en_GB.po:
12988         * po/fr.po:
12989         * po/it.po:
12990         * po/nb.po:
12991         * po/nl.po:
12992         * po/ru.po:
12993         * po/sq.po:
12994         * po/sr.po:
12995         * po/sv.po:
12996         * po/tr.po:
12997         * po/uk.po:
12998         * po/vi.po:
12999         * win32/common/config.h:
13000         * win32/common/config.h.in:
13001         * win32/vs6/gst_inspect.dsp:
13002         * win32/vs6/gst_launch.dsp:
13003         * win32/vs6/libgstbase.dsp:
13004         * win32/vs6/libgstelements.dsp:
13005         * win32/vs6/libgstreamer.dsp:
13006         * win32/vs7/GStreamer.vcproj:
13007         * win32/vs7/gst-inspect.vcproj:
13008         * win32/vs7/gst-launch.vcproj:
13009         * win32/vs7/libgstbase.vcproj:
13010           bump GST_MAJORMINOR to 0.10
13011           reset libtool version
13012
13013 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13014
13015         * po/LINGUAS:
13016         * po/bg.po:
13017           Added Bulgarian translation by (Alexander Shopov)
13018
13019 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13020
13021         * tests/check/gst/gstplugin.c:
13022           fix test
13023
13024 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13025
13026         * common/gst-xmlinspect.py:
13027         * common/gtk-doc-plugins.mak:
13028         * configure.ac:
13029         * docs/Makefile.am:
13030         * docs/gst/Makefile.am:
13031         * docs/gst/gstreamer-docs.sgml:
13032         * docs/gst/gstreamer-sections.txt:
13033         * docs/gst/gstreamer.types:
13034         * docs/gst/gstreamer.types.in:
13035         * docs/plugins/Makefile.am:
13036         * docs/plugins/gstreamer-plugins-docs.sgml:
13037         * docs/plugins/gstreamer-plugins-sections.txt:
13038         * docs/plugins/gstreamer-plugins.types:
13039         * docs/plugins/inspect.stamp:
13040         * docs/plugins/inspect/plugin-coreelements.xml:
13041         * docs/plugins/inspect/plugin-coreindexers.xml:
13042         * docs/plugins/scanobj-build.stamp:
13043         * gstreamer.spec.in:
13044         * plugins/elements/Makefile.am:
13045         * plugins/elements/gstelements.c:
13046         * plugins/elements/gstfakesink.c:
13047         * plugins/elements/gstfakesrc.c:
13048         * plugins/elements/gstfilesink.c:
13049         * plugins/elements/gstfilesrc.c:
13050         * plugins/elements/gstqueue.c:
13051         * plugins/indexers/Makefile.am:
13052         * plugins/indexers/gstindexers.c:
13053           document core plugins in a separate document just like all the
13054           others
13055           rename these plugins to something starting with core
13056
13057 2005-12-01  Andy Wingo  <wingo@pobox.com>
13058
13059         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13060         padding here before, but it missed the commit.
13061
13062 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13063
13064         * libs/gst/controller/gstinterpolation.c:
13065           whitespace prices have crashed, we should feel free to use some now
13066           use gst_guint64_to_gdouble
13067
13068 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13069
13070         * libs/gst/controller/gstcontroller.c:
13071         * libs/gst/controller/gsthelper.c:
13072         * libs/gst/controller/gstinterpolation.c:
13073         * libs/gst/controller/lib.c:
13074           wrap config.h include
13075
13076 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13077
13078         * docs/gst/gstreamer-sections.txt:
13079           update docs
13080
13081 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13082
13083         * plugins/elements/gstelements.c:
13084         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13085         (gst_fd_sink__class_init), (gst_fd_sink__init),
13086         (gst_fd_sink__chain), (gst_fd_sink__set_property),
13087         (gst_fd_sink__get_property):
13088         * plugins/elements/gstfdsink.h:
13089         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13090         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13091         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13092         (gst_fd_src_unlock), (gst_fd_src_set_property),
13093         (gst_fd_src_get_property), (gst_fd_src_create),
13094         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13095         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13096         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13097         (gst_fd_src_uri_handler_init):
13098         * plugins/elements/gstfdsrc.h:
13099         * plugins/elements/gstqueue.c: (gst_queue_get_type):
13100           more anal cleanup
13101
13102 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13103
13104         * docs/gst/Makefile.am:
13105         * docs/gst/gstreamer.types.in:
13106         * gst/Makefile.am:
13107           fix the docs build
13108
13109 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13110
13111         * configure.ac:
13112         * gst/Makefile.am:
13113         * gst/gst.c:
13114         * gst/gstplugin.h:
13115         * gst/gstregistry.h:
13116         * tests/benchmarks/complexity.c:
13117         * tests/benchmarks/mass-elements.c:
13118         * tests/check/Makefile.am:
13119         * tools/Makefile.am:
13120         * tools/gst-inspect.c:
13121         * tools/gst-xmlinspect.c:
13122           various fixes to make
13123           --disable-nls --disable-registry --disable-loadsave
13124           --disable-parse --disable-gst-debug
13125           work and get the core .so down to 360444 bytes after stripping
13126
13127 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13128
13129         * Makefile.am:
13130         * configure.ac:
13131           descend into tests
13132         * docs/random/thomasvs/TODO:
13133         * tests/Makefile.am:
13134         * tests/README:
13135           add a README
13136
13137 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13138
13139         * win32/GStreamer.vcproj:
13140         * win32/MANIFEST:
13141         * win32/Makefile:
13142         * win32/Makefile.inspect:
13143         * win32/Makefile.launch:
13144         * win32/Makefile.register:
13145         * win32/README.txt:
13146         * win32/gst-inspect.vcproj:
13147         * win32/gst-launch.vcproj:
13148         * win32/gst-register.vcproj:
13149         * win32/gstelements.vcproj:
13150         * win32/gstgetbits.def:
13151         * win32/gstgetbits.vcproj:
13152         * win32/gstreamer-dbg.def:
13153         * win32/gstreamer.def:
13154         * win32/libgstbase.def:
13155         * win32/libgstbase.vcproj:
13156         * win32/link_oldruntime.c:
13157         * win32/mman.c:
13158         * win32/mman.h:
13159         * win32/mman.inl:
13160         * win32/msvc71.sln:
13161           move even more stuff, win32/ is nice and clean now
13162
13163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13164
13165         * libs/gst/control/.cvsignore:
13166         * win32/MANIFEST:
13167         * win32/config.h:
13168         * win32/dirent.c:
13169         * win32/dirent.h:
13170         * win32/gstbytestream.def:
13171         * win32/gstbytestream.vcproj:
13172         * win32/gstconfig.h:
13173         * win32/gstenumtypes.c:
13174         * win32/gstenumtypes.h:
13175         * win32/gstoptimalscheduler.vcproj:
13176         * win32/gstversion.h:
13177         * win32/gtchar.h:
13178         * win32/testsuite/bins.vcproj:
13179         * win32/testsuite/bytestream.vcproj:
13180         * win32/testsuite/caps.vcproj:
13181         * win32/testsuite/cleanup.vcproj:
13182         * win32/testsuite/clock.vcproj:
13183         * win32/testsuite/debug.vcproj:
13184         * win32/testsuite/dlopen.vcproj:
13185         * win32/testsuite/dynparams.vcproj:
13186         * win32/testsuite/elements.vcproj:
13187         * win32/testsuite/ghostpads.vcproj:
13188         * win32/testsuite/indexers.vcproj:
13189         * win32/testsuite/negotiation.vcproj:
13190         * win32/testsuite/parse.vcproj:
13191         * win32/testsuite/plugin.vcproj:
13192         * win32/testsuite/refcounting.vcproj:
13193         * win32/testsuite/schedulers.vcproj:
13194         * win32/testsuite/states.vcproj:
13195         * win32/testsuite/tags.vcproj:
13196         * win32/testsuite/threads.vcproj:
13197           remove old win32 stuff that isn't maintained and should be
13198           reorganized
13199
13200 2005-11-30  Andy Wingo  <wingo@pobox.com>
13201
13202         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13203         loading the gst.interfaces python module bork.
13204
13205         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13206         available since GLib 2.2. Fixes #318031.
13207
13208 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13209
13210         * Makefile.am:
13211         * check/.cvsignore:
13212         * check/Makefile.am:
13213         * check/elements/.cvsignore:
13214         * check/elements/fakesrc.c:
13215         * check/elements/fdsrc.c:
13216         * check/elements/identity.c:
13217         * check/generic/.cvsignore:
13218         * check/generic/states.c:
13219         * check/gst-libs/.cvsignore:
13220         * check/gst-libs/controller.c:
13221         * check/gst-libs/gdp.c:
13222         * check/gst/.cvsignore:
13223         * check/gst/capslist.h:
13224         * check/gst/gst.c:
13225         * check/gst/gstbin.c:
13226         * check/gst/gstbuffer.c:
13227         * check/gst/gstbus.c:
13228         * check/gst/gstcaps.c:
13229         * check/gst/gstelement.c:
13230         * check/gst/gstevent.c:
13231         * check/gst/gstghostpad.c:
13232         * check/gst/gstiterator.c:
13233         * check/gst/gstmessage.c:
13234         * check/gst/gstminiobject.c:
13235         * check/gst/gstobject.c:
13236         * check/gst/gstpad.c:
13237         * check/gst/gstpipeline.c:
13238         * check/gst/gstplugin.c:
13239         * check/gst/gstsegment.c:
13240         * check/gst/gststructure.c:
13241         * check/gst/gstsystemclock.c:
13242         * check/gst/gsttag.c:
13243         * check/gst/gstutils.c:
13244         * check/gst/gstvalue.c:
13245         * check/net/.cvsignore:
13246         * check/net/gstnetclientclock.c:
13247         * check/net/gstnettimeprovider.c:
13248         * check/pipelines/.cvsignore:
13249         * check/pipelines/cleanup.c:
13250         * check/pipelines/simple_launch_lines.c:
13251         * check/pipelines/stress.c:
13252         * check/states/.cvsignore:
13253         * check/states/sinks.c:
13254         * configure.ac:
13255         * examples/Makefile.am:
13256         * examples/appreader/.cvsignore:
13257         * examples/appreader/Makefile.am:
13258         * examples/appreader/appreader.c:
13259         * examples/controller/.cvsignore:
13260         * examples/controller/Makefile.am:
13261         * examples/controller/audio-example.c:
13262         * examples/cutter/.cvsignore:
13263         * examples/cutter/Makefile.am:
13264         * examples/cutter/cutter.c:
13265         * examples/cutter/cutter.h:
13266         * examples/events/Makefile.am:
13267         * examples/events/seek.c:
13268         * examples/helloworld/.cvsignore:
13269         * examples/helloworld/Makefile.am:
13270         * examples/helloworld/helloworld.c:
13271         * examples/helloworld2/.cvsignore:
13272         * examples/helloworld2/Makefile.am:
13273         * examples/helloworld2/helloworld2.c:
13274         * examples/launch/.cvsignore:
13275         * examples/launch/Makefile.am:
13276         * examples/launch/mp3parselaunch.c:
13277         * examples/launch/mp3play:
13278         * examples/manual/.cvsignore:
13279         * examples/manual/Makefile.am:
13280         * examples/manual/extract.pl:
13281         * examples/metadata/Makefile.am:
13282         * examples/metadata/read-metadata.c:
13283         * examples/mixer/.cvsignore:
13284         * examples/mixer/Makefile.am:
13285         * examples/mixer/mixer.c:
13286         * examples/mixer/mixer.h:
13287         * examples/pingpong/.cvsignore:
13288         * examples/pingpong/Makefile.am:
13289         * examples/pingpong/pingpong.c:
13290         * examples/plugins/.cvsignore:
13291         * examples/plugins/Makefile.am:
13292         * examples/plugins/example.c:
13293         * examples/plugins/example.h:
13294         * examples/pwg/.cvsignore:
13295         * examples/pwg/Makefile.am:
13296         * examples/pwg/extract.pl:
13297         * examples/queue/.cvsignore:
13298         * examples/queue/Makefile.am:
13299         * examples/queue/queue.c:
13300         * examples/queue2/.cvsignore:
13301         * examples/queue2/Makefile.am:
13302         * examples/queue2/queue2.c:
13303         * examples/queue3/.cvsignore:
13304         * examples/queue3/Makefile.am:
13305         * examples/queue3/queue3.c:
13306         * examples/queue4/.cvsignore:
13307         * examples/queue4/Makefile.am:
13308         * examples/queue4/queue4.c:
13309         * examples/retag/.cvsignore:
13310         * examples/retag/Makefile.am:
13311         * examples/retag/retag.c:
13312         * examples/retag/transcode.c:
13313         * examples/thread/.cvsignore:
13314         * examples/thread/Makefile.am:
13315         * examples/thread/thread.c:
13316         * examples/typefind/.cvsignore:
13317         * examples/typefind/Makefile.am:
13318         * examples/typefind/typefind.c:
13319         * examples/xml/.cvsignore:
13320         * examples/xml/Makefile.am:
13321         * examples/xml/createxml.c:
13322         * examples/xml/runxml.c:
13323         * tests/Makefile.am:
13324         * tests/check/Makefile.am:
13325         * testsuite/.cvsignore:
13326         * testsuite/Makefile.am:
13327         * testsuite/Rules:
13328         * testsuite/caps/.cvsignore:
13329         * testsuite/caps/Makefile.am:
13330         * testsuite/caps/app_fixate.c:
13331         * testsuite/caps/audioscale.c:
13332         * testsuite/caps/caps.c:
13333         * testsuite/caps/caps.h:
13334         * testsuite/caps/caps_strings:
13335         * testsuite/caps/compatibility.c:
13336         * testsuite/caps/deserialize.c:
13337         * testsuite/caps/enumcaps.c:
13338         * testsuite/caps/eratosthenes.c:
13339         * testsuite/caps/filtercaps.c:
13340         * testsuite/caps/fixed.c:
13341         * testsuite/caps/fraction-convert.c:
13342         * testsuite/caps/fraction-multiply-and-zero.c:
13343         * testsuite/caps/intersect2.c:
13344         * testsuite/caps/intersection.c:
13345         * testsuite/caps/normalisation.c:
13346         * testsuite/caps/random.c:
13347         * testsuite/caps/renegotiate.c:
13348         * testsuite/caps/sets.c:
13349         * testsuite/caps/simplify.c:
13350         * testsuite/caps/string-conversions.c:
13351         * testsuite/caps/structure.c:
13352         * testsuite/caps/subtract.c:
13353         * testsuite/caps/union.c:
13354         * testsuite/debug/.cvsignore:
13355         * testsuite/debug/Makefile.am:
13356         * testsuite/debug/category.c:
13357         * testsuite/debug/commandline.c:
13358         * testsuite/debug/global.c:
13359         * testsuite/debug/output.c:
13360         * testsuite/debug/printf_extension.c:
13361         * testsuite/dlopen/.cvsignore:
13362         * testsuite/dlopen/Makefile.am:
13363         * testsuite/dlopen/dlopen_gst.c:
13364         * testsuite/dlopen/loadgst.c:
13365         * testsuite/elements/.cvsignore:
13366         * testsuite/elements/Makefile.am:
13367         * testsuite/elements/gst-inspect-check.in:
13368         * testsuite/elements/struct_i386.h:
13369         * testsuite/elements/struct_size.c:
13370         * testsuite/indexers/.cvsignore:
13371         * testsuite/indexers/Makefile.am:
13372         * testsuite/indexers/cache1.c:
13373         * testsuite/indexers/indexdump.c:
13374         * testsuite/parse/.cvsignore:
13375         * testsuite/parse/Makefile.am:
13376         * testsuite/parse/parse1.c:
13377         * testsuite/parse/parse2.c:
13378         * testsuite/plugin/.cvsignore:
13379         * testsuite/plugin/Makefile.am:
13380         * testsuite/plugin/README:
13381         * testsuite/plugin/dynamic.c:
13382         * testsuite/plugin/linked.c:
13383         * testsuite/plugin/loading.c:
13384         * testsuite/plugin/registry.c:
13385         * testsuite/plugin/static.c:
13386         * testsuite/plugin/static2.c:
13387         * testsuite/plugin/testplugin.c:
13388         * testsuite/plugin/testplugin2.c:
13389         * testsuite/plugin/testplugin2_s.c:
13390         * testsuite/plugin/testplugin_s.c:
13391         * testsuite/refcounting/.cvsignore:
13392         * testsuite/refcounting/Makefile.am:
13393         * testsuite/refcounting/bin.c:
13394         * testsuite/refcounting/element.c:
13395         * testsuite/refcounting/element_pad.c:
13396         * testsuite/refcounting/mainloop.c:
13397         * testsuite/refcounting/mem.c:
13398         * testsuite/refcounting/mem.h:
13399         * testsuite/refcounting/object.c:
13400         * testsuite/refcounting/pad.c:
13401         * testsuite/refcounting/sched.c:
13402         * testsuite/refcounting/thread.c:
13403         * testsuite/states/.cvsignore:
13404         * testsuite/states/Makefile.am:
13405         * testsuite/states/bin.c:
13406         * testsuite/states/locked.c:
13407         * testsuite/states/parent.c:
13408         * testsuite/threads/.cvsignore:
13409         * testsuite/threads/159566.c:
13410         * testsuite/threads/159852.c:
13411         * testsuite/threads/Makefile.am:
13412         * testsuite/threads/queue.c:
13413         * testsuite/threads/signals.c:
13414         * testsuite/threads/staticrec.c:
13415         * testsuite/threads/thread.c:
13416         * testsuite/threads/threadb.c:
13417         * testsuite/threads/threadc.c:
13418         * testsuite/threads/threadd.c:
13419         * testsuite/threads/threade.c:
13420         * testsuite/threads/threadf.c:
13421         * testsuite/threads/threadg.c:
13422         * testsuite/threads/threadh.c:
13423         * testsuite/threads/threadi.c:
13424           move all of these under tests
13425
13426 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13427
13428         * configure.ac:
13429         * tests/Makefile.am:
13430           fix distcheck
13431
13432 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13433
13434         * docs/gst/gstreamer-sections.txt:
13435         * tests/sched/.cvsignore:
13436         * tests/sched/Makefile.am:
13437         * tests/sched/cases/(fs-fs).xml:
13438         * tests/sched/cases/(fs-i-fs).xml:
13439         * tests/sched/cases/(fs-i-i-fs).xml:
13440         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13441         * tests/sched/dynamic-pipeline.c:
13442         * tests/sched/interrupt1.c:
13443         * tests/sched/interrupt2.c:
13444         * tests/sched/interrupt3.c:
13445         * tests/sched/runtestcases:
13446         * tests/sched/runxml.c:
13447         * tests/sched/sched-stress.c:
13448         * tests/sched/sort.c:
13449         * tests/sched/testcases:
13450         * tests/sched/testcases1.tc:
13451         * tests/seeking/.cvsignore:
13452         * tests/seeking/Makefile.am:
13453         * tests/seeking/seeking1.c:
13454         * tests/threadstate/.cvsignore:
13455         * tests/threadstate/Makefile.am:
13456         * tests/threadstate/test1.c:
13457         * tests/threadstate/test2.c:
13458         * tests/threadstate/threadstate1.c:
13459         * tests/threadstate/threadstate2.c:
13460         * tests/threadstate/threadstate3.c:
13461         * tests/threadstate/threadstate4.c:
13462         * tests/threadstate/threadstate5.c:
13463           remove obsolete tests
13464         * configure.ac:
13465         * tests/bench-complexity.scm:
13466         * tests/bench-mass_elements.scm:
13467         * tests/complexity.c:
13468         * tests/complexity.gnuplot:
13469         * tests/instantiate/.cvsignore:
13470         * tests/instantiate/Makefile.am:
13471         * tests/instantiate/caps.c:
13472         * tests/mass_elements.c:
13473         * tests/network-clock-utils.scm:
13474         * tests/network-clock.scm:
13475         * tests/plot-data:
13476         First pass at cleaning up tests/ dir before moving the rest
13477         Combined with CVS surgery
13478
13479 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13480
13481         * po/POTFILES.in:
13482           queue has moved, update
13483
13484 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13485
13486         * docs/gst/gstreamer-sections.txt:
13487           remove double entries from the docs
13488         * gst/gst_private.h:
13489         * gst/gstinfo.c: (_gst_debug_init):
13490           remove the THREAD debug category
13491         * gst/Makefile.am:
13492         * gst/gstqueue.c:
13493         * gst/gstqueue.h:
13494         * docs/gst/gstreamer.types:
13495         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13496         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13497           completely move queue and fix up debugging categories
13498
13499 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13500
13501         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13502           make initialization portable, using LL is not
13503
13504 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13505
13506         * win32/common/gstconfig.h:
13507           add large padding
13508
13509 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13510
13511         * win32/common/libgstreamer.def:
13512           rename symbols; sort base section
13513
13514 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13515
13516         * gst/gstclock.c: (do_linear_regression):
13517           remove crack non-portable handrolled DEBUG macro
13518
13519 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13520
13521         * docs/random/release:
13522           update notes
13523         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13524         (gst_object_flags_get_type), (register_gst_bin_flags),
13525         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13526         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13527         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13528         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13529         (gst_caps_flags_get_type), (register_gst_clock_return),
13530         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13531         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13532         (gst_clock_flags_get_type), (register_gst_state),
13533         (gst_state_get_type), (register_gst_state_change_return),
13534         (gst_state_change_return_get_type), (register_gst_state_change),
13535         (gst_state_change_get_type), (register_gst_element_flags),
13536         (gst_element_flags_get_type), (register_gst_core_error),
13537         (gst_core_error_get_type), (register_gst_library_error),
13538         (gst_library_error_get_type), (register_gst_resource_error),
13539         (gst_resource_error_get_type), (register_gst_stream_error),
13540         (gst_stream_error_get_type), (register_gst_event_type_flags),
13541         (gst_event_type_flags_get_type), (register_gst_event_type),
13542         (gst_event_type_get_type), (register_gst_seek_type),
13543         (gst_seek_type_get_type), (register_gst_seek_flags),
13544         (gst_seek_flags_get_type), (register_gst_format),
13545         (gst_format_get_type), (register_gst_index_certainty),
13546         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13547         (gst_index_entry_type_get_type),
13548         (register_gst_index_lookup_method),
13549         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13550         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13551         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13552         (gst_index_flags_get_type), (register_gst_debug_level),
13553         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13554         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13555         (gst_iterator_result_get_type), (register_gst_iterator_item),
13556         (gst_iterator_item_get_type), (register_gst_message_type),
13557         (gst_message_type_get_type), (register_gst_mini_object_flags),
13558         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13559         (gst_pad_link_return_get_type), (register_gst_flow_return),
13560         (gst_flow_return_get_type), (register_gst_activate_mode),
13561         (gst_activate_mode_get_type), (register_gst_pad_direction),
13562         (gst_pad_direction_get_type), (register_gst_pad_flags),
13563         (gst_pad_flags_get_type), (register_gst_pad_presence),
13564         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13565         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13566         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13567         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13568         (gst_plugin_flags_get_type), (register_gst_rank),
13569         (gst_rank_get_type), (register_gst_query_type),
13570         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13571         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13572         (gst_tag_flag_get_type), (register_gst_task_state),
13573         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13574         (gst_alloc_trace_flags_get_type),
13575         (register_gst_type_find_probability),
13576         (gst_type_find_probability_get_type), (register_gst_uri_type),
13577         (gst_uri_type_get_type), (register_gst_parse_error),
13578         (gst_parse_error_get_type):
13579         * win32/common/gstenumtypes.h:
13580         * win32/common/gstversion.h:
13581           update visual studio generated files
13582
13583 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13584
13585         * win32/vs6/libgstbase.dsp:
13586         * win32/vs6/libgstelements.dsp:
13587           update project files for new locations
13588
13589 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13590
13591         * Makefile.am:
13592           remove some files
13593         * README:
13594           reinstate and update
13595         * DEVEL:
13596         * REQUIREMENTS:
13597           removed
13598         * LICENSE:
13599         * docs/random/LICENSE:
13600           moved to random
13601
13602 2005-11-30  Edward Hervey  <edward@fluendo.com>
13603
13604         * gst/gsttypefind.c: (gst_type_find_register):
13605         * gst/gsttypefind.h:
13606         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13607         (gst_type_find_factory_dispose):
13608         * gst/gsttypefindfactory.h:
13609         Fix memory leak in GstTypeFindFactory.
13610
13611 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13612
13613         * gst/gst.c:
13614         * plugins/elements/Makefile.am:
13615         * plugins/elements/gstelements.c:
13616         * plugins/elements/gstqueue.c:
13617           move queue from core to the elements plugin
13618
13619 2005-11-29  Andy Wingo  <wingo@pobox.com>
13620
13621         * libs/gst/base/gstbasetransform.h: 
13622         * libs/gst/base/gstbasesrc.h: 
13623         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13624
13625         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13626         of pointers by which to pad very extensible base classes (like the
13627         ones in libs/gst/base).
13628
13629 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13630
13631         * docs/gst/gstreamer-docs.sgml:
13632         * docs/gst/gstreamer-sections.txt:
13633         * docs/libs/gstreamer-libs-docs.sgml:
13634         * docs/libs/gstreamer-libs-sections.txt:
13635           moving documentation from core to lib
13636
13637 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13638
13639         * check/Makefile.am:
13640         * configure.ac:
13641         * docs/gst/Makefile.am:
13642         * gst/Makefile.am:
13643         * gst/base/.cvsignore:
13644         * gst/base/Makefile.am:
13645         * gst/base/README:
13646         * gst/base/gstadapter.c:
13647         * gst/base/gstadapter.h:
13648         * gst/base/gstbasesink.c:
13649         * gst/base/gstbasesink.h:
13650         * gst/base/gstbasesrc.c:
13651         * gst/base/gstbasesrc.h:
13652         * gst/base/gstbasetransform.c:
13653         * gst/base/gstbasetransform.h:
13654         * gst/base/gstcollectpads.c:
13655         * gst/base/gstcollectpads.h:
13656         * gst/base/gstpushsrc.c:
13657         * gst/base/gstpushsrc.h:
13658         * gst/base/gsttypefindhelper.c:
13659         * gst/base/gsttypefindhelper.h:
13660         * gst/check/Makefile.am:
13661         * gst/check/gstcheck.c:
13662         * gst/check/gstcheck.h:
13663         * gst/net/Makefile.am:
13664         * gst/net/gstnet.h:
13665         * gst/net/gstnetclientclock.c:
13666         * gst/net/gstnetclientclock.h:
13667         * gst/net/gstnettimepacket.c:
13668         * gst/net/gstnettimepacket.h:
13669         * gst/net/gstnettimeprovider.c:
13670         * gst/net/gstnettimeprovider.h:
13671         * libs/gst/Makefile.am:
13672         * libs/gst/base/Makefile.am:
13673         * libs/gst/base/gstbasetransform.c:
13674         * libs/gst/check/Makefile.am:
13675         * plugins/elements/Makefile.am:
13676         * po/POTFILES.in:
13677           CVS surgery + support to move base, check, and net out of gst
13678           and into libs/gst
13679
13680 2005-11-29  Andy Wingo  <wingo@pobox.com>
13681
13682         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13683
13684         * gst/gststructure.h (struct _GstStructure): Only one pointer of
13685         padding.
13686
13687         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13688
13689         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13690
13691         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13692
13693         * gst/gstobject.h: (struct _GstObject): Only one pointer of
13694         padding; reduces object size by about 30%. We don't expect
13695         anything else to go into gstobject.
13696
13697         * gst/gstminiobject.h (struct _GstMiniObject)
13698         (struct _GstMiniObjectClass): Only one pointer of padding; the
13699         payload is only a pointer and two ints anyway. For the class there
13700         are only two methods as well.
13701         
13702         * gst/gstelement.h (struct _GstElementClass): Removed
13703         the state_changed signal callback, it is not used.
13704
13705 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13706
13707         * docs/gst/gstreamer.types:
13708           fix includes, though they are a little dinky
13709
13710 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13711
13712         * check/Makefile.am:
13713           look in the right place for elements, a lot more chance of
13714           success
13715         * gst/Makefile.am:
13716           remove indexers and elements subdirs
13717         * plugins/Makefile.am:
13718           make indexers conditional
13719
13720 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13721
13722         * Makefile.am:
13723         * configure.ac:
13724         * plugins/elements/Makefile.am:
13725         * plugins/elements/gstcapsfilter.c:
13726         * plugins/elements/gstfilesink.c:
13727         * plugins/elements/gstfilesrc.c:
13728         * plugins/elements/gstidentity.c:
13729         * plugins/indexers/Makefile.am:
13730           do CVS surgery and related build fixery to move elements
13731           and indexers in a new gstreamer/plugins directory, out of the
13732           gst/ directory
13733
13734 2005-11-29  Andy Wingo  <wingo@pobox.com>
13735
13736         * check/Makefile.am:
13737         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13738         * pkgconfig/gstreamer-net.pc.in:
13739         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13740         #322257.
13741
13742 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13743
13744         * tools/Makefile.am:
13745         * tools/gst-complete.1.in:
13746         * tools/gst-complete.c:
13747         * tools/gst-compprep.1.in:
13748         * tools/gst-compprep.c:
13749           removing -compprep and -complete
13750
13751 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13752
13753         * gst/gstevent.c: (gst_event_new_new_segment),
13754         (gst_event_parse_new_segment):
13755         * gst/gstevent.h:
13756           fix #320529 - clean up new_segment API and structure.
13757           Let's hope everyone was using the methods, and not the structure.
13758
13759 2005-11-29  Edward Hervey  <edward@fluendo.com>
13760
13761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13762         (gst_base_sink_event), (gst_base_sink_do_sync),
13763         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13764         Properly handle non GST_FORMAT_TIME segment
13765         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13766         Properly handle non GST_FORMAT_TIME segment
13767         * gst/gstsegment.c:
13768         This function is valid if the accumulator is 0 and the format
13769         is different from the requested format.
13770         
13771 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13772
13773         * docs/gst/gstreamer-sections.txt:
13774         Add gst_query_new_seeking and gst_query_parse_seeking to the
13775         docs.
13776
13777 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13778
13779         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13780           Treat a pad alloc with new caps the same as if we were not
13781           negotiated, in order to allow a changing upstream output
13782           to produce a new format of data.
13783
13784 2005-11-29  Edward Hervey  <edward@fluendo.com>
13785
13786         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13787         (gst_base_transform_event), (gst_base_transform_eventfunc):
13788         The event virtual method is now properly implemented, with a default
13789         handler
13790         Sub classes should call the parent_class event method. They should
13791         return FALSE if they had a problem handling the given event, or don't
13792         want GstBaseTransform to send that even downstream
13793         * gst/elements/gstidentity.c: (gst_identity_class_init),
13794         (gst_identity_init), (gst_identity_event),
13795         (gst_identity_transform_ip), (gst_identity_set_property),
13796         (gst_identity_get_property):
13797         * gst/elements/gstidentity.h:
13798         Added the single-segment boolean property.
13799         If set to TRUE, it will output a single segment of data, starting from
13800         0, will eat up all incoming newsegment, and modify the timestamp of the
13801         buffers accordingly
13802
13803 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
13804
13805         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13806           Don't ref NULL target pad (#322751). Improve docs.
13807
13808 2005-11-29  Michael Smith  <msmith@fluendo.com>
13809
13810         * gst/gstregistryxml.c: (load_plugin):
13811           Don't crash if we failed to load a feature from a plugin. 
13812
13813 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13814
13815         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13816         (GST_START_TEST):
13817           use more check API and less GLib API
13818
13819 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         * Makefile.am:
13822           don't run checks if we don't have check
13823         * common/check.mak:
13824           remove the registry when running make torture
13825         * docs/gst/gstreamer-sections.txt:
13826           remove second multiply
13827         * gst/gstqueue.c: (gst_queue_loop):
13828           fix a compile warning when disabling debug
13829
13830 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13831
13832         * gst/gstinfo.h:
13833         Hey! Let's print the pad name if the pointer != NULL instead
13834         of when it == NULL :-)
13835
13836 2005-11-28  Wim Taymans  <wim@fluendo.com>
13837
13838         * check/gst/gstutils.c: (GST_START_TEST):
13839         Updated check, add some scaling accuracy checking code.
13840
13841         * gst/gstutils.c: (gst_util_div128_64),
13842         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13843         (gst_util_uint64_scale_int):
13844         Fix 6 times faster division code. Optimize for common 
13845         1/1 and less common X/1 cases.
13846
13847 2005-11-28  Wim Taymans  <wim@fluendo.com>
13848
13849         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13850         More checks.
13851
13852         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13853         (do_linear_regression), (gst_clock_add_observation):
13854         Cleanups.
13855         Release lock when the clock cannot be slaved.
13856         Catch the case where the regression returned an invalid denominator.
13857
13858         * gst/gstutils.c: (gst_util_div128_64_iterate),
13859         (gst_util_div128_64), (gst_util_uint64_scale_int64),
13860         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13861         Add protentially more performant non-iterative 128/64 divide function
13862         that unfortunatly does not work yet.
13863         Shortcut the trivial 0/X = 0 case.
13864         Remove the warnings on overflow.
13865
13866 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13867
13868         * gst/gstplugin.c: (gst_plugin_register_func):
13869           everything causing a plugin not to load should be at least a WARNING
13870
13871 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
13872
13873         * docs/random/ensonic/dparams.txt:
13874           some TODOs for the next dev cycle
13875         * libs/gst/controller/gstcontroller.c:
13876         (gst_controlled_property_set_interpolation_mode),
13877         (gst_controlled_property_new):
13878         * libs/gst/controller/gstcontroller.h:
13879           use base type to assign acccessor functions
13880
13881 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13882
13883         * check/Makefile.am:
13884         Oops, that should have been top_srcdir
13885
13886 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13887
13888         * check/Makefile.am:
13889         * check/elements/fdsrc.c: (GST_START_TEST):
13890         Use a cmdline define to specify the location of a file to use for
13891         testing, to avoid breaking distcheck.
13892
13893 2005-11-28  Andy Wingo  <wingo@pobox.com>
13894
13895         * gst/gstpad.c (fixate_value): Use array functions for arrays.
13896
13897 2005-11-28  Edward Hervey  <edward@fluendo.com>
13898
13899         * tools/gst-launch.c: (main):
13900         Clarify the output strings, makes it easier to translate.
13901         Fixes #322626
13902
13903 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13904
13905         * gst/Makefile.am:
13906           don't try and build net if we don't even have <sys/socket.h>
13907
13908 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13909
13910         * check/Makefile.am:
13911         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13912         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13913           Add tests for fdsrc seekability
13914
13915         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13916         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13917         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13918         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13919         * gst/elements/gstfdsrc.h:
13920           fdsrc should not be a 'live' source.
13921           Implement seeking on seekable fd's.
13922
13923         * gst/gstquery.c: (gst_query_new_seeking),
13924         (gst_query_parse_seeking):
13925         * gst/gstquery.h:
13926           Implement SEEKING query functions: 
13927             *_new_seeking and *_parse_seeking
13928
13929 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13930
13931         * gst/gstelement.c: (gst_element_dispose):
13932           don't loop forever
13933
13934         * gst/gstiterator.c:
13935         * gst/gststructure.c:
13936           doc fixes
13937
13938         * libs/gst/controller/gstcontroller.c:
13939         (gst_controlled_property_set_interpolation_mode):
13940         * libs/gst/controller/gstcontroller.h:
13941         * libs/gst/controller/gstinterpolation.c:
13942         (interpolate_none_get_enum_value_array):
13943           support controlling enums
13944
13945 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13946
13947         * gst/gstvalue.c:
13948           Improve documentation for gst_value_union().
13949
13950         * gst/gstvalue.h:
13951           Change return value for union, intersect and subtract functions
13952           from gint to gboolean.
13953
13954 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13955
13956         * gst/gstvalue.c: (gst_value_serialize_any_list),
13957         (gst_value_transform_any_list_string),
13958         (gst_value_deserialize_list), (gst_value_deserialize_array),
13959         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13960         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13961         (gst_value_set_fraction_range_full),
13962         (gst_value_deserialize_fraction_range),
13963         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13964         (gst_value_deserialize_boolean),
13965         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13966         (gst_value_serialize_float), (gst_value_deserialize_float),
13967         (gst_string_wrap), (gst_value_deserialize_string),
13968         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13969         (gst_value_union_int_range_int_range),
13970         (gst_value_intersect_int_range_int_range),
13971         (gst_value_intersect_double_range_double_range),
13972         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13973         (gst_value_subtract_int_range_int_range),
13974         (gst_value_subtract_double_double_range),
13975         (gst_value_subtract_double_range_double_range),
13976         (gst_value_deserialize_fraction):
13977         * gst/gstvalue.h:
13978           Use gint, gdouble and gchar in our API instead of int, double and
13979           char (and make usage in gstvalue.c more consistent).
13980
13981 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13982
13983         * check/Makefile.am:
13984         * libs/gst/controller/Makefile.am:
13985         * libs/gst/dataprotocol/Makefile.am:
13986           fix up Makefile.am and remove GST_ENABLE_NEW
13987
13988 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * configure.ac:
13991         * gst/Makefile.am:
13992         * gst/base/Makefile.am:
13993         * gst/check/Makefile.am:
13994         * gst/elements/Makefile.am:
13995         * gst/net/Makefile.am:
13996           update LDFLAGS use some more
13997
13998 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13999
14000         * common/m4/gst-doc.m4:
14001           Fixes #312589
14002
14003 2005-11-26  Edward Hervey  <edward@fluendo.com>
14004
14005         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14006         This shouldn't issue a g_warning since it returns NULL if it
14007         couldn't find the plugin, and all functions using this behave
14008         properly on a NULL return. Switching to a GST_WARNING.
14009
14010 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14011
14012         * gst/gstbin.c: (gst_bin_handle_message_func):
14013         Don't leak clock messages.
14014
14015 2005-11-25  Wim Taymans  <wim@fluendo.com>
14016
14017         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14018         (gst_util_uint64_scale_int):
14019         Optimisations, remove unneeded vars.
14020
14021 2005-11-25  Wim Taymans  <wim@fluendo.com>
14022
14023         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14024         Added more checks for the high precision uint64 cases.
14025
14026         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14027         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14028         Implement high precision (guint64 * guint64) / guint64.
14029
14030 2005-11-24  Wim Taymans  <wim@fluendo.com>
14031
14032         * gst/base/gstbasesrc.c: (gst_base_src_query):
14033         Fix wrong percentage query.
14034
14035         * gst/gstutils.c: (gst_util_uint64_scale),
14036         (gst_util_uint64_scale_int):
14037         Add some more common cases that can be handled 
14038         efficiently to _scale.
14039
14040 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14041
14042         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14043         (gst_mini_object_suite):
14044           don't use check calls from threads; check probably isn't
14045           threadsafe and using a lock to make it threadsafe would
14046           defeat the purpose of this check
14047         * gst/check/gstcheck.c:
14048         * gst/check/gstcheck.h:
14049           use GST_DEBUG some more
14050
14051 2005-11-24  Wim Taymans  <wim@fluendo.com>
14052
14053         * gst/gstutils.c: (gst_util_uint64_scale),
14054         (gst_util_uint64_scale_int):
14055         Chain trivial case to _scale_int.
14056
14057 2005-11-24  Wim Taymans  <wim@fluendo.com>
14058
14059         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14060         Added test for scaling.
14061
14062         * gst/gstclock.h:
14063         Small doc fix.
14064
14065         * gst/gstutils.c: (gst_util_uint64_scale_int):
14066         Implemented high precision scaling code.
14067
14068 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
14069
14070         * gst/gstinfo.h:
14071           do not crash on pad==NULL
14072
14073 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14074
14075         Patch by: Stefan Kost
14076
14077         * common/gtk-doc.mak:
14078         * docs/gst/Makefile.am:
14079         * docs/libs/Makefile.am:
14080           Fix distcheck issues for the libraries docs build
14081           Closes #319599.
14082
14083 2005-11-24  Michael Smith <msmith@fluendo.com>
14084
14085         * docs/manual/basics-helloworld.xml:
14086           Fix bug #315027: memory leak in example code in docs.
14087
14088 2005-11-24  Michael Smith <msmith@fluendo.com>
14089
14090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14091           Unlock the PREROLL_LOCK in a failure case.
14092
14093 2005-11-24  Wim Taymans  <wim@fluendo.com>
14094
14095         * docs/gst/gstreamer-sections.txt:
14096         * gst/base/gstadapter.h:
14097         * gst/base/gstbasesink.h:
14098         * gst/base/gstbasesrc.h:
14099         * gst/base/gstbasetransform.h:
14100         * gst/base/gstpushsrc.h:
14101         * gst/elements/gstfakesink.h:
14102         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14103         * gst/elements/gstfakesrc.h:
14104         * gst/elements/gstfilesink.h:
14105         * gst/elements/gstfilesrc.h:
14106         * gst/gst.c:
14107         * gst/gstbin.c:
14108         * gst/gstbuffer.c: (_gst_buffer_copy):
14109         * gst/gstbus.h:
14110         * gst/gstcaps.c:
14111         * gst/gstchildproxy.c:
14112         * gst/gstclock.c:
14113         * gst/gstelement.c:
14114         * gst/gstelementfactory.c:
14115         * gst/gstelementfactory.h:
14116         * gst/gstevent.c:
14117         * gst/gstghostpad.h:
14118         * gst/gstindex.h:
14119         * gst/gstinterface.h:
14120         * gst/gstminiobject.c:
14121         * gst/gstminiobject.h:
14122         * gst/gstpad.c:
14123         * gst/gstpad.h:
14124         * gst/gstpadtemplate.h:
14125         * gst/gstpipeline.h:
14126         * gst/gstpluginfeature.h:
14127         * gst/gstquery.h:
14128         * gst/gstqueue.h:
14129         * gst/gsttaglist.c:
14130         * gst/gsttaglist.h:
14131         * gst/gsttagsetter.c:
14132         * gst/gsttagsetter.h:
14133         * gst/gsttrace.c:
14134         * gst/gsttrace.h:
14135         * gst/gsttypefind.h:
14136         * gst/gsturi.h:
14137         * gst/gstvalue.c:
14138         * gst/net/gstnetclientclock.c:
14139         * gst/net/gstnetclientclock.h:
14140         * gst/net/gstnettimepacket.c:
14141         * gst/net/gstnettimeprovider.c:
14142         * gst/net/gstnettimeprovider.h:
14143         Doc fixes.
14144
14145 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14146
14147         * configure.ac: back to HEAD
14148
14149 === release 0.9.6 ===
14150
14151 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14152
14153         * configure.ac:
14154           releasing 0.9.6, "Always On Time"
14155
14156 2005-11-23  Wim Taymans  <wim@fluendo.com>
14157
14158         * docs/gst/gstreamer-sections.txt:
14159         * gst/glib-compat.c:
14160         * gst/gsttagsetter.c:
14161         * gst/gstvalue.c:
14162         * gst/net/gstnetclientclock.c:
14163         * gst/net/gstnettimepacket.h:
14164         Doc updates.
14165
14166 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14167
14168         * docs/faq/using.xml:
14169         * docs/libs/tmpl/gstcontrol.sgml:
14170         * docs/manual/advanced-dparams.xml:
14171         * docs/manual/appendix-checklist.xml:
14172         * docs/manual/basics-elements.xml:
14173         * docs/pwg/other-source.xml:
14174         * docs/random/moving-plugins:
14175         * gst/gstpad.c:
14176         * tools/gst-launch.1.in:
14177           remove mentions of sinesrc
14178
14179 2005-11-23  Michael Smith <msmith@fluendo.com>
14180
14181         * docs/gst/gstreamer-sections.txt:
14182           Update for new API and API changes.
14183         * gst/gstobject.h:
14184           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14185         * gst/gstvalue.c:
14186           Documentation typo fix.
14187         * gst/net/gstnettimepacket.c:
14188           Documentation fixes for arguments.
14189
14190 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14191
14192         * gst/gststructure.c: (gst_structure_get_fraction),
14193         (gst_structure_parse_value),
14194         (gst_structure_fixate_field_nearest_fraction):
14195         * gst/gststructure.h:
14196         * gst/gstutils.c: (gst_util_uint64_scale_int):
14197         * gst/gstutils.h:
14198         * scripts/update-funcnames:
14199         API Changes. 
14200         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14201         Make gst_structure_fixate_field_nearest_fraction take a numerator
14202         and denominator argument instead of a GValue
14203         add gst_structure_get_fraction helper function.
14204
14205 2005-11-23  Wim Taymans  <wim@fluendo.com>
14206
14207         * docs/design/part-TODO.txt:
14208         Update TODO.
14209
14210         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14211         * gst/net/gstnetclientclock.h:
14212         Use parent fields for timeout and window_size.
14213
14214 2005-11-23  Andy Wingo  <wingo@pobox.com>
14215
14216         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14217         rate_num/rate_denom change.
14218
14219         * gst/net/gstnetclientclock.c
14220         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14221         OBJECT_LOCK. Don't call add_observation with the lock.
14222
14223         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14224         fraction.
14225         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14226         rate fraction.
14227         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14228         deal with rate as a fraction whose numerator and denominator are
14229         GstClockTime values.
14230         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14231         master; the other fields are protected by the SLAVE_LOCK.
14232         (do_linear_regression): Note that this must be called with the
14233         SLAVE_LOCK.
14234         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14235         OBJECT_LOCK. Call set_calibration instead of touching the
14236         variables directly.
14237         (gst_clock_set_property, gst_clock_get_property): Protect
14238         master/slave parameters with the SLAVE_LOCK.
14239
14240         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14241         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14242         note that all of the instance variables that add_observation and
14243         the set_master functions use are protected by that lock and not
14244         the OBJECT_LOCK.
14245         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14246
14247         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14248         the caller to take the object lock.
14249
14250 2005-11-23  Wim Taymans  <wim@fluendo.com>
14251
14252         * gst/gsterror.c: (_gst_core_errors_init):
14253         * gst/gsterror.h:
14254         Add error for clock stuff.
14255
14256         * gst/gstpipeline.c: (gst_pipeline_change_state),
14257         (gst_pipeline_set_clock):
14258         Post clock error when clock cannot be used in a pipeline.
14259
14260 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14261
14262         * docs/gst/gstreamer-sections.txt:
14263           make two symbols from gstinfo private for the docs
14264         * gst/base/gstcollectpads.h:
14265         * gst/gstutils.c:
14266           fix doc typos, update docs
14267
14268 2005-11-22  Wim Taymans  <wim@fluendo.com>
14269
14270         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14271         (gst_base_sink_wait), (gst_base_sink_do_sync),
14272         (gst_base_sink_handle_event):
14273         * gst/base/gstbasesink.h:
14274         No need to store the clock, the parent element class already
14275         has it.
14276
14277         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14278         Updates for clock_set returning a gboolean
14279
14280         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14281         (gst_clock_id_wait_async), (gst_clock_class_init),
14282         (gst_clock_init), (gst_clock_finalize),
14283         (gst_clock_get_internal_time), (gst_clock_get_time),
14284         (gst_clock_slave_callback), (gst_clock_set_master),
14285         (gst_clock_get_master), (do_linear_regression),
14286         (gst_clock_add_observation), (gst_clock_set_property),
14287         (gst_clock_get_property):
14288         * gst/gstclock.h:
14289         Implement master/slave. When setting a clock as a slave, a
14290         periodic timeout is scheduled to sample master and slave times.
14291         Then the slave clock is recalibrated to match offset and rate
14292         of the master clock.
14293         Update logging a bit.
14294         Add flag so that a clock can state that is cannot be slaved to
14295         another clock.
14296
14297         * gst/gstelement.c: (gst_element_set_clock):
14298         * gst/gstelement.h:
14299         The set clock returns a gboolean for when an element cannot
14300         deal with the selected clock in the pipeline. 
14301
14302         * gst/gstpipeline.c: (gst_pipeline_change_state),
14303         (gst_pipeline_set_clock):
14304         * gst/gstpipeline.h:
14305         Handle the case where the selected clock cannot be set on
14306         the pipeline.
14307
14308         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14309         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14310         (gst_net_client_clock_set_property),
14311         (gst_net_client_clock_get_property),
14312         (gst_net_client_clock_observe_times):
14313         * gst/net/gstnetclientclock.h:
14314         Use regression code in GstClock parent, remove duplicated
14315         functionality.
14316
14317 2005-11-22  Michael Smith <msmith@fluendo.com>
14318
14319         * gst/gstutils.c: (gst_util_clock_time_scale):
14320         * gst/gstutils.h:
14321         * docs/gst/gstreamer-sections.txt:
14322           Rename method to have extra underscore.
14323
14324 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14325
14326         * gst/elements/Makefile.am:
14327         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14328         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14329         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14330         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14331         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14332         * gst/elements/gstfakesrc.h:
14333         * gst/gstqueue.c: (queue_leaky_get_type):
14334           correctly fix GEnumValues so that nick is the short lowercase
14335           dashed tag
14336         * tools/gst-inspect.c: (print_element_properties_info):
14337           also show the nick, since it's useful to use from parse_launch
14338           syntax
14339           Fixes #322139
14340
14341 2005-11-22  Michael Smith <msmith@fluendo.com>
14342
14343         * gst/gstutils.c: (gst_util_clocktime_scale):
14344         * gst/gstutils.h:
14345         * docs/gst/gstreamer-sections.txt:
14346           Add util method for scaling a clocktime by a fraction. Useful 
14347           implementation is left as an exercise for the reader.
14348
14349 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14350
14351         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14352         If needed, allocate storage in the destination value during
14353         collection.
14354
14355 2005-11-22  Edward Hervey  <edward@fluendo.com>
14356
14357         * docs/gst/gstreamer-sections.txt:
14358         * gst/Makefile.am:
14359         * gst/gst.h:
14360         * gst/gsturitype.c:
14361         * gst/gsturitype.h:
14362         * gst/gstutils.c: (gst_util_set_object_arg):
14363         * tools/gst-compprep.c: (main):
14364         * tools/gst-inspect.c: (print_element_properties_info):
14365         Removed GstURI, closes bug #321061
14366
14367 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14368
14369         * check/gst/gststructure.c: (GST_START_TEST):
14370         * gst/gststructure.c: (gst_structure_parse_value):
14371           Oops, broke automatic string type parsing.
14372           Add a test to catch it in future.
14373
14374 2005-11-22  Andy Wingo  <wingo@pobox.com>
14375
14376         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14377         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14378         Actually rename the function implementations. Grr.
14379
14380 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14381
14382         * check/gst/capslist.h:
14383           Comment test cases
14384         * check/gst/gststructure.c: (GST_START_TEST),
14385         (gst_structure_suite):
14386           Test automatic value type detection in gst_structure_from_string.
14387         * gst/gststructure.c: (gst_structure_parse_value):
14388           Add fraction as a type we try and guess automatically in
14389           caps/structure strings.
14390
14391 2005-11-22  Andy Wingo  <wingo@pobox.com>
14392
14393         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14394
14395         * gst/gsttagsetter.h:
14396         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14397         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14398         (gst_tag_setter_add_tag_valist)
14399         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14400         _add_values, _add_valist, and _add_valist_values. Since this is an
14401         interface the function suffixes should be more explicit so
14402         language binding don't end up with element.add_valist ->
14403         gst_tag_setter_add_valist, for example. Fixes #322069.
14404
14405 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14406
14407         * check/gst/gstcaps.c: (GST_START_TEST):
14408           Extend caps string tests to check that a caps to string
14409           conversion is reversible and produces the same caps.
14410
14411         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14412           Output "fraction" as the generic type fraction range, so caps
14413           serialisation and deserialisation works.
14414         * check/gst/capslist.h:
14415         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14416           Support 'MIN' and 'MAX' for deserialising fractions.
14417
14418 2005-11-22  Andy Wingo  <wingo@pobox.com>
14419
14420         * gst/gstevent.h (gst_event_new_new_segment)
14421         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14422         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14423         Renamed from *_newsegment, *_buffersize, *_notarget.
14424
14425         * scripts/update-funcnames: New script, performs the changes
14426         listed above.
14427
14428 2005-11-22  Wim Taymans  <wim@fluendo.com>
14429
14430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14431         Make sure the GstFlowReturn is returned.
14432
14433         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14434         (gst_bus_add_signal_watch):
14435         * gst/gstbus.h:
14436         add gst_bus_add_signal_watch_full.
14437
14438         * gst/gstplugin.c: (gst_plugin_load_file):
14439         Small style cleanup.
14440
14441 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14442
14443         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14444           Block the fakesrc srcpad when we send an event, to avoid
14445           contention on the stream_lock causing random test failures.
14446
14447 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14448
14449         * check/gst/gstvalue.c: (GST_START_TEST):
14450         * gst/gstvalue.c: (gst_value_fraction_subtract):
14451           Fix subtraction.
14452
14453 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14454
14455         * gst/gst.h:
14456           include "gstchildproxy.h"
14457         * gst/gstchildproxy.h:
14458         * libs/gst/controller/gstcontroller.h:
14459           use G_GNUC_NULL_TERMINATED
14460
14461 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14462
14463         * check/gst/capslist.h:
14464         * check/gst/gstcaps.c: (GST_START_TEST):
14465         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14466         * gst/gststructure.c: (gst_structure_parse_range),
14467         (gst_structure_fixate_field_nearest_fraction):
14468         * gst/gststructure.h:
14469         * gst/gstvalue.c: (gst_value_init_fraction_range),
14470         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14471         (gst_value_collect_fraction_range),
14472         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14473         (gst_value_set_fraction_range_full),
14474         (gst_value_get_fraction_range_min),
14475         (gst_value_get_fraction_range_max),
14476         (gst_value_serialize_fraction_range),
14477         (gst_value_transform_fraction_range_string),
14478         (gst_value_compare_fraction_range),
14479         (gst_value_deserialize_fraction_range),
14480         (gst_value_intersect_fraction_fraction_range),
14481         (gst_value_intersect_fraction_range_fraction_range),
14482         (gst_value_subtract_fraction_fraction_range),
14483         (gst_value_subtract_fraction_range_fraction),
14484         (gst_value_subtract_fraction_range_fraction_range),
14485         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14486         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14487         (gst_value_transform_string_fraction), (_gst_value_initialize):
14488         * gst/gstvalue.h:
14489           Implement fraction ranges and extend GstFraction to support
14490           arithmetic subtraction, as well as deserialization from integer
14491           strings such as "100"
14492           Add a testsuite as for int and double range set operations
14493
14494 2005-11-21  Andy Wingo  <wingo@pobox.com>
14495
14496         * gst/gsttaglist.h: 
14497         * gst/gstcaps.h: 
14498         * gst/gststructure.h: Add glib-compat.h.
14499
14500 2005-11-21  Wim Taymans  <wim@fluendo.com>
14501
14502         * gst/gstbin.c: (gst_bin_change_state_func):
14503         Fix for #321595
14504
14505 2005-11-21  Wim Taymans  <wim@fluendo.com>
14506
14507         * gst/gstsegment.h:
14508         And add a nice define too.
14509
14510 2005-11-21  Wim Taymans  <wim@fluendo.com>
14511
14512         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14513         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14514         (gst_segment_set_duration), (gst_segment_set_last_stop),
14515         (gst_segment_set_seek), (gst_segment_set_newsegment),
14516         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14517         (gst_segment_clip):
14518         * gst/gstsegment.h:
14519         Make binding friendly.
14520
14521 2005-11-21  Andy Wingo  <wingo@pobox.com>
14522
14523         * gst/gsttagsetter.h: 
14524         * gst/gsttaglist.h: 
14525         * gst/gststructure.h: 
14526         * gst/gstcaps.h: 
14527         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14528         #319940.
14529
14530         * gst/gsterror.c (_gst_core_errors_init):
14531         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14532         category.
14533
14534         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14535         (noinst_HEADERS): noinst the -private.
14536
14537 2005-11-21  Michael Smith <msmith@fluendo.com>
14538
14539         * gst/gstplugin.h:
14540         * gst/gstregistry.h:
14541           Remove unimplemented declarations for which we can see no sensible
14542           use.
14543
14544 2005-11-21  Andy Wingo  <wingo@pobox.com>
14545
14546         * gst/gst.h: Include glib-compat.h.
14547
14548         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14549
14550         * gst/glib-compat.c: Include the public and the private header.
14551
14552         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14553
14554         * gst/gstvalue.c: 
14555         * gst/gstpad.c: 
14556         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14557
14558         * check/gst/gstevent.c (create_custom_events): Check that
14559         FLUSH_STOP is serialized.
14560
14561         * check/elements/identity.c (event_func): 
14562         * check/elements/fakesrc.c (event_func): No stream lock, the core
14563         takes it.
14564
14565         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14566         stream lock taking, yay.
14567
14568         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14569         ensure that core takes the stream lock.
14570
14571         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14572         lock name change.
14573
14574         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14575         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14576         it already. For the flush start we do take it though so we get the
14577         right preroll state change messages.
14578
14579         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14580         the stream lock here, the core does it for us.
14581
14582         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14583         GST_STREAM_GET_LOCK.
14584         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14585         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14586         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14587         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14588         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14589         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14590
14591         * gst/gstpad.c: Update for stream lock name change.
14592
14593         * gst/base/gstbasesink.c: Update for preroll lock name change.
14594
14595 2005-11-21  Wim Taymans  <wim@fluendo.com>
14596
14597         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14598         (gst_clock_get_master):
14599         * gst/gstclock.h:
14600         * gst/gstsystemclock.c: (gst_system_clock_init):
14601         Convert Clock flags to object flags.
14602         Added methods to manage master/slave clocks.
14603
14604 2005-11-21  Wim Taymans  <wim@fluendo.com>
14605
14606         * check/gst/gstsegment.c: (GST_START_TEST):
14607         * docs/design/part-TODO.txt:
14608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14609         (gst_base_sink_event), (gst_base_sink_do_sync),
14610         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14611         (gst_base_sink_query), (gst_base_sink_change_state):
14612         * gst/base/gstbasesink.h:
14613         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14614         (gst_base_src_default_newsegment),
14615         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14616         (gst_base_src_get_range), (gst_base_src_loop),
14617         (gst_base_src_change_state):
14618         * gst/base/gstbasesrc.h:
14619         * gst/base/gstbasetransform.c:
14620         (gst_base_transform_prepare_output_buf),
14621         (gst_base_transform_event), (gst_base_transform_change_state):
14622         * gst/base/gstbasetransform.h:
14623         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14624         (gst_collect_pads_event):
14625         * gst/base/gstcollectpads.h:
14626         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14627         (gst_fake_src_create):
14628         * gst/elements/gstfakesrc.h:
14629         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14630         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14631         (gst_segment_set_last_stop), (gst_segment_set_seek),
14632         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14633         (gst_segment_to_running_time), (gst_segment_clip):
14634         * gst/gstsegment.h:
14635         More segment updates, replace code in plugins with segment
14636         helper functions.
14637
14638 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14639
14640         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14641         Don't ignore sscanf results
14642
14643 2005-11-21  Andy Wingo  <wingo@pobox.com>
14644
14645         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14646
14647         * *.h:
14648         * *.c: Ran scripts/update-macros. Oh yes.
14649
14650         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14651         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14652         GST_GET_LOCK, etc.
14653
14654         * scripts/update-macros: New script. Run it on your files to
14655         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14656         well.
14657
14658 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14659
14660         * docs/gst/Makefile.am:
14661         * docs/gst/gstreamer-docs.sgml:
14662         * docs/gst/gstreamer-sections.txt:
14663         * docs/gst/gstreamer.types:
14664         * gst/gstinfo.h:
14665           more docs fixes, add new api to the docs
14666
14667 2005-11-21  Andy Wingo  <wingo@pobox.com>
14668
14669         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14670         state_broadcast call.
14671
14672         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14673
14674 2005-11-21  Julien MOUTTE  <julien@moutte.net>
14675
14676         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14677         function calls for arrays.
14678
14679 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14680
14681         * docs/random/ensonic/media-device-daemon.txt:
14682           wild idea, can this be done?
14683         * docs/gst/gstreamer-sections.txt:
14684         * gst/gsterror.h:
14685         * gst/gstfilter.c:
14686         * gst/gstfilter.h:
14687         * gst/gstplugin.h:
14688         * gst/gstpluginfeature.c:
14689         * gst/gsttrace.c:
14690         * gst/gstvalue.c:
14691         * gst/gstvalue.h:
14692           doc fixes and additions
14693
14694 2005-11-21  Andy Wingo  <wingo@pobox.com>
14695
14696         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
14697         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
14698         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
14699         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14700         private to the basesrc implementation.
14701
14702         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14703         behalf of event function if necessary. It should no longer be
14704         necessary to take the stream lock in pad's event functions. Fixes
14705         #320299.
14706
14707 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14708         * docs/gst/gstreamer-sections.txt:
14709         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14710         (gst_structure_fixate_field_nearest_double),
14711         (gst_structure_fixate_field_boolean):
14712         * gst/gststructure.h:
14713         * win32/common/libgstreamer.def:
14714         * win32/gstreamer.def:
14715
14716         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14717         (#322027)
14718
14719 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14720
14721         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14722         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14723         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14724         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14725         (gst_fdsrc_uri_handler_init):
14726         * gst/elements/gstfdsrc.h:
14727           Port fd:// URI handler from 0.8 to fdsrc
14728
14729 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14730
14731         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14732         (gst_value_serialize_fourcc):
14733         * gst/gstvalue.h:
14734           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14735           consistent with our other format defines (#320324).
14736
14737 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14738
14739         * gst/gstvalue.c: (gst_value_is_fixed):
14740           Revert previous commit. Value lists are by definition
14741           not fixed, as they are a list of possible values.
14742
14743 2005-11-21  Andy Wingo  <wingo@pobox.com>
14744
14745         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14746         during the stable series if we need it. Fixes #319178.
14747
14748         * gst/gstevent.c (gst_event_new_filler): Removed.
14749
14750         * check/gst/gstevent.c: Update comment about filler events.
14751
14752 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14753
14754         * gst/gstvalue.c: (gst_value_is_fixed):
14755           Should handle both value arrays and value lists.
14756
14757 2005-11-21  Andy Wingo  <wingo@pobox.com>
14758
14759         patch by: Alessandro Dessina <alessandro nnva org>
14760
14761         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14762         functions to access arrays. Fixes #321962.
14763
14764 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14765
14766         * docs/gst/gstreamer.types:
14767           gst_collectpads_get_type => gst_collect_pads_get_type.
14768           
14769         * gst/base/gstbasetransform.c:
14770           Remove unused SIGNAL_HANDOFF enum.
14771
14772 2005-11-21  Andy Wingo  <wingo@pobox.com>
14773
14774         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14775         the event type (upstream, downstream, serialized). Renamed
14776         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14777         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14778         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14779
14780         * gst/gstevent.c: Update for new CUSTOM event names.
14781
14782         * check/gst/gstevent.c: Update check for new CUSTOM event names.
14783
14784         * gst/gstevent.h:
14785         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14786         bug #319392.
14787
14788 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14789
14790         * docs/gst/gstreamer-sections.txt:
14791         * win32/common/libgstbase.def:
14792         * win32/libgstbase.def:
14793         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14794         (gst_collect_pads_class_init), (gst_collect_pads_init),
14795         (gst_collect_pads_finalize), (gst_collect_pads_new),
14796         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14797         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14798         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14799         (gst_collect_pads_start), (gst_collect_pads_stop),
14800         (gst_collect_pads_peek), (gst_collect_pads_pop),
14801         (gst_collect_pads_available), (gst_collect_pads_read),
14802         (gst_collect_pads_flush), (gst_collect_pads_event),
14803         (gst_collect_pads_chain):
14804         * gst/base/gstcollectpads.h:
14805           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14806           unimplemented functions as unimplemented. Add padding to
14807           GstCollectData. (#320766, #320423)
14808
14809 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14810
14811         * gst/gstmessage.c:
14812           Improve docs for DURATION message (usage of duration parameter)
14813           (#320113)
14814
14815 2005-11-20  Wim Taymans  <wim@fluendo.com>
14816
14817         * check/Makefile.am:
14818         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14819         (main):
14820         * gst/Makefile.am:
14821         * gst/gst.h:
14822         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14823         (gst_segment_set_seek), (gst_segment_set_newsegment),
14824         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14825         (gst_segment_clip):
14826         * gst/gstsegment.h:
14827         Added segment helper structure and methods. Not fully implemented
14828         yet.
14829         Added segment check.
14830
14831 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
14832
14833         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14834           Add a deserialisation test for fractions
14835         * examples/metadata/read-metadata.c: (message_loop),
14836         (make_pipeline), (main):
14837           Fix up metadata reading sample.
14838         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14839           Debug format fix
14840         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14841           Don't try and fixate empty caps
14842         * gst/gst_private.h:
14843           Wrap in G_BEGIN_DECLS/G_END_DECLS
14844         * gst/gstvalue.c: (gst_value_collect_fraction),
14845         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14846         (gst_value_transform_string_fraction),
14847         (gst_value_compare_fraction):
14848           Add some extra guards to ensure that we don't end up 
14849           with an invalid denominator of 0 in a gstfraction and
14850           that fractions always get reduced.
14851
14852 2005-11-20  Wim Taymans  <wim@fluendo.com>
14853
14854         * docs/gst/gstreamer-sections.txt:
14855         * gst/gstbuffer.h:
14856         * gst/gstelement.c:
14857         * gst/gstformat.c:
14858         * gst/gstformat.h:
14859         * gst/gstindex.h:
14860         * gst/gstquery.c:
14861         * gst/gstquery.h:
14862         * gst/gstvalue.c:
14863         Doc fixes.
14864
14865 2005-11-20  Wim Taymans  <wim@fluendo.com>
14866
14867         * docs/design/part-TODO.txt:
14868         * gst/gstcaps.h:
14869         Make a proper enum of the flag.
14870
14871 2005-11-19  Wim Taymans  <wim@fluendo.com>
14872
14873         * docs/design/part-TODO.txt:
14874         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14875         (gst_format_to_quark), (gst_format_register):
14876         * gst/gstformat.h:
14877         * gst/gstquery.c: (_gst_query_initialize),
14878         (gst_query_type_get_name), (gst_query_type_to_quark),
14879         (gst_query_type_register):
14880         * gst/gstquery.h:
14881         Add type to quark and type to string conversions.
14882
14883 2005-11-19  Andy Wingo  <wingo@pobox.com>
14884
14885         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14886         #320097.
14887
14888 2005-11-19  Wim Taymans  <wim@fluendo.com>
14889
14890         * docs/design/part-TODO.txt:
14891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14892         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14893         (gst_bin_handle_message_func):
14894         * gst/gstbin.h:
14895         Make message handling overridable.
14896
14897 2005-11-19  Andy Wingo  <wingo@pobox.com>
14898
14899         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14900
14901         * gst/gstclock.h:
14902         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14903         be a GstClockTime.
14904         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14905         is a GstClockTime. Fixes #321710.
14906
14907         * gst/gstclock.h (GstClock): Remove offset property. Add
14908         internal_calibration and external_calibration. Fix padding. Pad
14909         also by GstClockTime so we don't run into problems.
14910
14911         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14912         (gst_clock_get_rate_offset): Remove.
14913         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14914
14915         * gst/gstutils.h:
14916         * gst/gstutils.c (g_static_rec_cond_wait)
14917         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14918
14919         * gst/gstbin.c: Remove terrible continue_state prototype.
14920
14921         * gst/gstelement.h (gst_element_continue_state): Make public.
14922
14923         * gst/gstelement.h:
14924         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14925         by continue_state. Fixes #319389.
14926
14927         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14928         Really fixes #168438. However I don't see anywhere where the
14929         filter function is called... stupid GStreamer...
14930         
14931         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14932         don't have a dispose function, so it won't get called when the
14933         object is unreffed, but oh well!
14934
14935         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14936         allows a destroy function to be set so user_data can be freed.
14937         Fixes #168438.
14938         (gst_index_set_filter): Call gst_index_set_filter_full.
14939
14940         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14941
14942         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14943         string should produce an error, given the lack of a way to
14944         represent NULL strings. Fixes #165650.
14945         
14946         * gst/gstvalue.h: 
14947         * gst/gstvalue.c (gst_value_array_append_value) 
14948         (gst_value_array_prepend_value, gst_value_array_get_size) 
14949         (gst_value_array_get_value): New API, copied from
14950         gst_value_list_*, only operates on arrays.
14951         (gst_value_list_append_value, gst_value_list_prepend_value) 
14952         (gst_value_list_concat, gst_value_list_get_size) 
14953         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14954
14955         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14956         init_list, because it works on both.
14957         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14958         (gst_value_copy_list_or_array): Renamed from copy_list.
14959         (gst_value_free_list_or_array): Renamed from free_list.
14960         (gst_value_collect_list_or_array): Renamed from collect_list.
14961         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14962         (gst_value_list_or_array_peek_pointer): Renamed from
14963         list_peek_pointer.
14964         (_gst_value_array_value_table, _gst_value_list_value_table):
14965         Update value table functions.
14966         (gst_value_compare_list_or_array): Renamed from compare_list.
14967
14968         * gsttaglist.h: Whoops, foreach function returns void. Also fix
14969         some constness.
14970
14971         * gst/gsttaglist.c:
14972         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14973         GstTagList*. Fixes #143472.
14974
14975         * gst/gststructure.h: Clarify what the foreach/map functions can
14976         or can't do to their arguments.
14977
14978 2005-11-18  Wim Taymans  <wim@fluendo.com>
14979
14980         * gst/gstclock.c: (gst_clock_set_calibration),
14981         (gst_clock_get_calibration):
14982         Doc and API fixes.
14983         Calibration can be set with internal time equal to current
14984         internal time too.
14985
14986 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14987
14988         * gst/gsterror.c:
14989         * gst/gsterror.h:
14990           document
14991
14992 2005-11-18  Andy Wingo  <wingo@pobox.com>
14993
14994         * configure.ac: 
14995         * pkgconfig/gstreamer-net.pc.in:
14996         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14997         * pkgconfig/Makefile.am: Add net pkgconfig files.
14998
14999 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15000
15001         * gst/gstcaps.c:
15002         * gst/gstghostpad.c:
15003         * gst/gsttrace.c:
15004         * gst/gstvalue.c:
15005         * gst/gstvalue.h:
15006           docs fixes
15007
15008 2005-11-18  Andy Wingo  <wingo@pobox.com>
15009
15010         * gst/net/gstnetclientclock.c: Turn off debugging.
15011
15012         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15013         times connverge somewhat. Can't make a real test.
15014
15015         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15016         integer arithmetic. Return the minimum of the domain, which can be
15017         set as "internal" for gst_clock_set_calibration.
15018         (gst_net_client_clock_observe_times): Call _set_calibration.
15019         (gst_net_client_clock_new): Call _set_calibration instead of
15020         rate_offset.
15021
15022         * check/net/gstnetclientclock.c (test_functioning): Use the right
15023         adjustment api.
15024
15025         * gst/gstclock.h:
15026         * gst/gstclock.c (gst_clock_get_calibration) 
15027         (gst_clock_set_calibration): New functions, obsolete the ones I
15028         added yesterday. Doh. Precision issues mean we have to extrapolate
15029         from a point in the more recent past than 1970.
15030         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15031         obsolete.
15032         (gst_clock_adjust_unlocked): Use the right calibration data.
15033
15034 2005-11-18  Edward Hervey  <edward@fluendo.com>
15035
15036         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15037         Also reset the ->current_* values in READY->PAUSED
15038
15039 2005-11-18  Andy Wingo  <wingo@pobox.com>
15040
15041         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15042         Whoops, check the right fd. Also add some debugging.
15043         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15044         (do_linear_regression): Add a crapload of debugging. Subtract off
15045         the minimum values from the input series to discard unneeded bits.
15046         Use only int arithmetic. There is still double arithmetic when
15047         calculating the intercept that needs fixing. Return boolean to
15048         indicate success; FALSE would mean the domain or range is too
15049         great. Still needs fixes.
15050
15051 2005-11-18  Wim Taymans  <wim@fluendo.com>
15052
15053         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15054         For the current position in stream time, we need to subtract
15055         accumulated time.
15056         
15057         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15058         Release lock before calling the callback function of async
15059         entries.
15060
15061 2005-11-18  Andy Wingo  <wingo@pobox.com>
15062
15063         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15064         Port goes all the way to MAXUINT16.
15065
15066         * gst/net/gstnettimeprovider.c: Make the port range the same as
15067         for the kernel: 0 assigns, otherwise ports are less than
15068         MAXUINT16.
15069
15070         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15071         port change.
15072
15073         * check/net/gstnetclientclock.c (test_functioning): Add the start
15074         of another test. 
15075
15076 2005-11-18  Wim Taymans  <wim@fluendo.com>
15077
15078         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15079         (gst_bin_remove_func), (bin_bus_handler):
15080         * gst/gstbin.h:
15081         Removing a clock provider from a bin, triggers a clock lost message
15082         so that a new clock will be selected.
15083         Adding a clock to a bin triggers a clock provider message.
15084         Make sure we reselect a clock when we received a clock lost message.
15085         Keep a reference to the element that provided the clock.
15086
15087 2005-11-18  Andy Wingo  <wingo@pobox.com>
15088
15089         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15090         the clock initially so it produces values around the base time.
15091         (gst_net_client_clock_class_init): Typo fix.
15092         (gst_net_client_clock_thread): Add note on when the socket gets
15093         closed.
15094
15095 2005-11-17  Wim Taymans  <wim@fluendo.com>
15096
15097         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15098         Free remote and local time arrays.
15099
15100 2005-11-17  Wim Taymans  <wim@fluendo.com>
15101
15102         * gst/net/gstnetclientclock.c: (do_linear_regression),
15103         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15104         Fix compilation, uninitialized vars and a forgotten continue.
15105
15106 2005-11-17  Andy Wingo  <wingo@pobox.com>
15107
15108         * check/Makefile.am (check_PROGRAMS): 
15109         * check/net/gstnetclientclock.c: Add a most minimal test for the
15110         net client clock. More to come later.
15111
15112         * gst/net/gstnet.h: 
15113         * gst/net/Makefile.am: Add netclientclock.
15114
15115         * gst/net/gstnetclientclock.h:
15116         * gst/net/gstnetclientclock.c: New files, implement an untested
15117         GstClock that takes its time from a network time provider.
15118         Implements the algorithm in network-clock.scm.
15119
15120         * tests/network-clock.scm (*window-size*): Rename from
15121         *queue-length*.
15122         * tests/network-clock.scm (network-time): 
15123         * tests/network-clock-utils.scm (q-push): Update callers.
15124
15125 2005-11-17  Wim Taymans  <wim@fluendo.com>
15126
15127         * gst/gstbin.c: (gst_bin_provide_clock_func),
15128         (gst_bin_sort_iterator_new):
15129         And unref the child too..
15130
15131 2005-11-17  Wim Taymans  <wim@fluendo.com>
15132
15133         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15134         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15135         Refactor the sort iterator so it can be used while holding the
15136         LOCK too.
15137         Make clock selection select a clock closest to the source.
15138
15139 2005-11-17  Michael Smith <msmith@fluendo.com>
15140
15141         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15142         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15143         * gst/gstclock.h:
15144           Anonymous structs are a gcc (and some other compilers) extension, so
15145           don't use them. Since this is only for ABI-compatibility, and our
15146           API/ABI freeze is over in a few days, this whole thing will only
15147           last a few days, so don't bother trying to think up a meaningful
15148           name for the struct.
15149
15150 2005-11-17  Andy Wingo  <wingo@pobox.com>
15151
15152         * gst/gstclock.h (GstClock): Add rate and offset properties,
15153         preserving ABI stability. Add rate/offset accessors. Will file bug
15154         for the freeze break.
15155
15156         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15157         and offset, trying to keep precision and avoiding
15158         underflow/overflow.
15159         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15160         functions. Make gst_clock_set_time_adjust obsolete.
15161         (gst_clock_set_time_adjust): Note that this function is obsolete.
15162         Will file bug soon.
15163
15164         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15165         greppable by using GST_PADDING-1+1.
15166
15167 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15168
15169         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15170
15171         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15172           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15173
15174         * gst/gstpadtemplate.h:
15175         * gst/gstpluginfeature.h:
15176           Don't use c++ style comments in headers (#321638).
15177
15178 2005-11-16  Andy Wingo  <wingo@pobox.com>
15179
15180         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15181         buffer.
15182
15183         * check/net/gstnettimeprovider.c: Check to see that the time
15184         provider actually provides times. Works, yo!
15185
15186 2005-11-16  Wim Taymans  <wim@fluendo.com>
15187
15188         * check/Makefile.am:
15189         Enable more tests.
15190
15191         * check/elements/fakesrc.c: (GST_START_TEST):
15192         Set element to NULL before disposing it.
15193
15194 2005-11-16  Andy Wingo  <wingo@pobox.com>
15195
15196         * gst/net/Makefile.am:
15197         * gst/net/gstnet.h:
15198         * gst/net/gstnettimeprovider.c: 
15199         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15200         provider, include it from gstnet.h, and add it to the build.
15201
15202         * gst/net/gstnettimepacket.h: 
15203         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15204         sending and receiving.
15205
15206 2005-11-16  Wim Taymans  <wim@fluendo.com>
15207
15208         * check/Makefile.am:
15209         Enable valgrind check.
15210
15211         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15212         (gst_fake_src_alloc_buffer):
15213         Fix memleak.
15214
15215 2005-11-16  Wim Taymans  <wim@fluendo.com>
15216
15217         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15218         Call parent finalize too.
15219
15220 2005-11-16  Wim Taymans  <wim@fluendo.com>
15221
15222         * check/Makefile.am:
15223         Enable valgrind check that should work fine now.
15224
15225         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15226         * gst/gstqueue.c: (gst_queue_init):
15227         Fix memleaks in pad allocation.
15228
15229 2005-11-16  Andy Wingo  <wingo@pobox.com>
15230
15231         * gst/net/Makefile.am:
15232         * gst/net/gstnet.h: New part of core to hold network elements and
15233         objects. Put in core because it exposes API that applications want
15234         to use. The library is named libgstnet-tempname right now because
15235         of the existing libgstnet in gst-plugins-base. Solution is
15236         probably to rename the one in plugins-base; will file a bug for
15237         the freeze break.
15238
15239         * gst/net/gstnettimeprovider.c: 
15240         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15241         get_time call over the network.
15242
15243         * configure.ac: 
15244         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15245
15246         * check/Makefile.am:
15247         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15248         get additions shortly.
15249
15250 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15251
15252         * gst/gstpad.c: (gst_pad_new_from_static_template):
15253         * gst/gstpad.h:
15254           add gst_pad_new_from_static_template functions
15255         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15256         (gst_check_setup_sink_pad):
15257         * gst/elements/gsttee.c: (gst_tee_init):
15258           and use them
15259
15260 2005-11-16  Wim Taymans  <wim@fluendo.com>
15261
15262         * gst/gstpad.c: (gst_pad_pause_task):
15263         Removed warning, it's not really an error either.
15264
15265 2005-11-16  Wim Taymans  <wim@fluendo.com>
15266
15267         * gst/base/gstbasetransform.c:
15268         (gst_base_transform_prepare_output_buf),
15269         (gst_base_transform_event):
15270         Check if the caps are NULL, this can happen if the element
15271         is shutting down and the pad caps are set to NULL.
15272
15273 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15274
15275         * gst/elements/gsttee.c: (gst_tee_init):
15276           fix pad template leak in tee
15277
15278 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15279
15280         * gst/glib-compat.c: (g_value_dup_gst_object):
15281         * gst/glib-compat.h:
15282         * gst/gstpad.c: (gst_pad_set_property):
15283           use gst_object_ref when setting the pad template; this will
15284           trigger the pad template leaks on GLib 2.6 and the slaves
15285
15286 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15287
15288         * gst/glib-compat.c: (gst_flags_get_first_value):
15289         * gst/glib-compat.h:
15290         * gst/gstregistryxml.c:
15291           remove functions copied from GLib 2.6
15292
15293 2005-11-16  Michael Smith <msmith@fluendo.com>
15294
15295         * gst/Makefile.am:
15296           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15297           do, but only breaks with newer valgrind versions. We're not a
15298           valgrind tool, we have no link-time dependencies on libcoregrind.
15299
15300 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15301
15302         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15303           some debug changes
15304         * gst/gstmessage.h:
15305           typo fixes
15306
15307 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15308
15309         * gst/base/gstbasesrc.c: (gst_base_src_init):
15310         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15311         * gst/gstqueue.c: (gst_queue_init):
15312         * gst/gstregistryxml.c: (load_feature):
15313           Revert all these unrefs, they don't even pass make check !
15314
15315 2005-11-15  Johan Dahlin  <johan@gnome.org>
15316
15317         * gst/base/gstbasesrc.c: (gst_base_src_init):
15318         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15319         * gst/gstqueue.c: (gst_queue_init): 
15320         Free pad templates, fixes a couple of leaks.
15321
15322 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15323
15324         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15325
15326         * gst/gstpad.c: (gst_pad_get_property):
15327           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15328           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15329           (#321452)
15330
15331 2005-11-15  Wim Taymans  <wim@fluendo.com>
15332
15333         * gst/gstevent.c:
15334         Small doc update.
15335
15336 2005-11-15  Andy Wingo  <wingo@pobox.com>
15337
15338         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15339
15340         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15341         using GST_CLOCK_TIME_NONE to disable base time management.
15342         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15343         time if it was NONE before.
15344         (gst_pipeline_change_state): Only munge the base time if
15345         stream_time != GST_CLOCK_TIME_NONE.
15346
15347         * check/gst/gstpipeline.c (test_base_time): Punt around the
15348         problem of the probe not being called, because that's not the
15349         issue I'm looking at. Add a check that setting stream_time to NONE
15350         disables base time management.
15351         
15352 2005-11-15  Wim Taymans  <wim@fluendo.com>
15353
15354         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15355         segment_stop == -1 at startup.
15356
15357         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15358         (gst_base_transform_change_state):
15359         Init segment values at start.
15360
15361 2005-11-15  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15364         0 segment values are 0 in any format.
15365
15366         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15367         * gst/base/gstbasetransform.h:
15368         Parse newsegment correctly in basetransform
15369
15370         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15371         Sync to clock using updated segment values.
15372
15373 2005-11-15  Andy Wingo  <wingo@pobox.com>
15374
15375         * check/gst/gstpipeline.c (test_base_time): Add check that the
15376         base time and stream time are reset correctly.
15377
15378 2005-11-15  Wim Taymans  <wim@fluendo.com>
15379
15380         * docs/design/part-TODO.txt:
15381         Some more TODO items.
15382
15383 2005-11-15  Andy Wingo  <wingo@pobox.com>
15384
15385         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15386         error if the user selected "no clock" as the clocking method.
15387
15388         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15389         timestamps with live capture.
15390
15391         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15392         is 0 but we are a live source, timestamp the buffers using the
15393         element's clock.
15394
15395 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15396
15397         * docs/gst/gstreamer-sections.txt:
15398         * gst/gsterror.c:
15399         * gst/gstghostpad.c:
15400         * gst/gstobject.h:
15401         * gst/gstxml.c:
15402           more section docs
15403
15404 2005-11-14  Wim Taymans  <wim@fluendo.com>
15405
15406         * common/gst.supp:
15407           add suppressions from Wim's Debian machine
15408
15409 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15410
15411         * common/gst.supp:
15412           add suppressions from Andy's AMD64 Ubuntu machine
15413
15414 2005-11-14  Andy Wingo  <wingo@pobox.com>
15415
15416         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15417         STATE_LOCK not necessary. Fixes #311489.
15418
15419         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15420         #305291.
15421
15422         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15423         this function is not implemented.
15424
15425 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15426
15427         * gst/base/gstbasetransform.c:
15428         (gst_base_transform_prepare_output_buf):
15429         Ref the source pad caps while we need them.
15430         Fixes (#321386)
15431
15432 2005-11-11  Wim Taymans  <wim@fluendo.com>
15433
15434         * docs/gst/gstreamer-sections.txt:
15435         Added some docs for GstCollectData.
15436
15437         * gst/base/gstadapter.c:
15438         Some small code example fix.
15439
15440         * gst/base/gstcollectpads.c:
15441         * gst/base/gstcollectpads.h:
15442         Document some more.
15443
15444 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15445
15446         * configure.ac: back to HEAD
15447
15448 === release 0.9.5 ===
15449
15450 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15451
15452         * configure.ac:
15453           releasing 0.9.5, "Bike Lunch Day"
15454
15455 2005-11-11  Wim Taymans  <wim@fluendo.com>
15456
15457         * gst/gstbuffer.c: (_gst_buffer_copy):
15458         Copy more flags.
15459
15460         * gst/gstcaps.c: (gst_caps_is_equal):
15461         Fix some docs.
15462         Make _is_equal fast in the trivial cases.
15463
15464         * gst/gstminiobject.c:
15465         * gst/gstminiobject.h:
15466         More docs. Spifify .h file.
15467
15468         * gst/gstutils.c:
15469         Small doc update.
15470
15471 2005-11-11  Wim Taymans  <wim@fluendo.com>
15472
15473         * gst/base/gstbasetransform.c:
15474         (gst_base_transform_prepare_output_buf),
15475         (gst_base_transform_handle_buffer):
15476         Small cleanups.
15477         If we're processing a buffer and need to allocate an output
15478         buffer, we cannot accept a format change. If we did get a 
15479         format change, we have to alloc a buffer ourselves of the 
15480         right size.
15481
15482 2005-11-11  Wim Taymans  <wim@fluendo.com>
15483
15484         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15485         While checking the flag for reentrancy in the gstcaps function
15486         is nice to detect recursive invocations, it also makes it 
15487         impossible to call getcaps from multiple threads, which must be
15488         possible. So, checking for recursive calls has to go.
15489
15490 2005-11-11  Michael Smith <msmith@fluendo.com>
15491
15492         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15493           Don't sync on buffers that fall partially outside our current
15494           segment. Prevents an assertion failure/abort playing some files.
15495
15496 2005-11-10  Andy Wingo  <wingo@pobox.com>
15497
15498         * check/gst/gstbin.c (test_message_state_changed_children): Style
15499         fix..
15500
15501         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15502         gst_bus_poll with the signal watch. Ensures that poll and a signal
15503         watch see the same messages.
15504
15505         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15506         a poll and a watch at the same time get the same messages.
15507
15508 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15509
15510         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15511         * gst/gstcaps.c: (gst_caps_intersect):
15512           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15513           and it's not needed.
15514
15515 2005-11-10  Wim Taymans  <wim@fluendo.com>
15516
15517         * docs/design/part-TODO.txt:
15518         Updated todo.
15519
15520 2005-11-10  Wim Taymans  <wim@fluendo.com>
15521
15522         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15523         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15524         (gst_base_src_do_sync), (gst_base_src_get_range):
15525         Implement clock sync in base class.
15526
15527 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15528
15529         patch by: Tim-Philipp Müller <tim at centricular dot net>
15530
15531         * gst/gststructure.c: (gst_structure_parse_field),
15532         (gst_structure_from_string):
15533           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15534           so that gst_parse_launch() can deal with spaces in filtered link
15535           caps (fixes #164479)
15536         * check/gst/capslist.h:
15537         * check/gst/gststructure.c: (GST_START_TEST):
15538           add unit tests for this change
15539
15540 2005-11-10  Wim Taymans  <wim@fluendo.com>
15541
15542         * docs/gst/gstreamer-sections.txt:
15543         * gst/gstelement.c:
15544         * gst/gstelement.h:
15545         Fix docs, move some STATE macros to private.
15546
15547 2005-11-10  Wim Taymans  <wim@fluendo.com>
15548
15549         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15550         Added check for bug #317341
15551
15552         * gst/gstbuffer.c:
15553         * gst/gstbuffer.h:
15554         Some more spiffifying.
15555
15556         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15557         Call peer linkfunction if we are a source pad. Totally fixes
15558         #317341
15559
15560         * gst/gstpad.c:
15561         Update docs, source pads should call the peer linkfunction
15562         so they can atomically perform the pad link.
15563
15564 2005-11-09  Wim Taymans  <wim@fluendo.com>
15565
15566         * gst/gstbuffer.c:
15567         * gst/gstbuffer.h:
15568         Uber-spiffy-spiffify some more.
15569
15570 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15571
15572         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15573         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15574         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15575         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15576         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15577         * gst/gstpad.c: (gst_pad_init):
15578           Use GST_DEBUG_FUNCPTR() more extensively.
15579
15580 2005-11-09  Wim Taymans  <wim@fluendo.com>
15581
15582         * gst/gstobject.c: (gst_object_class_init):
15583         * gst/gstobject.h:
15584         Documentation fixes.
15585
15586 2005-11-09  Edward Hervey  <edward@fluendo.com>
15587
15588         * gst/gsttypefindfactory.c:
15589         Fix docs.
15590         
15591 2005-11-09  Edward Hervey  <edward@fluendo.com>
15592
15593         * gst/base/gsttypefindhelper.c:
15594         * gst/gsttypefind.c:
15595         * gst/gsttypefind.h:
15596         Fix docs.
15597
15598 2005-11-09  Wim Taymans  <wim@fluendo.com>
15599
15600         * gst/gstiterator.c:
15601         Fix revision data.
15602
15603         * gst/gsttask.c:
15604         * gst/gsttask.h:
15605         Fix docs.
15606
15607 2005-11-09  Wim Taymans  <wim@fluendo.com>
15608
15609         * gst/gstevent.h:
15610         * gst/gsturi.h:
15611         Fix docs.
15612
15613 2005-11-09  Wim Taymans  <wim@fluendo.com>
15614
15615         * docs/gst/gstreamer-sections.txt:
15616         Moved the message async delivery private lock and cond
15617         to the private section.
15618
15619         * gst/gstmessage.c:
15620         * gst/gstmessage.h:
15621         Fixed docs.
15622
15623 2005-11-09  Edward Hervey  <edward@fluendo.com>
15624
15625         * docs/gst/gstreamer-sections.txt:
15626         * gst/gsturi.c:
15627         * gst/gsturi.h:
15628         Document GstURIHandler
15629
15630 2005-11-09  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15633         (gst_iterator_find_custom):
15634         * gst/gstiterator.h:
15635         Fix iterator docs.
15636
15637 2005-11-09  Wim Taymans  <wim@fluendo.com>
15638
15639         * gst/gstbin.h:
15640         Document another field.
15641
15642         * gst/gststructure.c:
15643         * gst/gststructure.h:
15644         Document.
15645
15646 2005-11-09  Wim Taymans  <wim@fluendo.com>
15647
15648         * gst/gstbin.h:
15649         Documented structs.
15650
15651 2005-11-09  Wim Taymans  <wim@fluendo.com>
15652
15653         * docs/gst/gstreamer-sections.txt:
15654         Added some new macros.
15655
15656         * gst/gstclock.c:
15657         * gst/gstclock.h:
15658         * gst/gstobject.h:
15659         Docs updates.
15660
15661 2005-11-09  Wim Taymans  <wim@fluendo.com>
15662
15663         * docs/design/part-TODO.txt:
15664         Some more items for the TODO
15665
15666         * gst/gstcaps.c:
15667         * gst/gstcaps.h:
15668         Document GstCaps.
15669
15670 2005-11-09  Andy Wingo  <wingo@pobox.com>
15671
15672         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15673         to work on something else now tho...
15674
15675         * gst/base/gstadapter.c: More adapter docs.
15676
15677         * gst/elements/gstfilesink.c (gst_file_sink_start) 
15678         (gst_file_sink_stop): New functions, replace the state change
15679         handler.
15680         (gst_file_sink_class_init): Hook up the start and stop functions.
15681         (gst_file_sink_base_init): Don't set the state change handler any
15682         more. It was a bit ugly too, being set from here...
15683         (gst_file_sink_get_property, gst_file_sink_set_property):
15684         Cleanups...
15685         (gst_file_sink_set_location): More robust check that doesn't call
15686         GST_STATE. Ugggggg.
15687
15688 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
15689
15690         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15691           Hold STREAM_LOCK while pushing newsegment or tag events as well.
15692
15693 2005-11-08  Wim Taymans  <wim@fluendo.com>
15694
15695         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15696         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15697         (gst_base_sink_chain), (gst_base_sink_change_state):
15698         * gst/base/gstbasesink.h:
15699         * gst/base/gstbasesrc.h:
15700         * gst/gstelement.h:
15701         * gst/gstevent.h:
15702         Avoid excessive typechecking in macros.
15703
15704         * gst/gstminiobject.c: (gst_mini_object_get_type),
15705         (gst_mini_object_init), (gst_mini_object_new),
15706         (gst_mini_object_free):
15707         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15708         (gst_object_finalize):
15709         Remove cruft code, optimize alloc_trace.
15710
15711 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15712
15713         * docs/faq/gst-uninstalled:
15714           fix up PS1 for systems that try to reset it
15715
15716 2005-11-07  Wim Taymans  <wim@fluendo.com>
15717
15718         * gst/base/gstbasesrc.c: (gst_base_src_init),
15719         (gst_base_src_get_range):
15720         Set the segment_end to -1 initially. Fixed typefind.
15721
15722 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
15723
15724         * gst/base/gstadapter.c:
15725           Debug category should be 'adapter', not 'GstAdapter'.
15726           
15727         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15728         (gst_collectpads_class_init), (gst_collectpads_init),
15729         (gst_collectpads_peek), (gst_collectpads_pop),
15730         (gst_collectpads_event), (gst_collectpads_chain):
15731           Add debug category and some debugging output. Use boilerplate
15732           macros. Remove some extraneous words from docs.
15733
15734 2005-11-05  Andy Wingo  <wingo@pobox.com>
15735
15736         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15737         macro.
15738
15739 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15740
15741         * docs/gst/gstreamer-sections.txt:
15742         * gst/gstcaps.h:
15743         * gst/gstinfo.c:
15744         * gst/gstminiobject.h:
15745         * gst/gstobject.h:
15746         * gst/gstutils.h:
15747           more docs added
15748
15749 2005-11-04  Wim Taymans  <wim@fluendo.com>
15750
15751         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15752         Small update to stop at the configured segment_end
15753         position.
15754
15755 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15756
15757         * gst/gstregistry.c:
15758         * gst/gstregistry.h:
15759           added missing docs
15760
15761 2005-11-04  Edward Hervey  <edward@fluendo.com>
15762
15763         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15764         Check if we are doing a segment seek and have arrived at the
15765         end of that segment.
15766
15767 2005-11-04  Wim Taymans  <wim@fluendo.com>
15768
15769         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15770         Don't leak a mutex unlock in case of an error.
15771
15772         * gst/gstbus.h:
15773         Doc fixes.
15774
15775 2005-11-04  Wim Taymans  <wim@fluendo.com>
15776
15777         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15778         (gst_bus_post):
15779         Get the context to wake up only once.
15780
15781 2005-11-03  Wim Taymans  <wim@fluendo.com>
15782
15783         * check/states/sinks.c: (GST_START_TEST):
15784         Uncomment fixed check.
15785
15786         * docs/design/part-TODO.txt:
15787         Updated TODO.
15788
15789         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15790         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15791         (gst_base_sink_get_position):
15792         If we are going to PLAYING, post the right pending state
15793         when we post the intermediate paused message.
15794
15795         * gst/gstelement.c: (gst_element_continue_state),
15796         (gst_element_set_state_func), (gst_element_change_state):
15797         Don't post state changes that were between the same state
15798         and were not ASYNC.
15799
15800 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15801
15802         * docs/gst/gstreamer-sections.txt:
15803         * gst/gstcaps.h:
15804         * gst/gstinfo.c:
15805         * gst/gstminiobject.h:
15806         * gst/gstobject.h:
15807         * gst/gstutils.h:
15808           more docs and doc style fixes
15809
15810 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15811
15812         * docs/gst/gstreamer-sections.txt:
15813         * gst/gstelement.c:
15814         * gst/gstminiobject.c:
15815         doc fixes
15816
15817 2005-11-03  Andy Wingo  <wingo@pobox.com>
15818
15819         * check/states/sinks.c (test_livesrc_sink): Add checks that the
15820         state-changed messages actually have the right order and the right
15821         values.
15822
15823 2005-11-03  Wim Taymans  <wim@fluendo.com>
15824
15825         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15826         Added some more checks. Specifically the case where NO_PREROLL
15827         elements are in the pipeline.
15828
15829         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15830         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15831         (gst_base_sink_get_position):
15832         Post READY->PAUSED state change messages too.
15833         Fix bug where VOID was posted as pending state...
15834
15835         * gst/gstbin.c: (gst_bin_recalc_state):
15836         use _element_continue_state() to continue the state change.
15837
15838         * gst/gstelement.c: (gst_element_continue_state),
15839         (gst_element_commit_state), (gst_element_set_state_func),
15840         (gst_element_change_state), (gst_element_change_state_func):
15841         Lots of state change cleanups, assign the STATE_RETURN in
15842         a new continue_state() function that also propagates the
15843         last return value from a state change to the app.
15844         Update some debug statements with proper category.
15845
15846 2005-11-03  Wim Taymans  <wim@fluendo.com>
15847
15848         * docs/design/part-events.txt:
15849         * docs/design/part-gstpipeline.txt:
15850         * docs/design/part-messages.txt:
15851         * docs/design/part-overview.txt:
15852         * docs/design/part-seeking.txt:
15853         * docs/design/part-states.txt:
15854         * docs/design/part-trickmodes.txt:
15855         * docs/manual/advanced-position.xml:
15856         Small docs updates.
15857
15858         * gst/gstobject.h:
15859         People think !! is ugly, this looks better.
15860
15861         * gst/gstpad.c: (gst_pad_set_blocked_async):
15862         Remove !! since it's fixed elsewhere now.
15863
15864 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15865
15866         * gst/gstminiobject.h:
15867         * gst/gstobject.h:
15868           Add !! to _FLAG_IS_SET macros to make the result boolean.
15869
15870 2005-11-03  Edward Hervey  <edward@fluendo.com>
15871
15872         * gst/gstpad.c: (gst_pad_set_blocked_async):
15873         comparing a flag and a gboolean rarely returns coherent results...
15874         Added two characters (!!) to make that work correctly.
15875         
15876 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15877
15878         * gst/gstbus.c: (gst_bus_class_init):
15879           Fix some typos.
15880           
15881         * gst/gstqueue.c: (gst_queue_loop):
15882           Don't assume a miniobject that isn't a buffer is an
15883           event (it could be that there is a refcounting
15884           problem somewhere and the pointer is stale and
15885           refers to an already destroyed miniobject).
15886
15887 2005-11-03  Julien MOUTTE  <julien@moutte.net>
15888
15889         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15890
15891 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15892
15893         * docs/manual/advanced-position.xml:
15894           Update seek example and explanations to current 0.9 API.
15895
15896         * gst/elements/gsttypefindelement.c:
15897         (gst_type_find_element_activate):
15898           Remove FIXME comment now that the found caps
15899           are unreffed.
15900
15901 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15902
15903         * gst/gstregistryxml.c: (load_feature):
15904           Add another GST_STR_NULL instance
15905
15906 2005-11-02  Edward Hervey  <edward@fluendo.com>
15907
15908         * gst/gstpad.c: (handle_pad_block):
15909         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15910         
15911 2005-11-02  Wim Taymans  <wim@fluendo.com>
15912
15913         * gst/gstbin.c:
15914         Fix typo in docs.
15915
15916         * gst/gstelement.c: (gst_element_commit_state):
15917         Remove unused value.
15918
15919         * gst/gstiterator.c:
15920         Mention that the returned element is reffed in the docs.
15921
15922 2005-11-02  Wim Taymans  <wim@fluendo.com>
15923
15924         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15925         (gst_pad_push), (gst_pad_push_event):
15926         Unlock blocked pads when they are flushed.
15927
15928 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15929
15930         * docs/README:
15931         * docs/gst/gstreamer-sections.txt:
15932         * gst/gstbin.c:
15933           doc updates
15934         * gst/gstregistry.c: (gst_registry_scan_path_level):
15935           fix for a nasty little missed situation where an installed plug-in
15936           which was in the cache did not get overridden by an uninstalled one
15937           which was earlier in the plugin path because the newly created plugin
15938           for the uninstalled one (not in the registry) didn't get its
15939           ->registered set to TRUE
15940
15941 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15942
15943         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15944         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15945         (gst_collectpads_is_active), (gst_collectpads_collect),
15946         (gst_collectpads_collect_range), (gst_collectpads_start),
15947         (gst_collectpads_stop), (gst_collectpads_peek),
15948         (gst_collectpads_pop), (gst_collectpads_available),
15949         (gst_collectpads_read), (gst_collectpads_flush):
15950           Guard public API with assertions.
15951         
15952         * gst/gstpad.c:
15953           Fix docs for gst_pad_set_link_function().
15954
15955 2005-11-02  Johan Dahlin  <johan@gnome.org>
15956
15957         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15958         Unref found_caps after we used it.
15959
15960 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15961
15962         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15963           Don't try to ref NULL.
15964
15965 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15966
15967         * win32/common/config.h.in:
15968           provide a GST_FUNCTION that just gives a string for now
15969
15970 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15971
15972         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15973         (gst_object_flags_get_type), (register_gst_bin_flags),
15974         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15975         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15976         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15977         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15978         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15979         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15980         (gst_clock_flags_get_type), (register_gst_state),
15981         (gst_state_get_type), (register_gst_state_change_return),
15982         (gst_state_change_return_get_type), (register_gst_state_change),
15983         (gst_state_change_get_type), (register_gst_element_flags),
15984         (gst_element_flags_get_type), (register_gst_core_error),
15985         (gst_core_error_get_type), (register_gst_library_error),
15986         (gst_library_error_get_type), (register_gst_resource_error),
15987         (gst_resource_error_get_type), (register_gst_stream_error),
15988         (gst_stream_error_get_type), (register_gst_event_type),
15989         (gst_event_type_get_type), (register_gst_seek_type),
15990         (gst_seek_type_get_type), (register_gst_seek_flags),
15991         (gst_seek_flags_get_type), (register_gst_format),
15992         (gst_format_get_type), (register_gst_index_certainty),
15993         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15994         (gst_index_entry_type_get_type),
15995         (register_gst_index_lookup_method),
15996         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15997         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15998         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15999         (gst_index_flags_get_type), (register_gst_debug_level),
16000         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16001         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16002         (gst_iterator_result_get_type), (register_gst_iterator_item),
16003         (gst_iterator_item_get_type), (register_gst_message_type),
16004         (gst_message_type_get_type), (register_gst_mini_object_flags),
16005         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16006         (gst_pad_link_return_get_type), (register_gst_flow_return),
16007         (gst_flow_return_get_type), (register_gst_activate_mode),
16008         (gst_activate_mode_get_type), (register_gst_pad_direction),
16009         (gst_pad_direction_get_type), (register_gst_pad_flags),
16010         (gst_pad_flags_get_type), (register_gst_pad_presence),
16011         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16012         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16013         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16014         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16015         (gst_plugin_flags_get_type), (register_gst_rank),
16016         (gst_rank_get_type), (register_gst_query_type),
16017         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16018         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16019         (gst_tag_flag_get_type), (register_gst_task_state),
16020         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16021         (gst_alloc_trace_flags_get_type),
16022         (register_gst_type_find_probability),
16023         (gst_type_find_probability_get_type), (register_gst_uri_type),
16024         (gst_uri_type_get_type), (register_gst_parse_error),
16025         (gst_parse_error_get_type):
16026         * win32/common/gstversion.h:
16027           update win32 copies
16028
16029 2005-11-01  Luca Ognibene  <luogni@tin.it>
16030
16031         * gst/gst.c:
16032           fix docs. popt is dead, long live GOption.
16033
16034 2005-10-31  Wim Taymans  <wim@fluendo.com>
16035
16036         * gst/gstbuffer.h:
16037         Small doc fix.
16038
16039 2005-10-31  Andy Wingo  <wingo@pobox.com>
16040
16041         * Boo!
16042
16043         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16044
16045         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16046         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16047         the possibility of deadlocks here if code calling notify() or
16048         set() has a lock that can be taken in another notify handler (ABBA
16049         with class lock and e.g. python GIL state lock).
16050
16051 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16052
16053         * gst/gstbus.c: Doc updates.
16054
16055 2005-10-28  Wim Taymans  <wim@fluendo.com>
16056
16057         * docs/design/part-TODO.txt:
16058         * gst/gstiterator.c:
16059         * gst/gstsystemclock.c:
16060         * gst/gstsystemclock.h:
16061         Doc updates.
16062
16063 2005-10-28  Edward Hervey  <edward@fluendo.com>
16064
16065         * docs/gst/gstreamer-docs.sgml:
16066         * docs/gst/gstreamer-sections.txt:
16067         the GstURIType documentation page is private, it only defines GstURIType
16068         which should be defined in the GstURIHandler page
16069         
16070 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16071
16072         * gst/gstbin.c: (gst_bin_class_init):
16073         * gst/gstbin.h:
16074         * gst/gstutils.c:
16075         Documentation updates.
16076
16077 2005-10-28  Wim Taymans  <wim@fluendo.com>
16078
16079         * docs/gst/gstreamer-sections.txt:
16080         * gst/gstclock.c:
16081         * gst/gstclock.h:
16082         Documented the clocks.
16083
16084 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
16085
16086         * docs/gst/gstreamer-sections.txt:
16087           move some macros to private sections
16088         * gst/gstminiobject.c:
16089         * gst/gstminiobject.h:
16090           add descriptions provided by ds and some more
16091         * gst/gstpad.h:
16092           mark macro as to be removed
16093
16094 2005-10-28  Wim Taymans  <wim@fluendo.com>
16095
16096         * docs/design/part-TODO.txt:
16097         Add an item to TODO.
16098
16099         * gst/gstiterator.c: (gst_iterator_fold),
16100         (gst_iterator_find_custom):
16101         * gst/gstiterator.h:
16102         Add iterator docs.
16103
16104 2005-10-28  Wim Taymans  <wim@fluendo.com>
16105
16106         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16107         (gst_base_transform_init):
16108         Don't leak class.
16109
16110         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16111         An EOS event marks the queue as completely filled.
16112
16113 2005-10-27  Wim Taymans  <wim@fluendo.com>
16114
16115         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16116         (gst_base_sink_do_sync), (gst_base_sink_get_position):
16117         Some more debugging.
16118
16119         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16120         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16121         (gst_base_transform_event), (gst_base_transform_getrange),
16122         (gst_base_transform_chain):
16123         * gst/base/gstbasetransform.h:
16124         Fix debugging,
16125         Protect transform and concurrent buffer alloc with a new lock.
16126         Try not to break ABI/API.
16127
16128 2005-10-27  Wim Taymans  <wim@fluendo.com>
16129
16130         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16131         (gst_base_src_init), (gst_base_src_query),
16132         (gst_base_src_default_newsegment),
16133         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16134         (gst_base_src_send_event), (gst_base_src_event_handler),
16135         (gst_base_src_pad_get_range), (gst_base_src_loop),
16136         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16137         (gst_base_src_start), (gst_base_src_deactivate),
16138         (gst_base_src_activate_push), (gst_base_src_change_state):
16139         Move some stuff around and cleanup things.
16140
16141 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16142
16143         * gst/base/gstbasesrc.c: (gst_base_src_query):
16144           Add missing break statements.
16145
16146 2005-10-27  Wim Taymans  <wim@fluendo.com>
16147
16148         * check/gst/gstbin.c: (GST_START_TEST):
16149         An extra refcount is taken in basesrc.
16150
16151         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16152         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16153         (gst_base_src_loop):
16154         Small cleanups, check for flushing after being unlocked from the 
16155         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16156         Don't send out EOS when going to READY.
16157
16158 2005-10-27  Wim Taymans  <wim@fluendo.com>
16159
16160         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16161         (gst_base_sink_get_position):
16162         Some more debug.
16163
16164         * gst/gstbin.c: (message_check), (bin_replace_message),
16165         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16166         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16167         (bin_query_duration_init), (bin_query_duration_fold),
16168         (bin_query_duration_done), (bin_query_generic_fold),
16169         (gst_bin_query):
16170         * tools/gst-launch.c: (main):
16171         Remove old option.
16172
16173 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16174
16175         * examples/controller/audio-example.c: (main):
16176         * examples/queue/queue.c: (event_loop):
16177         * gst/base/gstbasetransform.h:
16178         * gst/gstelement.c: (gst_element_send_event):
16179         * gst/gstevent.h:
16180         * gst/gstpad.c: (gst_pad_send_event):
16181           fixing examples
16182           fixing docs typos
16183           changing log priority in error situations
16184
16185 2005-10-25  Wim Taymans  <wim@fluendo.com>
16186
16187         * gst/gstbin.c: (message_check), (bin_replace_message),
16188         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16189         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16190         (bin_query_duration_init), (bin_query_duration_fold),
16191         (bin_query_duration_done), (bin_query_generic_fold),
16192         (gst_bin_query):
16193         Some doc and debug updates.
16194         Cache previously requested query DURATION for speed. invalidate
16195         cached duration if element posts a DURATION message.
16196
16197 2005-10-25  Wim Taymans  <wim@fluendo.com>
16198
16199         * docs/design/part-TODO.txt:
16200         Update TODO.
16201
16202         * gst/gstbin.c: (message_check), (bin_replace_message),
16203         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16204         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16205         (bin_query_duration_init), (bin_query_duration_fold),
16206         (bin_query_duration_done), (bin_query_generic_fold),
16207         (gst_bin_query):
16208         Handle SEGMENT_START/DONE messages correctly.
16209         More evolved query algorithm that handles duration queries
16210         correctly.
16211
16212         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16213         (gst_element_get_state_func), (gst_element_abort_state),
16214         (gst_element_commit_state), (gst_element_lost_state):
16215         Some more debugging.
16216
16217         * gst/gstmessage.h:
16218         Added doc.
16219
16220 2005-10-25  Wim Taymans  <wim@fluendo.com>
16221
16222         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16223         Don't use invalid stream_time.
16224
16225         * gst/gstevent.c: (gst_event_new_newsegment):
16226         stream_time in newsegment cannot be undefined.
16227
16228 2005-10-24  Wim Taymans  <wim@fluendo.com>
16229
16230         * gst/gstbus.c:
16231         Doc fix.
16232
16233         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16234         (gst_queue_loop):
16235         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16236
16237 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16238
16239         * docs/libs/tmpl/gstdparam.sgml:
16240         * docs/libs/tmpl/gstdplinint.sgml:
16241         * docs/libs/tmpl/gstdpman.sgml:
16242         * docs/libs/tmpl/gstdpsmooth.sgml:
16243         * docs/libs/tmpl/gstunitconvert.sgml:
16244           these are obsolete
16245
16246 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16247
16248         * configure.ac:
16249           back to HEAD
16250
16251 === release 0.9.4 ===
16252
16253 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16254
16255         * configure.ac:
16256           releasing 0.9.4, "Tyrannosaurus Rex"
16257
16258 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16259
16260         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16261         (gst_file_sink_get_current_offset):
16262           Use fseeko() and ftello() if available. When falling back on
16263           lseek() to get the current offset, fflush() first to make sure
16264           everything is up-to-date and we get the right offset.
16265
16266 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16267
16268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16269         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16270         * gst/gsterror.c: (_gst_stream_errors_init):
16271         * gst/gsterror.h:
16272         * gst/gstqueue.c: (gst_queue_loop):
16273         * po/POTFILES.in:
16274           remove prematurely added error category and clean up the instances
16275
16276 2005-10-21  Wim Taymans  <wim@fluendo.com>
16277
16278         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16279         (gst_base_sink_get_position), (gst_base_sink_query),
16280         (gst_base_sink_change_state):
16281         Simply set the right flag when going to playing, that's all
16282         we need to do instead of calling a function inside the object
16283         lock (that could take the lock as well and deadlock)
16284
16285 2005-10-21  Wim Taymans  <wim@fluendo.com>
16286
16287         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16288         (gst_base_src_loop):
16289         Don't warn, the peer element knows what to do best when
16290         the seek failed, it might try something else.
16291
16292 2005-10-21  Wim Taymans  <wim@fluendo.com>
16293
16294         * gst/base/gstbasesrc.c: (gst_base_src_init),
16295         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16296         Fix seeking.
16297
16298 2005-10-21  Wim Taymans  <wim@fluendo.com>
16299
16300         * docs/design/part-segments.txt:
16301         More docs.
16302
16303         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16304         Correctly set caps, even on the subbufer.
16305
16306 2005-10-21  Wim Taymans  <wim@fluendo.com>
16307
16308         * docs/gst/gstreamer-docs.sgml:
16309         * docs/gst/gstreamer-sections.txt:
16310         * gst/gstelement.h:
16311         * gst/gstevent.c:
16312         * gst/gstevent.h:
16313         * gst/gstmessage.h:
16314         * gst/gstpad.h:
16315         * gst/gstparse.h:
16316         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16317         * gst/gsttask.h:
16318         * gst/gstutils.c:
16319         * gst/gstutils.h:
16320         And 2% more doc coverage.
16321
16322 2005-10-21  Andy Wingo  <wingo@pobox.com>
16323
16324         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16325         position reporting.
16326
16327 2005-10-20  Wim Taymans  <wim@fluendo.com>
16328
16329         * gst/gsterror.c: (gst_error_get_message):
16330         * gst/gstparse.h:
16331         * gst/gstquery.h:
16332         * gst/gststructure.c:
16333         * gst/gsttrace.c:
16334         * gst/gstutils.c:
16335         More docs.
16336
16337 2005-10-20  Wim Taymans  <wim@fluendo.com>
16338
16339         * gst/gstbuffer.h:
16340         * gst/gstpad.c:
16341         * gst/gstparse.c:
16342         Another 1% more coverage.
16343
16344 2005-10-20  Wim Taymans  <wim@fluendo.com>
16345
16346         * docs/gst/gstreamer-sections.txt:
16347         * gst/gstelement.c: (gst_element_get_state_func),
16348         (gst_element_abort_state), (gst_element_commit_state),
16349         (gst_element_lost_state):
16350         * gst/gstevent.h:
16351         * gst/gstquery.c: (gst_query_set_position),
16352         (gst_query_parse_position), (gst_query_set_duration),
16353         (gst_query_parse_duration), (gst_query_new_convert):
16354         * gst/gstutils.c:
16355         Yay! 1% more docs coverage.
16356
16357 2005-10-20  Wim Taymans  <wim@fluendo.com>
16358
16359         * gst/gstpad.h:
16360         * gst/gstquery.c: (gst_query_set_position),
16361         (gst_query_parse_position), (gst_query_set_duration),
16362         (gst_query_parse_duration), (gst_query_new_convert):
16363         * gst/gstquery.h:
16364         * gst/gstutils.c: (gst_element_query_convert):
16365         * gst/gstutils.h:
16366         Docs and consistency fixes.
16367
16368 2005-10-20  Wim Taymans  <wim@fluendo.com>
16369
16370         * gst/gsttask.c:
16371         * gst/gsttask.h:
16372         More docs.
16373
16374 2005-10-20  Wim Taymans  <wim@fluendo.com>
16375
16376         * gst/gstbin.c: (message_check), (bin_replace_message),
16377         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16378         (update_degree), (gst_bin_sort_iterator_next),
16379         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16380         Reworked the message handling a bit, cache the messages instead of
16381         only the senders. alows us to do more in the future.
16382
16383 2005-10-20  Wim Taymans  <wim@fluendo.com>
16384
16385         * docs/design/part-TODO.txt:
16386         Update TODO
16387
16388         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16389         (gst_base_sink_query):
16390         Don't use clock time to report position when in EOS.
16391
16392 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16393
16394         * tools/gst-inspect.c: (print_interfaces),
16395         (print_element_properties_info), (print_element_info):
16396           Fix interface output with gst-inspect -a; don't print
16397           newlines after double/float properties.
16398
16399 2005-10-20  Wim Taymans  <wim@fluendo.com>
16400
16401         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16402         (gst_base_sink_query):
16403         Speed up current position calculation.
16404
16405         * gst/base/gstbasesrc.c: (gst_base_src_query),
16406         (gst_base_src_default_newsegment):
16407         Correctly set stream position in newsegment.
16408
16409         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16410         (update_degree), (gst_bin_sort_iterator_next),
16411         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16412         * gst/gstmessage.c: (gst_message_new_custom):
16413         Clean up debugging info
16414
16415         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16416         (gst_queue_loop), (gst_queue_handle_src_query):
16417         Pause task faster.
16418
16419 2005-10-19  Wim Taymans  <wim@fluendo.com>
16420
16421         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16422         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16423         Fix query handling again.
16424
16425 2005-10-19  Wim Taymans  <wim@fluendo.com>
16426
16427         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16428         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16429         * gst/base/gstbasesrc.c: (gst_base_src_query):
16430         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16431         * gst/elements/gsttypefindelement.c:
16432         (gst_type_find_handle_src_query), (find_element_get_length),
16433         (gst_type_find_element_activate):
16434         API change fix.
16435
16436         * gst/gstquery.c: (gst_query_new_position),
16437         (gst_query_set_position), (gst_query_parse_position),
16438         (gst_query_new_duration), (gst_query_set_duration),
16439         (gst_query_parse_duration), (gst_query_set_segment),
16440         (gst_query_parse_segment):
16441         * gst/gstquery.h:
16442         Bundling query position/duration is not a good idea since duration
16443         does not change much and we don't want to recalculate it for every
16444         position query, so they are separated again..
16445         Base value in segment query is not needed.
16446
16447         * gst/gstqueue.c: (gst_queue_handle_src_query):
16448         * gst/gstutils.c: (gst_element_query_position),
16449         (gst_element_query_duration), (gst_pad_query_position),
16450         (gst_pad_query_duration):
16451         * gst/gstutils.h:
16452         Updates for query API change.
16453         Added some docs here and there.
16454
16455 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16456
16457         * check/gst/gstbin.c: (GST_START_TEST):
16458         * check/gst/gstghostpad.c: (GST_START_TEST):
16459         * check/pipelines/cleanup.c: (GST_START_TEST):
16460           wait on thread to die so we can check refcount correctly
16461
16462 2005-10-18  Wim Taymans  <wim@fluendo.com>
16463
16464         * check/pipelines/stress.c: (GST_START_TEST):
16465         Make check a little more time consuming.
16466
16467 2005-10-18  Wim Taymans  <wim@fluendo.com>
16468
16469         * check/Makefile.am:
16470         * check/pipelines/stress.c: (GST_START_TEST),
16471         (simple_launch_lines_suite), (main):
16472         Small state change torture test.
16473
16474         * docs/design/part-states.txt:
16475         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16476         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16477         (gst_base_sink_change_state):
16478         Never take state lock from streaming thread, clean up ugly
16479         hacks. Unfortunatly core does not yet support nice ways to
16480         async commit state.
16481         
16482         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16483         (bin_bus_handler):
16484         Start state recalc if a STATE_DIRTY message is posted, but only
16485         on the toplevel bin.
16486
16487         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16488         (gst_element_get_state_func), (gst_element_abort_state),
16489         (gst_element_commit_state), (gst_element_lost_state),
16490         (gst_element_set_state_func), (gst_element_change_state):
16491         * gst/gstelement.h:
16492         State variables are now protected with the LOCK, the state
16493         lock is only used to serialize _set_state().
16494
16495 2005-10-18  Wim Taymans  <wim@fluendo.com>
16496
16497         * check/gst/gstbin.c: (GST_START_TEST):
16498         * check/gst/gstmessage.c: (GST_START_TEST):
16499         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16500         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16501         (bin_bus_handler):
16502         * gst/gstelement.c: (gst_element_abort_state),
16503         (gst_element_commit_state), (gst_element_lost_state):
16504         * gst/gstmessage.c: (gst_message_new_state_changed),
16505         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16506         (gst_message_new_segment_done), (gst_message_new_duration),
16507         (gst_message_parse_state_changed),
16508         (gst_message_parse_segment_start),
16509         (gst_message_parse_segment_done), (gst_message_parse_duration):
16510         * gst/gstmessage.h:
16511         * tools/gst-launch.c: (event_loop):
16512         Seriously, this is better than a previous commit as we only need
16513         to notify the fact that an element changed state in a streaming
16514         thread, marking the state of the parents dirty, hence the 
16515         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16516         message.
16517
16518 2005-10-18  Wim Taymans  <wim@fluendo.com>
16519
16520         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16521         (gst_bin_recalc_func):
16522         * gst/gstelement.c: (gst_element_set_clock),
16523         (gst_element_abort_state), (gst_element_lost_state):
16524         Cleanups, prepare for state change fixes.
16525
16526 2005-10-18  Wim Taymans  <wim@fluendo.com>
16527
16528         * gst/gstbin.h:
16529         * gst/gstelement.c: (gst_element_class_init),
16530         (gst_element_set_state), (gst_element_set_state_func):
16531         * gst/gstelement.h:
16532         Pending ABI changes.
16533         GThreadPool in GstBinClass to monitor async state changes.
16534         state_cookie in GstElement to detect concurrent gst/set state.
16535         set_state is now virtual too in case a very complicated element
16536         has to be constructed.
16537
16538 2005-10-18  Wim Taymans  <wim@fluendo.com>
16539
16540         * check/gst/gstbin.c: (GST_START_TEST):
16541         * check/gst/gstmessage.c: (GST_START_TEST):
16542         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16543         * gst/gstbin.c: (bin_bus_handler):
16544         * gst/gstelement.c: (gst_element_commit_state),
16545         (gst_element_lost_state):
16546         * gst/gstmessage.c: (gst_message_new_state_changed),
16547         (gst_message_new_segment_start), (gst_message_new_segment_done),
16548         (gst_message_new_duration), (gst_message_parse_state_changed),
16549         (gst_message_parse_segment_start),
16550         (gst_message_parse_segment_done), (gst_message_parse_duration):
16551         * gst/gstmessage.h:
16552         * tools/gst-launch.c: (event_loop):
16553         Make messages future proof.
16554         state-change gets a flag if it was a message comming from the
16555         streaming thread.
16556         segment-start/stop can also be specified in other formats.
16557         A message to notify an app that a pipeline changed playback 
16558         duration.
16559         Also fix a GstMessage leak in -launch
16560
16561 2005-10-18  Andy Wingo  <wingo@pobox.com>
16562
16563         * gst/gstelement.c (gst_element_dispose): More helpful message.
16564
16565 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16566
16567         reviewed by: <delete if not using a buddy>
16568
16569         * common/gtk-doc.mak:
16570
16571 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16572
16573         * gst/gstregistry.c: (gst_registry_scan_path_level):
16574           unref a plug-in we get that was already initialized
16575
16576 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16577
16578         * docs/gst/gstreamer-sections.txt:
16579         * docs/libs/gstreamer-libs-sections.txt:
16580         * gst/gstelement.h:
16581           add new api entries
16582           hide internal macro
16583
16584 2005-10-17  Andy Wingo  <wingo@pobox.com>
16585
16586         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16587         cleanup.
16588
16589         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16590
16591         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16592
16593         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16594         (gst_element_get_state_func): Better debug message.
16595         (gst_element_commit_state): s/INFO/DEBUG/.
16596         (gst_element_lost_state, gst_element_change_state): 
16597
16598         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16599         (gst_message_new_custom): s/INFO/LOG/.
16600
16601 2005-10-17  Michael Smith <msmith@fluendo.com>
16602
16603         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16604           Check if end time is valid using end time, not start time.
16605
16606 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16607
16608         * check/gst-libs/controller.c: (GST_START_TEST),
16609         (gst_controller_suite):
16610         * libs/gst/controller/gstcontroller.c:
16611         (gst_controlled_property_set_interpolation_mode):
16612         * libs/gst/controller/gstcontroller.h:
16613         * libs/gst/controller/gstinterpolation.c:
16614         * testsuite/controller/.cvsignore:
16615         * testsuite/controller/Makefile.am:
16616         * testsuite/controller/interpolator.c:
16617           merge controller testsuites
16618           fix broken tests
16619           remove mem-chunk from docs
16620
16621 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16622
16623         * gst/gstmemchunk.c:
16624         * gst/gstmemchunk.h:
16625         * gst/gsttrashstack.c:
16626         * gst/gsttrashstack.h:
16627           out.  get out.  you're fired.  to the Attic !
16628
16629 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16630
16631         * gst/gstcaps.c: (gst_caps_intersect):
16632           fix signedness issues in a (hopefully) correct way
16633         * gst/gstelement.c: (gst_element_pads_activate):
16634           some debugging
16635         * gst/gstobject.c: (gst_object_set_parent):
16636           some debugging
16637
16638 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16639
16640         * gst/gstvalue.h: Fix prototypes.
16641
16642 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16643
16644         * docs/gst/gstreamer-sections.txt:
16645         * gst/gst.c: (gst_version_string):
16646         * gst/gst.h:
16647         * gst/gstversion.h.in:
16648         * win32/common/libgstreamer.def:
16649           add gst_version_string ()
16650
16651 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16652
16653         * configure.ac:
16654           clean up further
16655         * gst/gst.c: (init_post):
16656         * win32/common/config.h.in:
16657           it's PLUGINDIR now
16658         * gst/gstcaps.c: (gst_caps_intersect):
16659           use gint64, the range could be bigger than a guint
16660
16661 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16662
16663         * gst/gstclock.h:
16664           document potential problem in 2038
16665
16666 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16667
16668         * gst/gstcaps.c: (gst_caps_intersect):
16669           Fix guint j diving under 0
16670
16671 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16672
16673         * configure.ac:
16674         * win32/common/config.h:
16675         * win32/common/config.h.in:
16676           check for process.h, declares getpid() on Windows
16677         * gst/gstinfo.c:
16678           include process.h if we have it
16679         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16680         * gst/gstmemchunk.h:
16681           fix signedness issues
16682         * win32/common/libgstreamer.def:
16683           fix get_type's
16684
16685 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16686
16687         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16688         fix. Because of unsigned ints, caps intersection was going nuts and
16689         trying to access structures with G_MAXUINT index. That fixes
16690         videotestsrc ! ffmpegcolorspace ! fakesink
16691         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16692         consistency.
16693
16694 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16695
16696         * configure.ac:
16697           use the gettext macro
16698         * gst/elements/gstelements.c:
16699         * gst/gst.c:
16700         * gst/indexers/gstindexers.c:
16701           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16702         * win32/common/config.h:
16703           updated config.h
16704         * win32/common/config.h.in:
16705           add the template to generate config.h
16706         * win32/common/gstenumtypes.c:
16707         * win32/common/gstversion.h:
16708           updated copies
16709
16710 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16711
16712         * gst/gst.c: (gst_version):
16713         * gst/gstversion.h.in:
16714           add the nano
16715
16716 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16717
16718         * gst/gstevent.h:
16719           Oops, add missing closing bracket.
16720
16721 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16722
16723         * configure.ac:
16724           use common m4's for argument checking
16725
16726 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16727
16728         * docs/gst/gstreamer-sections.txt:
16729         * gst/gstevent.h:
16730           Add GST_EVENT_TYPE_NAME() macro.
16731
16732 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16733
16734         * gst/gstinfo.c:
16735         * gst/gstpluginfeature.c:
16736         * gst/gsttask.c:
16737           privatize more symbols
16738
16739 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16740
16741         * configure.ac:
16742           add srcdir, builddir includes to GST_ALL_CFLAGS, since
16743           everything that uses GStreamer API should have the includes
16744
16745 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16746
16747         * docs/gst/gstreamer-sections.txt:
16748         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16749         * gst/gstvalue.h:
16750           give each value a _get_type, removes the DATA exports
16751
16752 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16753
16754         * gst/gst.c:
16755         * gst/gst.h:
16756           remove _gst_registry_auto_load, not used anymore
16757         * gst/gstbin.c: (gst_bin_get_type):
16758         * gst/gstbin.h:
16759         * gst/gstelement.c: (gst_element_get_type):
16760         * gst/gstelement.h:
16761         * gst/gstobject.c: (gst_object_get_type):
16762         * gst/gstobject.h:
16763         * gst/gstpad.c: (gst_pad_get_type):
16764         * gst/gstpad.h:
16765           make _get_type functions similar, fixes data export from library
16766
16767 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16768
16769         * configure.ac:
16770           correctly make conditionals
16771         * gst/elements/Makefile.am:
16772         * gst/elements/gstelements.c:
16773           fix typo causing fdsrc not to build
16774
16775 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16776
16777         * testsuite/Makefile.am:
16778         * testsuite/bytestream/.cvsignore:
16779         * testsuite/bytestream/Makefile.am:
16780         * testsuite/bytestream/filepadsink.c:
16781         * testsuite/bytestream/gstbstest.c:
16782         * testsuite/bytestream/test1.c:
16783         * testsuite/bytestream/testfile1:
16784         * testsuite/caps/normalisation.c:
16785         * testsuite/caps/random.c: (main):
16786         * testsuite/cleanup/.cvsignore:
16787         * testsuite/cleanup/Makefile.am:
16788         * testsuite/cleanup/cleanup1.c:
16789         * testsuite/cleanup/cleanup2.c:
16790         * testsuite/cleanup/cleanup3.c:
16791         * testsuite/cleanup/cleanup4.c:
16792         * testsuite/cleanup/cleanup5.c:
16793         * testsuite/controller/interpolator.c:
16794         * testsuite/debug/printf_extension.c: (main):
16795         * testsuite/elements/tee.c:
16796         * testsuite/negotiation/.cvsignore:
16797         * testsuite/negotiation/Makefile.am:
16798         * testsuite/negotiation/pad_link.c:
16799         * testsuite/pad/Makefile.am:
16800         * testsuite/pad/chainnopull.c:
16801         * testsuite/pad/getnopush.c:
16802         * testsuite/pad/link.c:
16803         * testsuite/refcounting/sched.c: (create_pipeline):
16804         * testsuite/registry/Makefile.am:
16805         * testsuite/registry/gst-print-formats.c:
16806         * testsuite/schedulers/.cvsignore:
16807         * testsuite/schedulers/142183-2.c:
16808         * testsuite/schedulers/142183.c:
16809         * testsuite/schedulers/143777-2.c:
16810         * testsuite/schedulers/143777.c:
16811         * testsuite/schedulers/147713.c:
16812         * testsuite/schedulers/147819.c:
16813         * testsuite/schedulers/147894-2.c:
16814         * testsuite/schedulers/147894.c:
16815         * testsuite/schedulers/Makefile.am:
16816         * testsuite/schedulers/group_link.c:
16817         * testsuite/schedulers/queue_link.c:
16818         * testsuite/schedulers/relink.c:
16819         * testsuite/schedulers/unlink.c:
16820         * testsuite/schedulers/unref.c:
16821         * testsuite/schedulers/useless_iteration.c:
16822         * testsuite/states/bin.c:
16823           clean out/remove some stuff from the testsuite directories
16824
16825 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16826
16827         * configure.ac:
16828           check for some headers
16829         * gst/elements/Makefile.am:
16830         * gst/elements/gstelements.c:
16831           don't compile fdsrc without sys/socket.h
16832         * gst/indexers/Makefile.am:
16833         * gst/indexers/gstindexers.c: (plugin_init):
16834           don't compile fileindex without mmap
16835
16836 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16837
16838         * configure.ac:
16839           reorganize
16840           clean up
16841           document more
16842           remove cruft
16843         * check/Makefile.am:
16844         * docs/gst/Makefile.am:
16845         * examples/helloworld/Makefile.am:
16846         * gst/Makefile.am:
16847         * gst/base/Makefile.am:
16848         * gst/check/Makefile.am:
16849         * gst/elements/Makefile.am:
16850         * gst/indexers/Makefile.am:
16851         * gst/parse/Makefile.am:
16852         * libs/gst/controller/Makefile.am:
16853         * libs/gst/dataprotocol/Makefile.am:
16854         * examples/helloworld/helloworld.c: (event_loop):
16855           compile fixes, though it's not being compiled currently
16856
16857 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16858
16859         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16860           Add some simple tests for the new taglist date API.
16861
16862 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16863
16864         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16865         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16866           Beautify 'last-message' output: print 'none' for buffer timestamps
16867           and durations if none is set; improve alignment with next messages.
16868
16869 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16870
16871         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16872         * gst/gstpluginfeature.h:
16873         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16874         * gst/gstregistry.h:
16875         * docs/gst/gstreamer-sections.txt:
16876           Add new API to check plugin feature version requirements.
16877
16878         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16879           Some basic tests for the above.         
16880
16881 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16882
16883         * gst/gststructure.c: (gst_structure_to_string):
16884           guard against NULL printf - happens when for example
16885           a message structure with GstClock gets serialized
16886
16887 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16888
16889         * gst/base/gstcollectpads.c: (gst_collectpads_event):
16890           Fix presumable copy'n'pasto.
16891
16892 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16893
16894         * gst/elements/gstfakesrc.h:
16895         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16896         * gst/elements/gsttypefindelement.c:
16897           fix some signedness
16898         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16899           I wonder if this could actually write +2GB files before
16900
16901 2005-10-13  Andy Wingo  <wingo@pobox.com>
16902
16903         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16904         Fix Timmeke Waymans bug.
16905         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16906         string of the proper length to gst_caps_from_string. There's a
16907         potential for, before this fix, that this could cause someone
16908         connecting over the network to cause a segfault if the payload is
16909         not NUL-terminated.
16910
16911 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16912
16913         * docs/design/draft-push-pull.txt:
16914         * docs/design/part-overview.txt:
16915         * docs/random/TODO-pre-0.9:
16916         * docs/random/old/ChangeLog.gstreamer:
16917         * gst/base/gstpushsrc.c:
16918         * gst/gstclock.c:
16919           fixed typos
16920
16921 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16922
16923         * gst/glib-compat.c: (gst_flags_get_first_value):
16924         * gst/glib-compat.h:
16925         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16926         (gst_value_compare_double), (gst_value_serialize_flags):
16927           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16928           infinite loop
16929
16930 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16931
16932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16933         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16934           fix up debugging
16935         * tools/gst-launch.c: (event_loop):
16936           print out clock nicely
16937
16938 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16939
16940         * docs/gst/gstreamer-sections.txt:
16941         * gst/gsttaglist.h:
16942         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16943         (gst_tag_list_get_date_index):
16944           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16945           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16946
16947 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16948
16949         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16950         (gst_collectpads_chain):
16951         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16952         in CollectData.
16953
16954 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16955
16956         * docs/gst/gstreamer-sections.txt:
16957         * gst/gst.c:
16958         * gst/gsterror.h:
16959         * tools/gst-inspect.c: (main):
16960         * tools/gst-launch.c: (main):
16961         * tools/gst-run.c: (main):
16962         * tools/gst-xmlinspect.c: (main):
16963           fix GOption context leaks
16964           doc fixes
16965
16966 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16967
16968         * gst/gstbus.c:
16969           use HAVE_UNISTD_H
16970         * win32/common/config.h:
16971           update config
16972         * win32/vs6/grammar.dsp:
16973         * win32/vs6/libgstelements.dsp:
16974         * win32/vs6/libgstreamer.dsp:
16975           update vs6 files
16976
16977 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16978
16979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16980         * gst/base/gstbasesrc.c: (gst_base_src_query):
16981           fix more guint64<->gdouble conversions
16982
16983 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16984
16985         * Makefile.am:
16986           add win32-update target
16987         * win32/common/gstconfig.h:
16988         * win32/common/gstenumtypes.c:
16989         * win32/common/gstenumtypes.h:
16990         * win32/common/gstversion.h:
16991           add files that visual studio can't generate
16992
16993 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16994
16995         * Makefile.am:
16996           add a win32-update target
16997         * configure.ac:
16998
16999 2005-10-12  Wim Taymans  <wim@fluendo.com>
17000
17001         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17002         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17003         * gst/gstelement.c: (gst_element_commit_state),
17004         (gst_element_set_state):
17005         Protect flags with proper lock.
17006         unref provided cached clock in dispose.
17007
17008 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17009
17010         * gst/gst.c:
17011         * gst/gstminiobject.h:
17012         * gst/gstpad.h:
17013         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17014           removed unused flags from miniobject
17015           doc fixes
17016
17017 2005-10-12  Wim Taymans  <wim@fluendo.com>
17018
17019         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17020         (gst_file_sink_event), (gst_file_sink_render):
17021         Flush before seeking.
17022
17023 2005-10-12  Andy Wingo  <wingo@pobox.com>
17024
17025         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17026         always been the case.
17027
17028 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17029
17030         * check/gst/gstbin.c: (GST_START_TEST):
17031         * docs/gst/gstreamer-sections.txt:
17032         * gst/base/gstbasesink.c: (gst_base_sink_init):
17033         * gst/base/gstbasesrc.c: (gst_base_src_init),
17034         (gst_base_src_get_range), (gst_base_src_check_get_range),
17035         (gst_base_src_start), (gst_base_src_stop):
17036         * gst/base/gstbasesrc.h:
17037         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17038         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17039         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17040         (bin_bus_handler):
17041         * gst/gstbin.h:
17042         * gst/gstbuffer.h:
17043         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17044         * gst/gstbus.h:
17045         * gst/gstelement.c: (gst_element_is_locked_state),
17046         (gst_element_set_locked_state), (gst_element_commit_state),
17047         (gst_element_set_state):
17048         * gst/gstelement.h:
17049         * gst/gstindex.c: (gst_index_init):
17050         * gst/gstindex.h:
17051         * gst/gstminiobject.h:
17052         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17053         (gst_object_set_parent):
17054         * gst/gstobject.h:
17055         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17056         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17057         * gst/gstpad.h:
17058         * gst/gstpadtemplate.h:
17059         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17060         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17061         * gst/gstpipeline.h:
17062         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17063         (gst_file_index_commit):
17064         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17065         * testsuite/pad/link.c: (gst_test_src_init),
17066         (gst_test_filter_init), (gst_test_sink_init):
17067         * testsuite/states/locked.c: (main):
17068           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17069           moved bitshift from macro to enum definition
17070
17071 2005-10-12  Wim Taymans  <wim@fluendo.com>
17072
17073         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17074         * gst/elements/gstfilesink.c: (gst_file_sink_event),
17075         (gst_file_sink_render):
17076         Some more debugging info.
17077
17078 2005-10-12  Wim Taymans  <wim@fluendo.com>
17079
17080         * docs/design/part-states.txt:
17081         * tools/gst-launch.c: (main):
17082         Some doc updates.
17083         Revert non-intentional change.
17084
17085 2005-10-12  Wim Taymans  <wim@fluendo.com>
17086
17087         * check/gst/gstbin.c: (GST_START_TEST):
17088         * check/gst/gstelement.c: (GST_START_TEST):
17089         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17090         * check/gst/gstghostpad.c: (GST_START_TEST):
17091         * check/gst/gstpipeline.c: (GST_START_TEST):
17092         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17093         * check/states/sinks.c: (GST_START_TEST):
17094         * gst/elements/gsttypefindelement.c: (stop_typefinding):
17095         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17096         (gst_bin_remove_func), (gst_bin_get_state_func),
17097         (gst_bin_recalc_state), (gst_bin_change_state_func),
17098         (bin_bus_handler):
17099         * gst/gstelement.c: (gst_element_get_state_func),
17100         (gst_element_get_state), (gst_element_abort_state),
17101         (gst_element_commit_state), (gst_element_set_state),
17102         (gst_element_change_state), (gst_element_change_state_func):
17103         * gst/gstelement.h:
17104         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17105         (gst_pipeline_provide_clock_func):
17106         * gst/gstutils.c: (gst_element_link_pads_filtered):
17107         * tools/gst-launch.c: (main):
17108         * tools/gst-typefind.c: (main):
17109         Use GstClockTime in _get_state() instead of GTimeVal.
17110         Remove old code in gstutils.c
17111
17112 2005-10-12  Andy Wingo  <wingo@pobox.com>
17113
17114         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17115         removed.
17116
17117         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17118         there is no task. Shouldn't affect any code, as nothing in our
17119         plugins checks this return value.
17120         (gst_pad_stop_task): Also take the stream lock if the pad has no
17121         task. Docs updated.
17122
17123 2005-10-12  Wim Taymans  <wim@fluendo.com>
17124
17125         * gst/gstpad.c: (pre_activate), (post_activate),
17126         (gst_pad_activate_pull), (gst_pad_activate_push):
17127         Cleanup activation code. Reset old state if
17128         activation failed.
17129
17130 2005-10-12  Wim Taymans  <wim@fluendo.com>
17131
17132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17133         (gst_base_sink_change_state):
17134         No need to prerol after receiving EOS.
17135
17136         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17137         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17138         * gst/elements/gstidentity.c: (gst_identity_event):
17139         Print events more verbosely.
17140
17141 2005-10-12  Wim Taymans  <wim@fluendo.com>
17142
17143         * check/Makefile.am:
17144         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17145         * check/states/sinks2.c:
17146         Moved sinks2 testcode in sinks check.
17147
17148         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17149         (gst_bin_remove_func), (gst_bin_recalc_state),
17150         (gst_bin_change_state_func), (bin_bus_handler):
17151         Fix potential race condition when _get_state() iterated over an
17152         ASYNC element right before it posted a state completion.
17153
17154         * gst/gstclock.h:
17155         Do proper cast here.
17156
17157         * gst/gstevent.c: (gst_event_new_newsegment),
17158         (gst_event_parse_newsegment):
17159         A playback rate of 0.0 is not allowed.
17160
17161 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17162
17163         * win32/common/config.h:
17164         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17165         (_trewinddir), (_ttelldir), (_tseekdir):
17166         * win32/common/dirent.h:
17167         * win32/common/gtchar.h:
17168         * win32/common/libgstbase.def:
17169         * win32/common/libgstreamer.def:
17170         * win32/vs6/grammar.dsp:
17171         * win32/vs6/gst_inspect.dsp:
17172         * win32/vs6/gst_launch.dsp:
17173         * win32/vs6/gstreamer.dsw:
17174         * win32/vs6/libgstbase.dsp:
17175         * win32/vs6/libgstelements.dsp:
17176         * win32/vs6/libgstreamer.dsp:
17177           Visual Studio 6 project files, and a new common directory.
17178           Phear.
17179
17180 2005-10-11  Wim Taymans  <wim@fluendo.com>
17181
17182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17183         (gst_base_sink_do_sync), (gst_base_sink_query),
17184         (gst_base_sink_change_state):
17185         * gst/base/gstbasesink.h:
17186         Correctly parse newsegment info.
17187
17188 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17189
17190         * gst/gst.c: (init_post):
17191           split plugin paths correctly
17192
17193 2005-10-11  Wim Taymans  <wim@fluendo.com>
17194
17195         * check/gst/gstevent.c: (GST_START_TEST):
17196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17197         (gst_base_sink_change_state):
17198         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17199         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17200         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17201         * gst/gstevent.c: (gst_event_new_newsegment),
17202         (gst_event_parse_newsegment):
17203         * gst/gstevent.h:
17204         Added extra flag to newsegment for future API freeze.
17205         Updated check and base elements.
17206
17207 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17208
17209         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17210         (gst_collectpads_add_pad), (gst_collectpads_pop),
17211         (gst_collectpads_event), (gst_collectpads_chain):
17212         * gst/base/gstcollectpads.h: Handle EOS correctly.
17213
17214 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17215
17216         * tools/gst-launch.c: (main):
17217           more null protecting
17218
17219 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17220
17221         * gst/gst-i18n-lib.h:
17222           check for ENABLE_NLS, not GETTEXT_PACKAGE
17223         * gst/gstregistry.c: (gst_registry_add_plugin),
17224         (gst_registry_scan_path_level),
17225         (_gst_registry_remove_cache_plugins):
17226           protect possibly NULL strings
17227         * gst/parse/types.h:
17228           config.h already included before
17229         * tools/gst-inspect.c: (main):
17230           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17231           check for ENABLE_NLS, not GETTEXT_PACKAGE
17232         * tools/gst-launch.c: (main):
17233           check for ENABLE_NLS, not GETTEXT_PACKAGE
17234
17235 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17236
17237         * configure.ac:
17238           if we don't have glib, fail before testing 2.8
17239         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17240           fix a leak, should fix plugins-base testsuite
17241
17242 2005-10-11  Andy Wingo  <wingo@pobox.com>
17243
17244         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17245         take the mode we're going to as an arg. Go head and set the mode
17246         and flushing flags now, so that if the activate function starts a
17247         thread all the flags will be in the right state.
17248         (post_activate): Renamed also. Just handle making sure streaming
17249         finishes for the deactivation case, and setting the deactivated
17250         mode.
17251         (gst_pad_set_active): Complain loudly if deactivation fails.
17252         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17253         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17254         remove the terrible hack.
17255
17256 2005-10-11  Wim Taymans  <wim@fluendo.com>
17257
17258         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17259         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17260         (gst_bin_recalc_state), (gst_bin_change_state_func),
17261         (gst_bin_dispose), (bin_bus_handler):
17262         * gst/gstbin.h:
17263         Prepare to make current EOS message queue more generic.
17264         Fix some typos.
17265
17266         * gst/gstevent.c: (gst_event_new_newsegment),
17267         (gst_event_parse_newsegment):
17268         * gst/gstevent.h:
17269         Rename base to stream_time.
17270
17271         * gst/gstmessage.h:
17272         Fix typo in docs.
17273
17274 2005-10-11  Wim Taymans  <wim@fluendo.com>
17275
17276         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17277         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17278         (gst_bin_change_state_func), (bin_bus_handler):
17279         * gst/gstbin.h:
17280         Work on proper clock selection.
17281
17282 2005-10-11  Edward Hervey  <edward@fluendo.com>
17283
17284         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17285         * libs/gst/controller/gstcontroller.h:
17286         Added GList* version of _remove_properties() in order to be able to wrap
17287         it in bindings.
17288
17289 2005-10-11  Wim Taymans  <wim@fluendo.com>
17290
17291         * docs/design/part-states.txt:
17292         Some more docs.
17293
17294         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17295         (gst_bin_change_state_func), (bin_bus_handler):
17296         Doc updates. Don't distribute the same clock over and over again.
17297
17298         * gst/gstclock.c:
17299         * gst/gstclock.h:
17300         Doc updates.
17301
17302         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17303         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17304         (gst_pad_send_event):
17305         * gst/gstpad.h:
17306         Make probe emission threadsafe again.
17307         Register quarks and move _get_name() from utils.
17308         Doc updates.
17309
17310         * gst/gstpipeline.c: (gst_pipeline_class_init),
17311         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17312         Only redistribute the clock of it changed.
17313
17314         * gst/gstsystemclock.h:
17315         Doc updates. 
17316
17317         * gst/gstutils.c:
17318         * gst/gstutils.h:
17319         Moved the _flow_get_name() to GstPad.
17320
17321 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17322
17323         * check/gst-libs/gdp.c: (GST_START_TEST):
17324         * check/gst/gstcaps.c: (GST_START_TEST):
17325         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17326         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17327         (gst_dp_packet_from_caps):
17328           fix more valgrind warnings before turning up the heat
17329
17330 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17331
17332         * gst/parse/grammar.y:
17333           some cleanup before the hacking
17334
17335 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17336
17337         * gst/base/gstbasesrc.c: (gst_base_src_query):
17338           use conversions
17339         * gst/gstutils.c: (gst_guint64_to_gdouble),
17340         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17341         * gst/gstutils.h:
17342           externalize, basesrc uses it
17343           obviously the implementation needs testing
17344
17345 2005-10-10  Wim Taymans  <wim@fluendo.com>
17346
17347         * tests/sched/Makefile.am:
17348         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17349         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17350
17351 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17352
17353         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17354           apparently converting from guint64 to double is not implemented
17355           on MSVC
17356
17357 2005-10-10  Wim Taymans  <wim@fluendo.com>
17358
17359         * check/Makefile.am:
17360         * check/generic/states.c: (GST_START_TEST):
17361         * check/gst/gstbin.c: (GST_START_TEST):
17362         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17363         * check/states/sinks.c: (GST_START_TEST):
17364         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17365         (main):
17366         Check fixes, use API as stated in design docs, remove hacks.
17367
17368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17369         (gst_base_sink_change_state):
17370         Catch stopping our task while we're shutting down.
17371
17372         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17373         (gst_bin_remove_func), (gst_bin_get_state_func),
17374         (gst_bin_recalc_state), (gst_bin_change_state_func),
17375         (bin_bus_handler):
17376         * gst/gstbin.h:
17377         * gst/gstelement.c: (gst_element_init),
17378         (gst_element_get_state_func), (gst_element_abort_state),
17379         (gst_element_commit_state), (gst_element_lost_state),
17380         (gst_element_set_state), (gst_element_change_state),
17381         (gst_element_change_state_func):
17382         * gst/gstelement.h:
17383         New state change algorithm (see #318116)
17384
17385         * gst/gstpipeline.c: (gst_pipeline_class_init),
17386         (gst_pipeline_init), (gst_pipeline_set_property),
17387         (gst_pipeline_get_property), (do_pipeline_seek),
17388         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17389         * gst/gstpipeline.h:
17390         Remove crude state change hacks.
17391
17392         * gst/gstutils.h:
17393         Remove crude hacks.
17394
17395         * tools/gst-launch.c: (main):
17396         Fixes for state change. Needs some more work to fully use the
17397         new stuff.
17398
17399 2005-10-10  Andy Wingo  <wingo@pobox.com>
17400
17401         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17402
17403         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17404         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17405         issue.
17406
17407 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17408
17409         * gst/gstiterator.c: (gst_iterator_new):
17410           Fix my previous commit: GTypes passed to gst_iterator_new()
17411           can be fundamental types.
17412
17413 2005-10-10  Wim Taymans  <wim@fluendo.com>
17414
17415         * gst/gstelement.c: (gst_element_iterate_pad_list),
17416         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17417         (gst_element_iterate_sink_pads):
17418         Use src/sink pads lists for the respective iterators instead
17419         of filtering.
17420
17421 2005-10-10  Andy Wingo  <wingo@pobox.com>
17422
17423         Merged in popt removal + GOption addition patch from Ronald, bug
17424         #169772.
17425
17426         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17427         GstElement macros around, remove popt-related symbols, add goption
17428         stuff.
17429
17430         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17431         
17432         * docs/gst/Makefile.am:
17433         * docs/libs/Makefile.am: No POPT_CFLAGS.
17434         
17435         * examples/manual/Makefile.am:
17436         * docs/manual/basics-init.xml: Doc updates with an example.
17437         
17438         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17439         (gst_init), (parse_one_option), (parse_goption_arg):
17440         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17441         bit of hand merging and debugging to get the GOption stuff working
17442         tho.
17443         
17444         * tests/Makefile.am:
17445         * tools/Makefile.am:
17446         * tools/gst-inspect.c: (main):
17447         * tools/gst-launch.c: (main):
17448         * tools/gst-run.c: (main):
17449         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17450
17451 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17452
17453         * gst/gstiterator.c: (gst_iterator_new):
17454           Add assertions to make sure passed GType is likely to really
17455           be a GType (as the compiler won't catch it if the size and
17456           GType arguments get mixed up, see #318447).
17457
17458 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17459
17460         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17461
17462         * gst/gstbin.c: (gst_bin_iterate_sorted):
17463           Pass GType and size arguments to gst_iterator_new() in the right
17464           order (maybe we should make _new() take the GType as first argument
17465           just like _new_list()?) (#318447).
17466           
17467
17468 2005-10-10  Wim Taymans  <wim@fluendo.com>
17469
17470         * gst/gstelement.c: (gst_element_finalize):
17471         And free the GStaticRecMutex too
17472
17473 2005-10-10  Andy Wingo  <wingo@pobox.com>
17474
17475         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17476         Allocate and free the mutex properly.
17477
17478         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17479         New macros.
17480         (GstElement): The state_lock is now recursive. Rebuild your
17481         plugins, suckers. Old macros adapted.
17482
17483         * docs/gst/gstreamer-sections.txt: Doc updates.
17484
17485         * gst/gstutils.h:
17486         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17487         (g_static_rec_cond_wait): Ported from state changes patch, while
17488         we wait on bug #317802 to be solved in a well-distributed GLib.
17489
17490         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17491         gst_element_change_state, variable name changes.
17492         (gst_element_change_state): Split out of gst_element_set_state in
17493         preparation for the state change merge. Doesn't pay attention to
17494         the 'transition' argument.
17495         (gst_element_set_state): Updates, hopefully purely cosmetic.
17496         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17497         state change patch.
17498         (gst_element_get_state_func): Renamed from get_state, cosmetic
17499         changes.
17500
17501 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17502
17503         * gst/elements/gstelements.c:
17504         * win32/GStreamer.vcproj:
17505         * win32/config.h:
17506         * win32/dirent.c: (_tseekdir):
17507         * win32/gst-inspect.vcproj:
17508         * win32/gst-launch.vcproj:
17509         * win32/gstconfig.h:
17510         * win32/gstelements.vcproj:
17511         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17512         * win32/gstreamer.def:
17513         * win32/msvc71.sln:
17514           updates for the win32 build (patch from Sebastien Moutte)
17515
17516 2005-10-10  Andy Wingo  <wingo@pobox.com>
17517
17518         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17519         gst_bin_get_state, cleaned up (but no logic changes).
17520         (bin_element_is_sink): Comment updates.
17521         (sink_iterator_filter): Remove needless cast.
17522         (gst_bin_iterate_sinks): Doc update.
17523         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17524         cleaned up (but no logic changes).
17525
17526         * check/states/sinks.c (test_src_sink): Cleanups from the state
17527         change patch.
17528         (test_livesrc_sink): Sync on the state.
17529
17530         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17531         the state change patch.
17532
17533         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17534         change patch.
17535
17536         * check/gst/gstbin.c: Merge in some style fixes and additional
17537         checks from Wim's state change patch.
17538
17539 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17540
17541         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17542         (gst_type_find_helper):
17543           Check whether we have the requested data already in our list of
17544           cached buffers before pulling a new buffer; also make the buffer
17545           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17546
17547 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17548
17549         * gst/gstcaps.c:
17550         * gst/gstevent.c:
17551           doc updates
17552         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17553           don't use long long, it's not portable.  Replacing with
17554           gint64 seems to work; let's hope no skeletons fall out of the closet.
17555
17556 2005-10-10  Andy Wingo  <wingo@pobox.com>
17557
17558         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17559
17560 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17561
17562         * docs/gst/gstreamer-sections.txt:
17563         * gst/gstevent.c:
17564         * gst/gstevent.h:
17565         * gst/gstinfo.c:
17566         * gst/gstinfo.h:
17567         * gst/gstmessage.c: (gst_message_parse_state_changed):
17568         * gst/gstpad.c:
17569         * gst/gstpad.h:
17570           more docs, fix compilation
17571
17572 2005-10-09  Philippe Khalaf <burger@speedy.org>
17573         * gst/gstmessage.c:
17574           Fixed a few forgotten variables on previous commit
17575
17576 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17577
17578         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17579           Fix evil typefind crasher: getrange() might return a short
17580           buffer at the end of a file, but gst_type_find_peek() must
17581           either return the full data as requested or NULL, but
17582           never a short buffer.
17583
17584 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17585
17586         * gst/gstmessage.c: (gst_message_new_state_changed),
17587         (gst_message_parse_state_changed):
17588         * gst/gstmessage.h:
17589           don't use "new", it's a C++ keyword
17590
17591 2005-10-08  Wim Taymans  <wim@fluendo.com>
17592
17593         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17594         * gst/gstelement.c: (gst_element_post_message):
17595         * gst/gstpipeline.c: (gst_pipeline_change_state):
17596         Small docs and debug updates.
17597
17598 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17599
17600         * docs/gst/gstreamer-sections.txt:
17601         * gst/gstelementfactory.c:
17602         * gst/gstevent.c:
17603         * gst/gsttaglist.c:
17604           more docs
17605
17606 2005-10-08  Wim Taymans  <wim@fluendo.com>
17607
17608         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17609         (gst_bin_dispose), (bin_bus_handler):
17610         Fix typos, add comments.
17611         Clear EOS list when going to PAUSED from any direction and do it
17612         in a threadsafe way.
17613         Get base time in a threadsafe way too.
17614         Fix confusing debug in the change_state function.
17615         Various other small cleanups.
17616         
17617         * gst/gstelement.c: (gst_element_post_message):
17618         Fix very verbose bus posting code.
17619
17620         * gst/gstpipeline.c: (gst_pipeline_class_init),
17621         (gst_pipeline_set_property), (gst_pipeline_get_property),
17622         (gst_pipeline_change_state):
17623         Small ARG_ -> PROP_ cleanup
17624
17625 2005-10-08  Wim Taymans  <wim@fluendo.com>
17626
17627         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17628         Do a less CPU demanding EOS check because we can.
17629
17630 2005-10-08  Wim Taymans  <wim@fluendo.com>
17631
17632         * libs/gst/dataprotocol/dataprotocol.c:
17633         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17634         (gst_dp_packet_from_event):
17635         * libs/gst/dataprotocol/dataprotocol.h:
17636         * libs/gst/dataprotocol/dp-private.h:
17637         It's about time we bump the version number.
17638         Since event types don't fit in the guint8 anymore describing
17639         the payload type, make payload type 16 bits wide.
17640
17641 2005-10-08  Wim Taymans  <wim@fluendo.com>
17642
17643         * docs/design/part-TODO.txt:
17644         * docs/design/part-clocks.txt:
17645         * docs/design/part-events.txt:
17646         * docs/design/part-gstbin.txt:
17647         * docs/design/part-gstelement.txt:
17648         * docs/design/part-gstpipeline.txt:
17649         * docs/design/part-live-source.txt:
17650         * docs/design/part-messages.txt:
17651         * docs/design/part-overview.txt:
17652         * docs/design/part-states.txt:
17653         Many doc updates.
17654
17655 2005-10-08  Wim Taymans  <wim@fluendo.com>
17656
17657         * gst/gstevent.c:
17658         * gst/gstevent.h:
17659         Fix event quark registration.
17660         Add some space between events so we can insert them in the
17661         right groups.
17662
17663 2005-10-08  Wim Taymans  <wim@fluendo.com>
17664
17665         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17666         (gst_base_sink_handle_buffer):
17667         Better log message.
17668
17669         * gst/gstbus.h:
17670         * gst/gstelement.h:
17671         More docs.
17672
17673         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17674         (gst_queue_set_property), (gst_queue_get_property):
17675         * gst/gstqueue.h:
17676         Remove old unused properties.
17677
17678 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17679         * docs/gst/gstreamer-sections.txt:
17680         * gst/gstmessage.c:
17681         * gst/gstmessage.h:
17682         * gst/gstminiobject.c:
17683         * gst/gstminiobject.h:
17684         * gst/gstobject.h:
17685         * gst/gstpad.h:
17686         * gst/gstutils.h:
17687           lots of new docs and doc fixes
17688
17689 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17690
17691         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17692         * gst/gstplugin.h:
17693         * gst/gstregistry.c: (gst_registry_lookup_locked),
17694         (gst_registry_scan_path_level):
17695         * gst/gstregistryxml.c: (load_plugin):
17696           Only ever load one plugin for a given plugin basename.
17697           This ensures correct overriding of GST_PLUGIN_PATH over
17698           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17699           system installed plugins.
17700
17701 2005-10-08  Wim Taymans  <wim@fluendo.com>
17702
17703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17704         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17705         Prepare for doing QOS.
17706
17707 2005-10-08  Wim Taymans  <wim@fluendo.com>
17708
17709         * check/gst/gstbin.c: (GST_START_TEST):
17710         * check/pipelines/cleanup.c: (GST_START_TEST):
17711         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17712         Allow new clock message too.
17713
17714 2005-10-08  Wim Taymans  <wim@fluendo.com>
17715
17716         * gst/gstmessage.c: (gst_message_new_error),
17717         (gst_message_new_warning), (gst_message_new_tag),
17718         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17719         (gst_message_new_clock_lost), (gst_message_new_new_clock),
17720         (gst_message_new_segment_start), (gst_message_new_segment_done),
17721         (gst_message_parse_state_changed),
17722         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17723         (gst_message_parse_new_clock):
17724         * gst/gstmessage.h:
17725         Also carry the clock in question.
17726
17727 2005-10-08  Wim Taymans  <wim@fluendo.com>
17728
17729         * gst/gstmessage.c: (gst_message_new_custom),
17730         (gst_message_new_eos), (gst_message_new_error),
17731         (gst_message_new_warning), (gst_message_new_tag),
17732         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17733         (gst_message_new_new_clock), (gst_message_new_segment_start),
17734         (gst_message_new_segment_done), (gst_message_parse_state_changed),
17735         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17736         * gst/gstmessage.h:
17737         Clean up.
17738         Added clock related messages.
17739
17740         * gst/gstpipeline.c: (gst_pipeline_change_state):
17741         Post message when the clock changed.
17742
17743         * tools/gst-launch.c: (event_loop):
17744         Print new clock.
17745
17746 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
17747
17748         * tools/gst-inspect.c: (print_element_properties_info):
17749           Can't pass NULL strings to g_print() on windows.
17750
17751 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17752
17753         * docs/Makefile.am:
17754         * docs/gst/Makefile.am:
17755         * docs/gst/gstreamer-docs.sgml:
17756         * docs/gst/running.xml:
17757         * docs/version.entities.in:
17758           add a chapter on running GStreamer.
17759           document GST_DEBUG and GST_PLUGIN* env vars
17760
17761 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17762
17763         * Makefile.am:
17764           remove include dir
17765         * configure.ac:
17766           remove PLUGINS_BUILDDIR stuff
17767         * gst/gst.c: (init_post):
17768           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17769         * idiottest.mak:
17770           remove, it was condescending and not needed
17771
17772 2005-10-08  Wim Taymans  <wim@fluendo.com>
17773
17774         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17775         (gst_base_sink_handle_object), (gst_base_sink_event),
17776         (gst_base_sink_wait), (gst_base_sink_handle_event),
17777         (gst_base_sink_change_state):
17778         * gst/base/gstbasesink.h:
17779         Repost EOS message while going to PLAYING if still EOS.
17780         Make sure that when receiving a FLUSH_START we don't attempt
17781         to sync on the clock anymore.
17782
17783 2005-10-08  Wim Taymans  <wim@fluendo.com>
17784
17785         * tools/gst-launch.c: (event_loop):
17786         Better message printout.
17787
17788 2005-10-08  Wim Taymans  <wim@fluendo.com>
17789
17790         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17791         (gst_bin_child_proxy_get_children_count):
17792         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17793         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17794         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17795         (gst_child_proxy_set_valist):
17796         * gst/parse/grammar.y:
17797         Make ChildProxy threadsafe and fix mem leaks.
17798
17799 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17800
17801         * gst/gst.c: (init_post):
17802           debug the GST_PLUGIN_ env vars
17803
17804 2005-10-08  Wim Taymans  <wim@fluendo.com>
17805
17806         * check/gst/gstbin.c: (GST_START_TEST):
17807         * check/gst/gstmessage.c: (GST_START_TEST):
17808         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17809         * gst/gstelement.c: (gst_element_commit_state),
17810         (gst_element_lost_state):
17811         * gst/gstmessage.c: (gst_message_new_state_changed),
17812         (gst_message_parse_state_changed):
17813         * gst/gstmessage.h:
17814         * tools/gst-launch.c: (event_loop):
17815         Added extra field to STATE_CHANGE message with the pending
17816         state, which will be different from the new state soon.
17817
17818 2005-10-08  Wim Taymans  <wim@fluendo.com>
17819
17820         * gst/gstbus.c: (gst_bus_pop):
17821         * gst/gstclock.c:
17822         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17823         Small cleanups and doc updates.
17824
17825 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17826
17827         * gst/gst.c: (init_pre):
17828         * gst/gstbin.c: (gst_bin_add_func):
17829           log distributing clocks and base time
17830         * gst/gstregistry.c: (gst_registry_add_plugin),
17831         (gst_registry_scan_path_level), (gst_registry_scan_path):
17832           clean up the debugging output a little
17833         * gst/gstutils.c: (gst_element_state_get_name):
17834           warn about a memleak (I've actually seen this be used, though
17835           it was probably a bug)
17836
17837 2005-10-07  Wim Taymans  <wim@fluendo.com>
17838
17839         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17840         (gst_base_src_init), (gst_base_src_default_newsegment),
17841         (gst_base_src_newsegment), (gst_base_src_do_seek),
17842         (gst_base_src_loop), (gst_base_src_start):
17843         * gst/base/gstbasesrc.h:
17844         Make the newsegment event customizable by subclasses.
17845
17846 2005-10-07  Wim Taymans  <wim@fluendo.com>
17847
17848         * gst/gstevent.c: (gst_event_new_buffersize),
17849         (gst_event_parse_buffersize):
17850         * gst/gstevent.h:
17851         New event for future idea.
17852
17853 2005-10-07  Andy Wingo  <wingo@pobox.com>
17854
17855         * gst/gstelement.c (gst_element_post_message): Doc update.
17856
17857         * docs/gst/gstreamer-sections.txt: Update.
17858
17859         * gst/gstmessage.c (gst_message_new_application): Made into a
17860         function like honest API calls.
17861         (gst_message_new_element): New message type.
17862
17863         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17864
17865         * check/elements/fakesrc.c (test_no_preroll): New check, checks
17866         that setting a live fakesrc to PAUSED returns NO_PREROLL both
17867         times.
17868
17869         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17870         NO_PREROLL from gst_element_change_state to fall through.
17871
17872 2005-10-07  Wim Taymans  <wim@fluendo.com>
17873
17874         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17875         (gst_ghost_pad_do_activate_push):
17876         Activating a ghostpad with no internal pad in push mode
17877         is ok.
17878
17879 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17880
17881         * gst/gstobject.h:
17882           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17883           Fixes compilation on Windows.
17884
17885 2005-10-07  Michael Smith <msmith@fluendo.com>
17886
17887         * tools/gst-inspect.c:
17888           Print out feature and plugin count at the end when printing out
17889           all features.
17890
17891 2005-10-04  Michael Smith <msmith@fluendo.com>
17892
17893         * gst/gsterror.c: (_gst_stream_errors_init):
17894           Add another error string used in a few existing plugins.
17895
17896         * gst/gstplugin.c:
17897         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17898         * tools/gst-inspect.c: (print_element_info):
17899           When a feature disappears from a plugin (and the feature exists in
17900           the cached registry file), things went horribly wrong. This isn't a
17901           complete fix, we should actually be removing the 'missing' features
17902           from the features list when we load the actual plugin. That's not
17903           yet implemented. 
17904
17905 2005-10-04  Johan Dahlin  <johan@gnome.org>
17906
17907         * check/gst/gstiterator.c: (GST_START_TEST):
17908         * gst/gstbin.c: (gst_bin_iterate_elements),
17909         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17910         * gst/gstelement.c: (gst_element_iterate_pads):
17911         * gst/gstformat.c: (gst_format_iterate_definitions):
17912         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17913         (gst_iterator_new_list), (gst_iterator_filter):
17914         * gst/gstiterator.h:
17915         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17916         Add a GType to GstIterator, update callsites and tests.
17917
17918 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17919
17920         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17921           give events a chance to be handled by event probes when the pad
17922           is not linked
17923
17924 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17925
17926         * gst/gstevent.c: (gst_event_type_get_name),
17927         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17928         * gst/gstevent.h:
17929           add string representations for event types
17930
17931 2005-10-06  Wim Taymans  <wim@fluendo.com>
17932
17933         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17934         Don't use NULL pointers.
17935
17936 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17937
17938         * gst/gst_private.h:
17939         * gst/gstbus.c:
17940         * gst/gstelement.c:
17941         * gst/gstinfo.c:
17942         * gst/gstpluginfeature.c:
17943           widen the debug category in output to fit the biggest one we have
17944           add a bus category and use it
17945           play with the colors
17946           fix up some categories
17947
17948 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17949
17950         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17951           add push activation of sink ghost pads.
17952           Andye, please verify
17953
17954 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17955
17956         * gst/gstutils.c: (gst_element_link_pads):
17957           fix a bug in the case where neither element has a pad
17958         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17959           add a test for that case
17960
17961 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17962
17963         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17964           emit have-data before checking for peers.  This allows
17965           for probe handlers to connect elements.  This helps autopluggers.
17966         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17967         (gst_pad_suite):
17968           add six checks, linked/unlinked with no/true/false probe
17969
17970 2005-10-04  Wim Taymans  <wim@fluendo.com>
17971
17972         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17973         (gst_fake_sink_event), (gst_fake_sink_preroll),
17974         (gst_fake_sink_render), (gst_fake_sink_change_state):
17975         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17976         (gst_fake_src_get_property), (gst_fake_src_create),
17977         (gst_fake_src_stop):
17978         * gst/elements/gstidentity.c: (gst_identity_stop):
17979         Protect last_message with lock.
17980
17981 2005-10-04  Edward Hervey  <edward@fluendo.com>
17982
17983         * gst/gstformat.h: 
17984         Added precision in the comments for GST_FORMAT_DEFAULT
17985
17986 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
17987
17988         * tools/gst-launch.c: (main):
17989           Don't try to run erroneous pipelines.
17990
17991 2005-10-04  Julien MOUTTE  <julien@moutte.net>
17992
17993         * gst/gstbus.c: We don't need this header.
17994
17995 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17996
17997         * configure.ac:
17998           back to development
17999
18000 === release 0.9.3 ===
18001
18002 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18003
18004         * README:
18005         * configure.ac:
18006           Releasing 0.9.3, "Unregistered"
18007
18008 2005-10-03  Andy Wingo  <wingo@pobox.com>
18009
18010         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18011         whereby calling a pad's activatepush() function can start a thread
18012         that starts to push or pull before the pad gets the FLUSHING flag
18013         unset. Hack around it by holding the stream lock until the flag is
18014         set. Need to replace this with a proper solution. Together with
18015         the ghost pad fixes, this fixes mp3 playing/tagreading.
18016
18017         * docs/design/part-gstghostpad.txt: Add a note about activation of
18018         proxy pads outside of ghost pads.
18019
18020         * gst/gstghostpad.c: Implement the ghost pad activation design.
18021
18022 2005-10-02  Andy Wingo  <wingo@pobox.com>
18023
18024         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18025         It is volatile, after all.
18026
18027         * docs/design/part-gstghostpad.txt: Flesh out activation with
18028         ghost pads.
18029
18030         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18031         GST_DEBUG_FUNCPTR.
18032
18033 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18034
18035         * configure.ac:
18036           Fix (unused) AM_CONDITIONAL tests.
18037
18038 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18039
18040         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18041
18042         * gst/gstutils.c: (gst_pad_query_convert):
18043           Add assertion that makes sure src_val is >=0, just like
18044           gst_query_new_convert() has. (#315895)
18045
18046 2005-09-30  Edward Hervey  <edward@fluendo.com>
18047
18048         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18049         Let's not iterate pads we're not interested in, it avoids getting 
18050         sky-high refcounts on sinkpad.
18051
18052 2005-09-30  Wim Taymans  <wim@fluendo.com>
18053
18054         * gst/gstelement.c: (gst_element_set_state),
18055         (gst_element_change_state):
18056         Small tweak, element in ASYNC remains ASYNC.
18057
18058 2005-09-30  Wim Taymans  <wim@fluendo.com>
18059
18060         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18061         Only error is an error.
18062
18063         * gst/gstbin.c: (gst_bin_change_state):
18064         Better debugging.
18065
18066         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18067         Also call pad_block in pad alloc.
18068
18069         * gst/gstutils.c: (gst_flow_get_name):
18070         Better debugging.
18071
18072 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18073
18074         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18075         (gst_base_src_get_range):
18076           Fix documentation typos. Add some more debug info.
18077
18078 2005-09-29  David Schleef  <ds@schleef.org>
18079
18080         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18081           more end-user friendly.
18082         * tools/gst-inspect.c: (main): Check if command-line argument is
18083           a file and attempt to load that file as a plugin.
18084
18085 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18086
18087         * check/gst/gstbin.c:
18088         * check/states/sinks.c:
18089           fix tests for the new warning
18090         * check/gst/gstpipeline.c:
18091           add a test for pipeline and bus interaction
18092         * gst/gstelement.c:
18093           elements should be NULL if they get disposed; add a warning if not
18094
18095 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18096
18097         * gst/gstobject.c:
18098           for 2.6 refcounting, make debug log more correct by printing
18099           the actual refcounts at the time of swap (Wim)
18100
18101 2005-09-29  Andy Wingo  <wingo@pobox.com>
18102
18103         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18104         removes signal watches previously added via
18105         gst_bus_add_signal_watch.
18106         (gst_bus_add_signal_watch): Don't return the source id, just store
18107         it on the bus if there wasn't an id already.
18108
18109         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18110         add_signal_watch and remove_signal_watch.
18111
18112 2005-09-29  Edward Hervey  <edward@fluendo.com>
18113
18114         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
18115         Better if we actually iterate the list :)
18116
18117 2005-09-29  Wim Taymans  <wim@fluendo.com>
18118
18119         * check/gst/gstbin.c: (GST_START_TEST):
18120         Change for new bus API.
18121
18122         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18123         (send_messages), (GST_START_TEST), (gstbus_suite):
18124         Change for new bus signal API.
18125
18126         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18127         (gst_bus_source_prepare), (gst_bus_source_check),
18128         (gst_bus_create_watch), (gst_bus_add_watch_full),
18129         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18130         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18131         * gst/gstbus.h:
18132         Remove support for multiple GSources operating on different
18133         message types as it is too complex and unneeded when using
18134         signals.
18135         Added support for receiving signals from the bus.
18136
18137 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18138
18139         * docs/libs/tmpl/gstdataprotocol.sgml:
18140         * docs/manual/advanced-dataaccess.xml:
18141         * gst/elements/gstcapsfilter.c:
18142         * gst/gstutils.c:
18143           rename filter-caps to caps property
18144
18145 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18146
18147         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18148           More robust fraction string parsing.
18149
18150         * docs/pwg/appendix-porting.xml:
18151           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18152
18153 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18154
18155         * gst/gstcaps.c: (gst_caps_do_simplify):
18156           Thou shalt not free a structure and then continue using it
18157           in the next loop iteration.
18158
18159         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18160         (gst_caps_suite):
18161           Add test case for caps simplification.
18162
18163 2005-09-29  Wim Taymans  <wim@fluendo.com>
18164
18165         * check/gst/gstbin.c: (GST_START_TEST):
18166         Oops.
18167
18168 2005-09-29  Wim Taymans  <wim@fluendo.com>
18169
18170         * check/gst/gstbin.c: (GST_START_TEST):
18171         Add bus to bin.
18172
18173         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18174         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18175         (find_element), (gst_bin_sort_iterator_next),
18176         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18177         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18178         (gst_bin_change_state), (gst_bin_dispose):
18179         A bin does not have a bus, it gets the bus from the parent.
18180
18181         * gst/gstelement.c: (gst_element_requires_clock),
18182         (gst_element_provides_clock), (gst_element_is_indexable),
18183         (gst_element_is_locked_state), (gst_element_change_state),
18184         (gst_element_set_bus_func):
18185         Small cleanups.
18186
18187         * gst/gstpipeline.c: (gst_pipeline_class_init),
18188         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18189         The pipeline provides a bus.
18190
18191 2005-09-28  Johan Dahlin  <johan@gnome.org>
18192
18193         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18194         gst_structure_get_enum instead of gst_structure_get_int
18195
18196         * gst/gststructure.c (gst_structure_get_enum): Impl.
18197
18198         * gst/gststructure.h (gst_structure_get_enum): Add
18199
18200         * docs/gst/gstreamer-sections.txt: Ditto
18201
18202         * gst/gstmessage.c (gst_message_new_state_changed): Use
18203         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18204         which does introspection.
18205         Reviewed by Christian Schaller
18206
18207 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18208
18209         * gst/gstinfo.c: (gst_debug_log_default):
18210           don't do dummy g_strdup()s
18211         * libs/gst/controller/gstcontroller.c:
18212         (on_object_controlled_property_changed),
18213         (gst_controlled_property_new), (gst_controller_new_valist),
18214         (gst_controller_new_list),
18215         (gst_controller_remove_properties_valist), (gst_controller_set),
18216         (gst_controller_get), (gst_controller_sync_values),
18217         (gst_controller_get_value_array), (_gst_controller_class_init),
18218         (gst_controller_get_type):
18219         * libs/gst/controller/gstcontroller.h:
18220         * libs/gst/controller/gstinterpolation.c:
18221         (gst_controlled_property_find_timed_value_node):
18222           convert // to /**/ comments
18223
18224 2005-09-28  Wim Taymans  <wim@fluendo.com>
18225
18226         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18227         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18228         (gst_bus_sync_signal_handler):
18229         * gst/gstbus.h:
18230         Added async-message and sync-message signals to the bus.
18231         Added helper BusFunc to emit signals for all posted messages.
18232
18233         * gst/gstmessage.c: (gst_message_type_get_name),
18234         (gst_message_type_to_quark), (gst_message_get_type):
18235         * gst/gstmessage.h:
18236         Register quarks for message names.
18237
18238 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18239
18240         * docs/libs/gstreamer-libs-sections.txt:
18241         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18242         (gst_controller_new_list):
18243         * libs/gst/controller/gstcontroller.h:
18244           added another constructor for language bindings
18245
18246 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18247
18248         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18249           add another check
18250         * gst/gstbus.c:
18251           add some doc
18252         * gst/gstinfo.c: (_gst_debug_init):
18253           slightly more readable color for refcount debugging
18254
18255 2005-09-28  Wim Taymans  <wim@fluendo.com>
18256
18257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18258         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18259         (find_element), (gst_bin_sort_iterator_next),
18260         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18261         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18262         (gst_bin_change_state), (gst_bin_dispose):
18263         Small doc fixes. get_clock -> provide_clock.
18264
18265         * gst/gstelement.c: (gst_element_class_init),
18266         (gst_element_provides_clock), (gst_element_provide_clock),
18267         (gst_element_get_clock), (gst_element_commit_state),
18268         (gst_element_lost_state):
18269         * gst/gstelement.h:
18270         Make get/set_clock() symetric. Add provide_clock vmethod since
18271         that is actually what this function does.
18272
18273         * gst/gstpipeline.c: (gst_pipeline_class_init),
18274         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18275         (gst_pipeline_get_clock):
18276         get_clock -> provide_clock.
18277
18278 2005-09-28  Andy Wingo  <wingo@pobox.com>
18279
18280         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18281         lieu of real docs...
18282
18283         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18284
18285 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18286
18287         * gst/elements/gstcapsfilter.c:
18288         * gst/elements/gstfakesink.c:
18289         * gst/elements/gstfakesrc.c:
18290         * gst/elements/gstfdsink.c:
18291         * gst/elements/gstfdsrc.c:
18292         * gst/elements/gstfilesink.c:
18293         * gst/elements/gstfilesrc.c:
18294         * gst/elements/gstidentity.c:
18295         * gst/elements/gsttee.c:
18296         * gst/elements/gsttypefindelement.c:
18297           Make element details static.
18298
18299 2005-09-28  Wim Taymans  <wim@fluendo.com>
18300
18301         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18302         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18303         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18304         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18305         (gst_bin_change_state), (gst_bin_dispose):
18306         Some documentation updates.
18307         Clean up dispose handlers.
18308
18309         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18310         * gst/gstpad.c: (gst_pad_dispose):
18311         Clean up dispose handler.
18312
18313         * gst/gstpipeline.c: (gst_pipeline_change_state):
18314         Removed spurious UNLOCK.
18315
18316 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18317
18318         * docs/gst/gstreamer-sections.txt:
18319         * gst/base/gstbasesrc.h:
18320         * gst/gstelement.h:
18321         * gst/gstevent.h:
18322         * gst/gstobject.h:
18323         * gst/gstpad.h:
18324         * gst/gstpipeline.c:
18325         * gst/gstpipeline.h:
18326         * gst/gstutils.h:
18327         * gst/gstxml.h:
18328           added two new functions to the docs
18329                 documents all undocumented GstXXXFlags
18330                 completed some incomplete docs 
18331
18332 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18333
18334         * gst/gstbin.c: (gst_bin_dispose):
18335         * gst/gstelement.c: (gst_element_dispose):
18336           remove now useless and leaky resurrection code in dispose
18337         * gst/base/gstbasesrc.c: (gst_base_src_init):
18338         * gst/gstelementfactory.c: (gst_element_factory_create):
18339         * gst/gstobject.c: (gst_object_set_parent):
18340           add some debugging
18341
18342 2005-09-27  Wim Taymans  <wim@fluendo.com>
18343
18344         * docs/design/part-TODO.txt:
18345         Update TODO.
18346
18347         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18348         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18349         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18350         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18351         (gst_bin_change_state):
18352         * gst/gstelement.h:
18353         Remove element variable, we keep element info in the iterator now.
18354
18355 2005-09-27  Andy Wingo  <wingo@pobox.com>
18356
18357         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18358         values.
18359
18360 2005-09-27  Wim Taymans  <wim@fluendo.com>
18361
18362         * check/gst/gstbin.c: (GST_START_TEST):
18363         Enable check that works now.
18364
18365         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18366         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18367         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18368         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18369         (gst_bin_change_state):
18370         * gst/gstbin.h:
18371         Redid the state change algorithm using a topological sort algo.
18372         Handles all cases correctly.
18373         Exposed iterator for state change order.
18374
18375         * gst/gstelement.h:
18376         Temp storage for state changes. Need to get rid of this soon.
18377
18378 2005-09-27  Wim Taymans  <wim@fluendo.com>
18379
18380         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18381         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18382         (link_fold_func), (gst_pad_proxy_setcaps):
18383         Leak fixes, the fold functions need to unref the passed object and
18384         _get_parent_*() returns ref to parent.
18385
18386 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18387
18388         * check/gst/gstbuffer.c: (test_make_writable):
18389           Plug leak in test case and fix 'make check-valgrind'
18390
18391 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18392
18393         * gst/gstbuffer.c: (gst_subbuffer_init):
18394           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18395           works correctly in all circumstances (we could have just copied
18396           the parent buffer's readonly flag, but conceptually it seems
18397           cleaner to mark all subbuffers as read-only). (based on patch
18398           by Alessandro Decina, #314710).
18399         
18400         * check/gst/gstbuffer.c: (create_read_only_buffer),
18401         (test_make_writable), (test_subbuffer_make_writable),
18402         (gst_test_suite):
18403           Add some tests for gst_buffer_make_writable().
18404
18405 2005-09-27  Wim Taymans  <wim@fluendo.com>
18406
18407         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18408         use gst_object_has_ancestor().
18409
18410         * gst/gstobject.c: (gst_object_has_ancestor):
18411         * gst/gstobject.h:
18412         gst_object_has_ancestor() copied from gstbin.c as it is a
18413         useful function.
18414
18415         * tests/instantiate/create.c: (create_all_elements):
18416         * tests/lat.c: (handoff_src), (handoff_sink):
18417         * tests/sched/runxml.c: (main):
18418         * tests/seeking/seeking1.c: (main):
18419         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18420         (main):
18421         Fix compilation of some tests.
18422
18423 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18424
18425         * gst/gsterror.h:
18426           Remove comment. GST_TYPE_G_ERROR is here to stay,
18427           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18428           (#316961, #300610).
18429
18430 2005-09-26  Wim Taymans  <wim@fluendo.com>
18431
18432         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18433         Added check that shows error in state change order.
18434
18435 2005-09-26  Wim Taymans  <wim@fluendo.com>
18436
18437         * gst/gstbin.c: (gst_bin_change_state):
18438         Make state change function use 3 queues again, we were
18439         adding elements in the wrong order.
18440
18441         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18442         Some debug info,
18443
18444         * gst/gstpad.c: (gst_pad_dispose):
18445         Added some debug info first.
18446
18447 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18448
18449         * docs/design/draft-push-pull.txt:
18450         * docs/design/part-events.txt:
18451         * docs/design/part-overview.txt:
18452         * docs/design/part-scheduling.txt:
18453           Replace all _pull_region() with _pull_range()
18454           
18455 2005-09-26  Andy Wingo  <wingo@pobox.com>
18456
18457         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18458
18459         * check/gst-libs/controller.c: Update for controller api change.
18460
18461         * configure.ac: 
18462         * tests/Makefile.am:
18463         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18464         over by GLib bug 118439.
18465         
18466         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18467         routines to a function.
18468
18469         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18470
18471         * libs/gst/controller/gsthelper.c:
18472         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18473         (gst_object_sync_values): Renamed from sink_values. Ugh.
18474
18475         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18476
18477         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18478         Renamed from controller_key, as it is exported.
18479
18480         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18481
18482 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18483
18484         * gst/Makefile.am:
18485         * gst/gst.h:
18486         * gst/gstpad.h:
18487         * gst/gstpadtemplate.h:
18488         * gst/gstquery.c:
18489         * gst/gstquery.h:
18490         * gst/gstqueryutils.c:
18491         * gst/gstqueryutils.h:
18492           remove queryutils headers after moving the two used functions
18493           to gstquery.  also fixes build problem for gstsiddec
18494
18495 2005-09-26  Michael Smith <msmith@fluendo.com>
18496
18497         * tools/gst-launch.1.in:
18498         Correct documentation in manpage of debug syntax
18499
18500 2005-09-26  Wim Taymans  <wim@fluendo.com>
18501
18502         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18503         (gst_base_src_is_seekable), (gst_base_src_change_state):
18504         Some more debugging info.
18505
18506 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18507
18508         * docs/gst/gstreamer-sections.txt:
18509         * gst/base/gstbasetransform.h:
18510         * gst/gstindex.h:
18511           added more docs
18512
18513 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18514
18515         * docs/gst/.cvsignore:
18516         * docs/gst/tmpl/.cvsignore:
18517         * docs/gst/tmpl/gstpipeline.sgml:
18518         * docs/gst/tmpl/gstplugin.sgml:
18519         * gst/gstpipeline.c:
18520         * gst/gstplugin.c:
18521         * gst/gstplugin.h:
18522           inlined the last two docs files
18523           removed the tmpl directory from cvs (no more conflicts here!)
18524
18525 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18526
18527         * docs/gst/gstreamer-sections.txt:
18528         * docs/gst/tmpl/.cvsignore:
18529         * docs/gst/tmpl/gstpad.sgml:
18530         * docs/gst/tmpl/gstpadtemplate.sgml:
18531         * gst/Makefile.am:
18532         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18533         (gst_pad_finalize), (gst_pad_set_pad_template):
18534         * gst/gstpad.h:
18535         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18536         (gst_pad_template_class_init), (gst_pad_template_init),
18537         (gst_pad_template_dispose), (name_is_valid),
18538         (gst_static_pad_template_get), (gst_pad_template_new),
18539         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18540         (gst_pad_template_pad_created):
18541         * gst/gstpadtemplate.h:
18542           inlined two more docs
18543           factored gstpadtemplate out of gstpad
18544
18545 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18546
18547         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18548         (test_children_state_change_order_semi_sink):
18549           Fix test case: we can't rely on a fixed state change order when
18550           going from READY => PAUSED because the sink might commit its 
18551           new state first when the first buffer created by the source 
18552           reaches the sink before the source has finished its change state.
18553           (Test case still fails at times, see #316856, comment 5 onwards)
18554
18555 2005-09-24  Wim Taymans  <wim@fluendo.com>
18556
18557         * docs/design/part-events.txt:
18558         * docs/design/part-gstbus.txt:
18559         * docs/design/part-gstpipeline.txt:
18560         * docs/design/part-messages.txt:
18561         * docs/design/part-overview.txt:
18562         * docs/design/part-segments.txt:
18563         * gst/gstbin.c:
18564         * gst/gstbuffer.c:
18565         * gst/gstclock.c:
18566         * gst/gstelement.c:
18567         * gst/gstevent.c:
18568         * gst/gstfilter.c:
18569         * gst/gstiterator.c:
18570         Various documentation updates.
18571
18572 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18573
18574         * gst/gstclock.h:
18575           Well, that's embarassing.  Luckily we weren't using
18576           GST_CLOCK_DIFF anywhere.
18577
18578 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18579
18580         * common/gtk-doc.mak:
18581           don't fail on building XML, FC4 slave shows a bunch of doc
18582           missing bits that I don't get
18583         * gst/gstpad.c:
18584         * gst/gstpipeline.c:
18585         * gst/gststructure.c:
18586           some doc updates
18587
18588 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18589
18590         * docs/design/part-gstbin.txt:
18591         * docs/design/part-gstbus.txt:
18592         * gst/gstbus.c:
18593           Add blurb about how the bus goes into flushing mode and
18594           drops all messages when its bin goes from READY into NULL 
18595           state.
18596
18597 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18598
18599         * docs/gst/gstreamer-sections.txt:
18600         * gst/gststructure.c: (gst_structure_get_clock_time):
18601         * gst/gststructure.h:
18602           add a method to get a GstClockTime out of a structure
18603
18604 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18605
18606         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18607         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18608           Added test to check state change order in bins (can still be made
18609           to fail here under heavy disk load; bails out with 'Push on pad
18610           fakesink:sink0, but it was not activated in push mode').
18611
18612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18613           Fix state change order when there is only a semi sink (#316856)
18614
18615         * gst/gstbus.c: (gst_bus_class_init):
18616           Use _class_peek_parent(), not _class_ref(); fix docs to say
18617           'default main context' instead of 'mainloop' where that is
18618           what's meant.
18619
18620         * gst/gstelement.c: (gst_element_commit_state),
18621         (gst_element_set_state):
18622           Fix typos in debug messages
18623
18624 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18625
18626         * docs/README:
18627         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18628         * gst/gstpluginfeature.c:
18629         * gst/gstutils.c:
18630           various doc updates
18631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18632           change an assert into an error until it gets fixed properly
18633
18634 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18635
18636         * docs/gst/gstreamer-sections.txt:
18637         * docs/gst/tmpl/.cvsignore:
18638         * docs/gst/tmpl/gstelement.sgml:
18639         * docs/gst/tmpl/gstinfo.sgml:
18640         * docs/gst/tmpl/gstobject.sgml:
18641         * gst/gstelement.c:
18642         * gst/gstelement.h:
18643         * gst/gstinfo.c:
18644         * gst/gstinfo.h:
18645         * gst/gstobject.c: (gst_object_class_init):
18646         * gst/gstobject.h:
18647           inlined 3 more biiiig doc files and added some missing docs on the fly
18648
18649 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18650
18651         * check/gst/.cvsignore:
18652         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18653         * gst/gstregistryxml.c: (load_plugin),
18654         (gst_registry_xml_save_plugin):
18655           put back source in registry.  add checks for find_plugin.
18656         * testsuite/states/bin.c: (assert_state), (empty_bin),
18657         (test_adding_one_element), (main):
18658         * testsuite/states/locked.c: (main):
18659           some compile/run fixes
18660
18661 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18662
18663         * check/gst/gstvalue.c: (GST_START_TEST):
18664           fix leaks in the test itself
18665
18666 2005-09-22  Wim Taymans  <wim@fluendo.com>
18667
18668         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18669         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18670         (gst_base_sink_query):
18671         Prepare for more accurate position reporting and query
18672         handling.
18673
18674         * gst/gstelement.c: (gst_element_send_event),
18675         (gst_element_set_state):
18676         Add some comment.
18677
18678 2005-09-22  Wim Taymans  <wim@fluendo.com>
18679
18680         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18681         (gst_query_parse_segment):
18682         * gst/gstquery.h:
18683         More documentation.
18684         Add segment query for future use.
18685
18686 2005-09-22  Wim Taymans  <wim@fluendo.com>
18687
18688         * gst/gstbin.c: (gst_bin_add_func):
18689         Some more debug info.
18690
18691         * gst/gstelement.c: (gst_element_send_event):
18692         Simplify send_event
18693
18694         * gst/gstelement.h:
18695         Don't know how flags got broken.
18696
18697         * gst/gstquery.h:
18698         Added new query.
18699
18700 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18701
18702         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18703           Add simplistic test suite for GST_TYPE_DATE serialisation and
18704           deserialisation.
18705
18706 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18707
18708         * docs/gst/gstreamer-sections.txt:
18709         * gst/gststructure.c: (gst_structure_set_valist),
18710         (gst_structure_get_date):
18711         * gst/gststructure.h:
18712         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18713         (gst_date_copy), (gst_value_compare_date),
18714         (gst_value_serialize_date), (gst_value_deserialize_date),
18715         (gst_value_transform_date_string),
18716         (gst_value_transform_string_date), (_gst_value_initialize):
18717         * gst/gstvalue.h:
18718           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18719           bunch of utility functions along with a hack that checks that
18720           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18721           is required. Part of the grand scheme in #170777.
18722
18723 2005-09-22  Andy Wingo  <wingo@pobox.com>
18724
18725         * gst/gstconfig.h.in: Psych out gtk-doc.
18726
18727         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18728
18729         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18730
18731         * tools/gst-inspect.c (print_element_list): Plug some
18732         inconsequential leaks.
18733
18734         * gst/gstregistry.c (gst_registry_get_default): Doc.
18735
18736         * check/gst/gstplugin.c: 
18737         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18738         * gst/gstelementfactory.c (gst_element_factory_create): 
18739         * gst/gstindexfactory.c (gst_index_factory_create): Update for
18740         refcount changes.
18741
18742         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18743         (gst_plugin_feature_load): Doc, don't eat refs.
18744
18745         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18746         (gst_plugin_list_free): Doc.
18747         (gst_plugin_load_file): Doc updates.
18748
18749         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18750         accessors returning refcounted objects, return a ref.
18751
18752         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18753         accessor for caps. IDEMPOTENCE. Oh yes.
18754
18755 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
18756
18757         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18758
18759         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18760         (_gst_debug_register_funcptr):
18761           Add mutex to serialise access to the hash table with
18762           the function pointer => function name string mapping;
18763           make that hash table static scope (#316809).
18764
18765         * gst/registries/.cvsignore:
18766           Remove left-over file.
18767
18768 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18769
18770         * docs/pwg/appendix-porting.xml:
18771           And something about newsegment events and caps-on-buffers to
18772           the porting guide (feel free to improve).
18773
18774 2005-09-21  Andy Wingo  <wingo@pobox.com>
18775
18776         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18777         data and event probes on the same pad.
18778         (test_buffer_probe_once): Test that removing probes from within
18779         the probe functions works.
18780
18781 2005-09-21  Andy Wingo  <wingo@pobox.com>
18782
18783         * check/gst/gstutils.c: New file.
18784         (test_buffer_probe_n_times): A simple buffer probe test. More to
18785         come, foolios.
18786
18787         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18788         have-data::buffer, not have-data.
18789         (gst_pad_add_event_probe): Likewise for have-data::event.
18790         (gst_pad_add_data_probe): More docs. The part about 'resolving the
18791         peer' isn't quite right yet though.
18792         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
18793         (gst_pad_remove_data_probe): Change to take the guint handler_id
18794         as their arg, not the function+data, which is more glib-like.
18795
18796         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18797         the signal emission to indicate if the data is a buffer or an
18798         event.
18799         (gst_pad_get_type): Initialize buffer and event quarks.
18800         (gst_pad_class_init): have-data is now a detailed signal, yes it
18801         is.
18802
18803 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18804
18805         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18806         * gst/gstutils.c: (gst_util_set_value_from_string),
18807         (gst_util_set_object_arg):
18808           Don't put functional code in g_return_if_fail() or
18809           g_return_val_if_fail() statements, otherwise things will 
18810           break when G_DISABLE_CHECKS is defined during compilation.
18811
18812 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18813
18814         * docs/gst/tmpl/.cvsignore:
18815         * docs/gst/tmpl/gstvalue.sgml:
18816         * gst/gstvalue.c:
18817         * gst/gstvalue.h:
18818           inlied another one and added  some obvious docs
18819
18820 2005-09-21  Wim Taymans  <wim@fluendo.com>
18821
18822         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18823         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18824         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18825         (gst_fdsrc_get_property), (gst_fdsrc_create):
18826         * gst/elements/gstfdsrc.h:
18827         Properly implement fdsrc. Removed signal and timeout,
18828         better implemented somewhere else.
18829
18830 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18831
18832         * docs/gst/tmpl/.cvsignore:
18833         * docs/gst/tmpl/gstimplementsinterface.sgml:
18834         * gst/gstinterface.c:
18835           inlined more docs
18836
18837 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18838
18839         * docs/gst/gstreamer-sections.txt:
18840         * docs/gst/tmpl/.cvsignore:
18841         * docs/gst/tmpl/gstenumtypes.sgml:
18842           remove obsolete doc file
18843
18844 2005-09-21  David Schleef  <ds@schleef.org>
18845
18846         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18847         little beer, fix a little leak.
18848
18849 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18850
18851         * docs/gst/gstreamer-docs.sgml:
18852         * docs/gst/gstreamer-sections.txt:
18853         * docs/gst/tmpl/.cvsignore:
18854         * gst/Makefile.am:
18855         * gst/gst.h:
18856         * gst/gstbin.c:
18857         * gst/gstelement.h:
18858         * gst/gstindex.c: (gst_index_class_init):
18859         * gst/gstindex.h:
18860         * gst/gstindexfactory.c: (gst_index_factory_get_type),
18861         (gst_index_factory_class_init), (gst_index_factory_init),
18862         (gst_index_factory_finalize), (gst_index_factory_new),
18863         (gst_index_factory_destroy), (gst_index_factory_find),
18864         (gst_index_factory_create), (gst_index_factory_make):
18865         * gst/gstindexfactory.h:
18866         * gst/gstpluginfeature.c:
18867         * gst/gstpluginfeature.h:
18868         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18869           more docs inlined, splitted gstindex.{c,h}
18870
18871 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18872
18873         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18874           fix a leak
18875
18876 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18877
18878         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18879           Set sync to FALSE by default.
18880
18881 2005-09-20  Wim Taymans  <wim@fluendo.com>
18882
18883         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18884         (gst_base_sink_init):
18885         Make sync property settable from subclass.
18886
18887         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18888         (gst_fake_sink_change_state):
18889         Set sync to FALSE by default.
18890
18891 2005-09-20  Wim Taymans  <wim@fluendo.com>
18892
18893         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18894         * tools/gst-launch.c: (main):
18895         The timeout handler should have lower priority than the source
18896         so we don't timeout before popping a message with 0 timeout.
18897         Dump error messages after failed state change.
18898
18899 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18900
18901         * tools/gst-inspect.c: (print_element_properties_info):
18902           Fix two typos.
18903
18904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18905
18906         * check/gst/gstevent.c:
18907         * gst/elements/gstfakesink.c:
18908         * gst/elements/gstfakesink.h:
18909           remove the sync property from fakesink.
18910           has the side effect of setting sync TRUE
18911           for fakesink, which is a change.  Anyone who knows how
18912           to fix this nicely in a GObject-y way, feel free.
18913
18914 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18915
18916         * docs/gst/gstreamer-docs.sgml:
18917           remove probe refsection
18918
18919 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18920
18921         * check/Makefile.am:
18922           disable valgrinding the controller test again
18923         * docs/gst/gstreamer-sections.txt:
18924           update for api-changes
18925
18926 2005-09-20  Wim Taymans  <wim@fluendo.com>
18927
18928         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18929         (gst_base_sink_set_property), (gst_base_sink_get_property),
18930         (gst_base_sink_do_sync):
18931         * gst/base/gstbasesink.h:
18932         Added sync property to basesink to disable clock sync.
18933
18934 2005-09-20  Andy Wingo  <wingo@pobox.com>
18935
18936         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18937         eating the caller's refcount.
18938
18939         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18940         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18941         refcount.
18942
18943         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18944         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18945         of GLib 2.8 public, so we can know which refcount to check in
18946         tests.
18947
18948         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18949         (gst_object_init): Only set the gst refcount if we're going ahead
18950         with the refcount hack.
18951
18952 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18953
18954         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18955         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18956           more leaks plumbed, added more debug-logging
18957         * gst/gstmacros.h:
18958           whitespace fix
18959
18960 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18961
18962         * gst/gstmessage.c:
18963           remove include of gstmemchunk.h
18964
18965 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18966
18967         * gst/gstclock.c: (_gst_clock_id_free):
18968           Commit from the Political Party For More Atomic CVS Commits,
18969           so that people don't waste too much of their day fishing
18970           out obvious leaks out of massive commits.
18971           Oh, and fix a pretty damn obvious leak in the memchunk
18972           removal code.
18973
18974 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18975
18976         * check/Makefile.am:
18977         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18978           plug mem-leak, re-add to valgrindable tests
18979
18980 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18981
18982         * gst/gstplugin.h:
18983           unbreak the build for those who have chronic arthritis
18984           and typing "make check" is just too taxing on the hands
18985
18986 2005-09-20  Andy Wingo  <wingo@pobox.com>
18987
18988         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18989         really want it out, you should fix plugins at the same time.
18990
18991 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
18992
18993         * configure.ac:
18994         * docs/gst/gstreamer-sections.txt:
18995         * gst/gstobject.c:
18996           added missing symbols to api docs
18997           disable ref-count hack if we have glib >= 2.8
18998
18999 2005-09-19  David Schleef  <ds@schleef.org>
19000
19001         * docs/gst/Makefile.am: Ignore a few more internal headers
19002         * docs/gst/gstreamer-docs.sgml: Remove old sections
19003         * docs/gst/gstreamer-sections.txt: Remove old sections
19004         * docs/gst/tmpl/gstobject.sgml: update
19005         * docs/gst/tmpl/gstplugin.sgml: update
19006         * docs/gst/tmpl/gstpluginfeature.sgml: update
19007         * docs/random/ds/0.9-suggested-changes: update.
19008         * gst/Makefile.am: remove memchunk and trashstack, since they're
19009           not used.
19010         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19011         * gst/gst.h: don't include some headers
19012         * gst/gstchildproxy.c: add gstmarshal.h
19013         * gst/gstclock.c: Don't use memchunks
19014         * gst/gstminiobject.c: Add some docs
19015         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19016         * gst/gstobject.h: same
19017         * gst/gstplugin.c: include gstmacros.h
19018         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19019         * gst/gstquery.c: don't use memchunks
19020         * gst/gstregistry.c: rename gst_registry_deinit()
19021         * gst/gstregistry.h: same
19022
19023 2005-09-19  David Schleef  <ds@schleef.org>
19024
19025         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19026         * docs/libs/gstreamer-libs-sections.txt:
19027         * docs/libs/tmpl/gstgetbits.sgml:
19028         * docs/libs/tmpl/gstputbits.sgml:
19029
19030 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19031
19032         * win32/gstenumtypes.c:
19033         * win32/gstenumtypes.h:
19034           Update.
19035
19036 2005-09-19  Wim Taymans  <wim@fluendo.com>
19037
19038         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19039         Automatically PAUSE and RESUME a pipeline when a flushing seek
19040         is performed.
19041
19042 2005-09-19  Andy Wingo  <wingo@pobox.com>
19043
19044         * gst/gstregistry.h: Spacing fixen.
19045
19046 2005-09-19  Wim Taymans  <wim@fluendo.com>
19047
19048         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19049         Handle state change failure more correctly.
19050
19051 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19052
19053         * check/Makefile.am:
19054         * check/pipelines/cleanup.c: (run_pipeline):
19055         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19056         (GST_START_TEST):
19057           enable cleanup again after fixing the leak
19058         * docs/README:
19059           some more info on docs
19060
19061 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19062
19063         * check/Makefile.am:
19064           re-enable tests now that leaks are plugged
19065         * check/gst/gst.c:
19066         * check/gst/gstbin.c:
19067         * check/gst/gstpipeline.c:
19068           add some more tests while fixing leaks
19069         * common/check.mak:
19070           make sure binaries are uptodate when valgrinding/gdbing
19071         * gst/gst.c:
19072         * gst/gstelementfactory.c:
19073           remove a ref too many, and add a FIXME for when we get
19074           round to disposing of classes
19075         * gst/gstplugin.c:
19076           fix the refcounting when loading a plugin from a file and
19077           the code pretends that the pointer is the same even though
19078           of course it can change
19079         * gst/gstpluginfeature.c:
19080           unref plugins marked cached (a bit confusing as a name)
19081           as the docs state should be done
19082           various doc additions to explain refcounting
19083         * gst/gstregistry.c:
19084         * gst/gstregistryxml.c:
19085           debugging
19086
19087 2005-09-19  Wim Taymans  <wim@fluendo.com>
19088
19089         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19090         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19091         (send_messages), (GST_START_TEST), (gstbus_suite):
19092         * check/gst/gstpipeline.c: (GST_START_TEST):
19093         * check/pipelines/cleanup.c: (run_pipeline):
19094         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19095         (GST_START_TEST):
19096         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19097         (gst_bus_source_check), (gst_bus_source_dispatch),
19098         (gst_bus_create_watch), (gst_bus_add_watch_full),
19099         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19100         * gst/gstbus.h:
19101         * tools/gst-launch.c: (event_loop):
19102         * tools/gst-md5sum.c: (event_loop):
19103         GstBusHandler -> GstBusFunc, return value has the same meaning as
19104         any other GSource (FALSE == remove source).
19105         _add_watch() and _add_watch_full() now take a MessageType mask to
19106         only handle specific types of messages.
19107         _poll() returns the GstMessage instead of the message type to avoid
19108         race conditions.
19109         _have_pending() takes a MessageType mask now too.
19110         Added testsuite for multiple bus watches.
19111         Fix testsuites and applications for new bus API.
19112
19113 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19114
19115         * check/Makefile.am:
19116           mark a bunch of the tests as to fix until we fix them
19117
19118 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19119
19120         * common/check.mak:
19121           use GST_PLUGIN settings for valgrind tests as well, so we're
19122           valgrinding the correct thing
19123         * gst/gst.c: (init_post):
19124           plug another leak
19125
19126 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19127
19128         * gst/gst.c: (init_post), (gst_deinit):
19129         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19130         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19131         * gst/gstindex.c: (gst_index_factory_class_init),
19132         (gst_index_factory_finalize):
19133         * gst/gstobject.c: (gst_object_dispose):
19134         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19135         (gst_plugin_load_file), (gst_plugin_desc_free):
19136         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19137         (gst_plugin_feature_finalize):
19138         * gst/gstregistry.c: (gst_registry_class_init),
19139         (gst_registry_init), (gst_registry_finalize),
19140         (gst_registry_get_default), (gst_registry_deinit):
19141         * gst/gstregistry.h:
19142         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19143           various cleanups and memleak plugging.  make valgrind is happy now.
19144
19145 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19146
19147         * common/check.mak:
19148           add a check-valgrind target
19149
19150 2005-09-18  David Schleef  <ds@schleef.org>
19151
19152         * tools/gst-inspect.c: Revert the GOption code.
19153
19154 2005-09-17  David Schleef  <ds@schleef.org>
19155
19156         * check/Makefile.am: Fix environment variables.
19157         * check/gst/gstplugin.c: Fix for API changes.
19158         * tools/gst-inspect.c: Fix for API changes.
19159         * tools/gst-xmlinspect.c: Fix for API changes.
19160         * gst/gstelementfactory.c:
19161         * gst/gstplugin.c:
19162         * gst/gstplugin.h:
19163         * gst/gstpluginfeature.c:
19164         * gst/gstpluginfeature.h:
19165         * gst/gstregistry.c:
19166         * gst/gstregistry.h:
19167         * gst/gstregistryxml.c:
19168         * gst/gsttypefind.c:
19169         * gst/gsttypefindfactory.c:
19170         * gst/indexers/gstfileindex.c:
19171         * gst/indexers/gstmemindex.c:
19172         * gst/schedulers/Makefile.am:
19173           Change registry to keep track of both plugins and features,
19174           removing the feature tracking from plugins themselves.
19175
19176 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19177
19178         * check/Makefile.am:
19179         * tools/gst-register.1.in:
19180           remove gst-register
19181
19182 2005-09-15  David Schleef  <ds@schleef.org>
19183
19184         * check/gst/gstplugin.c:
19185         * gst/gstelementfactory.c:
19186         * gst/gstplugin.c:
19187         * gst/gstpluginfeature.c:
19188         * gst/gstregistry.c:
19189           Getting tired of debugging.  Disabled all the unreffing of
19190           plugins and features, which fixes the segfaults, but of
19191           course leaks like crazy.  At least playbin works.
19192
19193 2005-09-15  David Schleef  <ds@schleef.org>
19194
19195         * check/gst/gstplugin.c: (register_check_elements),
19196         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19197         More testing
19198         * gst/elements/gsttypefindelement.c: Fix refcounting.
19199         * gst/gsttypefind.c:
19200         * gst/gsttypefindfactory.c:
19201         * gst/gsttypefindfactory.h:
19202
19203 2005-09-15  David Schleef  <ds@schleef.org>
19204
19205         * gst/gstindex.c: get refcounting correct.
19206         * gst/gstregistry.c: Handle the case where a feature/plugin is
19207           not found.
19208
19209 2005-09-15  David Schleef  <ds@schleef.org>
19210
19211         * check/Makefile.am:
19212         * check/gst/gstplugin.c: Add test
19213         * gst/gstplugin.c: Fix problems noticed by testsuite
19214         * gst/gstplugin.h:
19215         * gst/gstregistry.c: 
19216         * gst/gstregistry.h:
19217
19218 2005-09-15  David Schleef  <ds@schleef.org>
19219
19220         * gst/gstplugin.c: Implement semi-decent recounting and locking
19221           in plugins and plugin features.
19222         * gst/gstplugin.h:
19223         * gst/gstpluginfeature.c:
19224         * gst/gstpluginfeature.h:
19225         * gst/gstregistry.c:
19226
19227 2005-09-15  Michael Smith <msmith@fluendo.com>
19228
19229         * gst/gstregistry.c: (gst_registry_get_feature_list):
19230           Implement this. Makes oggdemux work; decodebin still broken.
19231
19232 2005-09-14  David Schleef  <ds@schleef.org>
19233
19234         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19235           #316076)
19236         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19237         * gst/check/Makefile.am:
19238         * libs/gst/controller/Makefile.am:
19239         * libs/gst/dataprotocol/Makefile.am:
19240
19241 2005-09-14  David Schleef  <ds@schleef.org>
19242
19243         * configure.ac: Remove getbits library.  Nothing uses it, and
19244           it should be in something like liboil if someone did want
19245           to use it.
19246         * libs/gst/Makefile.am:
19247         * libs/gst/getbits/Makefile.am:
19248         * libs/gst/getbits/gbtest.c:
19249         * libs/gst/getbits/getbits.c:
19250         * libs/gst/getbits/getbits.h:
19251         * libs/gst/getbits/gstgetbits_generic.c:
19252         * libs/gst/getbits/gstgetbits_i386.s:
19253         * libs/gst/getbits/gstgetbits_inl.h:
19254
19255 2005-09-14  David Schleef  <ds@schleef.org>
19256
19257         * gst/Makefile.am: Dist glib-compat.h
19258
19259 2005-09-14  David Schleef  <ds@schleef.org>
19260
19261         * configure.ac: Remove gst/registries, since it's no longer used.
19262         * gst/registries/Makefile.am:
19263         * gst/registries/gstlibxmlregistry.c:
19264         * gst/registries/gstlibxmlregistry.h:
19265         * gst/registries/gstxmlregistry.c:
19266         * gst/registries/gstxmlregistry.h:
19267         * gst/registries/registrytest.c:
19268
19269 2005-09-14  David Schleef  <ds@schleef.org>
19270
19271         * gst/glib-compat.h:
19272         * gst/gstregistryxml.c:
19273           Convergence is near.  Seriously.
19274
19275 2005-09-14  David Schleef  <ds@schleef.org>
19276
19277         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19278         * gst/glib-compat.h:
19279           Attempt #4 to appease the buildbots.
19280
19281 2005-09-14  David Schleef  <ds@schleef.org>
19282
19283         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19284           Attempt #3.
19285
19286 2005-09-14  David Schleef  <ds@schleef.org>
19287
19288         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19289         Attempt #2.
19290
19291 2005-09-14  David Schleef  <ds@schleef.org>
19292
19293         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19294           the new functions.
19295
19296 2005-09-14  David Schleef  <ds@schleef.org>
19297
19298         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19299         * gst/glib-compat.h: Add some functions that are in newer versions
19300           of glib than we care to require.
19301         * gst/gstregistryxml.c: Use them.
19302
19303 2005-09-14  David Schleef  <ds@schleef.org>
19304
19305         * po/POTFILES.in: remove gst-register.c
19306
19307 2005-09-14  David Schleef  <ds@schleef.org>
19308
19309         * docs/gst/gstreamer-docs.sgml:
19310         * docs/gst/gstreamer-sections.txt:
19311         * docs/gst/gstreamer.types:
19312         * docs/gst/tmpl/gstelement.sgml:
19313         * docs/gst/tmpl/gstplugin.sgml:
19314         * docs/gst/tmpl/gstpluginfeature.sgml:
19315           Documentation updates for registry changes.
19316
19317 2005-09-14  David Schleef  <ds@schleef.org>
19318
19319         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19320           because we don't require glib-2.8.
19321
19322 2005-09-14  David Schleef  <ds@schleef.org>
19323
19324         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19325           registries directory.
19326
19327 2005-09-14  David Schleef  <ds@schleef.org>
19328
19329         * check/Makefile.am:
19330         * check/generic/states.c:
19331         * gst/Makefile.am:
19332         * gst/gst.c:
19333         * gst/gst.h:
19334         * gst/gst_private.h:
19335         * gst/gstelementfactory.c:
19336         * gst/gstindex.c:
19337         * gst/gstinfo.c:
19338         * gst/gstplugin.c:
19339         * gst/gstplugin.h:
19340         * gst/gstpluginfeature.c:
19341         * gst/gstpluginfeature.h:
19342         * gst/gstregistry.c:
19343         * gst/gstregistry.h:
19344         * gst/gstregistrypool.c: remove
19345         * gst/gstregistrypool.h: remove
19346         * gst/gsttypefind.c:
19347         * gst/gsttypefindfactory.c:
19348         * gst/gsturi.c:
19349         * tools/Makefile.am:
19350         * tools/gst-compprep.c:
19351         * tools/gst-inspect.c:
19352         * tools/gst-register.c: remove
19353         * tools/gst-xmlinspect.c:
19354           Registry rewrite.  Changes registry from being a file created
19355           by a tool into a simple cache file created automatically by 
19356           libgstreamer.  Removed gst-register (because it's no longer
19357           needed).  Remove registry pools, because we only have one
19358           registry implementation (XML).  Fix up other subsystems as
19359           necessary.
19360
19361 2005-09-13  Michael Smith <msmith@fluendo.com>
19362
19363         * gst/gstconfig.h.in:
19364           Don't Use windows linking attributes for MinGW. Fixes #316157
19365
19366 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19367
19368         * gst/gstutils.c: (set_state_async_thread_func),
19369         (gst_element_set_state_async):
19370           Apparently people think it's better if this function doesn't
19371           try to set the state to whatever state was asked for on the first
19372           call to this function for any object.  Seriously.
19373
19374 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19375
19376         * check/gst/gstpipeline.c: (GST_START_TEST):
19377         * docs/gst/gstreamer-sections.txt:
19378         * gst/gstutils.c: (set_state_async_thread_func),
19379         (gst_element_set_state_async):
19380         * gst/gstutils.h:
19381           add a "gst_element_set_state_async" method that
19382           sets the state and starts a thread to make sure the state
19383           change completes as best as it can
19384
19385 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19386
19387         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19388           codify design+behaviour in testsuite after discussion
19389
19390 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19391
19392         * docs/gst/tmpl/gstelement.sgml:
19393         * docs/manual/appendix-quotes.xml:
19394           add a quote
19395         * gst/gstelement.c: (gst_element_set_state):
19396           add some debug
19397
19398 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19399
19400         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19401         (gst_base_transform_prepare_output_buf),
19402         (gst_base_transform_handle_buffer):
19403         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19404         (gst_capsfilter_prepare_buf):
19405           Remove the requirement for sub-classes to call the parent
19406           implementation of prepare_output_buffer with a wrapper function.
19407           
19408         * gst/gsttaglist.h:
19409         * gst/gsttagsetter.h:
19410           Fix #define wrapper
19411
19412 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19413
19414         * docs/gst/gstreamer-sections.txt:
19415           more doc cleanups
19416
19417 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19418
19419         * docs/gst/gstreamer-sections.txt:
19420         * docs/gst/tmpl/gstelement.sgml:
19421         * docs/gst/tmpl/gstplugin.sgml:
19422         * gst/gstminiobject.c:
19423         * gst/gstvalue.h:
19424           docs now stop throwing warnings
19425
19426 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19427
19428         * docs/gst/gstreamer-sections.txt:
19429         * docs/gst/gstreamer.types:
19430         * docs/gst/tmpl/gstpad.sgml:
19431         * docs/gst/tmpl/gsttypes.sgml:
19432         * gst/base/gstadapter.h:
19433         * gst/base/gstbasesink.h:
19434         * gst/base/gstbasesrc.h:
19435         * gst/gstbin.h:
19436         * gst/gstbuffer.h:
19437         * gst/gstbus.h:
19438         * gst/gstcaps.h:
19439         * gst/gstclock.h:
19440         * gst/gstelement.h:
19441         * gst/gstevent.h:
19442         * gst/gstmessage.h:
19443         * gst/gstpad.h:
19444         * gst/gststructure.c:
19445         * gst/registries/gstlibxmlregistry.h:
19446           various documentation fixes
19447
19448 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19449
19450         * docs/gst/gstreamer-sections.txt:
19451         * docs/gst/tmpl/gstvalue.sgml:
19452           rearrange gstvalue section
19453         * gst/gstutils.c: (gst_element_state_get_name):
19454           NONE -> VOID
19455         * gst/gstvalue.c: (_gst_value_initialize):
19456         * gst/gstvalue.h:
19457           doc updates
19458
19459 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19460
19461         * check/gst-libs/controller.c:
19462           Header include fix.
19463         * gst/base/gstbasetransform.c:
19464         (gst_base_transform_default_prepare_buf),
19465         (gst_base_transform_handle_buffer):
19466         * gst/base/gstbasetransform.h:
19467           Some more basetransform changes and fixes to enable sub-classes
19468           that modify buffer metadata only.
19469         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19470         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19471         (gst_capsfilter_prepare_buf):
19472           If the output pad has fixed allowed caps and input buffers 
19473           don't have any, set the fixed caps on outgoing buffers.
19474
19475 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19476         * check/elements/identity.c: (GST_START_TEST):
19477           Make the error a little clearer when the test fails because
19478           identity made a copy of the buffer.
19479         * docs/gst/gstreamer-sections.txt:
19480           New symbols in gstbasetransform.h
19481         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19482         (gst_base_transform_init), (gst_base_transform_transform_size),
19483         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19484         (gst_base_transform_default_prepare_buf),
19485         (gst_base_transform_get_unit_size),
19486         (gst_base_transform_buffer_alloc),
19487         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19488         (gst_base_transform_change_state),
19489         (gst_base_transform_set_passthrough),
19490         (gst_base_transform_set_in_place),
19491         (gst_base_transform_is_in_place):
19492         * gst/base/gstbasetransform.h:
19493           Change BaseTransform to separate in_place operate from same_caps
19494           output. in_place implies that the element can perform the transform
19495           on incoming buffers in-place, even if the caps on the output are
19496           different.
19497           Sub-class elements can now implement special buffer allocation
19498           methods for outgoing buffers if they wish to.
19499           Big documentation addition.
19500         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19501         * gst/elements/gstelements.c:
19502           Changes for basetransform modifications.
19503         * gst/elements/Makefile.am:
19504         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19505           Compile fix. Extra debug output.
19506
19507 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19508
19509         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19510         (gst_pad_suite):
19511           add tests for valid pad naming
19512         * gst/check/gstcheck.c: (gst_check_log_message_func),
19513         (gst_check_log_critical_func):
19514           add ASSERT_WARNING
19515           remove printing of code, it is fragile when the code contains
19516           % and the line number is enough info
19517         * gst/check/gstcheck.h:
19518         * gst/gstpad.c: (gst_pad_template_new):
19519           fix memleaks
19520
19521 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19522
19523         * configure.ac:
19524           say what CHECK flags we use
19525         * docs/libs/gstreamer-libs.types:
19526         * libs/gst/controller/Makefile.am:
19527         * libs/gst/controller/gst-controller.c:
19528         * libs/gst/controller/gst-controller.h:
19529         * libs/gst/controller/gst-helper.c:
19530         * libs/gst/controller/gst-interpolation.c:
19531         * libs/gst/controller/gstcontroller.c:
19532         * libs/gst/controller/gsthelper.c:
19533         * libs/gst/controller/gstinterpolation.c:
19534         * tools/gst-inspect.c: (print_plugin_info):
19535           we don't use dashes in header names
19536
19537 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19538
19539         * check/Makefile.am:
19540         * check/gst/.cvsignore:
19541         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19542         (gst_pipeline_suite), (main):
19543           adding a test for pipelines and state changes
19544         * gst/gstutils.c: (get_state_func):
19545           add some debugging
19546         * gstreamer.spec.in:
19547           fix up spec file
19548
19549 2005-09-08  Michael Smith <msmith@fluendo.com>
19550
19551         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19552         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19553         (gst_file_src_is_seekable), (gst_file_src_get_size),
19554         (gst_file_src_start):
19555         * gst/elements/gstfilesrc.h:
19556           Various fixes for unseekable, unmmapable, and non-normal files, so
19557           that fallback to read() rather than mmap() works.
19558         * gst/gstevent.c: (gst_event_new_newsegment):
19559           Allow newsegment events with segment_start == segment_end, as will
19560           correctly happen if you use filesrc on a zero-size file, for
19561           example.
19562
19563 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19564
19565         * gst/gstplugin.c: (gst_plugin_load_file):
19566           Call g_module_close when we don't load the module
19567
19568         * gst/registries/gstlibxmlregistry.c:
19569         (gst_xml_registry_get_property):
19570           Port leak fix from 0.8
19571
19572 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19573
19574         * docs/gst/gstreamer-docs.sgml:
19575         * docs/gst/tmpl/.cvsignore:
19576         * docs/gst/tmpl/gsttrace.sgml:
19577         * docs/gst/tmpl/gsttrashstack.sgml:
19578         * gst/Makefile.am:
19579         * gst/gst.h:
19580         * gst/gstelement.h:
19581         * gst/gstevent.h:
19582         * gst/gstmessage.c:
19583         * gst/gstmessage.h:
19584         * gst/gsttag.c:
19585         * gst/gsttag.h:
19586         * gst/gsttaginterface.c:
19587         * gst/gsttaginterface.h:
19588         * gst/gsttaglist.c:
19589         * gst/gsttaglist.h:
19590         * gst/gsttagsetter.c:
19591         * gst/gsttagsetter.h:
19592         * gst/gsttrace.c:
19593         * gst/gsttrace.h:
19594         * gst/gsttrashstack.c:
19595           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19596           inlined docs for gsttrace, gsttrashstack
19597
19598 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19599
19600         * gst/Makefile.am:
19601         * gst/elements/gstbufferstore.h:
19602         * gst/elements/gsttypefindelement.c:
19603         * gst/elements/gsttypefindelement.h:
19604         * gst/gst.h:
19605         * gst/gsttypefind.c:
19606         * gst/gsttypefind.h:
19607         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19608         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19609         (gst_type_find_factory_dispose),
19610         (gst_type_find_factory_unload_thyself),
19611         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19612         (gst_type_find_factory_get_caps),
19613         (gst_type_find_factory_get_extensions),
19614         (gst_type_find_factory_call_function):
19615         * gst/gsttypefindfactory.h:
19616         * gst/registries/gstlibxmlregistry.c:
19617         * gst/registries/gstxmlregistry.c:
19618           splitted gsttypefind into gsttypefind, gsttypefindfactory
19619
19620 2005-09-07  Andy Wingo  <wingo@pobox.com>
19621
19622         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19623         condition whereby the pad's task function is entered before the
19624         pad_mode variable was set.
19625
19626 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19627
19628         * gst/gstpad.c: (gst_pad_alloc_buffer):
19629           Catch misbehaving pad_alloc functions that don't
19630           set up caps and do it for them.
19631
19632 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19633
19634         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19635           test for pipe!=NULL
19636         * docs/gst/tmpl/.cvsignore:
19637         * docs/gst/tmpl/gstmemchunk.sgml:
19638         * docs/gst/tmpl/gstparse.sgml:
19639         * docs/gst/tmpl/gsttaglist.sgml:
19640         * docs/gst/tmpl/gsttagsetter.sgml:
19641         * docs/gst/tmpl/gsttypefind.sgml:
19642         * docs/gst/tmpl/gsttypefindfactory.sgml:
19643         * gst/gstmemchunk.c:
19644         * gst/gstparse.c:
19645         * gst/gsttag.c:
19646         * gst/gsttaginterface.c:
19647         * gst/gsttypefind.c:
19648         * gst/gsttypefind.h:
19649           inlined more docs
19650
19651 === release 0.9.2 ===
19652
19653 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19654
19655         * NEWS:
19656         * RELEASE:
19657         * configure.ac:
19658           releasing 0.9.2, "South"
19659
19660 2005-09-05  Andy Wingo  <wingo@pobox.com>
19661
19662         * gst/registries/gstxmlregistry.h:
19663         * gst/registries/gstxmlregistry.c: Um... resurrect...
19664         
19665         * gst/registries/gstxmlregistry.h:
19666         * gst/registries/gstxmlregistry.c: and update to newer API.
19667         Incidentally they should be a bit faster now that they don't have
19668         to parse the caps.
19669         
19670 2005-09-05  Andy Wingo  <wingo@pobox.com>
19671
19672         * gst/registries/gstxmlregistry.h:
19673         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19674         replaced by the libxml registry a while back
19675
19676 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19677
19678         * docs/gst/tmpl/gstplugin.sgml:
19679         * gst/elements/gstelements.c:
19680         * gst/gst.c:
19681         * gst/gstplugin.c: (gst_plugin_register_func),
19682         (gst_plugin_desc_copy), (gst_plugin_desc_free),
19683         (gst_plugin_get_source):
19684         * gst/gstplugin.h:
19685         * gst/registries/gstlibxmlregistry.c: (load_plugin),
19686         (gst_xml_registry_save_plugin):
19687         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19688         (gst_xml_registry_save_plugin):
19689         * tools/gst-inspect.c: (print_plugin_info):
19690           add a "source" plugin description field, to represent the source
19691           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
19692           will set it to PACKAGE, which is automake's idea of the name of
19693           the source project.
19694
19695 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19696
19697         * Makefile.am:
19698         * autogen.sh:
19699         * configure.ac:
19700         * docs/Makefile.am:
19701         * docs/faq/Makefile.am:
19702         * docs/gst/tmpl/gstelement.sgml:
19703         * docs/gst/tmpl/gsttypes.sgml:
19704         * docs/htmlinstall.mak:
19705         * docs/manual/Makefile.am:
19706         * docs/pwg/Makefile.am:
19707           reorganize doc build a little
19708           split out docbook and gtk-doc stuff
19709           have two separate --enable's and enable them through autogen
19710           but disable by default in configure (to be similar to other
19711           projects)
19712         * gstreamer.spec.in:
19713           clean up docs install
19714         * po/af.po:
19715         * po/az.po:
19716         * po/ca.po:
19717         * po/cs.po:
19718         * po/de.po:
19719         * po/en_GB.po:
19720         * po/fr.po:
19721         * po/it.po:
19722         * po/nb.po:
19723         * po/nl.po:
19724         * po/ru.po:
19725         * po/sq.po:
19726         * po/sr.po:
19727         * po/sv.po:
19728         * po/tr.po:
19729         * po/uk.po:
19730         * po/vi.po:
19731           translation updates
19732
19733 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
19734
19735         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19736           Add comment.
19737           
19738         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19739         (gst_fake_sink_change_state):
19740           Make state change function thread-safe.
19741           
19742         * gst/gstpad.c: (gst_pad_alloc_buffer):
19743           Set offset on generic buffer allocated by fallback.
19744
19745 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
19746
19747         * docs/gst/gstreamer-sections.txt:
19748         * docs/gst/tmpl/gstelement.sgml:
19749         * gst/gstpad.c:
19750         * libs/gst/controller/gst-controller.c:
19751         (gst_controlled_property_set_interpolation_mode),
19752         (gst_controlled_property_new),
19753         (gst_controller_find_controlled_property):
19754          run the wingo-magic script against the docs
19755
19756 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19757
19758         * docs/gst/gstreamer-docs.sgml:
19759         * docs/gst/gstreamer-sections.txt:
19760         * docs/gst/tmpl/.cvsignore:
19761         * docs/gst/tmpl/gstelementdetails.sgml:
19762         * docs/gst/tmpl/gstelementfactory.sgml:
19763         * gst/gst.c:
19764         * gst/gstbus.c:
19765         * gst/gstelementfactory.c:
19766         * gst/gstelementfactory.h:
19767           merged elementdetails docs into elementfactory docs
19768           inlined both
19769
19770 2005-09-02  Andy Wingo  <wingo@pobox.com>
19771
19772         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19773         consider this enum an enum and not a flags.
19774
19775 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19776
19777         * docs/gst/gstreamer-docs.sgml:
19778         * docs/gst/tmpl/.cvsignore:
19779         * docs/gst/tmpl/gstghostpad.sgml:
19780         * docs/gst/tmpl/gstiterator.sgml:
19781         * docs/gst/tmpl/gstmacros.sgml:
19782         * docs/gst/tmpl/gstrealpad.sgml:
19783         * docs/gst/tmpl/gstregistry.sgml:
19784         * docs/gst/tmpl/gstregistrypool.sgml:
19785         * docs/gst/tmpl/gststructure.sgml:
19786         * docs/gst/tmpl/gstsystemclock.sgml:
19787         * docs/gst/tmpl/gsttrace.sgml:
19788         * gst/gstghostpad.c:
19789         * gst/gstmacros.h:
19790         * gst/gstmemchunk.c:
19791         * gst/gstmemchunk.h:
19792         * gst/gstqueue.c:
19793         * gst/gstregistry.c:
19794         * gst/gstregistrypool.c:
19795         * gst/gststructure.c:
19796         * gst/gstsystemclock.c:
19797           more docs inlined
19798
19799 2005-09-02  Andy Wingo  <wingo@pobox.com>
19800
19801         * gst/gstelement.h (GstState): Renamed from GstElementState,
19802         changed to be a normal enum instead of flags.
19803         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19804         munged to be GST_STATE_CHANGE_*.
19805         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19806         work with the new state representation.
19807         (GstStateChange): New enumeration of possible state transitions.
19808         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19809         (GstElementClass::change_state): Pass the GstStateChange along as
19810         an argument. Helps language bindings, so they don't have to use
19811         tricky lock-needing macros like GST_STATE_CHANGE ().
19812
19813         * scripts/update-states (file): New script. Run it on a file to
19814         update it for state naming and API changes. Updates files in
19815         place.
19816
19817         * All files updated for the new API.
19818
19819 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19820
19821         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19822         * gst/gstutils.c: (gst_util_set_value_from_string),
19823         (gst_util_set_object_arg):
19824           fix a bunch of unchecked return values
19825         * tools/gst-complete.c: (main):
19826         * gstreamer.spec.in:
19827           clean up a little
19828
19829 2005-09-01  Wim Taymans  <wim@fluendo.com>
19830
19831         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19832         (gst_base_sink_event), (gst_base_sink_do_sync),
19833         (gst_base_sink_handle_event):
19834         * gst/base/gstbasesink.h:
19835         Handle newsegments more correctly.
19836
19837         * gst/gstbus.c:
19838         Fix docs.
19839
19840         * gst/gstevent.c: (gst_event_new_newsegment):
19841         A newsegment cannot have a start_time of -1
19842
19843 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
19844
19845         * win32/gstenumtypes.c:
19846         * win32/gstenumtypes.h:
19847           Update
19848
19849 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19850
19851         * libs/gst/controller/gst-controller.c:
19852         (gst_controlled_property_set_interpolation_mode),
19853         (gst_controlled_property_new):
19854          fixed boolean again
19855
19856 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
19857
19858         * docs/faq/gst-uninstalled:
19859           add -good
19860         * gst/gstevent.c:
19861         * gst/gstevent.h:
19862           remove wrong docs
19863         * gst/gstutils.c: (gst_element_link_filtered):
19864         * gst/gstutils.h:
19865           add gst_element_link_filtered
19866
19867 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19868
19869         * docs/gst/gstreamer-docs.sgml:
19870         * docs/gst/gstreamer-sections.txt:
19871         * docs/gst/tmpl/.cvsignore:
19872         * docs/gst/tmpl/gsterror.sgml:
19873         * docs/gst/tmpl/gstfilter.sgml:
19874         * docs/gst/tmpl/gsturihandler.sgml:
19875         * docs/gst/tmpl/gsturitype.sgml:
19876         * docs/gst/tmpl/gstutils.sgml:
19877         * docs/gst/tmpl/gstxml.sgml:
19878         * gst/gsterror.c:
19879         * gst/gsterror.h:
19880         * gst/gstfilter.c:
19881         * gst/gsturi.c:
19882         * gst/gsturitype.c:
19883         * gst/gstutils.c:
19884         * gst/gstxml.c:
19885           inlined more docs, fixed double id-ref
19886
19887 2005-08-31  Wim Taymans  <wim@fluendo.com>
19888
19889         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19890         (gst_base_transform_handle_buffer):
19891         Passthrough elements don't need the caps as they don't care.
19892
19893 2005-08-31  Wim Taymans  <wim@fluendo.com>
19894
19895         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19896         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19897         Don't leak refcounts on buffers.
19898
19899 2005-08-31  Wim Taymans  <wim@fluendo.com>
19900
19901         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19902         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19903         (gst_base_transform_chain), (gst_base_transform_change_state):
19904         * gst/base/gstbasetransform.h:
19905         Handle the case where we are not negotiated more gracefully.
19906
19907 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19908
19909         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19910         (gst_file_src_map_region):
19911           Set READONLY flag on mmap'ed buffers, otherwise
19912           gst_buffer_make_writable() won't work properly (#314708).
19913
19914 2005-08-31  Wim Taymans  <wim@fluendo.com>
19915
19916         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19917         passthrough elements can even do inplace on non writable
19918         buffers (as they don't touch them).
19919
19920 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19921
19922         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19923         (gst_test_mono_source_set_property),
19924         (gst_test_mono_source_class_init), (GST_START_TEST),
19925         (gst_controller_suite):
19926           more tests (hehe I have the most)
19927         * gst/gstbus.c:
19928           describe popping messages whenusing mulltiple sources
19929         * libs/gst/controller/gst-controller.c:
19930         (gst_controlled_property_set_interpolation_mode),
19931         (gst_controlled_property_new):
19932         * libs/gst/controller/gst-controller.h:
19933         * libs/gst/controller/gst-interpolation.c:
19934           implement boolean properties
19935
19936 2005-08-31  Wim Taymans  <wim@fluendo.com>
19937
19938         * gst/gstminiobject.c: (gst_mini_object_ref):
19939         Cannot assert that the refcount has to be positive
19940         since a disposed object can be resurrected.
19941
19942 2005-08-31  Wim Taymans  <wim@fluendo.com>
19943
19944         * gst/gstpad.c: (gst_pad_init):
19945         Revert change, need to first fix badly behaving 
19946         apps.
19947
19948 2005-08-30  Wim Taymans  <wim@fluendo.com>
19949
19950         * check/elements/fakesrc.c: (setup_fakesrc):
19951         * check/elements/identity.c: (setup_identity):
19952         Activate pads before using them.
19953
19954 2005-08-30  Wim Taymans  <wim@fluendo.com>
19955
19956         * gst/base/gstadapter.c: (gst_adapter_flush):
19957         Flushing out 0 bytes is ok for this function.
19958
19959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19960         no newsegment gives a warning and sets the start/stop to 
19961         invalid.
19962
19963         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19964         (gst_base_transform_set_passthrough):
19965         Some debug info.
19966
19967         * gst/gstminiobject.c: (gst_mini_object_ref):
19968         Check refcount here too.
19969
19970         * gst/gstpad.c: (gst_pad_init):
19971         Pads are initially flushing and refusing data.
19972
19973         * gst/gstutils.c: (gst_element_link_pads_filtered):
19974         When adding a capsfilter element make sure it has the
19975         same state as the parent bin.
19976
19977 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19978
19979         * docs/gst/tmpl/.cvsignore:
19980         * docs/gst/tmpl/gstformat.sgml:
19981         * docs/gst/tmpl/gstversion.sgml:
19982         * gst/gstbus.h:
19983         * gst/gstformat.c:
19984         * gst/gstformat.h:
19985         * gst/gstversion.h.in:
19986           more docs and two more inlined
19987
19988 2005-08-30  Wim Taymans  <wim@fluendo.com>
19989
19990         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19991         Don't sync to clock.
19992
19993 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19994
19995         * docs/gst/gstreamer-sections.txt:
19996           ultral33t func10ns deserve to appear in the docs actually
19997         * docs/gst/tmpl/.cvsignore:
19998         * docs/gst/tmpl/gstcompat.sgml:
19999         * docs/gst/tmpl/gstconfig.sgml:
20000         * gst/check/gstcheck.c:
20001         * gst/gstcompat.h:
20002         * gst/gstconfig.h.in:
20003           inlined more docs
20004
20005 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20006
20007         * docs/gst/tmpl/.cvsignore:
20008         * docs/gst/tmpl/gstquery.sgml:
20009         * docs/gst/tmpl/gstutils.sgml:
20010         * gst/gstquery.c:
20011         * gst/gstquery.h:
20012           inlined and extended docs
20013
20014 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20015
20016         * check/gst-libs/controller.c: (GST_START_TEST),
20017         (gst_controller_suite):
20018           more tests
20019         * docs/gst/tmpl/gstutils.sgml:
20020         * docs/libs/gstreamer-libs-sections.txt:
20021         * docs/libs/tmpl/gstdataprotocol.sgml:
20022           include path fixes
20023         * examples/controller/audio-example.c: (main):
20024           controller example works now
20025         * gst/gstclock.h:
20026           doc fixes
20027         * tools/gst-inspect.c: (print_element_properties_info):
20028           show param spec flags
20029
20030 2005-08-29  Andy Wingo  <wingo@pobox.com>
20031
20032         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20033
20034 2005-08-28  Andy Wingo  <wingo@pobox.com>
20035
20036         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20037         as having two arguments instead of just one. Allows superclasses
20038         to access information on subclasses -- see the terrible for() loop
20039         in gtype.c:g_type_create_instance for the reason why. All callers
20040         changed.
20041
20042 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20043
20044         * docs/design/part-messages.txt:
20045           update info
20046         * docs/gst/tmpl/.cvsignore:
20047         * docs/gst/tmpl/gstcaps.sgml:
20048         * docs/gst/tmpl/gstclock.sgml:
20049         * gst/gstbus.c:
20050         * gst/gstcaps.c:
20051         * gst/gstcaps.h:
20052         * gst/gstclock.c:
20053         * gst/gstclock.h:
20054         * gst/gstmessage.c:
20055           added descriptions for bus and message
20056           inline caps and clock docs
20057
20058 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20059
20060         * gst/gstmessage.c:
20061         * gst/gstmessage.h:
20062           doc fixes
20063
20064 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20065
20066         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20067           fix div-by-zero
20068
20069 2005-08-26  Andy Wingo  <wingo@pobox.com>
20070
20071         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20072         element_set_state's return val.
20073         (test_2_elements): Add test that's been disabled for months.
20074
20075         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20076         can-activate-pull properties.
20077
20078         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20079         can-activate-pull properties. Implement is_seekable so fakesrc can
20080         operate in pull mode.
20081
20082         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20083         properties.
20084         (gst_base_sink_activate, gst_base_sink_activate_pull)
20085         (gst_base_sink_activate_push): Make activation mode choosing work.
20086         Cleanups.
20087         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20088         is right. Make pull mode work. Post an eos before pausing in pull
20089         mode.
20090         (gst_base_sink_change_state): Pay attention to the core's
20091         change_state() return val.
20092         
20093         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20094         has-getrange properties. Cleanups.
20095         
20096         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20097         has_getrange and replace with can_activate_pull and
20098         can_activate_push.
20099
20100         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20101         locking comments. Remove has_loop, has_chain and replace with
20102         can_activate_pull and can_activate_push.
20103
20104 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
20105
20106         * configure.ac:
20107         * examples/Makefile.am:
20108         * examples/metadata/Makefile.am:
20109         * examples/metadata/read-metadata.c: (message_loop),
20110         (have_pad_handler), (make_pipeline), (print_tag), (main):
20111           Add metadata reading example that loops over a list of filenames,
20112           dumping any tags found.
20113
20114         * gst/gstbus.c: (gst_bus_dispose):
20115         * gst/gstelement.c: (gst_element_dispose):
20116           Release a few potentially-held references in dispose.
20117
20118 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20119
20120         * docs/gst/tmpl/gstminiobject.sgml:
20121           do *not* add tmpl/*.sgml files to CVS!
20122
20123 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20124
20125         * libs/gst/bytestream/.cvsignore:
20126         * libs/gst/bytestream/Makefile.am:
20127         * libs/gst/bytestream/adapter.c:
20128         * libs/gst/bytestream/adapter.h:
20129         * libs/gst/bytestream/bytestream.c:
20130         * libs/gst/bytestream/bytestream.h:
20131         * libs/gst/bytestream/filepad.c:
20132         * libs/gst/bytestream/filepad.h:
20133           removing obsolete files
20134
20135 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20136
20137         * docs/gst/gstreamer-docs.sgml:
20138         * docs/libs/gstreamer-libs-docs.sgml:
20139           disabed additional index entries again, as this makes docs-gen just
20140           slow and they aren't useful yet
20141         * docs/libs/gstreamer-libs-sections.txt:
20142           little -section.txt cleanup for libs
20143
20144 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20145
20146         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20147         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20148           fix up some debugging
20149         (gst_base_transform_get_unit_size),
20150         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20151         (gst_base_transform_handle_buffer):
20152         * gst/base/gstbasetransform.h:
20153           handle and store timed NEWSEGMENT events so that subclasses that
20154           calculate time by counting samples have a segment_start time they
20155           need to add to their timestamps - see audioresample
20156
20157 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20158
20159         * gst/gstbin.h:
20160           removed ';' from the end of macro defs
20161         * docs/gst/gstreamer-docs.sgml:
20162         * docs/gst/gstreamer-sections.txt:
20163         * docs/gst/tmpl/.cvsignore:
20164         * gst/gstbus.h:
20165         * gst/gstelement.c: (gst_element_class_init),
20166         (gst_element_set_state), (activate_pads),
20167         (gst_element_save_thyself):
20168         * gst/gstevent.c: (gst_event_new_newsegment):
20169         * gst/gstevent.h:
20170         * gst/gstiterator.c:
20171         * gst/gstiterator.h:
20172         * gst/gstpad.c:
20173         * gst/gstprobe.h:
20174         * gst/gstutils.c: (gst_pad_query_convert):
20175         * gst/gstutils.h:
20176           fixed parameter name mismatches between source, header and docs
20177           added some more docs, resolved the last batch of unused elements in
20178           docs (now someone needs to doc them)
20179
20180 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20181
20182         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20183         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20184           don't walk through the plugins backwards.  Where is all this
20185           reversed logic coming from ?
20186
20187 2005-08-25  Wim Taymans  <wim@fluendo.com>
20188
20189         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20190         (gst_base_transform_transform_size),
20191         (gst_base_transform_configure_caps),
20192         (gst_base_transform_get_unit_size),
20193         (gst_base_transform_buffer_alloc),
20194         (gst_base_transform_change_state):
20195         * gst/base/gstbasetransform.h:
20196         Cache caps unit_size.
20197         Make sure we cannot negotiate up and downstream at the
20198         same time.
20199
20200 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20201
20202         * gst/gst.c: (init_pre), (init_post):
20203           register the installed plugin path after the env var
20204         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20205         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20206           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20207           directories, so the tests can prefer uninstalled over installed
20208
20209 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20210
20211         * gst/base/gstbasetransform.h:
20212           comment
20213         * gst/gstpad.c:
20214           add to docs
20215
20216 2005-08-25  Wim Taymans  <wim@fluendo.com>
20217
20218         * gst/gstbin.c: (bin_bus_handler):
20219         Be a bit more conservative about the posted message.
20220         
20221         * gst/gstbus.c: (gst_bus_post):
20222         Some cleanups, warn wrong return values.
20223
20224 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20225
20226         * check/gst/gstbin.c: (GST_START_TEST):
20227         * gst/gstbin.c: (bin_bus_handler):
20228         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20229         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20230         (gst_message_new_warning), (gst_message_new_tag),
20231         (gst_message_new_state_changed), (gst_message_new_segment_start),
20232         (gst_message_new_segment_done), (gst_message_new_custom):
20233         * gst/gstmessage.h:
20234         * tools/gst-launch.c: (event_loop):
20235         * tools/gst-md5sum.c: (event_loop):
20236           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20237
20238 2005-08-25  Wim Taymans  <wim@fluendo.com>
20239
20240         * check/generic/states.c: (GST_START_TEST):
20241         Cleanup can be done at the end.
20242
20243         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20244         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20245         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20246         Oh boy.. Thanks for finding this, Thomas. 
20247
20248 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20249
20250         * docs/gst/gstreamer.types:
20251           added missing types
20252
20253 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20254
20255         * docs/gst/gstreamer-docs.sgml:
20256         * docs/gst/gstreamer-sections.txt:
20257         * docs/gst/tmpl/.cvsignore:
20258         * gst/gstbin.c:
20259         * gst/gstiterator.c:
20260         * gst/gstutils.c:
20261         * gst/registries/gstxmlregistry.h:
20262           added missing classes and symbols (123 more to go)
20263           removed removed symbols from section file
20264           fixed many doc-comments
20265
20266 2005-08-24  Wim Taymans  <wim@fluendo.com>
20267
20268         * check/generic/states.c: (GST_START_TEST):
20269         Make sure all tasks are stopped.
20270
20271         * check/gst/gstbin.c: (GST_START_TEST):
20272         Unref after usage for proper valgrinding.
20273
20274         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20275         Really wait for the task to stop before destroying the
20276         mutex.
20277
20278         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20279         (gst_queue_src_activate_push):
20280         Small cleanups. Don't stop the task when we did not start
20281         it.
20282
20283         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20284         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20285         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20286         (gst_task_join):
20287         * gst/gsttask.h:
20288         Protect the stream lock with the object lock.
20289         Disallow setting the stream lock when running.
20290         Add cleanup_all to wait for the threadpool to finish.
20291         Remove code to autoallocate a mutex if none was provided.
20292         Add _join() to wait for a task to stop.
20293         Protect the thread pool with a global lock.
20294
20295 2005-08-24  Wim Taymans  <wim@fluendo.com>
20296
20297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20298         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20299         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20300         * gst/base/gstbasesink.h:
20301         Handle newsegment events correctly.
20302         Drop buffers out of the segment range.
20303
20304 2005-08-22  Andy Wingo  <wingo@pobox.com>
20305
20306         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20307         macro, implements an interface and gstimplementsinterface for a
20308         new type.
20309
20310 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20311
20312         * check/Makefile.am:
20313         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20314           add a test that does a bunch of state changes on elements
20315           needs some fixing for valgrind
20316         * check/states/sinks.c: (gst_object_suite):
20317           whitespace
20318         * gst/gstcaps.h:
20319           add prototype for gst_caps_is_equal_fixed
20320         * gst/gstplugin.c:
20321         * gst/gstregistrypool.c:
20322           doc fixes
20323
20324 2005-08-24  Andy Wingo  <wingo@pobox.com>
20325
20326         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20327         convert a negative value. Doesn't make much sense. Mostly this is
20328         here to force callers to ensure -1 maps to -1.
20329
20330 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20331
20332         * docs/pwg/advanced-types.xml:
20333           Well done to Michael for catching my deliberate introduction
20334           of this spelling mistake. 
20335         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20336         * gst/gstelement.h:
20337           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20338           unlink pads before removing the element from the bin.
20339
20340 2005-08-24  Andy Wingo  <wingo@pobox.com>
20341
20342         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20343         the same thing as GST_DEBUG=*:4.
20344         (parse_debug_level, parse_debug_category): New helper parsers.
20345
20346 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20347
20348         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20349         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20350         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20351         (gst_base_transform_buffer_alloc),
20352         (gst_base_transform_handle_buffer):
20353           use gboolean return values and pointers to size so we can use the
20354           full GST_BUFFER_SIZE range (guint) for buffer sizes
20355           use GstPadDirection for transform_caps
20356         * gst/base/gstbasetransform.h:
20357           rename get_size to get_unit_size since that's what it is
20358         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20359           use GstPadDirection for transform_caps
20360         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20361         * gst/gstutils.h:
20362           cleanup and debugging
20363
20364 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20365
20366         * gst/gstelement.c: (gst_element_class_init),
20367         (gst_element_set_state), (activate_pads),
20368         (gst_element_save_thyself):
20369         * tools/gst-compprep.c: (main):
20370         * tools/gst-inspect.c: (print_element_properties_info):
20371         * tools/gst-xmlinspect.c: (print_element_properties):
20372           Fixed long standing mem-leak
20373
20374 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20375
20376         * check/gst/gstbin.c: (GST_START_TEST):
20377         * gst/gstbin.c: (bin_bus_handler):
20378         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20379         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20380         (gst_message_new_warning), (gst_message_new_tag),
20381         (gst_message_new_state_changed), (gst_message_new_segment_start),
20382         (gst_message_new_segment_done), (gst_message_new_custom):
20383         * gst/gstmessage.h:
20384         * tools/gst-launch.c: (event_loop):
20385         * tools/gst-md5sum.c: (event_loop):
20386           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20387           that applications can sensibly post custom messages with references
20388           to their own objects.
20389
20390 2005-08-24  Andy Wingo  <wingo@pobox.com>
20391
20392         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20393         already.
20394
20395 2005-08-24  Wim Taymans  <wim@fluendo.com>
20396
20397         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20398         (gst_base_transform_transform_caps),
20399         (gst_base_transform_transform_size),
20400         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20401         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20402         (gst_base_transform_handle_buffer):
20403         * gst/base/gstbasetransform.h:
20404         Many fixes and new features added by Thomas. Can now also do
20405         transforms with variable sizes and a custom fixate_caps function.
20406
20407 2005-08-24  Wim Taymans  <wim@fluendo.com>
20408
20409         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20410         Some debugging.
20411
20412         * gst/gstclock.h:
20413         Cast to ClockTime before formatting to time.
20414
20415         * gst/gstutils.h:
20416         Cleanups.
20417
20418 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20419
20420         * check/gst-libs/controller.c: (GST_START_TEST),
20421         (gst_controller_suite):
20422         * docs/gst/tmpl/gstcaps.sgml:
20423         * docs/gst/tmpl/gstghostpad.sgml:
20424         * docs/gst/tmpl/gstquery.sgml:
20425         * docs/gst/tmpl/gstutils.sgml:
20426         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20427         (gst_object_sink_values), (gst_object_get_value_arrays),
20428         (gst_object_get_value_array):
20429           gracefully handle helper method calls to objects that are not beeing
20430           controlled, added test case for that          
20431
20432 2005-08-23  Wim Taymans  <wim@fluendo.com>
20433
20434         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20435         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20436         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20437         (gst_event_parse_qos), (gst_event_new_seek),
20438         (gst_event_parse_seek):
20439         * gst/gstevent.h:
20440         Some more debugging output and doc cleanups.
20441
20442         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20443         Fix possible deadlock.
20444
20445 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20446
20447         * docs/gst/gstreamer-docs.sgml:
20448         * docs/gst/gstreamer-sections.txt:
20449         * docs/gst/gstreamer.types:
20450         * docs/gst/tmpl/.cvsignore:
20451         * gst/gstbin.h:
20452         * gst/gstbus.c:
20453         * gst/gstelement.c:
20454         * gst/gstevent.h:
20455           added 100 symbols from gstreamer-unused.txt to the right sections
20456           fixed more broken comments
20457           added GstBus to docs
20458
20459 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20460
20461         * docs/gst/gstreamer-sections.txt:
20462         * docs/gst/tmpl/.cvsignore:
20463         * docs/gst/tmpl/gstbin.sgml:
20464         * docs/gst/tmpl/gstbuffer.sgml:
20465         * gst/base/gstbasesrc.c:
20466         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20467         * gst/gstbuffer.c:
20468         * gst/gstbuffer.h:
20469         * tools/gst-launch.1.in:
20470           inlined more doc comments, added missing comments and fixed comments
20471           fixed typos
20472
20473 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20474
20475         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20476           some debugging
20477         * gst/gstcaps.h:
20478           whitespace fixes
20479         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20480           more debugging
20481         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20482         * gst/gststructure.h:
20483           add a fixate function for booleans; add a FIXME that these func
20484           names should probably be gst_structure_fixate_*
20485
20486 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20487
20488         * docs/gst/gstreamer-docs.sgml:
20489         * docs/gst/gstreamer-sections.txt:
20490         * gst/Makefile.am:
20491         * gst/gstbin.c: (gst_bin_get_type),
20492         (gst_bin_child_proxy_get_child_by_index),
20493         (gst_bin_child_proxy_get_children_count),
20494         (gst_bin_child_proxy_init):
20495         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20496         (gst_child_proxy_get_child_by_index),
20497         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20498         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20499         (gst_child_proxy_get), (gst_child_proxy_set_property),
20500         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20501         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20502         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20503         * gst/gstchildproxy.h:
20504         * gst/parse/grammar.y:
20505         * tools/gst-inspect.c: (print_interfaces),
20506         (print_element_properties_info), (print_element_info):
20507           ported gstchildproxy over from 0.8
20508           ported gst-inspect fixes and enhancements over from 0.8
20509
20510 2005-08-22  Wim Taymans  <wim@fluendo.com>
20511
20512         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20513         (gst_base_transform_handle_buffer):
20514         Also call the transform function if we have ANY caps.
20515
20516         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20517         Fix debug info.
20518
20519 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20520
20521         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20522           Don't pretend to handle seek events if the source is not seekable
20523
20524 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20525
20526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20527           Remove extra parameter to debug output
20528
20529         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20530         (gst_base_src_do_seek), (gst_base_src_activate_push):
20531           Fix seek event handling.
20532
20533         * gst/gstpipeline.c: (gst_pipeline_change_state):
20534         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20535         (gst_queue_src_activate_push):
20536           Don't start the src pad task on FLUSH_STOP if the pad
20537           isn't linked.
20538           Debug changes.
20539
20540 2005-08-22  Wim Taymans  <wim@fluendo.com>
20541
20542         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20543         Added check for gst_static_caps_get() refcounting.
20544
20545 2005-08-22  Wim Taymans  <wim@fluendo.com>
20546
20547         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20548         Make _static_caps_get() refcounting sane.
20549         
20550         * gst/gstelement.c: (gst_element_set_state):
20551         Add g_return_val_if_fail() to protect against segfaults.
20552
20553 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20554
20555         * docs/gst/tmpl/gstevent.sgml:
20556         * gst/gstevent.c:
20557         * gst/gstevent.h:
20558           inlined remaining docs, added missing doc comments
20559
20560 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20561
20562         * check/gst/gstbin.c: (GST_START_TEST):
20563           since we don't know when preroll is done, use refcount range
20564           check for the sink
20565         * gst/check/gstcheck.h:
20566           add macro for checking refcount range
20567
20568 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20569
20570         * check/Makefile.am:
20571           clean up environment for when registry gets built versus
20572           when actual tests are run; valgrind seems to not report
20573           leaks if GST_PLUGIN_PATH is set to some specific values
20574         * check/gst/gstbin.c: (GST_START_TEST):
20575           add more refcounting checks; maybe this exposes a
20576           preroll lock bug ?
20577         * common/check.mak:
20578         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20579         * gst/check/gstcheck.h:
20580         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20581         (gst_bin_change_state):
20582         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20583           add/fix debugging/whitespace
20584
20585 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20586
20587         * check/gst/gstevent.c: (event_probe), (test_event),
20588         (GST_START_TEST):
20589          Er, don't call gst_bin_watch_for_state_change you idiot.
20590
20591 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20592
20593         * check/Makefile.am:
20594           Use CHECK_CFLAGS and CHECK_LIBS
20595         * check/gst/gstevent.c: (event_probe), (test_event),
20596         (GST_START_TEST):
20597           Don't leak events.
20598         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20599         (gst_base_src_start), (gst_base_src_stop),
20600         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20601         (gst_base_src_change_state):
20602           Sprinkle gst_base_src_stop liberally around error paths to fix
20603           problems reusing a source after failed state changes.
20604         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20605         (helper_find_suggest), (gst_type_find_helper):
20606           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20607         * gst/gstevent.h:
20608         * docs/gst/tmpl/gstevent.sgml:
20609           Migrate part of the docs from the SGML file. Wait for ensonic to
20610           tell me how I did it wrong ;)
20611         * tools/gst-typefind.c: (main):
20612           Extra robustness to state changes between files.
20613
20614 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20615
20616         * check/Makefile.am:
20617           don't valgrind the controller test - it's leaking - Stefan, HELP
20618         * gst/check/gstcheck.c: (gst_check_message_error),
20619         (gst_check_chain_func), (gst_check_setup_element),
20620         (gst_check_teardown_element), (gst_check_setup_src_pad),
20621         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20622         (gst_check_teardown_sink_pad):
20623         * gst/check/gstcheck.h:
20624           add a bunch of methods to set up elements, and src and sink pads
20625         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20626         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20627         (GST_START_TEST):
20628           use them
20629         * gst/gstmessage.c:
20630         * gst/gsttag.h:
20631           whitespace/doc fixes
20632
20633 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20634
20635         * gst/gstelement.h:
20636           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20637           be handled by the application and not always printed as well
20638
20639 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20640
20641         * check/Makefile.am:
20642           set GST_TOOLS_DIR
20643         * gst/check/gstcheck.c: (gst_check_message_error):
20644         * gst/check/gstcheck.h:
20645           add a fail_unless_equals_int
20646           add fail_unless for error messages
20647
20648 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20649
20650         * check/Makefile.am:
20651         * check/gst.supp:
20652         * common/Makefile.am:
20653         * common/check.mak:
20654         * common/gst.supp:
20655           factor out some of the common stuff so we can use it
20656
20657 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20658
20659         * check/Makefile.am:
20660         * check/gst/gstiterator.c: (GST_START_TEST):
20661         * check/gst/gstsystemclock.c: (GST_START_TEST),
20662         (gst_systemclock_suite):
20663         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20664         * gst/gstclock.c:
20665           valgrind more tests
20666
20667 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20668
20669         * check/elements/.cvsignore:
20670         * check/elements/gstfakesrc.c:
20671           rename to name of element
20672         * check/elements/identity.c: (chain_func), (event_func),
20673         (setup_identity), (cleanup_identity), (GST_START_TEST),
20674         (identity_suite), (main):
20675           add a test for identity
20676         * check/Makefile.am:
20677         * pkgconfig/Makefile.am:
20678         * pkgconfig/gstreamer-check.pc.in:
20679         * pkgconfig/gstreamer-check-uninstalled.pc.in:
20680         * gst/check:
20681         * gst/Makefile.am:
20682         * configure.ac:
20683           move the check stuff to a library that gets installed
20684         * check/gst-libs/controller.c: (GST_START_TEST):
20685         * check/gst-libs/gdp.c:
20686         * check/gst/gst.c: (GST_START_TEST):
20687         * check/gst/gstbin.c:
20688         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20689         * check/gst/gstbus.c:
20690         * check/gst/gstcaps.c: (GST_START_TEST):
20691         * check/gst/gstelement.c:
20692         * check/gst/gstghostpad.c:
20693         * check/gst/gstiterator.c:
20694         * check/gst/gstmessage.c:
20695         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20696         * check/gst/gstobject.c:
20697         * check/gst/gstpad.c: (GST_START_TEST):
20698         * check/gst/gststructure.c: (GST_START_TEST):
20699         * check/gst/gstsystemclock.c: (GST_START_TEST),
20700         (gst_systemclock_suite):
20701         * check/gst/gsttag.c: (gst_tag_suite):
20702         * check/gst/gstvalue.c:
20703         * check/pipelines/cleanup.c:
20704         * check/pipelines/simple_launch_lines.c:
20705         * check/states/sinks.c:
20706           change include statement
20707
20708         * docs/gst/gstreamer-sections.txt:
20709         * docs/gst/tmpl/gstpad.sgml:
20710           document more pad stuff
20711         * gst/gstminiobject.c: (gst_mini_object_ref),
20712         (gst_mini_object_unref):
20713           debug refcounting
20714
20715 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
20716
20717         * docs/gst/tmpl/gst.sgml:
20718         * gst/gst.c:
20719           eliminate another tmpl file, fix spelling in the long-description
20720
20721 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20722
20723         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20724         (test_event), (timediff), (gstevents_suite):
20725           Should fix build on 64-bit arch's
20726
20727 2005-08-18  Andy Wingo  <wingo@pobox.com>
20728
20729         Make sure that when a pipeline goes to PLAYING, that data has
20730         actually hit the sink.
20731
20732         * check/states/sinks.c (test_sink): A sink that doesn't get any
20733         data shouldn't return SUCCESS for going to either PLAYING or
20734         PAUSED. Test also the return values on the way back down.
20735
20736         * gst/gstelement.c (gst_element_set_state): When changing the
20737         state of an element currently changing state asynchronously, go to
20738         lost-state after commiting the pending state. Makes future calls
20739         to get_state continue to return ASYNC.
20740
20741         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20742         ASYNC when going to PLAYING if we still don't have preroll, as can
20743         happen with live sources.
20744
20745 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20746
20747         * docs/pwg/advanced-types.xml:
20748           Hack long paragraph into 2 chunks as a workaround for buggy
20749           jadetex version in sid and breezy that loops infinitely and
20750           eats all RAM.
20751
20752 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20753
20754         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20755         (test_event), (timediff), (gstevents_suite):
20756           Provide more error margin in clock measurements to allow for 
20757           g_get_current_time inaccuracies.
20758
20759 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20760
20761         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20762         (test_event), (timediff), (gstevents_suite):
20763            Fix error message output so I might be able to tell why the
20764            test works here but fails on the build farm.
20765
20766 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20767
20768         * check/Makefile.am:
20769         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20770         (test_event), (timediff), (gstevents_suite), (main):
20771           I wrote a test!
20772
20773         * docs/design/part-seeking.txt:
20774           Spelling correction
20775
20776         * docs/gst/tmpl/gstevent.sgml:
20777         * docs/gst/tmpl/gstfakesrc.sgml:
20778           Docs updates.
20779
20780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20781           Treat a buffer-without-newsegment the same as a receiving 
20782           a newsegment not in time format, and disable syncing to the clock
20783           with a warning.
20784
20785         * gst/gstbus.c: (gst_bus_set_sync_handler):
20786           Assert if anyone tries to replace the existing sync_handler for bus, 
20787           as only the owner should be setting it.
20788
20789         * gst/gstevent.h:
20790           Have a fixed set of custom event enums with events identified by
20791           their structure name (as in 0.8), rather than a free-for-all
20792           allowing collisions between enum values from different plugins.
20793
20794         * gst/gstpad.c: (gst_pad_class_init):
20795           Docs change.
20796           
20797         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20798           Handle out-of-band downstream events from the sending thread.
20799
20800 2005-08-17  Andy Wingo  <wingo@pobox.com>
20801
20802         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20803         play-timeout==0 to mean no timeout at all. In that case, don't
20804         bother with a get_state or a warning, just return directly, even
20805         if it's ASYNC.
20806
20807         * gst/base/gstbasetransform.c: Debug changes.
20808
20809         * gst/gstutils.h:
20810         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20811         ensure bins post state change messages. A bit of a hack but I can't
20812         think of a way to avoid it.
20813
20814         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20815
20816 2005-08-16  Andy Wingo  <wingo@pobox.com>
20817
20818         * gst/base/gstadapter.h:
20819         * gst/base/gstadapter.c (gst_adapter_take): New function, like
20820         peek() but you own the data. Not terribly efficient atm.
20821
20822 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20823
20824         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20825         (gst_element_found_tags):
20826         * gst/gstutils.h:
20827           Add two utility functions for tag handling.
20828
20829 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20830
20831         * docs/manual/advanced-dataaccess.xml:
20832         * docs/manual/basics-helloworld.xml:
20833           Fix docs to use _bin_add() before _link(), which fixes the examples
20834           with recent core versions (reported by Madhan Raj M
20835           <raj_madan@rediffmail.com>, #313199).
20836
20837 2005-08-16  Wim Taymans  <wim@fluendo.com>
20838
20839         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20840         Added subtract checks.
20841
20842         * docs/design/part-events.txt:
20843         Some more docs about newsegment
20844
20845         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20846         Fix FIXME
20847
20848         * gst/gstcaps.c: (gst_caps_to_string):
20849         Add comments, cleanups.
20850         
20851         * gst/gstelement.c: (gst_element_save_thyself):
20852         cleanups
20853         
20854         * gst/gstvalue.c: (gst_value_collect_int_range),
20855         (gst_string_unwrap), (gst_value_union_int_int_range),
20856         (gst_value_union_int_range_int_range),
20857         (gst_value_intersect_int_int_range),
20858         (gst_value_intersect_int_range_int_range),
20859         (gst_value_intersect_double_double_range),
20860         (gst_value_intersect_double_range_double_range),
20861         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20862         (gst_value_subtract_int_range_int),
20863         (gst_value_subtract_double_range_double),
20864         (gst_value_subtract_double_range_double_range),
20865         (gst_value_subtract_from_list), (gst_value_subtract_list),
20866         (gst_value_can_compare), (gst_value_compare_fraction):
20867         Cleanups, add comments, remove unneeded asserts.
20868
20869 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20870
20871         * tools/gst-launch.c: (event_loop):
20872           don't convert NULL structures to strings
20873
20874 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
20875
20876         * docs/gst/gstreamer-sections.txt:
20877           made some defines private
20878         * docs/gst/tmpl/gstconfig.sgml:
20879         * docs/gst/tmpl/gstqueue.sgml:
20880         * docs/gst/tmpl/gsttaglist.sgml:
20881         * docs/gst/tmpl/gsttypes.sgml:
20882         * docs/gst/tmpl/gstutils.sgml:
20883         * docs/pwg/appendix-porting.xml:
20884         * gst/base/gstbasesink.h:
20885         * gst/base/gstbasesrc.c:
20886         * gst/base/gstbasesrc.h:
20887         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20888         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20889         * gst/gstelement.c: (gst_element_class_init):
20890         * gst/gstpad.c: (gst_pad_class_init):
20891         * gst/gstqueue.c: (gst_queue_class_init):
20892         * gst/gstxml.c: (gst_xml_class_init):
20893           documented all undocumented signal inline
20894         * libs/gst/controller/gst-controller.h:
20895           added padding
20896
20897 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20898
20899         * docs/pwg/appendix-porting.xml:
20900           Document _set_link_function -> _set_setcaps_function.
20901
20902 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20903
20904         * check/Makefile.am:
20905           add a .check target for running the check
20906         * check/gst-libs/controller.c: (GST_START_TEST):
20907           cosmetic fixups
20908         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20909           complete checks for gstbuffer; would be nice if I could get the
20910           gcov stuff to work so I can see if I actually completed gstbuffer.c
20911         * check/gstcheck.h:
20912           add ASSERT_BUFFER_REFCOUNT
20913
20914 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20915
20916         * docs/gst/gstreamer-sections.txt:
20917         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20918         * gst/gsttag.h:
20919           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20920           spew out a warning if a tag that is already registered
20921           is re-registered, unless it is re-registered with a 
20922           different type (#308438).
20923
20924 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20925
20926         * docs/pwg/appendix-porting.xml:
20927         * docs/pwg/building-state.xml:
20928           Add some paragraphs about state changes in 0.9 to the PWG
20929           and the porting guide, in particular about the new meaning
20930           of GST_STATE_PAUSED and how to write state change functions
20931           with concurrent access by multiple threads in mind.
20932
20933 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20934
20935         * docs/gst/gstreamer-docs.sgml:
20936         * docs/libs/gstreamer-libs-docs.sgml:
20937           added deprecation and since indexes
20938         * libs/gst/controller/gst-controller.c:
20939         * libs/gst/controller/gst-helper.c:
20940           added since tags
20941
20942
20943 2005-08-11  Wim Taymans  <wim@fluendo.com>
20944
20945         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20946         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20947         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20948         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20949         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20950         (gst_ghost_pad_set_target):
20951         Actually implement (re)setting the target on a ghostpad
20952         as described in the docs.
20953
20954 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20955
20956         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20957           Check whether GST_DEBUG_NO_COLOR environment variable is
20958           set and disable coloured debug output if that is the case.
20959
20960 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20961
20962         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20963         (gst_type_find_helper):
20964           The memory returned by gst_type_find_peek() needs to
20965           stay valid until the end of a typefind function, and
20966           typefind functions may keep results from different 
20967           offsets around, so we can't just unref the buffer from
20968           the previous _peek(), but have to save all buffers 
20969           returned by _peek() until typefinding is done and only
20970           free them then.
20971
20972 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
20973
20974         * docs/gst/gstreamer-sections.txt:
20975         * gst/gstutils.h:
20976           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20977
20978 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20979
20980         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20981           Fix a pretty good memleak.
20982
20983 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20984
20985         * gst/gstiterator.h:
20986           Fix wrong include and 'make distcheck'.
20987
20988 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20989
20990         * gst/gstbin.c: (bin_bus_handler):
20991           Use gst_element_post_message() instead.
20992
20993 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20994
20995         * gst/base/gstadapter.h:
20996         * gst/base/gstbasesink.h:
20997         * gst/base/gstbasesrc.h:
20998         * gst/base/gstbasetransform.h:
20999         * gst/base/gstcollectpads.h:
21000         * gst/base/gstpushsrc.h:
21001         * gst/gstiterator.h:
21002           Add padding to our base elements' class and instance structs and
21003           to GstIterator (you will need to rebuild all plugins and apps!)
21004
21005 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21006
21007         * gst/gstbin.c: (bin_bus_handler):
21008           Make default message forwarding from child->bus to bin->bus
21009           threadsafe and make it not emit warnings if the parent has no bus.
21010
21011 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21012
21013         * gst/gstelement.c: (activate_pads):
21014           On paused->ready, set pad->caps to NULL, as is the documented
21015           behaviour in this state change. Fixes playback of series of
21016           media files when visualization is enabled in Totem.
21017
21018 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21019
21020         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21021           Allow NULL as filter-caps (which means "any").
21022
21023 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21024
21025         * docs/libs/gstreamer-libs-sections.txt:
21026         * libs/gst/controller/gst-controller.c:
21027         * libs/gst/controller/gst-controller.h:
21028         * libs/gst/controller/gst-helper.c:
21029           adding more entries to the docs and fix small doc-bugs
21030
21031 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21032
21033         * docs/gst/gstreamer-docs.sgml:
21034         * docs/gst/gstreamer-sections.txt:
21035         * docs/gst/gstreamer.types:
21036         * docs/gst/tmpl/gstbasesink.sgml:
21037         * docs/gst/tmpl/gstbasesrc.sgml:
21038         * docs/gst/tmpl/gstbasetransform.sgml:
21039         * docs/gst/tmpl/gstfakesrc.sgml:
21040         * gst/base/gstcollectpads.c:
21041         * gst/base/gstcollectpads.h:
21042         * libs/gst/controller/gst-controller.c:
21043         * libs/gst/controller/gst-controller.h:
21044         * libs/gst/controller/gst-helper.c:
21045         * libs/gst/controller/gst-interpolation.c:
21046         * libs/gst/controller/lib.c:
21047           added long/short desc for controller docs
21048           added collectpads base class docs
21049           added correct includes to base-class docs
21050
21051 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21052
21053         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21054         (gst_test_mono_source_set_property),
21055         (gst_test_mono_source_class_init), (GST_START_TEST),
21056         (gst_controller_suite):
21057         * docs/gst/gstreamer-docs.sgml:
21058         * docs/gst/gstreamer-sections.txt:
21059         * docs/gst/gstreamer.types:
21060         * docs/libs/gstreamer-libs-docs.sgml:
21061         * docs/libs/gstreamer-libs-sections.txt:
21062         * gst/base/gstadapter.c:
21063         * libs/gst/controller/gst-controller.c:
21064         (gst_controlled_property_new), (gst_controlled_property_free),
21065         (gst_controller_new_valist),
21066         (gst_controller_remove_properties_valist),
21067         (gst_controller_sink_values), (_gst_controller_finalize):
21068         * libs/gst/controller/gst-controller.h:
21069         * libs/gst/controller/gst-helper.c:
21070         (gst_object_control_properties), (gst_object_uncontrol_properties),
21071         (gst_object_get_controller), (gst_object_set_controller),
21072         (gst_object_sink_values), (gst_object_get_value_arrays),
21073         (gst_object_get_value_array):
21074           more tests (and fixes) for the controller
21075           more docs for the controller
21076           integrated companies docs for the adapter 
21077
21078 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21079
21080         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21081         (GST_START_TEST), (fakesrc_suite):
21082           add tests for sizetype
21083
21084 2005-08-04  Andy Wingo  <wingo@pobox.com>
21085
21086         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21087         fixes buffer_alloc proxying among other things.
21088
21089         * gst/base/gstbasetransform.c:
21090         * gst/base/gstbasetransform.h:
21091         Revert patch to gstbasetransform from 7-28 removing
21092         delay_configure.
21093
21094         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21095         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21096         Semantics changed, should return not the size of the output buffer
21097         but the byte size of a buffer with a given caps.
21098
21099         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21100         debug object.
21101         (gst_base_transform_configure_caps): Don't set out_size here: (in,
21102         out) are not the pad caps until setcaps finishes.
21103         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21104         not-in-place case as well. Deal with changing from in-place to
21105         not-in-place within calling pad_alloc_buffer. Still a bit
21106         concerned about the overhead here...
21107
21108 2005-08-03  Andy Wingo  <wingo@pobox.com>
21109
21110         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21111         fixating is an error.
21112
21113 2005-08-04  Edward Hervey  <edward@fluendo.com>
21114
21115         * gst/base/gstadapter.h: 
21116         Added gst_adapter_get_type() to the header
21117
21118 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21119
21120         * check/Makefile.am:
21121         * check/gst-libs/controller.c:
21122         * libs/gst/controller/gst-controller.c:
21123         (gst_controller_new_valist):
21124           added check test suite for the controller
21125         * gst/base/gstpushsrc.c:
21126           fixed a doc typo
21127
21128 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21129
21130         * docs/gst/Makefile.am:
21131         * docs/gst/gstreamer-docs.sgml:
21132         * docs/gst/gstreamer-sections.txt:
21133         * docs/gst/gstreamer.types:
21134         * docs/gst/tmpl/gstfakesrc.sgml:
21135         * gst/base/README:
21136         * gst/base/gstbasesink.c:
21137         * gst/base/gstbasesink.h:
21138         * gst/base/gstbasesrc.c:
21139         * gst/base/gstbasesrc.h:
21140         * gst/base/gstbasetransform.c:
21141         * gst/base/gstpushsrc.c:
21142         * gst/base/gstpushsrc.h:
21143           add short/long description docs to base classes
21144           add pushsrc to the docs
21145           remove consolidated doc fragments
21146
21147 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21148
21149         * configure.ac:
21150         * docs/libs/Makefile.am:
21151         * docs/libs/gstreamer-libs-docs.sgml:
21152         * docs/libs/gstreamer-libs-sections.txt:
21153         * docs/libs/gstreamer-libs.types:
21154         * examples/Makefile.am:
21155         * examples/controller/.cvsignore:
21156         * examples/controller/Makefile.am:
21157         * examples/controller/audio-example.c: (main):
21158         * libs/gst/Makefile.am:
21159         * libs/gst/controller/.cvsignore:
21160         * libs/gst/controller/Makefile.am:
21161         * libs/gst/controller/gst-controller.c:
21162         (on_object_controlled_property_changed), (gst_timed_value_compare),
21163         (gst_timed_value_find),
21164         (gst_controlled_property_set_interpolation_mode),
21165         (gst_controlled_property_new), (gst_controlled_property_free),
21166         (gst_controller_find_controlled_property),
21167         (gst_controller_new_valist), (gst_controller_new),
21168         (gst_controller_remove_properties_valist),
21169         (gst_controller_remove_properties), (gst_controller_set),
21170         (gst_controller_set_from_list), (gst_controller_unset),
21171         (gst_controller_get), (gst_controller_get_all),
21172         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21173         (gst_controller_get_value_array),
21174         (gst_controller_set_interpolation_mode),
21175         (_gst_controller_finalize), (_gst_controller_init),
21176         (_gst_controller_class_init), (gst_controller_get_type):
21177         * libs/gst/controller/gst-controller.h:
21178         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21179         (g_object_uncontrol_properties), (g_object_get_controller),
21180         (g_object_set_controller), (g_object_sink_values),
21181         (g_object_get_value_arrays), (g_object_get_value_array):
21182         * libs/gst/controller/gst-interpolation.c:
21183         (gst_controlled_property_find_timed_value_node),
21184         (interpolate_none_get), (interpolate_trigger_get),
21185         (interpolate_trigger_get_value_array):
21186         * libs/gst/controller/lib.c: (gst_controller_init):
21187         * pkgconfig/Makefile.am:
21188         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21189         * pkgconfig/gstreamer-control.pc.in:
21190         * testsuite/Makefile.am:
21191         * testsuite/controller/.cvsignore:
21192         * testsuite/controller/Makefile.am:
21193         * testsuite/controller/interpolator.c: (main):
21194           added controller code
21195           removed dparam pc files
21196
21197 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21198         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21199         (gst_collectpads_stop):
21200           Broadcast the condition when shutting down, to make sure we wake all
21201           threads up. Shut down pads on finalize, for safety.
21202
21203 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21204         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21205         (gst_base_transform_handle_buffer),
21206         (gst_base_transform_change_state):
21207           Handle PAUSED->READY->PAUSED transition after negotiation
21208           occurred already.
21209         * gst/gstmessage.c: (gst_message_init):
21210           Extra piece of debug for new messages.
21211
21212 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21213
21214         * configure.ac:
21215         * docs/gst/tmpl/gstbasesrc.sgml:
21216         * docs/gst/tmpl/gstelement.sgml:
21217         * docs/gst/tmpl/gstevent.sgml:
21218         * docs/gst/tmpl/gstfakesrc.sgml:
21219         * docs/gst/tmpl/gstformat.sgml:
21220         * docs/gst/tmpl/gstghostpad.sgml:
21221         * docs/gst/tmpl/gstpad.sgml:
21222         * docs/gst/tmpl/gstquery.sgml:
21223         * docs/gst/tmpl/gststructure.sgml:
21224         * docs/gst/tmpl/gsttaglist.sgml:
21225         * docs/gst/tmpl/gstvalue.sgml:
21226         * docs/libs/gstreamer-libs-docs.sgml:
21227         * docs/libs/gstreamer-libs-sections.txt:
21228         * docs/libs/gstreamer-libs.types:
21229         * libs/gst/Makefile.am:
21230         * libs/gst/control/.cvsignore:
21231         * libs/gst/control/Makefile.am:
21232         * libs/gst/control/control.c:
21233         * libs/gst/control/control.h:
21234         * libs/gst/control/dparam.c:
21235         * libs/gst/control/dparam.h:
21236         * libs/gst/control/dparam_smooth.c:
21237         * libs/gst/control/dparam_smooth.h:
21238         * libs/gst/control/dparamcommon.h:
21239         * libs/gst/control/dparammanager.c:
21240         * libs/gst/control/dparammanager.h:
21241         * libs/gst/control/dplinearinterp.c:
21242         * libs/gst/control/dplinearinterp.h:
21243         * libs/gst/control/unitconvert.c:
21244         * libs/gst/control/unitconvert.h:
21245         * testsuite/Makefile.am:
21246         * testsuite/dynparams/.cvsignore:
21247         * testsuite/dynparams/Makefile.am:
21248         * testsuite/dynparams/dparamstest.c:
21249         * tools/Makefile.am:
21250         * tools/gst-inspect.c: (print_element_info), (main):
21251         * tools/gst-xmlinspect.c: (print_element_info), (main):
21252           deactivate and remove dparams (libgstcontrol)
21253
21254 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21255
21256         * gst/elements/gsttypefindelement.c:
21257         (gst_type_find_element_have_type), (gst_type_find_element_init),
21258         (stop_typefinding), (gst_type_find_element_handle_event),
21259         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21260         * gst/elements/gsttypefindelement.h:
21261           Set caps on all outgoing buffers, not just the first one.
21262
21263 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21264
21265         * gst/elements/gsttypefindelement.c:
21266         (gst_type_find_element_have_type),
21267         (gst_type_find_element_check_set_buffer_caps),
21268         (gst_type_find_element_init), (stop_typefinding),
21269         (gst_type_find_element_handle_event),
21270         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21271         * gst/elements/gsttypefindelement.h:
21272           Set caps on first outgoing buffer when we've found the type.
21273
21274 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21275
21276         * docs/gst/gstreamer-docs.sgml:
21277         * docs/gst/gstreamer-sections.txt:
21278         * docs/gst/tmpl/gstscheduler.sgml:
21279         * docs/gst/tmpl/gstschedulerfactory.sgml:
21280           Remove some old cruft from docs.
21281
21282 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21283
21284         * gst/gstpad.h:
21285           Fix inline docs for GstPadLinkReturn.
21286           
21287         * gst/gststructure.c: (gst_structure_has_name):
21288         * gst/gststructure.h:
21289         * docs/gst/gstreamer-sections.txt:
21290           New API: gst_structure_has_name().
21291
21292 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21293
21294         * configure.ac:
21295           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21296           and _LARGEFILE_SOURCE in config.h as required. Do not 
21297           export those flags in our .pc files any longer (#142209).
21298
21299           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21300
21301         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21302         (gst_file_sink_do_seek), (gst_file_sink_event),
21303         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21304           Redo seek/tell calls with large file support in mind; add some
21305           debugging messages; add log message that tells us when large
21306           file support is unavailable or not enabled for some reason.
21307
21308         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21309           Add log message that tells us when large file support 
21310           is unavailable or not enabled for some reason.
21311
21312 2005-07-29  Wim Taymans  <wim@fluendo.com>
21313
21314         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21315         Added test for removing an element with ghostpad from a bin.
21316         Fixed test as current implementation does the right thing.
21317
21318         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21319         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21320         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21321         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21322         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21323         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21324         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21325         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21326         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21327         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21328         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21329         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21330         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21331         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21332         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21333         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21334         * gst/gstghostpad.h:
21335         Clean up ghostpads, remove properties for internal stuff.
21336         Make threadsafe.
21337         Fix refcounting.
21338         Prepare for switching targets, not all use cases work yet.
21339
21340 2005-07-29  Wim Taymans  <wim@fluendo.com>
21341
21342         * docs/design/part-gstghostpad.txt:
21343         Small update.
21344
21345         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21346         (gst_bin_remove_func):
21347         Unlinking pads while holding the bin LOCK is not a good
21348         idea.
21349
21350         * gst/gstpad.c: (gst_pad_class_init),
21351         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21352         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21353         No prob setting template after creating the pad.
21354
21355 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21356
21357         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21358         (gst_bus_peek), (gst_bus_source_dispatch),
21359         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21360         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21361           gst_bus_poll may be called from other threads. Handle
21362           this nicely by not making poll_data disappear off the
21363           stack once gst_bus_poll returns.
21364           gst_bus_peek now increments the refcount on the returned
21365           message.
21366
21367 2005-07-29  Wim Taymans  <wim@fluendo.com>
21368
21369         * docs/design/part-gstghostpad.txt:
21370         Overview of current GhostPad datastructures and use
21371         cases for changing the target.
21372
21373 2005-07-28  Wim Taymans  <wim@fluendo.com>
21374
21375         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21376         Added checks for hierarchy consistency whan adding linked
21377         elements to bins.
21378
21379         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21380         Added check to test element scheduling without bin/pipeline.
21381
21382         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21383         First add elements to bin, then link.
21384         
21385         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21386         (gst_bin_remove_func):
21387         Unlink pads from elements added/removed from bin to maintain
21388         hierarchy consistency.
21389
21390 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21391
21392         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21393         (gst_base_transform_handle_buffer):
21394         * gst/base/gstbasetransform.h:
21395           Remove broken delay_configure (fixes renegotiation of software
21396           scaling pipelines); remove some leftover printf()s.
21397
21398 2005-07-28  Wim Taymans  <wim@fluendo.com>
21399
21400         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21401         Added some more tests for wrong hierarchy
21402
21403         * docs/design/part-overview.txt:
21404         Some updates.
21405
21406         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21407         Cleanups.
21408
21409         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21410         (gst_element_dispose):
21411         Some more cleanups.
21412
21413         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21414         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21415         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21416         (gst_pad_set_caps), (gst_pad_send_event):
21417         Check for correct hierarchy when linking pads. Moving to
21418         strict requirement for ghostpads when linking elements in
21419         different bins.
21420
21421         * gst/gstpad.h:
21422         Clean ups. Added WRONG_HIERARCHY return value.
21423
21424 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21425
21426         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21427           Better debug if no transform is possible.
21428
21429 2005-07-27  Wim Taymans  <wim@fluendo.com>
21430
21431         * docs/random/wtay/network-transp:
21432         Some old doc I had.
21433
21434 2005-07-27  Wim Taymans  <wim@fluendo.com>
21435
21436         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21437         (gst_dp_event_from_packet):
21438         Fix serialization of seek events.
21439
21440 2005-07-27  Wim Taymans  <wim@fluendo.com>
21441
21442         * check/gst-libs/gdp.c: (GST_START_TEST):
21443         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21444         Fix compilation and fix event serialization.
21445
21446 2005-07-27  Wim Taymans  <wim@fluendo.com>
21447
21448         * CHANGES-0.9:
21449         * docs/design/part-TODO.txt:
21450         * docs/design/part-events.txt:
21451         Some docs updates
21452
21453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21454         (gst_base_sink_event), (gst_base_sink_do_sync),
21455         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21456         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21457         (gst_base_src_do_seek), (gst_base_src_event_handler),
21458         (gst_base_src_loop):
21459         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21460         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21461         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21462         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21463         (gst_base_transform_set_passthrough),
21464         (gst_base_transform_is_passthrough):
21465         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21466         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21467         Event updates.
21468
21469         * gst/gstbuffer.h:
21470         Use faster casts.
21471
21472         * gst/gstelement.c: (gst_element_seek):
21473         * gst/gstelement.h:
21474         Update gst_element_seek.
21475
21476         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21477         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21478         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21479         (gst_event_new_eos), (gst_event_new_newsegment),
21480         (gst_event_parse_newsegment), (gst_event_new_tag),
21481         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21482         (gst_event_parse_qos), (gst_event_new_seek),
21483         (gst_event_parse_seek), (gst_event_new_navigation):
21484         * gst/gstevent.h:
21485         Make GstEvent use GstStructure. Add parsing code, make sure the
21486         API is sufficiently generic.
21487         Mark possible directions of events and serialization.
21488
21489         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21490         (_gst_message_copy), (gst_message_new_segment_start),
21491         (gst_message_new_segment_done), (gst_message_new_custom),
21492         (gst_message_parse_segment_start),
21493         (gst_message_parse_segment_done):
21494         Small cleanups.
21495
21496         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21497         (gst_pad_set_caps), (gst_pad_send_event):
21498         Update for new events. 
21499         Catch events sent in wrong directions.
21500
21501         * gst/gstqueue.c: (gst_queue_link_src),
21502         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21503         (gst_queue_handle_src_query):
21504         Event updates.
21505
21506         * gst/gsttag.c:
21507         * gst/gsttag.h:
21508         Remove event code from this file.
21509
21510         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21511         (gst_dp_event_from_packet):
21512         Event updates.
21513
21514 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21515
21516         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21517         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21518         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21519           Make debugging actually useful.
21520
21521 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21522
21523         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21524         (gst_pad_fixate_caps):
21525           Implement default fixation once again, so that gst_pad_fixate()
21526           actually does anything at all. This probably needs to be some
21527           sort of a last resort, and use profile-based fixation first, but
21528           since that doesn't exist yet, this is the best we have. Fixes
21529           visualization in Totem.
21530
21531 2005-07-22  Wim Taymans  <wim@fluendo.com>
21532
21533         * docs/design/part-events.txt:
21534         Small update.
21535
21536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21537         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21538         (gst_base_sink_activate_pull):
21539         Some more comments.
21540
21541         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21542         (gst_fake_src_create):
21543         Fix handoff marshall.
21544
21545         * gst/elements/gstidentity.c: (gst_identity_class_init),
21546         (gst_identity_transform_ip):
21547         We're a real inplace element.
21548
21549         * gst/gstbus.c: (gst_bus_post):
21550         Added some comments.
21551
21552         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21553         * tests/muxing/case1.c: (main):
21554         * tests/sched/dynamic-pipeline.c: (main):
21555         * tests/sched/interrupt1.c: (main):
21556         * tests/sched/interrupt2.c: (main):
21557         * tests/sched/interrupt3.c: (main):
21558         * tests/sched/runxml.c: (main):
21559         * tests/sched/sched-stress.c: (main):
21560         * tests/seeking/seeking1.c: (event_received), (main):
21561         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21562         (main):
21563         * tests/threadstate/threadstate3.c: (main):
21564         * tests/threadstate/threadstate4.c: (main):
21565         * tests/threadstate/threadstate5.c: (main):
21566         Fix the tests.
21567
21568 2005-07-21  Wim Taymans  <wim@fluendo.com>
21569
21570         * docs/design/part-seeking.txt:
21571         Some small additions.
21572
21573         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21574         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21575         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21576         * gst/base/gstbasesink.h:
21577         discont values are gint64, handle the math correctly.
21578
21579         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21580         Make the basesrc report error if the source pad is not linked.
21581
21582         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21583         (gst_queue_loop), (gst_queue_handle_src_query),
21584         (gst_queue_src_activate_push):
21585         Make queue collect data even if the srcpad is not linked.
21586         Start pushing out data as soon as it is linked.
21587
21588         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21589         * gst/gstutils.h:
21590         Added gst_flow_get_name() to ease error reporting.
21591
21592 2005-07-20  Wim Taymans  <wim@fluendo.com>
21593
21594         * gst/gstmessage.c: (gst_message_new_segment_start),
21595         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21596         (gst_message_parse_segment_done):
21597         * gst/gstmessage.h:
21598         Added a bunch of messages for advanced seeking.
21599
21600         * gst/parse/grammar.y:
21601         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21602         (gst_dpman_state_changed):
21603         Fix some new-pad -> pad-added signals
21604
21605 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21606
21607         * docs/manual/appendix-porting.xml:
21608         * docs/pwg/appendix-porting.xml:
21609           Document new-pad/state-change signal renames and the FixedList
21610           type rename.
21611
21612 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21613
21614         * docs/manual/advanced-autoplugging.xml:
21615         * docs/manual/basics-helloworld.xml:
21616         * docs/manual/basics-pads.xml:
21617         * docs/random/ds/0.9-suggested-changes:
21618         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21619         * gst/gstelement.h:
21620         * gst/gstevent.h:
21621         * gst/gstformat.h:
21622         * gst/gstquery.h:
21623         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21624         (gst_structure_parse_array), (gst_structure_parse_value):
21625         * gst/gstvalue.c: (gst_type_is_fixed),
21626         (gst_value_list_prepend_value), (gst_value_list_append_value),
21627         (gst_value_list_get_size), (gst_value_list_get_value),
21628         (gst_value_transform_array_string), (gst_value_serialize_array),
21629         (gst_value_deserialize_array), (gst_value_intersect_array),
21630         (gst_value_is_fixed), (_gst_value_initialize):
21631         * gst/gstvalue.h:
21632           GstElement::new-pad -> pad-added, GstElement::state-change ->
21633           state-changed, GstValueFixedList -> GstValueArray, add format and
21634           flags as their own arguments in gst_element_seek() (should improve
21635           "bindeability"), remove function generators since they don't work
21636           under a whole bunch of compilers (they were deprecated already
21637           anyway).
21638
21639 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21640
21641         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21642         (_gst_debug_register_funcptr):
21643         * gst/gstinfo.h:
21644           Fix illegal cast on some platforms (#309253).
21645
21646 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21647
21648         * gst/gstmessage.c: (gst_message_new_custom):
21649         * gst/gstmessage.h:
21650           Add _new_custom, make _new_application a macro to _new_custom.
21651
21652 2005-07-20  Wim Taymans  <wim@fluendo.com>
21653
21654         * gst/base/gstbasesrc.c: (gst_base_src_init),
21655         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21656         * gst/base/gstbasesrc.h:
21657         Add a gboolean to decide when to push out a discont.
21658
21659         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21660         (gst_queue_loop), (gst_queue_handle_src_query),
21661         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21662         (gst_queue_set_property), (gst_queue_get_property):
21663         Some cleanups.
21664
21665         * tests/threadstate/threadstate1.c: (main):
21666         Make a thread test compile and run... very silly..
21667
21668
21669 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21670
21671         * docs/manual/appendix-porting.xml:
21672           Mention removal of libgstgconf-0.9.la and existence of gconf
21673           elements.
21674
21675 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21676
21677         * docs/pwg/advanced-clock.xml:
21678         * docs/pwg/appendix-porting.xml:
21679         * docs/pwg/intro-preface.xml:
21680         * docs/pwg/other-base.xml:
21681         * docs/pwg/other-manager.xml:
21682         * docs/pwg/other-nton.xml:
21683         * docs/pwg/other-ntoone.xml:
21684         * docs/pwg/other-oneton.xml:
21685         * docs/pwg/pwg.xml:
21686           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21687           demuxer), remove n-to-n (was never written), fix some code examples
21688           and links and update the porting section to include all this.
21689
21690 2005-07-19  Wim Taymans  <wim@fluendo.com>
21691
21692         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21693         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21694         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21695         (gst_queue_src_activate_push), (gst_queue_change_state),
21696         (gst_queue_get_property):
21697         * gst/gstqueue.h:
21698         Propagate GstFlowReturn more intelligently upstream and output
21699         an ERROR/EOS when streaming stopped due to fatal error.
21700
21701 2005-07-19  Wim Taymans  <wim@fluendo.com>
21702
21703         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21704         Don't block forever for the state change to complete, the
21705         pipeline already did with a sensible timeout.
21706
21707 2005-07-19  Wim Taymans  <wim@fluendo.com>
21708
21709         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21710         Make sure we never call the create function is we
21711         got deactivated.
21712
21713 2005-07-19  Andy Wingo  <wingo@pobox.com>
21714
21715         * gst/parse/parse.l: Attempt to solve bug #172815.
21716
21717 2005-07-19  Wim Taymans  <wim@fluendo.com>
21718
21719         * docs/design/part-clocks.txt:
21720         * docs/design/part-events.txt:
21721         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21722         Small docs updates.
21723         Only update the seeking values when we are not
21724         busy streaming.
21725
21726 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21727
21728         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21729           Oops, ignore the result of gst_pad_push_event here.
21730
21731 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21732
21733         * gst/base/gstbasesrc.c: (gst_base_src_loop),
21734         (gst_base_src_activate_push):
21735           Send discont event from the loop function, as pads
21736           aren't activated yet in the activate_push handler.
21737
21738         * gst/gstbin.c: (bin_bus_handler):
21739           Don't leak element name.
21740
21741 2005-07-18  Andy Wingo  <wingo@pobox.com>
21742
21743         * configure.ac: Use AS_LIBTOOL_TAGS.
21744
21745 2005-07-18  Wim Taymans  <wim@fluendo.com>
21746
21747         * docs/gst/gstreamer.types:
21748         Remove deleted types.
21749
21750 2005-07-18  Wim Taymans  <wim@fluendo.com>
21751
21752         * check/elements/gstfakesrc.c: (GST_START_TEST):
21753         * configure.ac:
21754         * gst/Makefile.am:
21755         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21756         (init_popt_callback):
21757         * gst/gst.h:
21758         * gst/gst_private.h:
21759         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21760         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21761         * gst/gstbin.h:
21762         * gst/gstbus.h:
21763         * gst/gstconfig.h.in:
21764         * gst/gstelement.c: (gst_element_class_init),
21765         (gst_element_set_base_time), (gst_element_get_base_time),
21766         (iterator_fold_with_resync), (gst_element_change_state),
21767         (gst_element_dispose), (gst_element_get_bus):
21768         * gst/gstelement.h:
21769         * gst/gstelementfactory.h:
21770         * gst/gsterror.c: (_gst_core_errors_init):
21771         * gst/gsterror.h:
21772         * gst/gstevent.h:
21773         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21774         * gst/gstindex.c:
21775         * gst/gstinfo.c: (_gst_debug_init):
21776         * gst/gstmessage.c: (_gst_message_copy):
21777         * gst/gstmessage.h:
21778         * gst/gstminiobject.h:
21779         * gst/gstobject.c:
21780         * gst/gstobject.h:
21781         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21782         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21783         * gst/gstpad.h:
21784         * gst/gstparse.h:
21785         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21786         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21787         (gst_pipeline_get_last_stream_time):
21788         * gst/gstpipeline.h:
21789         * gst/gstpluginfeature.h:
21790         * gst/gstquery.h:
21791         * gst/gstscheduler.c:
21792         * gst/gstscheduler.h:
21793         * gst/gststructure.h:
21794         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21795         (gst_task_finalize), (gst_task_func), (gst_task_create),
21796         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21797         (gst_task_stop), (gst_task_pause):
21798         * gst/gsttask.h:
21799         * gst/gsttypefind.h:
21800         * gst/gsttypes.h:
21801         * gst/registries/gstlibxmlregistry.c: (load_feature),
21802         (gst_xml_registry_load), (gst_xml_registry_save_feature):
21803         * gst/registries/gstxmlregistry.c:
21804         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21805         * gst/schedulers/threadscheduler.c:
21806         * libs/gst/control/dparammanager.h:
21807         * tools/gst-inspect.c: (print_element_list),
21808         (print_plugin_features), (print_element_features):
21809         * tools/gst-xmlinspect.c: (print_element_list),
21810         (print_plugin_info), (main):
21811         Removed plugable schedulers.
21812         Removed Scheduler/Manager from elements.
21813         Removed gsttypes.h, rearranged includes.
21814         Removed dependency pad<->element, element<>pipeline, and
21815         various others,  fix includes.
21816         implement gst_pad_get_parent() with gst_object_get_parent()
21817         Make GstTask sefcontained.
21818         Fix _get_state() on GstBin, it did not return ASYNC with a 0
21819         timeout.
21820         Fix endless loop in iterator_fold_with_resync.
21821
21822
21823 2005-07-18  Wim Taymans  <wim@fluendo.com>
21824
21825         * gst/Makefile.am:
21826         * gst/gstarch.h:
21827         Remove old file.
21828
21829 2005-07-18  Wim Taymans  <wim@fluendo.com>
21830
21831         * gst/Makefile.am:
21832         No more cothreads.h
21833
21834 2005-07-18  Wim Taymans  <wim@fluendo.com>
21835
21836         * gst/cothreads.c:
21837         * gst/cothreads.h:
21838         Let's remove these.
21839
21840 2005-07-18  Wim Taymans  <wim@fluendo.com>
21841
21842         * docs/design/part-dynamic.txt:
21843         * docs/design/part-events.txt:
21844         * docs/design/part-seeking.txt:
21845         Some more docs in the works.
21846
21847         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21848         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21849         (gst_base_transform_setcaps), (gst_base_transform_get_size),
21850         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21851         (gst_base_transform_handle_buffer),
21852         (gst_base_transform_sink_activate_push),
21853         (gst_base_transform_src_activate_pull),
21854         (gst_base_transform_set_passthrough),
21855         (gst_base_transform_is_passthrough):
21856         Refcounting fixes.
21857
21858         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21859         Cleanups.
21860
21861         * gst/gstevent.c: (gst_event_finalize):
21862         Set SRC to NULL.
21863
21864         * gst/gstutils.c: (gst_element_unlink),
21865         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21866         (gst_pad_proxy_setcaps):
21867         * gst/gstutils.h:
21868         Add _get_parent_element() to get a pads parent as an element.
21869
21870 2005-07-18  Wim Taymans  <wim@fluendo.com>
21871
21872         * check/gst/gstbin.c: (GST_START_TEST):
21873         Remove bogus test.
21874
21875 2005-07-18  Wim Taymans  <wim@fluendo.com>
21876
21877         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21878         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21879         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21880         (gst_base_sink_event), (gst_base_sink_do_sync),
21881         (gst_base_sink_chain), (gst_base_sink_loop),
21882         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21883         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21884         Refcounting fixes.
21885         Fix logic for returning ASYNC when not prerolled.
21886
21887 2005-07-18  Wim Taymans  <wim@fluendo.com>
21888
21889         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21890         Fix nasty refcount bug.
21891
21892 2005-07-16 Philippe Khalaf <burger@speedy.org>
21893
21894         * gst/elements/gstfdsrc.c:
21895         * gst/elements/gstfdsrc.h:
21896         * gst/elements/gstelements.c:
21897         * gst/elements/Makefile.am:
21898         Ported fdsrc to 0.9.
21899
21900 2005-07-16  Wim Taymans  <wim@fluendo.com>
21901
21902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21903         (gst_base_sink_do_sync):
21904         Fix compile error.
21905
21906 2005-07-16  Wim Taymans  <wim@fluendo.com>
21907
21908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21909         (gst_base_sink_event), (gst_base_sink_get_times),
21910         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21911         * gst/base/gstbasesink.h:
21912         Store and use discont values when syncing buffers as described
21913         in design docs.
21914         
21915         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21916         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21917         (gst_base_src_activate_push):
21918         Push discont event when starting.
21919
21920         * gst/elements/gstidentity.c: (gst_identity_transform):
21921         Small cleanups.
21922
21923         * gst/gstbin.c: (gst_bin_change_state):
21924         Small cleanups in base_time  distribution.
21925
21926         * gst/gstelement.c: (gst_element_set_base_time),
21927         (gst_element_get_base_time), (gst_element_change_state):
21928         * gst/gstelement.h:
21929         Added methods for the base_time of the element.
21930         Some MT fixes.
21931
21932         * gst/gstpipeline.c: (gst_pipeline_send_event),
21933         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21934         (gst_pipeline_get_last_stream_time):
21935         * gst/gstpipeline.h:
21936         MT fixes.
21937         Handle seeking as described in design doc, remove stream_time
21938         hack.
21939         Cleanups clock and stream_time selection code. Added accessors
21940         for the stream_time.
21941         
21942
21943 2005-07-16  Andy Wingo  <wingo@pobox.com>
21944
21945         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21946         (#305291).
21947
21948 2005-07-16  Wim Taymans  <wim@fluendo.com>
21949
21950         * check/gst/gstbin.c: (GST_START_TEST):
21951         Make elements silent as the deep_notify refs the
21952         parent, which might make the test fail.
21953
21954         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21955         Don't hold the lock for too long.
21956
21957 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21958
21959         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21960           Don't unref the caps we passed to gst_caps_make_writable() after
21961           passing them. gst_caps_make_writable() will do that for us.
21962
21963 2005-07-15  Andy Wingo  <wingo@pobox.com>
21964
21965         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21966         (#157311).
21967
21968         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21969         own marshalling function for the handoff signal. Properly type the
21970         buffer as a buffer. Fixes some warnings. Should do a more general
21971         solution.
21972         (gst_identity_class_init): Plug into the right marshaller.
21973
21974 2005-07-15  Wim Taymans  <wim@fluendo.com>
21975
21976         * docs/design/part-TODO.txt:
21977         * docs/design/part-clocks.txt:
21978         * docs/design/part-element-sink.txt:
21979         * docs/design/part-events.txt:
21980         * docs/design/part-gstpipeline.txt:
21981         Updated docs, mostly DISCONT related.
21982
21983 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
21984
21985         * docs/pwg/building-pads.xml:
21986           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21987
21988 2005-07-15  Andy Wingo  <wingo@pobox.com>
21989
21990         * tools/gst-typefind.c: Update, add copyright block.
21991
21992         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21993         Normalize and truncate caps before fixation.
21994
21995         * gst/gstcaps.h:
21996         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21997         discards all but the first structure from its argument.
21998
21999 2005-07-15  Wim Taymans  <wim@fluendo.com>
22000
22001         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22002         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22003         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22004         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22005         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22006         (gst_base_transform_chain), (gst_base_transform_change_state),
22007         (gst_base_transform_set_passthrough),
22008         (gst_base_transform_is_passthrough):
22009         * gst/base/gstbasetransform.h:
22010         Make passthrough work using the bufferpools.
22011         Changed API a bit, subclasses have to write into a buffer
22012         provided by the base class.
22013         More debug info in nego functions.
22014         
22015         * gst/elements/gstidentity.c: (gst_identity_init),
22016         (gst_identity_transform):
22017         Port to new base class.
22018
22019 2005-07-15  Wim Taymans  <wim@fluendo.com>
22020
22021         * gst/gstmessage.c: (gst_message_new_state_changed):
22022         * tools/gst-launch.c: (event_loop), (main):
22023         Totally dump messages in -launch with the -m option.
22024         Fix message name for State messages,
22025
22026 2005-07-14  Wim Taymans  <wim@fluendo.com>
22027
22028         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22029         Post error messages on errors.
22030
22031 2005-07-14  Wim Taymans  <wim@fluendo.com>
22032
22033         * gst/gstcaps.c: (gst_caps_do_simplify):
22034         Remove debug info.
22035
22036         * gst/gsterror.h:
22037         Define error for stream stopped.
22038
22039         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22040         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22041         Do proper return values.
22042
22043         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22044         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22045         (gst_pad_get_range):
22046         Better return values.
22047
22048         * gst/gstpad.h:
22049         Reorganise return values, add macro to check for fatal errors.
22050
22051         * gst/gstqueue.c: (gst_queue_chain):
22052         Return proper GstFlowReturn values,
22053
22054 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22055
22056         * docs/gst/gstreamer-sections.txt:
22057         * docs/gst/gstreamer.types:
22058         * docs/gst/tmpl/gst.sgml:
22059         * docs/gst/tmpl/gstbasesink.sgml:
22060         * docs/gst/tmpl/gstbasesrc.sgml:
22061         * docs/gst/tmpl/gstbasetransform.sgml:
22062         * docs/gst/tmpl/gstbin.sgml:
22063         * docs/gst/tmpl/gstbuffer.sgml:
22064         * docs/gst/tmpl/gstcaps.sgml:
22065         * docs/gst/tmpl/gstclock.sgml:
22066         * docs/gst/tmpl/gstcompat.sgml:
22067         * docs/gst/tmpl/gstconfig.sgml:
22068         * docs/gst/tmpl/gstelement.sgml:
22069         * docs/gst/tmpl/gstelementdetails.sgml:
22070         * docs/gst/tmpl/gstelementfactory.sgml:
22071         * docs/gst/tmpl/gstenumtypes.sgml:
22072         * docs/gst/tmpl/gsterror.sgml:
22073         * docs/gst/tmpl/gstevent.sgml:
22074         * docs/gst/tmpl/gstfakesink.sgml:
22075         * docs/gst/tmpl/gstfakesrc.sgml:
22076         * docs/gst/tmpl/gstfilesink.sgml:
22077         * docs/gst/tmpl/gstfilesrc.sgml:
22078         * docs/gst/tmpl/gstfilter.sgml:
22079         * docs/gst/tmpl/gstformat.sgml:
22080         * docs/gst/tmpl/gstghostpad.sgml:
22081         * docs/gst/tmpl/gstimplementsinterface.sgml:
22082         * docs/gst/tmpl/gstindex.sgml:
22083         * docs/gst/tmpl/gstindexfactory.sgml:
22084         * docs/gst/tmpl/gstinfo.sgml:
22085         * docs/gst/tmpl/gstiterator.sgml:
22086         * docs/gst/tmpl/gstmacros.sgml:
22087         * docs/gst/tmpl/gstmemchunk.sgml:
22088         * docs/gst/tmpl/gstminiobject.sgml:
22089         * docs/gst/tmpl/gstobject.sgml:
22090         * docs/gst/tmpl/gstpad.sgml:
22091         * docs/gst/tmpl/gstpadtemplate.sgml:
22092         * docs/gst/tmpl/gstparse.sgml:
22093         * docs/gst/tmpl/gstpipeline.sgml:
22094         * docs/gst/tmpl/gstplugin.sgml:
22095         * docs/gst/tmpl/gstpluginfeature.sgml:
22096         * docs/gst/tmpl/gstquery.sgml:
22097         * docs/gst/tmpl/gstqueue.sgml:
22098         * docs/gst/tmpl/gstregistry.sgml:
22099         * docs/gst/tmpl/gstregistrypool.sgml:
22100         * docs/gst/tmpl/gstscheduler.sgml:
22101         * docs/gst/tmpl/gstschedulerfactory.sgml:
22102         * docs/gst/tmpl/gststructure.sgml:
22103         * docs/gst/tmpl/gstsystemclock.sgml:
22104         * docs/gst/tmpl/gsttaglist.sgml:
22105         * docs/gst/tmpl/gsttagsetter.sgml:
22106         * docs/gst/tmpl/gsttrace.sgml:
22107         * docs/gst/tmpl/gsttrashstack.sgml:
22108         * docs/gst/tmpl/gsttypefind.sgml:
22109         * docs/gst/tmpl/gsttypefindfactory.sgml:
22110         * docs/gst/tmpl/gsttypes.sgml:
22111         * docs/gst/tmpl/gsturihandler.sgml:
22112         * docs/gst/tmpl/gsturitype.sgml:
22113         * docs/gst/tmpl/gstutils.sgml:
22114         * docs/gst/tmpl/gstvalue.sgml:
22115         * docs/gst/tmpl/gstversion.sgml:
22116         * docs/gst/tmpl/gstxml.sgml:
22117         * docs/libs/tmpl/gstcontrol.sgml:
22118         * docs/libs/tmpl/gstdataprotocol.sgml:
22119         * docs/libs/tmpl/gstdparam.sgml:
22120         * docs/libs/tmpl/gstdplinint.sgml:
22121         * docs/libs/tmpl/gstdpman.sgml:
22122         * docs/libs/tmpl/gstdpsmooth.sgml:
22123         * docs/libs/tmpl/gstgetbits.sgml:
22124         * docs/libs/tmpl/gstunitconvert.sgml:
22125         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22126         (gst_push_src_base_init), (gst_push_src_class_init),
22127         (gst_push_src_init), (gst_push_src_create):
22128         * gst/base/gstpushsrc.h:
22129         * gst/elements/gstelements.c:
22130         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22131         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22132         (gst_fake_sink_init), (gst_fake_sink_set_property),
22133         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22134         (gst_fake_sink_event), (gst_fake_sink_preroll),
22135         (gst_fake_sink_render), (gst_fake_sink_change_state):
22136         * gst/elements/gstfakesink.h:
22137         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22138         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22139         (gst_fake_src_base_init), (gst_fake_src_class_init),
22140         (gst_fake_src_init), (gst_fake_src_event_handler),
22141         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22142         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22143         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22144         (gst_fake_src_create_buffer), (gst_fake_src_create),
22145         (gst_fake_src_start), (gst_fake_src_stop):
22146         * gst/elements/gstfakesrc.h:
22147         * gst/elements/gstfilesink.c: (_do_init),
22148         (gst_file_sink_base_init), (gst_file_sink_class_init),
22149         (gst_file_sink_init), (gst_file_sink_dispose),
22150         (gst_file_sink_set_location), (gst_file_sink_set_property),
22151         (gst_file_sink_get_property), (gst_file_sink_open_file),
22152         (gst_file_sink_close_file), (gst_file_sink_query),
22153         (gst_file_sink_event), (gst_file_sink_render),
22154         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22155         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22156         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22157         * gst/elements/gstfilesink.h:
22158         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22159         (gst_file_src_class_init), (gst_file_src_init),
22160         (gst_file_src_finalize), (gst_file_src_set_location),
22161         (gst_file_src_set_property), (gst_file_src_get_property),
22162         (gst_file_src_map_region), (gst_file_src_map_small_region),
22163         (gst_file_src_create_mmap), (gst_file_src_create_read),
22164         (gst_file_src_create), (gst_file_src_is_seekable),
22165         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22166         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22167         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22168         (gst_file_src_uri_handler_init):
22169         * gst/elements/gstfilesrc.h:
22170           more autistic cleanliness in functions/names/defines
22171
22172 2005-07-13  Andy Wingo  <wingo@pobox.com>
22173
22174         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22175         source couldn't negotiate.
22176
22177         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22178         connections again.
22179
22180         * gst/gstutils.h:
22181         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22182         function. I am channeling Hades. Put your boots on suckers!!!
22183
22184 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22185
22186         * testsuite/caps/Makefile.am:
22187         * testsuite/caps/value_compare.c:
22188         * testsuite/caps/value_intersect.c:
22189         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22190           move two testsuite apps over to the check dir
22191
22192 2005-07-12  Wim Taymans  <wim@fluendo.com>
22193
22194         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22195         Added more debug info in the negotiate process.
22196
22197         * gst/gstmessage.h:
22198         Prepare for segment playback.
22199
22200         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22201         Better debugging.
22202
22203         * gst/gstutils.c:
22204         Some more docs.
22205
22206         * tools/gst-launch.c: (main):
22207         NULL pipeline on errors.
22208
22209 2005-07-12  Andy Wingo  <wingo@pobox.com>
22210
22211         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22212         not it comes from a malloc region. Make sure our copy gets freed.
22213
22214 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22215
22216         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22217         * check/gst/gstmessage.c: (GST_START_TEST):
22218         * check/gst/gststructure.c: (GST_START_TEST),
22219         (gst_structure_suite), (main):
22220           more testing
22221         * gst/gstelement.c: (gst_element_message_full):
22222           clean up GError and debug string now that they get copied
22223         * gst/gstmessage.c: (gst_message_new_error),
22224         (gst_message_new_warning), (gst_message_parse_error),
22225         (gst_message_parse_warning):
22226           use GST_TYPE_G_ERROR for structure_new, and take copies of
22227           arguments, so that we don't mess up refcounting
22228
22229 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22230
22231         * check/Makefile.am:
22232           add per-test valgrind targets
22233         * check/gst-libs/gdp.c: (GST_START_TEST),
22234         (gst_data_protocol_suite), (main):
22235           clean up
22236
22237 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22238
22239         * check/Makefile.am:
22240           instate more valgrindable tests
22241         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22242         (GST_START_TEST), (fakesrc_suite):
22243         * check/gst/gstpad.c: (GST_START_TEST):
22244         * check/gst/gststructure.c: (GST_START_TEST):
22245           fix test leaks
22246         * docs/gst/tmpl/gstminiobject.sgml:
22247         * gst/gstpad.c: (gst_pad_finalize):
22248           fix the static mutex leak
22249
22250 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22251
22252         * check/Makefile.am:
22253           add two more tests for valgrinding
22254         * check/gst/gstvalue.c: (GST_START_TEST):
22255           test refcount of deserialized buffer, found a leak
22256         * docs/gst/gstreamer-docs.sgml:
22257         * docs/gst/gstreamer-sections.txt:
22258         * docs/gst/gstreamer.types:
22259         * docs/gst/tmpl/gstminiobject.sgml:
22260           add miniobject to docs
22261         * gst/gstminiobject.c:
22262           add some docs
22263         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22264         (gst_string_unwrap):
22265           fix a hard-to-find invalid write for one of the tests
22266           fix a leak for deserialized buffers
22267
22268 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22269
22270         * docs/pwg/advanced-events.xml:
22271         * docs/pwg/advanced-request.xml:
22272         * docs/pwg/advanced-scheduling.xml:
22273         * docs/pwg/appendix-porting.xml:
22274         * docs/pwg/building-boiler.xml:
22275         * docs/pwg/intro-preface.xml:
22276         * docs/pwg/other-ntoone.xml:
22277           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22278           of example code and explanation for pad activation, loop() and
22279           getrange() functions and a bit more. Remove old comments pointing
22280           to loop-functions.
22281         * examples/pwg/Makefile.am:
22282           Add loop/getrange examples.
22283
22284 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22285
22286         * configure.ac:
22287           check for valgrind binary + some fixes
22288         * check/gst.supp:
22289           valgrind suppressions for the tests
22290         * check/Makefile.am:
22291           add a valgrind: target that valgrinds the unit tests
22292         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22293         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22294         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22295         * check/gst/gstghostpad.c:
22296           added some cleanup
22297         * check/gst/gstdata.c:
22298           removed
22299         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22300         (thread_unref), (gst_mini_object_suite), (main):
22301           added
22302         * gst/gst.c: (gst_deinit):
22303         * gst/gst.h:
22304           add a method to clean up.
22305         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22306         (gst_system_clock_obtain):
22307           allow for disposing the system clock.
22308         * tools/gst-launch.c: (main):
22309           deinit
22310
22311 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22312
22313         * docs/gst/tmpl/gstbasesrc.sgml:
22314         * docs/gst/tmpl/gstfakesrc.sgml:
22315         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22316         (gst_base_src_init), (gst_base_src_set_property),
22317         (gst_base_src_get_property), (gst_base_src_get_range),
22318         (gst_base_src_start):
22319         * gst/base/gstbasesrc.h:
22320           add num-buffers property
22321         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22322         (gst_fakesrc_init), (gst_fakesrc_set_property),
22323         (gst_fakesrc_get_property), (gst_fakesrc_create),
22324         (gst_fakesrc_start):
22325           remove num-buffers property
22326
22327 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22328
22329         * docs/gst/gstreamer-sections.txt:
22330         * docs/gst/tmpl/gstbasesink.sgml:
22331         * docs/gst/tmpl/gstbasesrc.sgml:
22332         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22333         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22334         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22335         (gst_base_sink_set_property), (gst_base_sink_get_property),
22336         (gst_base_sink_handle_object), (gst_base_sink_event),
22337         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22338         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22339         (gst_base_sink_loop), (gst_base_sink_deactivate),
22340         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22341         (gst_base_sink_change_state):
22342         * gst/base/gstbasesink.h:
22343         * gst/base/gstbasesrc.h:
22344         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22345         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22346         (gst_filesink_init):
22347           more macro splitting
22348
22349 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22350
22351         * gst/gstelement.c: (gst_element_get_bus):
22352           add debug
22353         * tools/gst-launch.c: (check_intr), (event_loop):
22354           fix bus leaks
22355
22356 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22357
22358         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22359           fix a caps leak
22360
22361 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22362
22363         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22364         (gst_base_src_finalize):
22365           add finalize method and clean up properly
22366         * gst/gstpipeline.c: (gst_pipeline_dispose):
22367           add debug
22368
22369 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22370
22371         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22372         (gst_bin_suite):
22373           add more things to check
22374         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22375         * gst/gstelement.c:
22376           more debug
22377
22378 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22379
22380         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22381         (GST_START_TEST), (fakesrc_suite):
22382         * check/gst-libs/gdp.c: (GST_START_TEST):
22383         * check/gst/gst.c: (GST_START_TEST):
22384         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22385         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22386         * check/gst/gstbus.c: (GST_START_TEST):
22387         * check/gst/gstcaps.c: (GST_START_TEST):
22388         * check/gst/gstdata.c: (GST_START_TEST):
22389         * check/gst/gstelement.c: (GST_START_TEST):
22390         * check/gst/gstghostpad.c: (GST_START_TEST):
22391         * check/gst/gstiterator.c: (GST_START_TEST):
22392         * check/gst/gstmessage.c: (GST_START_TEST):
22393         * check/gst/gstobject.c: (GST_START_TEST):
22394         * check/gst/gstpad.c: (GST_START_TEST):
22395         * check/gst/gststructure.c: (GST_START_TEST):
22396         * check/gst/gstsystemclock.c: (GST_START_TEST),
22397         (gst_systemclock_suite):
22398         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22399         * check/gst/gstvalue.c: (GST_START_TEST):
22400         * check/pipelines/cleanup.c: (GST_START_TEST):
22401         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22402         * check/states/sinks.c: (GST_START_TEST):
22403         * check/gstcheck.c: (gst_check_init):
22404         * check/gstcheck.h:
22405           add debugging category
22406           use GST_START_TEST now, so we add a debug line
22407
22408 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22409
22410         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22411           add test for state change message on a bin
22412         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22413           add another test
22414         * gst/gstbin.c: (gst_bin_init):
22415         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22416         * gst/gstelement.c: (gst_element_post_message),
22417         (gst_element_set_state):
22418         * gst/gstelementfactory.c: (gst_element_factory_create):
22419         * gst/gstmessage.c: (gst_message_new):
22420         * gst/gstscheduler.c:
22421           various debugging additions and cleanups
22422
22423 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22424
22425         * check/Makefile.am:
22426         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22427         (main):
22428           adding tests for elements
22429         * gst/gstelement.c: (gst_element_dispose):
22430
22431 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22432
22433         * gst/registries/gstlibxmlregistry.c: (load_feature):
22434           plug more leaks.  A simple gst_init() now is leakfree, yay.
22435
22436 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22437
22438         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22439         (gst_xml_registry_load):
22440           plug another memleak
22441
22442 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22443
22444         * configure.ac:
22445           use GST_SET_ERROR_CFLAGS
22446         * docs/faq/cvs.xml:
22447           change to ERROR_CFLAGS
22448
22449 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22450
22451         * configure.ac:
22452           make GST_ERROR_CFLAGS overridable and re-enable Werror
22453         * docs/faq/cvs.xml:
22454           add a note about error CFLAGS
22455         * docs/gst/tmpl/gstfakesrc.sgml:
22456         * gst/elements/gstfakesrc.c:
22457           comment out some unused code
22458         * gst/gst.c: (split_and_iterate):
22459         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22460         (load_feature):
22461           plug some memleaks
22462
22463 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22464
22465         * common/Makefile.am:
22466         * common/gtk-doc.mak:
22467         * docs/gst/Makefile.am:
22468           factor out gtk-doc.mak
22469
22470 2005-07-07  Wim Taymans  <wim@fluendo.com>
22471
22472         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22473         (gst_thread_scheduler_dispose):
22474         Unlock the STREAM_LOCK completely.
22475
22476 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22477
22478         * check/Makefile.am:
22479         * check/elements/.cvsignore:
22480         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22481         (START_TEST), (fakesrc_suite), (main):
22482         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22483         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22484         (gst_fakesrc_create), (gst_fakesrc_start):
22485         * gst/elements/gstfakesrc.h:
22486           adding a first element test
22487
22488 2005-07-07  Andy Wingo  <wingo@pobox.com>
22489
22490         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22491         debug message.
22492
22493 2005-07-07  Wim Taymans  <wim@fluendo.com>
22494
22495         * gst/gstquery.c:
22496         * gst/gstquery.h:
22497         Remove old types
22498
22499 2005-07-07  Wim Taymans  <wim@fluendo.com>
22500
22501         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22502         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22503         Allow subclasses to implement their own negotiation.
22504
22505 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22506
22507         * docs/design/part-gstbin.txt:
22508         * docs/design/part-gstpipeline.txt:
22509           Update design notes to reflect the movement of
22510           responsibility for bus handling from GstPipeline to
22511           GstBin
22512
22513 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22514
22515         * configure.ac:
22516           Remove unnecessary queue2/3/4 examples.
22517
22518 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22519
22520         * examples/Makefile.am:
22521         * examples/helloworld/helloworld.c: (event_loop), (main):
22522         * examples/queue/queue.c: (event_loop), (main):
22523         * examples/queue2/queue2.c: (main):
22524           Update a couple of the examples to work again.
22525
22526         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22527         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22528          Spelling corrections and extra debug.
22529         
22530         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22531         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22532         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22533         * gst/gstbin.h:
22534         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22535         (gst_pipeline_change_state):
22536         * gst/gstpipeline.h:
22537           Move the bus handler for children to the GstBin, and create a
22538           separate bus for receiving messages from children to the one the
22539           bus sends 'upwards' on.
22540
22541 2005-07-06  Wim Taymans  <wim@fluendo.com>
22542
22543         * gst/base/README:
22544         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22545         (gst_base_sink_handle_object), (gst_base_sink_loop),
22546         (gst_base_sink_change_state):
22547         * gst/base/gstbasesink.h:
22548         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22549         (gst_base_src_init), (gst_base_src_setcaps),
22550         (gst_base_src_getcaps), (gst_base_src_loop),
22551         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22552         (gst_base_src_start), (gst_base_src_change_state):
22553         * gst/base/gstbasesrc.h:
22554         Make basesrc negotiate.
22555         Handle the case where preroll fails in basesink.
22556         Update README.
22557
22558 2005-07-06  Wim Taymans  <wim@fluendo.com>
22559
22560         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22561         Implement the fixate function.
22562         Clean up acceptcaps.
22563
22564 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22565
22566         * docs/pwg/building-filterfactory.xml:
22567         * docs/pwg/pwg.xml:
22568           Remove never-written filter-factory chapter; I'll add the various
22569           base classes to part 4 ("other element types") later on.
22570
22571 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22572
22573         * docs/pwg/advanced-negotiation.xml:
22574         * docs/pwg/building-boiler.xml:
22575         * docs/pwg/building-pads.xml:
22576         * docs/pwg/pwg.xml:
22577         * examples/pwg/Makefile.am:
22578           Add a chapter on caps negotiation, simplify the original code
22579           samples a bit w.r.t. caps negotiation, add link to the advanced
22580           section. Add a bunch of examples showing different use cases of
22581           different types of caps negotiation. Upstream renegotiation isn't
22582           fully documented yet since nobody knows how that works.
22583
22584 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22585
22586         * check/gst/gstpad.c:
22587         * check/gstcheck.c:
22588         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22589           if pad has no parent, return NULL as list of internal links
22590
22591 2005-07-05  Andy Wingo  <wingo@pobox.com>
22592
22593         * gst/elements/gstfilesrc.c:
22594         * gst/elements/gstfakesrc.c: 
22595         * gst/base/gstpushsrc.c:
22596         * gst/base/gstbasesrc.h: 
22597         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22598         
22599 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22600
22601         * Makefile.am:
22602           better report generation target (lcov needs a patch)
22603
22604 2005-07-05  Andy Wingo  <wingo@pobox.com>
22605
22606         * gst/elements, testsuite: Null if we got it...
22607
22608 2005-07-05  Wim Taymans  <wim@fluendo.com>
22609
22610         * configure.ac:
22611         * libs/gst/dataprotocol/Makefile.am:
22612         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22613         * libs/gst/dataprotocol/dataprotocol.h:
22614         * pkgconfig/Makefile.am:
22615         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22616         * pkgconfig/gstreamer-dataprotocol.pc.in:
22617         Ported dataprotol to 0.9. 
22618         Added pkgconfig files.
22619
22620 2005-07-05  Andy Wingo  <wingo@pobox.com>
22621
22622         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22623         Default to returning TRUE for the case when tranform_caps returns
22624         a fixed caps, like for identity or volume.
22625
22626         * check/gst/gstbus.c (pound_bus_with_messages): 
22627         * check/gst/gstmessage.c (START_TEST): 
22628         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22629         message API change.
22630
22631         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22632         logic weaks here: always run transform_caps, trying passthrough
22633         operation only if the original caps intersects with the transform.
22634
22635         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22636         source and sink caps.
22637
22638         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22639         Intersect the peer caps with the pad template before going into
22640         transform_caps.
22641         (gst_base_transform_transform_caps): More debugging.
22642
22643         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22644         src argument.
22645
22646 2005-07-04  Edward Hervey  <edward@fluendo.com>
22647
22648         * gst/gstutils.c:
22649         * gst/gstutils.h:
22650         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22651         in bindings.
22652
22653 2005-07-04  Andy Wingo  <wingo@pobox.com>
22654
22655         * check/gst/gstpad.c: Only set explicit caps on pads.
22656
22657 2005-07-01  Andy Wingo  <wingo@pobox.com>
22658
22659         * tests/network-clock.scm: Commentary update.
22660
22661         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22662         Didn't really make sense, not implementable with basetransform,
22663         etc.
22664         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22665         attempt at implementing the sync property, needs an unlock method.
22666
22667         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22668         New func, by default returns the same caps (the identity
22669         transformation).
22670         (gst_base_transform_getcaps): Uses transform_caps to return
22671         something sensible.
22672         (gst_base_transform_setcaps): Complicated logic to get caps on
22673         both pads, even if they are different, and to call set_caps once
22674         for every time both pads get their caps set.
22675         (gst_base_transform_handle_buffer): Give the ref to the transform
22676         function. Allows in-place modification of the buffer.
22677
22678         * gst/base/gstbasetransform.h (transform_caps): New class method.
22679         Given caps on one side, what can I do on the other.
22680         (set_caps): Take two caps, one for each side of the element.
22681
22682         * gst/gstpad.h:
22683         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22684         caps in place. This is safe because we can check the mutability of
22685         the caps, and a good idea because fixate functions are just called
22686         as a matter of last resort. (Not actually implemented.)
22687         (gst_pad_set_caps): If the caps we're setting is actually the same
22688         as the existing pad caps, just update the pointer without calling
22689         setcaps. Assert that caps is either NULL or fixed, as per the
22690         docs.
22691
22692         * gst/gstghostpad.c: Update for fixate changes.
22693
22694 2005-07-02  Andy Wingo  <wingo@pobox.com>
22695
22696         * gst/gstcaps.c:
22697         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22698         two refcounts makes it immutable, which is enough. Doc more.
22699
22700 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
22701
22702         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22703           Put the mini_object into GValue as a mini_object,
22704           not a gpointer, since that's how we declared
22705           the signal.
22706
22707 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22708
22709         * examples/pwg/Makefile.am:
22710           Fix buildbot again.
22711
22712 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22713
22714         * docs/pwg/building-testapp.xml:
22715           Add extra check.
22716         * examples/pwg/Makefile.am:
22717           Fix buildbot.
22718
22719 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22720
22721         * configure.ac:
22722         * examples/Makefile.am:
22723         * examples/pwg/Makefile.am:
22724         * examples/pwg/extract.pl:
22725           Enable building the PWG examples.
22726         * docs/pwg/advanced-interfaces.xml:
22727           Add URI interface stub.
22728         * docs/pwg/advanced-types.xml:
22729         * docs/pwg/other-autoplugger.xml:
22730         * docs/pwg/appendix-porting.xml:
22731         * docs/pwg/pwg.xml:
22732           Add porting guide (mostly stubs), remove autoplugging (see ADM).
22733         * docs/pwg/building-boiler.xml:
22734         * docs/pwg/building-chainfn.xml:
22735         * docs/pwg/building-pads.xml:
22736         * docs/pwg/building-props.xml:
22737         * docs/pwg/building-state.xml:
22738         * docs/pwg/building-testapp.xml:
22739           Update the building-*.xml parts for 0.9 changes. All examples
22740           code blocks compile in examples/pwg/*.
22741
22742 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22743
22744         * docs/manual/advanced-autoplugging.xml:
22745         * docs/manual/appendix-checklist.xml:
22746         * docs/manual/appendix-integration.xml:
22747         * docs/manual/highlevel-components.xml:
22748           Fix playbin/decodebin examples, update docs a bit, mention bus
22749           instead of signals in various places, mention kmplayer and
22750           kaffeine since they have a working GStreamer backend in the KDE
22751           section.
22752
22753 2005-06-30  Wim Taymans  <wim@fluendo.com>
22754
22755         * CHANGES-0.9:
22756         * docs/design/draft-ghostpads.txt:
22757         * docs/design/draft-push-pull.txt:
22758         * docs/design/draft-query.txt:
22759         * docs/design/part-TODO.txt:
22760         * docs/design/part-query.txt:
22761         Added CHANGES-0.9 doc, updated status of other docs.
22762         
22763         * gst/gstquery.h:
22764         Remove "hmm" macro
22765
22766 2005-06-30  Wim Taymans  <wim@fluendo.com>
22767
22768         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22769         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22770         (gst_base_sink_change_state):
22771         * gst/base/gstbasesink.h:
22772         Some tweaks, only EOS and a buffer complete a preroll.
22773
22774 2005-06-30  Andy Wingo  <wingo@pobox.com>
22775
22776         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22777         activate_push down to the internal pad as well.
22778
22779 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
22780
22781         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22782
22783         * gst/gsttaginterface.c:
22784           Some documentation fixes (#307394 and #307397).
22785
22786 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
22787
22788         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22789
22790         * gst/gstvalue.c: (gst_value_intersect_list):
22791           Fix memleak (#309125).
22792
22793 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22794
22795         * docs/manual/advanced-dataaccess.xml:
22796           Fix fakesrc example to compile; doesn't work, bug somewhere...?
22797         * docs/manual/basics-pads.xml:
22798           Add reference for filtered caps to above chapter.
22799
22800 2005-06-30  Wim Taymans  <wim@fluendo.com>
22801
22802         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22803         (gst_bin_change_state):
22804         Probes are gone.
22805         Lame attempt at making the state change function a bit
22806         more readable.
22807
22808 2005-06-30  Wim Taymans  <wim@fluendo.com>
22809
22810         * docs/design/part-clocks.txt:
22811         * docs/design/part-element-sink.txt:
22812         * docs/design/part-events.txt:
22813         * docs/design/part-preroll.txt:
22814         * docs/design/part-states.txt:
22815         Some more tweeks and additions to the docs.
22816
22817 2005-06-30  Wim Taymans  <wim@fluendo.com>
22818
22819         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22820         (default_have_data), (gst_pad_class_init), (gst_pad_init),
22821         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22822         (gst_pad_check_pull_range), (gst_pad_get_range),
22823         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22824         * gst/gstpad.h:
22825         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22826         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22827         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22828         (gst_pad_remove_buffer_probe):
22829         Removed atomic operations, use existing LOCK.
22830         Move exception handling out of main code path.
22831
22832 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22833
22834         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22835         (silly_return_true_function), (gst_pad_class_init),
22836         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22837         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22838         (gst_pad_send_event):
22839           Fix accumulator, add default value by using _emitv() instead
22840           of _emit() for signal emission.
22841
22842 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22843
22844         * docs/manual/advanced-dataaccess.xml:
22845         * examples/manual/Makefile.am:
22846           Add probe example.
22847         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22848           Make work (??).
22849
22850 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
22851
22852         * gst/elements/gstfilesink.c: (gst_filesink_render):
22853           Simplify code so that we don't have to handle short
22854           writes and return GST_FLOW_ERROR if an error occured.
22855
22856 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22857
22858         * docs/gst/gstreamer-docs.sgml:
22859           Remove probes more.
22860
22861 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22862
22863         * docs/gst/gstreamer-sections.txt:
22864         * docs/gst/tmpl/gstpad.sgml:
22865         * docs/gst/tmpl/gstprobe.sgml:
22866         * gst/Makefile.am:
22867         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22868         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22869         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22870         (gst_pad_push_event), (gst_pad_send_event):
22871         * gst/gstpad.h:
22872         * gst/gstutils.c: (gst_pad_add_data_probe),
22873         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22874         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22875         (gst_pad_remove_buffer_probe):
22876         * gst/gstutils.h:
22877           Remove old probes, add new g-signal-based probes and some utility
22878           functions.
22879
22880 2005-06-29  Edward Hervey  <edward@fluendo.com>
22881
22882         * gst/gstelementfactory.c:
22883         * gst/gstutils.h:
22884         * gst/gstutils.c:
22885         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22886         the definition to the header file.
22887
22888 2005-06-29  Andy Wingo  <wingo@pobox.com>
22889
22890         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22891         plugins from the source directory.
22892
22893 2005-06-29  Wim Taymans  <wim@fluendo.com>
22894
22895         * docs/gst/tmpl/gstbuffer.sgml:
22896         * docs/gst/tmpl/gstclock.sgml:
22897         Some fixings for blantently wrong text.
22898
22899 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22900
22901         * check/Makefile.am:
22902         * gst/gst.c: (add_path_func), (init_pre):
22903         * gst/gstregistry.c: (gst_registry_add_path):
22904           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22905           only scan the GST_PLUGIN_PATH locations, and not add
22906           system locations
22907
22908 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22909
22910         * docs/gst/gstreamer-sections.txt:
22911         * docs/gst/tmpl/gstbasesrc.sgml:
22912         * gst/gstelement.c:
22913         * gst/gstelement.h:
22914         * gst/gstevent.c:
22915         * gst/gstutils.c:
22916           doc fixes
22917
22918 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22919
22920         * docs/manual/advanced-autoplugging.xml:
22921           Fix autoplugging example.
22922
22923 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22924
22925         * docs/manual/advanced-autoplugging.xml:
22926         * docs/manual/mime-world.fig:
22927           Try to get autoplugging working, fix type detection. Fix text
22928           in hello-world image.
22929
22930 2005-06-29  Wim Taymans  <wim@fluendo.com>
22931
22932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22933         (gst_base_sink_change_state):
22934         Small debug line.
22935
22936         * gst/gstclock.h:
22937         map SIGNAL and BROADCAST to the right function.
22938
22939         * gst/gstobject.h:
22940         Remove redundant braces.
22941
22942         * gst/gstpad.c: (gst_pad_set_caps):
22943         Don't call setcaps function when reseting caps to NULL.
22944
22945         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22946         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22947         (gst_system_clock_id_unschedule):
22948         Use BROADCAST as this is what we do.
22949
22950 2005-06-29  Wim Taymans  <wim@fluendo.com>
22951
22952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22953         We are actually prerolling before commiting the state
22954         change. 
22955
22956 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22957
22958         * docs/manual/advanced-clocks.xml:
22959         * docs/manual/advanced-interfaces.xml:
22960         * docs/manual/advanced-metadata.xml:
22961         * docs/manual/advanced-position.xml:
22962         * docs/manual/advanced-schedulers.xml:
22963         * docs/manual/advanced-threads.xml:
22964         * docs/manual/appendix-porting.xml:
22965         * docs/manual/basics-bins.xml:
22966         * docs/manual/basics-bus.xml:
22967         * docs/manual/basics-elements.xml:
22968         * docs/manual/basics-helloworld.xml:
22969         * docs/manual/basics-pads.xml:
22970         * docs/manual/highlevel-components.xml:
22971         * docs/manual/manual.xml:
22972         * docs/manual/thread.fig:
22973           Update (until threads/scheduling) Application Development Manual;
22974           remove GstThread, add GstBus, add simple porting checklist, add
22975           documentation for tag writing, clocks, make all examples until this
22976           part compile and run.
22977         * examples/manual/Makefile.am:
22978           Update from changes to Application Development Manual; add bus
22979           example, remove thread example.
22980
22981 2005-06-28  Wim Taymans  <wim@fluendo.com>
22982
22983         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22984         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22985         (gst_bus_source_dispatch):
22986         Add debugging messages.
22987         Make internal methods static.
22988         Handle the case where the bus is flushed in the handler.
22989         
22990         * gst/gstelement.c: (gst_element_get_bus):
22991         Fix refcount in _get_bus();
22992
22993         * gst/gstpipeline.c: (gst_pipeline_change_state),
22994         (gst_pipeline_get_clock_func):
22995         Clock refcounting fixes.
22996         Handle the case where preroll timed out more gracefully.
22997         
22998         * gst/gstsystemclock.c: (gst_system_clock_dispose):
22999         Clean up the internal thread in dispose. This is needed
23000         for subclasses that actually get disposed.
23001         
23002         * gst/schedulers/threadscheduler.c:
23003         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23004         (gst_thread_scheduler_dispose):
23005         Free thread pool in dispose.
23006
23007 2005-06-28  Andy Wingo  <wingo@pobox.com>
23008
23009         * tests/network-clock-utils.scm (debug, print-event): New utils.
23010
23011         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23012         (*packet-loss*): Unified loss probability.
23013         (network-time): Report out-of-band events.
23014
23015         * tests/plot-data: Add support for out-of-band events. Hack it
23016         into this script instead of passing it down the pipe; should fix
23017         this later.
23018
23019 2005-06-28  Wim Taymans  <wim@fluendo.com>
23020
23021         * docs/gst/gstreamer.types:
23022         * docs/gst/tmpl/gstbasesrc.sgml:
23023         * docs/gst/tmpl/gstpad.sgml:
23024         Docs fixes.
23025
23026 2005-06-28  Wim Taymans  <wim@fluendo.com>
23027
23028         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23029         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23030         (gst_proxy_pad_do_fixatecaps):
23031         Correctly proxy the check_pull_range function.
23032
23033 2005-06-28  Andy Wingo  <wingo@pobox.com>
23034
23035         * tests/network-clock.scm: Removed need for slib.
23036         
23037 2005-06-28  Wim Taymans  <wim@fluendo.com>
23038
23039         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23040         (gst_basesink_preroll_queue_flush):
23041         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23042         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23043         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23044         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23045         (gst_proxy_pad_set_property):
23046         * gst/gstpad.c:
23047         * gst/gstpad.h:
23048         * gst/gstqueue.c: (gst_queue_init):
23049         The deprecated pad loop function is removed now.
23050
23051 2005-06-28  Andy Wingo  <wingo@pobox.com>
23052
23053         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23054         New parameters, simulate network packet loss.
23055
23056         * tests/network-clock-utils.scm: Initialize the RNG.
23057
23058 2005-06-28  Wim Taymans  <wim@fluendo.com>
23059
23060         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23061         (gst_basesink_event), (gst_basesink_deactivate):
23062         Flushing the preroll queue always needs to unlock the waiters.
23063
23064 2005-06-28  Edward Hervey  <edward@fluendo.com>
23065
23066         * gst/gstpipeline.c: (gst_pipeline_send_event): 
23067         Wheen a seek was successful on a pipeline, set the stream_time to the
23068         seek offset in order to have a synchronized stream_time.
23069
23070 2005-06-28  Wim Taymans  <wim@fluendo.com>
23071
23072         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23073         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23074         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23075         (gst_proxy_pad_do_fixatecaps):
23076         Call wrapper function instead of just calling the function
23077         pointers. This takes care of any locking and whatmore.
23078
23079 2005-06-28  Wim Taymans  <wim@fluendo.com>
23080
23081         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23082         (gst_pad_pull_range):
23083         * gst/gstpad.h:
23084         CONNECTED -> LINKED.
23085
23086 2005-06-28  Andy Wingo  <wingo@pobox.com>
23087
23088         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23089         source-munging commit!!!
23090
23091         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
23092         (gst_object_sink): Take gpointer arguments, not GstObject --
23093         avoids casts. Like GLib.
23094
23095         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23096         activate.
23097
23098 2005-06-27  Andy Wingo  <wingo@pobox.com>
23099
23100         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23101         remaining buffer.
23102
23103         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23104         returns a sorted copy of the trace list.
23105         (gst_alloc_trace_print_live): New API, only prints traces with
23106         live objects. Sort the list.
23107         (gst_alloc_trace_print_all): Sort the list.
23108         (gst_alloc_trace_print): Align columns.
23109
23110         * gst/elements/gstttypefindelement.c:
23111         * gst/elements/gsttee.c:
23112         * gst/base/gstbasesrc.c:
23113         * gst/base/gstbasesink.c:
23114         * gst/base/gstbasetransform.c:
23115         * gst/gstqueue.c: Adapt for pad activation changes.
23116
23117         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23118         sched.
23119         (gst_pipeline_dispose): Drop ref on sched.
23120
23121         * gst/gstpad.c (gst_pad_init): Set the default activate func.
23122         (gst_pad_activate_default): Push mode by default.
23123         (pre_activate_switch, post_activate_switch): New stubs, things to
23124         do before and after switching activation modes on pads.
23125         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23126         the pad's activate function to choose which mode to activate.
23127         Shortcut on deactivation and call the right function directly.
23128         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23129         mode.
23130         (gst_pad_activate_push): New API, same for push mode.
23131         (gst_pad_set_activate_function) 
23132         (gst_pad_set_activatepull_function) 
23133         (gst_pad_set_activatepush_function): Setters for new API.
23134
23135         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23136         Trace all miniobjects.
23137         (gst_mini_object_make_writable): Unref the arg if we copy, like
23138         gst_caps_make_writable.
23139
23140         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23141
23142         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23143         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23144         Adapt for new pad API.
23145
23146         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23147
23148         * gst/gstelement.h:
23149         * gst/gstelement.c (gst_element_iterate_src_pads) 
23150         (gst_element_iterate_sink_pads): New API functions.
23151         
23152         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23153         should fold into gstiterator.c in some form.
23154         (gst_element_pads_activate): Simplified via use of fold and
23155         delegation of decisions to gstpad->activate.
23156
23157         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23158         help in debugging.
23159
23160         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23161         class once in init, like gstmessage. Didn't run into this issue
23162         but it seems correct. Don't initialize a trace, gstminiobject does
23163         that.
23164
23165         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23166         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23167         to the bus.
23168         (assert_live_count): New util function, uses alloc traces to check
23169         cleanup.
23170
23171         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23172         To be modified when unlink drops the internal pad.
23173
23174 2005-06-27  Wim Taymans  <wim@fluendo.com>
23175
23176         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23177         (gst_bin_change_state):
23178         Cleanup the get_state() function a little, make sure it
23179         iterates the same set of elements.
23180         Added stub iterate_state_order().
23181
23182 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23183
23184         * docs/gst/gstreamer-docs.sgml:
23185         * docs/gst/gstreamer-sections.txt:
23186         * docs/gst/gstreamer.types:
23187         * docs/gst/tmpl/gstbasesink.sgml:
23188         * docs/gst/tmpl/gstbasesrc.sgml:
23189         * docs/gst/tmpl/gstbasetransform.sgml:
23190         * docs/gst/tmpl/gstelement.sgml:
23191         * docs/gst/tmpl/gstiterator.sgml:
23192         * gst/base/gstbasesrc.c:
23193         * gst/base/gstbasesrc.h:
23194         * gst/base/gstbasetransform.h:
23195         * gst/gstelement.c:
23196         * gst/gstiterator.h:
23197           adding basetransform and iterator docs
23198
23199 2005-06-27  Andy Wingo  <wingo@pobox.com>
23200
23201         * docs/design/part-activation.txt: Notes on how activation should
23202         work -- not quite implemented yet.
23203
23204 2005-06-25  Wim Taymans  <wim@fluendo.com>
23205
23206         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23207         At least get the chain function correct, needs more
23208         fixing.
23209
23210 2005-06-25  Wim Taymans  <wim@fluendo.com>
23211
23212         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23213         (gst_basesink_handle_object), (gst_basesink_event),
23214         (gst_basesink_do_sync), (gst_basesink_handle_event),
23215         (gst_basesink_change_state):
23216         * gst/gsttask.h:
23217         Right, two problems here: ghostpads don't take locks and
23218         glib _rec_mutex_lock_full() with depth==0 still locks.
23219         Catch illegal locking and g_warn them.
23220
23221 2005-06-25  Wim Taymans  <wim@fluendo.com>
23222
23223         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23224         Have to check for completion now...
23225
23226 2005-06-25  Wim Taymans  <wim@fluendo.com>
23227
23228         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23229         (gst_basesink_handle_object), (gst_basesink_event),
23230         (gst_basesink_do_sync), (gst_basesink_handle_event),
23231         (gst_basesink_change_state):
23232         * gst/gstpad.h:
23233         Unlock STREAM_LOCK whatever the recursion was.
23234
23235 2005-06-25  Wim Taymans  <wim@fluendo.com>
23236
23237         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23238         (gst_basesink_preroll_queue_empty),
23239         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23240         (gst_basesink_event), (gst_basesink_do_sync),
23241         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23242         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23243         (gst_basesink_change_state):
23244         Reworked the base sink, handle event and buffer serialisation
23245         correctly and removed possible deadlock.
23246         Handle EOS correctly.
23247
23248 2005-06-25  Wim Taymans  <wim@fluendo.com>
23249
23250         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23251         (gst_pipeline_change_state):
23252         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23253         Allow elements to post EOS in the state change function.
23254         Fix up -launch, make it exit the poll loop when the
23255         pipeline actually changed state.
23256         Fix up warning parsing in -launch.
23257
23258 2005-06-25  Wim Taymans  <wim@fluendo.com>
23259
23260         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23261         (gst_tee_sink_activate):
23262         Core takes STREAM_LOCK for us now.
23263
23264 2005-06-25  Wim Taymans  <wim@fluendo.com>
23265
23266         * gst/gstelement.c: (gst_element_get_state_func),
23267         (gst_element_set_state):
23268         * gst/gstelement.h:
23269         * gst/gstmessage.c: (gst_message_parse_error),
23270         (gst_message_parse_warning):
23271         Keep track of current target state while performing a state
23272         change so that subclasses can do something interesting.
23273         Fix parsing of warning/error messages when GError is NULL.
23274
23275 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23276
23277         * docs/gst/Makefile.am:
23278         * docs/gst/gstreamer-docs.sgml:
23279         * docs/gst/gstreamer-sections.txt:
23280         * docs/gst/gstreamer.types:
23281         * docs/gst/tmpl/gstbasesink.sgml:
23282         * docs/gst/tmpl/gstbasesrc.sgml:
23283         * docs/gst/tmpl/gstbin.sgml:
23284         * docs/gst/tmpl/gstcompat.sgml:
23285         * docs/gst/tmpl/gstfakesink.sgml:
23286         * docs/gst/tmpl/gstfakesrc.sgml:
23287         * docs/gst/tmpl/gstfilesink.sgml:
23288         * docs/gst/tmpl/gstfilesrc.sgml:
23289         * docs/gst/tmpl/gstindex.sgml:
23290         * docs/manual/appendix-quotes.xml:
23291         * gst/base/gstbasesrc.h:
23292         * gst/elements/gstfakesrc.h:
23293         * gst/gstmessage.h:
23294           start pulling in base classes and elements in our docs
23295
23296 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23297
23298         * docs/gst/Makefile.am:
23299         * docs/libs/Makefile.am:
23300           fixed make distcheck with gtk-doc 1.3
23301
23302 2005-06-23  Wim Taymans  <wim@fluendo.com>
23303
23304         * gst/gstelement.c: (gst_element_get_state_func),
23305         (gst_element_set_state), (gst_element_change_state):
23306         When the state did not change, also report NO_PREROLL
23307         when it matters.
23308
23309 2005-06-23  Wim Taymans  <wim@fluendo.com>
23310
23311         * gst/gstpad.c: (gst_pad_event_default):
23312         * gst/gstqueue.c: (gst_queue_loop):
23313         No unsafe task pausing please.
23314
23315 2005-06-23  Wim Taymans  <wim@fluendo.com>
23316
23317         * gst/schedulers/threadscheduler.c:
23318         (gst_thread_scheduler_task_start),
23319         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23320         Ref the task before pushing it on the threadpool. This
23321         makes sure that we have a ref when the threadfunction is
23322         actually called.
23323
23324 2005-06-23  Andy Wingo  <wingo@pobox.com>
23325
23326         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23327         offset is greater than the file's size.
23328
23329         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23330         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23331         * gst/gstobject.c (gst_object_class_init): Make the class lock
23332         recursive. Wim won't let me drop deep_notify. Decodebin works
23333         again, whoopdy doo.
23334
23335         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23336         internal pad, and hacks accordingly. Doesn't do it on the target
23337         pad because we change its caps. Probably catches all cases of
23338         interest tho.
23339         (gst_ghost_pad_set_property): Connect to notify::caps as
23340         appropritate.
23341
23342         * tests/network-clock.scm (plot-simulation): Pipe data to the
23343         elite python skript.
23344
23345         * tests/network-clock-utils.scm (define-parameter): New macro,
23346         defines a parameter that can be set via the command line.
23347         (set-parameter!, parse-parameter-arguments): Command line args
23348         parser.
23349
23350         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23351         stdin.
23352
23353 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23354
23355         * gst/elements/gsttypefindelement.c:
23356         (gst_type_find_element_handle_event):
23357           Don't restart typefinding on a discont.
23358         * gst/gstelement.c: (gst_element_set_state):
23359           Debug spelling fix.
23360         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23361           Allow changing mode of an active pad.
23362           Debug output fixes.
23363         * gst/registries/gstlibxmlregistry.c: (load_feature):
23364           Don't cast a static pad template to a normal pad template.
23365
23366 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23367
23368         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23369         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23370           remove gst_strtoll completely, since it didn't actually do
23371           anything more than what g_ascii_strtoull already does.
23372           check for range errors when deserializing
23373           do a cast for the unsigned cases; but further fixing needs
23374           a decision on what the interpretation of "(int)" and
23375           deserialization should be for values that fall outside the
23376           type's boundaries (ie, refuse, or interpret as casting)
23377
23378 2005-06-23  Wim Taymans  <wim@fluendo.com>
23379
23380         * check/Makefile.am:
23381         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23382         * docs/design/part-live-source.txt:
23383         * docs/design/part-states.txt:
23384         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23385         (gst_basesrc_set_live), (gst_basesrc_is_live),
23386         (gst_basesrc_get_range), (gst_basesrc_activate),
23387         (gst_basesrc_change_state):
23388         * gst/base/gstbasesrc.h:
23389         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23390         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23391         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23392         * gst/gstelement.c: (gst_element_get_state_func),
23393         (gst_element_set_state):
23394         * gst/gstelement.h:
23395         * gst/gsttypes.h:
23396         * tools/gst-launch.c: (event_loop), (main):
23397         Added support for live sources and other elements that
23398         cannot do preroll.
23399         Updated design docs, added live-source design doc.
23400         Implemented live source functionality in basesrc
23401         Fix error condition in _bin_get_state()
23402         Implement live source handling in -launch.
23403         Added check for live sources.
23404         Fixed case in GstBin where elements were changed state
23405         multiple times.
23406
23407
23408 2005-06-23  Andy Wingo  <wingo@pobox.com>
23409
23410         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23411         borken refcounting.
23412
23413         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23414         gst_caps_replace takes care of this for us.
23415
23416         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23417         gst_pad_set_caps on the target, not just its setcaps() function.
23418
23419         * tests/network-clock.scm: 
23420         * tests/network-clock-utils.scm: A network clock simulator.
23421         Something of an algorithmic testbed before doing something in C.
23422
23423 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23424
23425         * check/Makefile.am:
23426         * check/gst/capslist.h:
23427           copy over from 0.8, and add two with bitmasks specified with
23428           (int) 0xFF...
23429         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23430           add test to parse everything from capslist.h
23431         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23432         (main):
23433           add test for structure deserialization
23434         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23435           add tests for deserialization of strings to int types
23436         * gst/gststructure.c: (gst_structure_nth_field_name):
23437         * gst/gststructure.h:
23438           add a way to get the name of a field referenced by index
23439         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23440           instead of checking if the resulting long long lies between
23441           min and max, we check if the long long would fit into
23442           a number of bytes for the final type.
23443           This fixes cases where a string represents 2^32 - 1, which
23444           when cast to int would be the (valid) -1, but is bigger than
23445           G_MAXINT
23446
23447 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23448
23449         * gst/parse/grammar.y:
23450           add a log line for type deserialization
23451
23452 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23453
23454         * check/gst/gstvalue.c: (START_TEST):
23455         * gst/gstvalue.c: (gst_value_deserialize):
23456           return long long, not int, so gint64 deserialization actually
23457           works.  Is there any flag that makes the compiler check this ?
23458           Fixes #308559
23459
23460 2005-06-22  Wim Taymans  <wim@fluendo.com>
23461
23462         * gst/gstbuffer.h:
23463         Added convenience macros for setting buffers in GValue.
23464
23465 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23466
23467         * check/gst/.cvsignore:
23468         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23469           add a test deserializing int64, and comment part out because
23470           it fails, yay !
23471
23472 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23473
23474         * check/Makefile.am:
23475         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23476         * testsuite/Makefile.am:
23477         * testsuite/caps/Makefile.am:
23478         * testsuite/caps/value_serialize.c:
23479         * testsuite/test_gst_init.c:
23480           move a value_serialize test over
23481
23482 2005-06-20  Wim Taymans  <wim@fluendo.com>
23483
23484         * gst/gstpad.c:
23485         Small doc updates.
23486         
23487         * gst/gstvalue.c: (gst_value_compare_buffer),
23488         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23489         (gst_value_compare_flags), (gst_value_serialize_flags),
23490         (gst_value_deserialize_flags), (_gst_value_initialize):
23491         Fix serialisation of buffers, they are not boxed types anymore
23492
23493 2005-06-20  Wim Taymans  <wim@fluendo.com>
23494
23495         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23496         Testcase to show error in buffer-on-caps serialisation.
23497
23498 2005-06-20  Andy Wingo  <wingo@pobox.com>
23499
23500         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23501         will be adding to later.
23502
23503         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23504         if its socks fill with rocks.
23505         (gst_system_clock_obtain): Set the name on object construction.
23506         Avoid double-checked locking.
23507
23508 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23509
23510         * gst/gsturi.c: (gst_element_make_from_uri):
23511           Fix potential endless loop.
23512
23513 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23514
23515         * check/Makefile.am:
23516           add gsttag
23517         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23518         (main):
23519           move over from testsuite dir and clean up
23520         * configure.ac:
23521         * gst/gsttag.c:
23522         * testsuite/Makefile.am:
23523         * testsuite/tags/.cvsignore:
23524         * testsuite/tags/Makefile.am:
23525         * testsuite/tags/merge.c:
23526           remove testsuite/tags
23527
23528 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23529
23530         * docs/gst/gstreamer-sections.txt:
23531         * docs/gst/tmpl/gstenumtypes.sgml:
23532         * win32/gstenumtypes.c:
23533           clean up documentation build a little
23534
23535 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23536
23537         * check/gstcheck.h:
23538           add macros for checking refcounts on objects and caps
23539         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23540           add some more unit tests
23541         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23542         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23543           fix leaked refcounts (I hope :)) so unittest works
23544         * gst/gstpad.h:
23545           whitespace removal
23546
23547 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23548
23549         * configure.ac: back to HEAD
23550
23551 === release 0.9.1 ===
23552
23553 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23554
23555         * NEWS:
23556         * RELEASE:
23557           updated
23558
23559 2005-06-17  Andy Wingo  <wingo@pobox.com>
23560
23561         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23562         assert; it's always possible that the pad gets deactivated in
23563         between the checks in gstpad.c and the implementation. Rely on
23564         finish_preroll() to return a FLUSHING or similar instead of on the
23565         assert.
23566         
23567         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23568         clock and post an EOS message if we come out of finish_preroll in
23569         the playing state.
23570
23571 2005-06-16  David Schleef  <ds@schleef.org>
23572
23573         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23574         (gst_capsfilter_set_property): Allow NULL as possible value
23575         for filter_caps property, indicating GST_CAPS_ANY.
23576
23577 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23578
23579         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23580           fix debug output
23581         * gst/schedulers/Makefile.am:
23582           use libgst prefix
23583         * gstreamer.spec.in:
23584           fix spec for it
23585
23586 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23587
23588         * gstreamer.spec.in:
23589           clean up
23590
23591 2005-06-08  Andy Wingo  <wingo@pobox.com>
23592
23593         * gst/gstutils.c: RPAD fixes all around.
23594         (gst_element_link_pads): Refcounting fixes.
23595
23596         * tools/gst-inspect.c:
23597         * tools/gst-xmlinspect.c:
23598         * parse/grammar.y:
23599         * gst/base/gsttypefindhelper.c:
23600         * gst/base/gstbasesink.c:
23601         * gst/gstqueue.c: RPAD fixes.
23602
23603         * gst/gstghostpad.h:
23604         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23605         pads. The tricky thing is they provide both source and sink
23606         interfaces, since they proxy the internal pad for the external
23607         pad, and vice versa. Implement with lower-level ProxyPad objects,
23608         with the interior proxy pad as a child of the exterior ghost pad.
23609         Should write a doc on this.
23610         
23611         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23612         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23613         gst_object API.
23614         
23615         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23616         pads are real pads. No ghost pads in this file. Not documenting
23617         the myriad s/RPAD/PAD/ and REALIZE fixes.
23618         (gst_pad_class_init): Add properties for "direction" and
23619         "template". Both are construct-only, so they can't change during
23620         the life of the pad. Fixes properly deriving from GstPad.
23621         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23622         derived objects, just set properties when creating the objects via
23623         g_object_new.
23624         (gst_pad_get_parent): Implement as a function, return NULL if the
23625         parent is not an element.
23626         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23627         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23628         
23629         * gst/gstobject.c (gst_object_class_init): Make name a construct
23630         property. Don't set it in the object init.
23631
23632         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23633         with UNKNOWN direction.
23634         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23635         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23636         (gst_element_remove_pad): Remove ghost-pad special cases.
23637         (gst_element_pads_activate): Remove rpad cruft.
23638
23639         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23640         catch the pad's-parent-not-an-element case.
23641
23642         * gst/gst.h: Include gstghostpad.h.
23643
23644         * gst/gst.c (init_post): No more real, ghost pads.
23645
23646         * gst/Makefile.am: Add gstghostpad.[ch].
23647
23648         * check/Makefile.am:
23649         * check/gst/gstbin.c:
23650         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23651         into a bin creates ghost pads, and that the refcounts are right.
23652         Partly moved from gstbin.c.
23653
23654 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23655
23656         * check/gst-libs/.cvsignore:
23657         * check/gst/.cvsignore:
23658         * check/pipelines/.cvsignore:
23659           ignore more
23660         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23661         (START_TEST), (cleanup_suite), (main):
23662           add some tests related to cleanup after running pipelines
23663
23664 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23665
23666         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23667           add a testsuite for GstBuffer
23668
23669 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23670
23671         * gst/gstminiobject.h:
23672           add defines for accessing the refcount
23673
23674 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
23675
23676         * Makefile.am: added support for html unit test coverage reports
23677
23678 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
23679
23680         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23681           Free existing caps if the capsfilter changes. Add a FIXME about
23682           setting those caps on the pads.
23683
23684         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23685           Before adding a ghost pad to a parent bin, check that there isn't
23686           already one for the element on the bin. Prevents infinite recursion
23687           when using decodebin in parse pipelines. Andy says he'll rewrite the
23688           way this works anyway, so ignore the hack.
23689
23690 2005-06-02  Andy Wingo  <wingo@pobox.com>
23691
23692         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23693         file size, pass it on to the type find helper.
23694
23695         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23696         segment_start and segment_end properly according to the seek
23697         method. Segment_end is still a bit flaky because offset can be
23698         negative for CUR and END cases, but it takes -1 as an "unset"
23699         value.
23700
23701 2005-06-02  Wim Taymans  <wim@fluendo.com>
23702
23703         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23704         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23705         (gst_basesink_activate):
23706         * gst/base/gstbasesink.h:
23707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23708         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23709         (gst_pad_query), (gst_pad_start_task):
23710         * gst/gstpad.h:
23711         * gst/gstqueue.c: (gst_queue_bufferalloc),
23712         (gst_queue_handle_sink_event), (gst_queue_chain):
23713         Bufferalloc: return GstFlowReturn to more accuratly report
23714         why allocation failed.
23715
23716 2005-06-02  Wim Taymans  <wim@fluendo.com>
23717
23718         * gst/gstpipeline.c: (gst_pipeline_send_event):
23719         Take snapshot of state without blocking.
23720
23721 2005-06-02  Wim Taymans  <wim@fluendo.com>
23722
23723         * docs/design/part-TODO.txt:
23724         * docs/design/part-caps.txt:
23725         * docs/design/part-clocks.txt:
23726         * docs/design/part-negotiation.txt:
23727         * docs/design/part-preroll.txt:
23728         Small doc updates 
23729
23730 2005-05-30  Wim Taymans  <wim@fluendo.com>
23731
23732         * gst/elements/gstidentity.c: (gst_identity_event),
23733         (gst_identity_transform), (gst_identity_get_property):
23734         Protect last_message property as it is accessed from
23735         multiple threads.
23736
23737 2005-05-30  Wim Taymans  <wim@fluendo.com>
23738
23739         * gst/gstelement.c: (gst_element_init),
23740         (gst_element_pads_activate), (gst_element_change_state):
23741         Slicker pad activation code.
23742
23743 2005-05-30  Wim Taymans  <wim@fluendo.com>
23744
23745         * gst/Makefile.am:
23746         * gst/gstelement.h:
23747         * gst/gstelementfactory.h:
23748         * gst/gsttypes.h:
23749         Move elementfactory methods to separate .h file.
23750
23751 2005-05-30  Wim Taymans  <wim@fluendo.com>
23752
23753         * docs/design/part-overview.txt:
23754         * gst/gstsystemclock.h:
23755         Small typo fixes, doc updates.
23756
23757 2005-05-30  Wim Taymans  <wim@fluendo.com>
23758
23759         * gst/gst.c: (gst_init_get_popt_table), (init_post),
23760         (init_popt_callback):
23761         Remove cpu-opt flag.
23762
23763 2005-05-30  Wim Taymans  <wim@fluendo.com>
23764
23765         * gst/gstbuffer.c: (gst_subbuffer_finalize),
23766         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23767         * gst/gstbuffer.h:
23768         Avoid typechecking in places where not needed.
23769         Added accessor for malloc_data.
23770
23771 2005-05-30  Wim Taymans  <wim@fluendo.com>
23772
23773         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23774         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23775         (gst_pad_configure_sink), (gst_pad_configure_src),
23776         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23777         (gst_pad_start_task):
23778         Propagate errors from _set_caps() in configure_src/sink
23779         functions instead of returning TRUE.
23780         FLUSH events can travel up and downstream
23781
23782
23783 2005-05-30  Wim Taymans  <wim@fluendo.com>
23784
23785         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23786         (gst_basesink_activate):
23787         Handle EOS in preroll.
23788
23789 2005-05-30  Wim Taymans  <wim@fluendo.com>
23790
23791         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23792         (gst_queue_loop), (gst_queue_handle_src_event):
23793         Remove old pieces of code
23794         Flushing the queue in an upstream event is a very bad idea.
23795
23796 2005-05-26  Andy Wingo  <wingo@pobox.com>
23797
23798         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23799         gst_value_set_mini_object so as to add a ref on the object (which
23800         will be removed when the value is unset).
23801
23802         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23803         arg type in ::handoff.
23804
23805         * gst/gstelement.c (gst_element_change_state): Also deactivate
23806         pads in READY->NULL, just in case the element didn't make it to
23807         PAUSED. Wingo tested, Wim approved.
23808
23809 2005-05-26  Wim Taymans  <wim@fluendo.com>
23810
23811         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23812         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23813         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23814         A flushing pad cannot be used to alloc_buffer from.
23815
23816 2005-05-26  Wim Taymans  <wim@fluendo.com>
23817
23818         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23819         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23820         (gst_bus_source_dispatch), (gst_bus_source_finalize),
23821         (gst_bus_create_watch), (gst_bus_add_watch_full):
23822         * gst/gstbus.h:
23823         Implement a real GSource and use g_main_context_wakeup() to
23824         signal new messages instead of the socketpair.
23825
23826 2005-05-25  Wim Taymans  <wim@fluendo.com>
23827
23828         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23829         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23830         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23831         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23832         (gst_pad_send_event), (gst_pad_start_task):
23833         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23834         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23835         (gst_queue_sink_activate), (gst_queue_src_activate),
23836         (gst_queue_change_state):
23837         * gst/gstqueue.h:
23838         Fix state changes for non sinks. We now change sinks, then elements
23839         with unconnected srcpads, then the rest.
23840         More efficient queue unlocking in flush and state changes.
23841         Set the pad activate mode even if it does not have an activate
23842         function.
23843
23844 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23845
23846         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23847           Don't go in pull mode for non-seekable sources.
23848         * gst/elements/gsttypefindelement.h:
23849         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23850         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23851         (free_entry), (stop_typefinding),
23852         (gst_type_find_element_handle_event), (find_peek),
23853         (gst_type_find_element_chain), (do_pull_typefind),
23854         (gst_type_find_element_change_state):
23855           Allow typefinding (w/o seeking) in push-mode, simplified version
23856           of what was in 0.8.
23857         * gst/gstutils.c: (gst_buffer_join):
23858         * gst/gstutils.h:
23859           gst_buffer_join() from 0.8.
23860
23861 2005-05-25  Wim Taymans  <wim@fluendo.com>
23862
23863         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23864         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23865         (gst_pad_send_event), (gst_pad_start_task):
23866         Disable attempt at mode switching until it is figured out.
23867
23868 2005-05-25  Wim Taymans  <wim@fluendo.com>
23869
23870         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23871         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23872         (gst_basesink_finish_preroll), (gst_basesink_chain),
23873         (gst_basesink_loop), (gst_basesink_activate),
23874         (gst_basesink_change_state):
23875         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23876         (gst_basesrc_get_range), (gst_basesrc_loop),
23877         (gst_basesrc_activate):
23878         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23879         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23880         (gst_real_pad_init), (gst_real_pad_set_property),
23881         (gst_real_pad_get_property), (gst_pad_set_active),
23882         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23883         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23884         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23885         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23886         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23887         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23888         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23889         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23890         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23891         (gst_pad_stop_task):
23892         * gst/gstpad.h:
23893         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23894         (gst_queue_loop), (gst_queue_src_activate):
23895         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23896         (gst_task_get_state):
23897         * gst/gsttask.h:
23898         * gst/schedulers/threadscheduler.c:
23899         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23900         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23901         in task function.
23902         Remove ACTIVE pad flag, use FLUSHING everywhere
23903         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23904         functions.
23905         Add locks around IS_FLUSHING when reading.
23906         Take STREAM lock in chain(), get_range() functions so plugins
23907         don't need to take it anymore.
23908         
23909
23910
23911 2005-05-25  Wim Taymans  <wim@fluendo.com>
23912
23913         * tools/gst-launch.c: (event_loop):
23914         Unref message after using its contents instead of
23915         before.
23916
23917 2005-05-24  Wim Taymans  <wim@fluendo.com>
23918
23919         * docs/design/draft-ghostpads.txt:
23920         * docs/design/draft-push-pull.txt:
23921         * docs/design/draft-query.txt:
23922         * docs/design/part-overview.txt:
23923         Docs updates, added general overview doc.
23924
23925 2005-05-21  David Schleef  <ds@schleef.org>
23926
23927         * docs/gst/tmpl/old/GstBin.sgml:
23928         * docs/gst/tmpl/old/GstBuffer.sgml:
23929         * docs/gst/tmpl/old/GstCaps.sgml:
23930         * docs/gst/tmpl/old/GstClock.sgml:
23931         * docs/gst/tmpl/old/GstCompat.sgml:
23932         * docs/gst/tmpl/old/GstData.sgml:
23933         * docs/gst/tmpl/old/GstElement.sgml:
23934         * docs/gst/tmpl/old/GstEvent.sgml:
23935         * docs/gst/tmpl/old/GstIndex.sgml:
23936         * docs/gst/tmpl/old/GstStructure.sgml:
23937         * docs/gst/tmpl/old/GstTag.sgml:
23938         * docs/gst/tmpl/old/cothreads.sgml:
23939         * docs/gst/tmpl/old/cothreads_compat.sgml:
23940         * docs/gst/tmpl/old/gettext.sgml:
23941         * docs/gst/tmpl/old/gobject2gtk.sgml:
23942         * docs/gst/tmpl/old/grammar.tab.sgml:
23943         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23944         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23945         * docs/gst/tmpl/old/gst_private.sgml:
23946         * docs/gst/tmpl/old/gstaggregator.sgml:
23947         * docs/gst/tmpl/old/gstarch.sgml:
23948         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23949         * docs/gst/tmpl/old/gstbufferstore.sgml:
23950         * docs/gst/tmpl/old/gstdata_private.sgml:
23951         * docs/gst/tmpl/old/gstdisksink.sgml:
23952         * docs/gst/tmpl/old/gstdisksrc.sgml:
23953         * docs/gst/tmpl/old/gstelementfactory.sgml:
23954         * docs/gst/tmpl/old/gstextratypes.sgml:
23955         * docs/gst/tmpl/old/gstfakesink.sgml:
23956         * docs/gst/tmpl/old/gstfakesrc.sgml:
23957         * docs/gst/tmpl/old/gstfdsink.sgml:
23958         * docs/gst/tmpl/old/gstfdsrc.sgml:
23959         * docs/gst/tmpl/old/gstfilesink.sgml:
23960         * docs/gst/tmpl/old/gstfilesrc.sgml:
23961         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23962         * docs/gst/tmpl/old/gstidentity.sgml:
23963         * docs/gst/tmpl/old/gstindexfactory.sgml:
23964         * docs/gst/tmpl/old/gstmarshal.sgml:
23965         * docs/gst/tmpl/old/gstmd5sink.sgml:
23966         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23967         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23968         * docs/gst/tmpl/old/gstpadtemplate.sgml:
23969         * docs/gst/tmpl/old/gstpipefilter.sgml:
23970         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23971         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23972         * docs/gst/tmpl/old/gstshaper.sgml:
23973         * docs/gst/tmpl/old/gstspider.sgml:
23974         * docs/gst/tmpl/old/gstspideridentity.sgml:
23975         * docs/gst/tmpl/old/gststatistics.sgml:
23976         * docs/gst/tmpl/old/gsttee.sgml:
23977         * docs/gst/tmpl/old/gsttimecache.sgml:
23978         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23979         * docs/gst/tmpl/old/gstxmlregistry.sgml:
23980         * docs/gst/tmpl/old/gthread-cothreads.sgml:
23981         * docs/gst/tmpl/old/types.sgml:
23982           I didn't intend to add these or check them in.
23983
23984 2005-05-19  David Schleef  <ds@schleef.org>
23985
23986         * configure.ac: Use -no-common everywhere.  In a sane world, it
23987           would be the default in libtool, because without it, you can't
23988           build DLLs on Windows.
23989         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23990         * docs/gst/gstreamer-sections.txt:
23991         * docs/gst/tmpl/gstcpu.sgml:
23992         * docs/gst/tmpl/gstdata.sgml:
23993         * docs/gst/tmpl/gstthread.sgml:
23994
23995 2005-05-19  David Schleef  <ds@schleef.org>
23996
23997         * gst/gstminiobject.c: (gst_value_set_mini_object),
23998         (gst_value_take_mini_object), (gst_value_get_mini_object):
23999         * gst/gstminiobject.h: Add GValue set/get functions.
24000
24001 2005-05-19  Wim Taymans  <wim@fluendo.com>
24002
24003         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24004         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24005         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24006         * gst/gstbuffer.h:
24007         * gst/gstbus.c: (gst_bus_post):
24008         * gst/gstelement.c: (gst_element_get_random_pad):
24009         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24010         Make subbufer unref the parent in finalize.
24011         some more debugging info.
24012
24013
24014 2005-05-19  Wim Taymans  <wim@fluendo.com>
24015
24016         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24017         (gst_basesink_init), (gst_basesink_finalize),
24018         (gst_basesink_activate), (gst_basesink_change_state):
24019         Don't free preroll queue too early.
24020
24021 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24022
24023         * gst/Makefile.am:
24024         * gst/ROADMAP:
24025           Hi, I'm outdated. Please shoot me.
24026
24027 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24028
24029         * gst/gstpipeline.c: (gst_pipeline_send_event):
24030           Do not access variables after they have been deleted.
24031
24032 2005-05-19  Wim Taymans  <wim@fluendo.com>
24033
24034         * tools/gst-inspect.c: (print_plugin_features):
24035         A plugin feature does unfortunatly not use the
24036         object name yet...
24037
24038 2005-05-18  Wim Taymans  <wim@fluendo.com>
24039
24040         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24041         Port _span() functions to new subbuffers.
24042
24043 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24044
24045         * gst/gstbin.c: (gst_bin_add_func):
24046           Fix clock settery in bins when adding kids after the clock has
24047           been selected.
24048
24049 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24050
24051         * gst/elements/gstidentity.c: (gst_identity_class_init):
24052           Workaround until signals support GstMiniObject.
24053
24054 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24055
24056         * gst/gstbuffer.c:
24057         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24058
24059 2005-05-18  Wim Taymans  <wim@fluendo.com>
24060
24061         * gst/base/Makefile.am:
24062         * gst/base/gstadapter.c: (gst_adapter_base_init),
24063         (gst_adapter_class_init), (gst_adapter_init),
24064         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24065         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24066         (gst_adapter_flush), (gst_adapter_available),
24067         (gst_adapter_available_fast):
24068         * gst/base/gstadapter.h:
24069         Ported and added adapter to the base classes.
24070
24071 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24072
24073         * gst/gst.c:
24074         * gst/gstmessage.c:
24075           Make sure the class is reffed/unreffed once before threads can be
24076           used.  Fixes #304551.
24077
24078 2005-05-17  Wim Taymans  <wim@fluendo.com>
24079
24080         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24081         (gst_basesink_chain_unlocked), (gst_basesink_activate):
24082         * gst/gstminiobject.c: (gst_mini_object_get_type),
24083         (gst_mini_object_free):
24084         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24085         (gst_pad_push), (gst_pad_push_event):
24086         * gst/gstqueue.c: (gst_queue_change_state):
24087         Don't queue buffers in basesink when we are flushing.
24088         Unref buffer when flushing in basesink.
24089         Flush queue when going to READY
24090         Unref buffer when _push() returns an error.
24091         Don't free MiniObject instance when refcount is incremented
24092         in _finalize() so that we can recover objects.
24093
24094 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24095
24096         * docs/manual/advanced-schedulers.xml:
24097         * docs/manual/appendix-checklist.xml:
24098         * docs/pwg/advanced-clock.xml:
24099         * docs/pwg/advanced-interfaces.xml:
24100         * docs/pwg/advanced-request.xml:
24101         * docs/pwg/advanced-types.xml:
24102         * docs/pwg/intro-preface.xml:
24103         * examples/plugins/example.c: (gst_example_get_type),
24104         (gst_example_class_init), (gst_example_chain),
24105         (gst_example_set_property), (gst_example_get_property),
24106         (gst_example_change_state), (plugin_init):
24107         * examples/plugins/example.h:
24108           small doc fixes
24109
24110 2005-05-17  Wim Taymans  <wim@fluendo.com>
24111
24112         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24113         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24114         * gst/gstqueue.c: (gst_queue_change_state):
24115         Clear queue when going to READY.
24116         Remove IN_SETCAPS flag too.
24117
24118 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
24119
24120         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24121           Remove implicit cast from gboolean to GstElementStateReturn;
24122           make sure we still return failure in paused => ready case if
24123           the parent class fails to change state and our own stop 
24124           vfunc succeeds.
24125
24126 2005-05-17  Wim Taymans  <wim@fluendo.com>
24127
24128         * tools/gst-launch.c: (event_loop):
24129         Message was unreffed too soon.
24130
24131 2005-05-16  Andy Wingo  <wingo@pobox.com>
24132
24133         * gst/gstbin.c (sink_iterator_filter): Err... um...
24134
24135         * check/gst/gstbin.c (test_ghost_pads): New test for the
24136         ghosting-if-elements-not-in-same-bin behavior.
24137
24138 2005-05-16  David Schleef  <ds@schleef.org>
24139
24140         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24141         accessing refcount directly.
24142
24143 2005-05-15  David Schleef  <ds@schleef.org>
24144
24145         * check/Makefile.am: remove GstData checks
24146         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24147         * gst/Makefile.am: add miniobject, remove data
24148         * gst/gst.h: add miniobject, remove data
24149         * gst/gstdata.c: remove
24150         * gst/gstdata.h: remove
24151         * gst/gstdata_private.h: remove
24152         * gst/gsttypes.h: remove GstEvent and GstMessage
24153         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24154         * gst/gstmarshal.list: change BOXED -> OBJECT
24155
24156         Implement GstMiniObject.
24157         * gst/gstminiobject.c:
24158         * gst/gstminiobject.h:
24159
24160         Modify to be subclasses of GstMiniObject.
24161         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24162         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24163         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24164         (gst_subbuffer_get_type), (gst_subbuffer_init),
24165         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24166         (gst_buffer_span):
24167         * gst/gstbuffer.h:
24168         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24169         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24170         (_gst_event_copy), (gst_event_new):
24171         * gst/gstevent.h:
24172         * gst/gstmessage.c: (_gst_message_initialize),
24173         (gst_message_get_type), (gst_message_class_init),
24174         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24175         (gst_message_new), (gst_message_new_error),
24176         (gst_message_new_warning), (gst_message_new_tag),
24177         (gst_message_new_state_changed), (gst_message_new_application):
24178         * gst/gstmessage.h:
24179         * gst/gstprobe.c: (gst_probe_perform),
24180         (gst_probe_dispatcher_dispatch):
24181         * gst/gstprobe.h:
24182         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24183         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24184         (_gst_query_copy), (gst_query_new):
24185
24186         Update elements for GstData -> GstMiniObject changes
24187         * gst/gstquery.h:
24188         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24189         (gst_queue_chain), (gst_queue_loop):
24190         * gst/elements/gstbufferstore.c:
24191         (gst_buffer_store_add_buffer_func),
24192         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24193         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24194         (gst_fakesink_render):
24195         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24196         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24197         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24198         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24199         (gst_filesrc_create_read):
24200         * gst/elements/gstidentity.c: (gst_identity_class_init):
24201         * gst/elements/gsttypefindelement.c:
24202         (gst_type_find_element_src_event), (free_entry_buffers),
24203         (gst_type_find_element_handle_event):
24204         * libs/gst/dataprotocol/dataprotocol.c:
24205         (gst_dp_header_from_buffer):
24206         * libs/gst/dataprotocol/dataprotocol.h:
24207         * libs/gst/dataprotocol/dp-private.h:
24208
24209 2005-05-15  David Schleef  <ds@schleef.org>
24210
24211         * gst/elements/gstelements.c: Don't include headers that were
24212         just removed.
24213
24214 2005-05-15  David Schleef  <ds@schleef.org>
24215
24216         * gst/elements/Makefile.am: Remove some elements that don't
24217         need to be in the core (or even exist at all).
24218         * gst/elements/gstaggregator.c:
24219         * gst/elements/gstaggregator.h:
24220         * gst/elements/gstmd5sink.c:
24221         * gst/elements/gstmd5sink.h:
24222         * gst/elements/gstmultifilesrc.c:
24223         * gst/elements/gstmultifilesrc.h:
24224         * gst/elements/gstpipefilter.c:
24225         * gst/elements/gstpipefilter.h:
24226         * gst/elements/gstshaper.c:
24227         * gst/elements/gstshaper.h:
24228         * gst/elements/gststatistics.c:
24229         * gst/elements/gststatistics.h:
24230         * po/POTFILES.in: Remove above files.
24231
24232 2005-05-14  Andy Wingo  <wingo@pobox.com>
24233
24234         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24235         so as to get the refs right.
24236         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24237         unreffing objects that don't pass the filter.
24238
24239         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24240         gst_element_set_bus.
24241         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24242         normal cases, this will destroy the bus.
24243
24244         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24245         object.
24246
24247         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24248         has no sinks.
24249
24250 2005-05-13  Andy Wingo  <wingo@pobox.com>
24251
24252         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24253         gst_pad_link, call pad_link_maybe_ghosting,
24254         (pad_link_maybe_ghosting): Links pads, making sure that the
24255         elements being linked are in the same bin.
24256         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24257         Helpers for pad_link_maybe_ghosting.
24258
24259 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24260
24261         * configure.ac:
24262           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24263
24264 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24265
24266         * docs/design/part-element-source.txt:
24267           Mention GstPushSrc
24268
24269 2005-05-12  Wim Taymans  <wim@fluendo.com>
24270
24271         * gst/base/gstbasesink.c: (gst_basesink_init),
24272         (gst_basesink_activate):
24273         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24274         (gst_basesrc_is_seekable):
24275         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24276         (bin_element_is_sink), (gst_bin_change_state):
24277         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24278         * gst/gstelement.h:
24279         Identify sinks by their flag to avoid overly complicated
24280         checks (fow now).
24281         Do state changes even for elements not reachable from the
24282         sinks.
24283         BaseSink is a sink now :)
24284         Some more debugging info in the basesrc.
24285
24286
24287 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24288
24289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24290           Implement _query on a bin, similar to _send_event.
24291
24292 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24293
24294         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24295           Discont event offset format should be GST_FORMAT_BYTES,
24296           not GST_FORMAT_TIME.
24297
24298 2005-05-12  Wim Taymans  <wim@fluendo.com>
24299
24300         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24301         Same fix as Ronald's but without the signal. 
24302
24303 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24304
24305         * gst/gstutils.c: (gst_element_query_position):
24306           No, an element is not a pad.
24307
24308 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24309
24310         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24311         (gst_bin_get_state):
24312           If a child is removed from a bin while we remove the child from
24313           the bin and while we're retrieving its state, signal this to the
24314           get_state function so we abort the wait (instead of waiting for
24315           a timeout) and can immediately re-iterate over all other elements.
24316
24317 2005-05-12  Wim Taymans  <wim@fluendo.com>
24318
24319         * gst/base/Makefile.am:
24320         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24321         (gst_basesrc_start):
24322         * gst/base/gstbasesrc.h:
24323         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24324         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24325         (gst_pushsrc_init), (gst_pushsrc_create):
24326         * gst/base/gstpushsrc.h:
24327         Added is_seekable to BaseSrc
24328         Added simple PushSrc.
24329
24330 2005-05-11  Wim Taymans  <wim@fluendo.com>
24331
24332         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24333         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24334         (gst_element_link_pads), (gst_element_query_position),
24335         (gst_element_query_convert), (intersect_caps_func),
24336         (gst_pad_query_position), (gst_pad_query_convert):
24337         Fix refcounting in utils function.
24338         No point in trying to activate a pad when it's added, it could
24339         be added from the state change function and then we deadlock, the
24340         element has to decide what to do.
24341
24342 2005-05-10  Andy Wingo  <wingo@pobox.com>
24343
24344         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24345         *all* the arguments.
24346
24347         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24348         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24349         lock (according to the docs -- if this is wrong change the docs).
24350
24351         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24352         flush messages in the NULL state.
24353
24354         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24355         message immediately and return.
24356         (gst_bus_set_flushing): New function. If a bus is flushing, it
24357         flushes out any queued messages and immediately unrefs new
24358         messages. This is so when an element goes to NULL, all of the
24359         unhandled messages coming from it can be freed, and their
24360         references to the element dropped. In other words: message source
24361         ref considered harmful :P
24362
24363         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24364         we're finished with it.
24365
24366         * gst/gstmessage.c (gst_message_new_state_changed): 
24367
24368 2005-05-10  Wim Taymans  <wim@fluendo.com>
24369
24370         * gst/gstvalue.c: (gst_value_compare_flags),
24371         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24372         (_gst_value_initialize):
24373         Added flags serialize/deserialize/compare code.
24374
24375 2005-05-09  Andy Wingo  <wingo@pobox.com>
24376
24377         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24378         Intersect the peer's caps with our caps.
24379
24380 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24381
24382         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24383         * gst/elements/gsttypefindelement.c: (find_peek):
24384           Handle negative offsets better. Fixes decodebin.
24385
24386 2005-05-09  Wim Taymans  <wim@fluendo.com>
24387
24388         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24389         (gst_base_transform_event):
24390         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24391         Implement accept_caps.
24392         Fix silly lock/unlock mismatch in base class.
24393
24394 2005-05-09  Wim Taymans  <wim@fluendo.com>
24395
24396         * docs/design/draft-push-pull.txt:
24397         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24398         * gst/elements/gstfilesink.c: (gst_filesink_init),
24399         (gst_filesink_query):
24400         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24401         (gst_type_find_handle_src_query), (find_element_get_length):
24402         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24403         * gst/gstelement.h:
24404         * gst/gstmessage.c:
24405         * gst/gstmessage.h:
24406         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24407         (gst_real_pad_get_caps_unlocked),
24408         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24409         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24410         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24411         (gst_real_pad_dispose), (gst_real_pad_finalize),
24412         (gst_pad_load_and_link), (gst_pad_save_thyself),
24413         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24414         (gst_pad_check_pull_range), (gst_pad_pull_range),
24415         (gst_pad_template_get_type), (gst_pad_template_class_init),
24416         (gst_pad_template_init), (gst_pad_template_dispose),
24417         (name_is_valid), (gst_static_pad_template_get),
24418         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24419         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24420         (gst_pad_get_element_private), (gst_pad_start_task),
24421         (gst_pad_pause_task), (gst_pad_stop_task),
24422         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24423         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24424         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24425         (gst_ghost_pad_new):
24426         * gst/gstpad.h:
24427         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24428         (gst_query_new_position), (gst_query_set_position),
24429         (gst_query_parse_position), (gst_query_new_convert),
24430         (gst_query_set_convert), (gst_query_parse_convert):
24431         * gst/gstquery.h:
24432         * gst/gstqueryutils.c:
24433         * gst/gstqueryutils.h:
24434         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24435         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24436         (gst_queue_handle_src_query):
24437         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24438         (gst_element_query_position), (gst_element_query_convert),
24439         (intersect_caps_func), (gst_pad_query_position),
24440         (gst_pad_query_convert):
24441         * gst/gstutils.h:
24442         * tools/gst-inspect.c: (print_pad_info):
24443         * tools/gst-xmlinspect.c: (print_element_info):
24444         Remove old query functions. Ported old code.
24445         Added position/convert helper functions to gstutils.
24446         Reordered gstpad.c code, grouping relevant things.
24447         Remove gst_message_new(), always need to speficy a specific
24448         message.
24449
24450
24451 2005-05-09  Andy Wingo  <wingo@pobox.com>
24452
24453         * gst/gstiterator.h: Add some includes.
24454
24455         * gst/gstqueryutils.h: Include more headers.
24456
24457         * gst/gstpad.h:
24458         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24459         some uses of gst_pad_query.
24460
24461         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24462         NULL out parameters.
24463         (gst_query_new_position): New proc, allocates a new position
24464         query.
24465
24466         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24467         gstqueryutils.c to the build.
24468
24469         * gst/gststructure.c (gst_structure_set_valist): Implement with
24470         the generic G_VALUE_COLLECT.
24471         
24472 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24473
24474         * gst/Makefile.am: (gst_headers):
24475         Added gstqueryutils.h to the list of headers to install, that was
24476         a 'nachty' move wingo :)
24477
24478 2005-05-06  Andy Wingo  <wingo@pobox.com>
24479
24480         * gst/gstquery.h
24481         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24482         GstData, init a memchunk.
24483         (standard_definitions): Add a few query types, deprecate a few.
24484         (gst_query_get_type): New proc.
24485         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24486         implementation.
24487         (gst_query_new_application, gst_query_get_structure): New public
24488         procs.
24489
24490         * docs/design/draft-query.txt: Removed LINKS from the query types,
24491         because all the rest can be dispatched to other pads -- seemed
24492         ugly to have a query that couldn't be dispatched. internal_links
24493         is fine as a pad method.
24494
24495         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24496         in gstpad.c, but maintain binary compatibility for the moment.
24497         Will fix before 0.9 is out.
24498
24499         * gst/gstqueryutils.c: 
24500         * gst/gstqueryutils.h: New files, implement 3 methods for each
24501         query type: parse_query, parse_response, and set. Probably need an
24502         allocator as well.
24503
24504         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24505
24506         * gst/elements/gstfilesink.c (gst_filesink_query2):
24507         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24508         query_types, and formats methods.
24509
24510         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24511         (gst_pad_set_query2_function): New functions.
24512         (gst_real_pad_init): Set query2_default as the default query2
24513         function. Basically just dispatches to internally linked pads.
24514
24515         Needs review!
24516         
24517         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24518         without using the atomic operations. Only one thread can possibly
24519         be accessing the data at this point. Changed so as to avoid
24520         gst_atomic operations.
24521
24522 2005-05-06  Wim Taymans  <wim@fluendo.com>
24523
24524         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24525         Also set caps if we use the fallback buffer alloc.
24526
24527 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24528
24529         * docs/gst/Makefile.am:
24530         * docs/gst/gstreamer-docs.sgml:
24531         * docs/gst/gstreamer-sections.txt:
24532         * docs/gst/tmpl/gstatomic.sgml:
24533         * docs/gst/tmpl/gstmemchunk.sgml:
24534         * testsuite/elements/struct_i386.h:
24535         * win32/GStreamer.vcproj:
24536         * win32/Makefile:
24537           Purge GstAtomic stuff from docs and win32 makefiles as well
24538
24539 2005-05-06  Wim Taymans  <wim@fluendo.com>
24540
24541         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24542         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24543         * gst/gstpad.c: (gst_pad_peer_get_caps):
24544         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24545         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24546         (gst_queue_src_activate), (gst_queue_change_state):
24547         * gst/gstqueue.h:
24548         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24549         (intersect_caps_func):
24550         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24551         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24552         Some fixes for the peer_get_caps() change.
24553
24554 2005-05-06  Wim Taymans  <wim@fluendo.com>
24555
24556         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24557         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24558         (gst_basesink_activate):
24559         Actually do something with error codes returned from the push
24560         functions.
24561
24562 2005-05-06  Wim Taymans  <wim@fluendo.com>
24563
24564         * docs/design/part-element-sink.txt:
24565         * docs/design/part-element-source.txt:
24566         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24567         (gst_basesink_event), (gst_basesink_activate):
24568         * gst/base/gstbasesink.h:
24569         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24570         (gst_basesrc_activate):
24571         * gst/base/gstbasesrc.h:
24572         * gst/gstelement.c: (gst_element_pads_activate):
24573         Some more documentation.
24574         Fixed scheduling decision in _pads_activate().
24575
24576 2005-05-05  Andy Wingo  <wingo@pobox.com>
24577
24578         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24579         the test suite.
24580
24581 2005-05-05  Wim Taymans  <wim@fluendo.com>
24582
24583         * gst/base/Makefile.am:
24584         * gst/base/gstbasesink.h:
24585         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24586         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24587         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24588         (gst_collectpads_class_init), (gst_collectpads_init),
24589         (gst_collectpads_finalize), (gst_collectpads_new),
24590         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24591         (find_pad), (gst_collectpads_remove_pad),
24592         (gst_collectpads_is_active), (gst_collectpads_collect),
24593         (gst_collectpads_collect_range), (gst_collectpads_start),
24594         (gst_collectpads_stop), (gst_collectpads_peek),
24595         (gst_collectpads_pop), (gst_collectpads_available),
24596         (gst_collectpads_read), (gst_collectpads_flush),
24597         (gst_collectpads_chain):
24598         * gst/base/gstcollectpads.h:
24599         * gst/elements/Makefile.am:
24600         * gst/elements/gstelements.c:
24601         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24602         (gst_fakesink_get_times), (gst_fakesink_event),
24603         (gst_fakesink_preroll), (gst_fakesink_render):
24604         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24605         (gst_filesink_init), (gst_filesink_set_location),
24606         (gst_filesink_open_file), (gst_filesink_close_file),
24607         (gst_filesink_pad_query), (gst_filesink_event),
24608         (gst_filesink_render), (gst_filesink_change_state):
24609         * gst/elements/gstfilesink.h:
24610         Added object to help in making collect pad based elements.
24611         Ported filesink.
24612         Make event function in sink baseclass return gboolean.
24613
24614 2005-05-05  Wim Taymans  <wim@fluendo.com>
24615
24616         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24617         (gst_bin_get_by_name):
24618         * gst/gstbuffer.h:
24619         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24620         (gst_clock_finalize):
24621         * gst/gstdata.c: (gst_data_replace):
24622         * gst/gstdata.h:
24623         * gst/gstelement.c: (gst_element_request_pad),
24624         (gst_element_pads_activate):
24625         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24626         (gst_object_unref):
24627         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24628         (gst_pad_set_checkgetrange_function),
24629         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24630         (gst_pad_check_pull_range), (gst_pad_pull_range),
24631         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24632         (gst_pad_pause_task), (gst_pad_stop_task):
24633         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24634         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24635         Fix name lookup in GstBin.
24636         Added _data_replace() function and _buffer_replace()
24637         Use finalize method to clean up clock.
24638         Fix refcounting on request pads.
24639         Fix pad schedule mode error.
24640         Some more object refcounting debug info,
24641
24642
24643 2005-05-04  Andy Wingo <wingo@pobox.com>
24644
24645         * check/Makefile.am:
24646         * docs/gst/tmpl/gstatomic.sgml:
24647         * docs/gst/tmpl/gstplugin.sgml:
24648         * gst/base/gstbasesink.c: (gst_basesink_activate):
24649         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24650         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24651         (gst_basesrc_query), (gst_basesrc_set_property),
24652         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24653         (gst_basesrc_activate):
24654         * gst/base/gstbasesrc.h:
24655         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24656         (gst_base_transform_src_activate):
24657         * gst/elements/gstelements.c:
24658         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24659         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24660         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24661         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24662         (gst_type_find_element_checkgetrange),
24663         (gst_type_find_element_activate):
24664         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24665         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24666         (gst_caps_load_thyself):
24667         * gst/gstelement.c: (gst_element_pads_activate),
24668         (gst_element_save_thyself), (gst_element_restore_thyself):
24669         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24670         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24671         * gst/gstpad.h:
24672         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24673         (gst_xml_parse_file), (gst_xml_parse_memory),
24674         (gst_xml_get_element), (gst_xml_make_element):
24675         * gst/indexers/gstfileindex.c: (gst_file_index_load),
24676         (_file_index_id_save_xml), (gst_file_index_commit):
24677         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24678         (read_enum), (load_pad_template), (load_feature), (load_plugin),
24679         (load_paths):
24680         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24681         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24682         * tools/gst-complete.c: (main):
24683         * tools/gst-compprep.c: (main):
24684         * tools/gst-inspect.c: (print_element_properties_info):
24685         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24686         * tools/gst-xmlinspect.c: (print_element_properties):
24687         GCC 4 fixen.
24688         
24689 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24690
24691         * gst/gstplugin.c: (gst_plugin_check_module),
24692         (gst_plugin_check_file), (gst_plugin_load_file):
24693             apply patch from #172526 to make register work on MacOSX
24694
24695 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24696
24697         * docs/gst/tmpl/gstconfig.sgml:
24698         * gst/gstconfig.h.in:
24699           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
24700         * testsuite/debug/printf_extension.c: (main):
24701           Do not use GST_PTR_FORMAT on pointers to types with
24702           sizeof < sizeof(gpointer).  Fixes test on 64-bit
24703         * testsuite/elements/property.h:
24704           use correct printf format
24705
24706 2005-05-02  Wim Taymans  <wim@fluendo.com>
24707
24708         * docs/design/draft-push-pull.txt:
24709         * docs/design/draft-query.txt:
24710         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24711         (gst_basesrc_start):
24712         Added draft for new query API.
24713         Added draft for better selecting scheduling methods.
24714         Make basesrc ignore length if the subclass does not support
24715         it.
24716
24717 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24718
24719         * gst/Makefile.am:
24720           possible fixes for automake-1.5 - _LIBADD is reserved
24721
24722 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24723
24724         * docs/faq/Makefile.am:
24725         * docs/manual/Makefile.am:
24726         * docs/manuals.mak:
24727         * docs/pwg/Makefile.am:
24728         * gst/Makefile.am:
24729           possible fixes for automake-1.5
24730
24731 2005-04-28  Wim Taymans  <wim@fluendo.com>
24732
24733         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24734         (gst_basesink_pad_getcaps), (gst_basesink_init),
24735         (gst_basesink_do_sync):
24736         * gst/gstclock.c: (gst_clock_entry_new):
24737         * gst/gstevent.c: (gst_event_discont_get_value):
24738         * gst/gstpipeline.c: (pipeline_bus_handler),
24739         (gst_pipeline_change_state):
24740         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24741         Better debugging of clocking info.
24742         Allow NULL values when getting discont values.
24743
24744 2005-04-27  Wim Taymans  <wim@fluendo.com>
24745
24746         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24747         * check/gst/gstpad.c: (gst_pad_suite):
24748         Increase timeout for checks.
24749
24750 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24751
24752         * check/Makefile.am:
24753           fix the broken rule for cleanup.  Apparently this rule is
24754           only needed on FC2, so maybe this warrants further autotool
24755           inspection.
24756
24757 2005-04-26  Wim Taymans  <wim@fluendo.com>
24758
24759         * gst/gsttrashstack.h:
24760         Ooohh. a nasty one! After having a failed pop() from the stack,
24761         it's possible that the stack is empty. In that case, don't
24762         follow the NULL pointer.
24763
24764 2005-04-25  Wim Taymans  <wim@fluendo.com>
24765
24766         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24767         (gst_pad_set_checkgetrange_function),
24768         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24769         (gst_pad_check_pull_range), (gst_pad_pull_range),
24770         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24771         (gst_pad_pause_task), (gst_pad_stop_task):
24772         * gst/gstplugin.c: (gst_plugin_load):
24773         * gst/gstplugin.h:
24774         Remove gst_library_load as it does more harm than good with
24775         the new g_module flags.
24776         Revert bogus caps template check in pad linking, pad caps
24777         are important when linking not the template, which is more
24778         general than the current caps.
24779
24780 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24781
24782         * gst/autoplug/.cvsignore:
24783         * gst/autoplug/Makefile.am:
24784         * gst/autoplug/gstsearchfuncs.c:
24785         * gst/autoplug/gstsearchfuncs.h:
24786         * gst/autoplug/gstspider.c:
24787         * gst/autoplug/gstspider.h:
24788         * gst/autoplug/gstspideridentity.c:
24789         * gst/autoplug/gstspideridentity.h:
24790         * gst/autoplug/spidertest.c:
24791           Die, spider, die.
24792
24793 2005-04-25  Wim Taymans  <wim@fluendo.com>
24794
24795         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24796         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24797         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24798         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24799         * gst/gstpad.h:
24800         Added stubs for unimplemented functions. 
24801
24802 2005-04-24  David Schleef  <ds@schleef.org>
24803
24804         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
24805         please fix.
24806
24807 2005-04-24  David Schleef  <ds@schleef.org>
24808
24809         Convert everything from GstAtomicInt to g_atomic_int_*, and
24810         remove gstatomic.
24811         * gst/Makefile.am:
24812         * gst/gstatomic.c:
24813         * gst/gstatomic.h:
24814         * gst/gstatomic_impl.h:
24815         * gst/gstbuffer.c:
24816         * gst/gstcaps.c:
24817         * gst/gstcaps.h:
24818         * gst/gstclock.c:
24819         * gst/gstclock.h:
24820         * gst/gstdata.c:
24821         * gst/gstdata.h:
24822         * gst/gstdata_private.h:
24823         * gst/gstevent.c:
24824         * gst/gstinfo.c:
24825         * gst/gstinfo.h:
24826         * gst/gstmessage.c:
24827         * gst/gstobject.c:
24828         * gst/gstobject.h:
24829         * gst/gststructure.c:
24830         * gst/gststructure.h:
24831         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24832         * gst/gstutils.h:
24833
24834 2005-04-24  David Schleef  <ds@schleef.org>
24835
24836         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24837         make the regressions tests work.  Remove some code that is no
24838         longer true.
24839         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24840         Disable warning for pads without templates.
24841
24842 2005-04-24  David Schleef  <ds@schleef.org>
24843
24844         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
24845         functions that handle filtered links.
24846         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24847         removed functions.
24848         * gst/gstutils.c: Fix/remove utility functions that handle
24849         filtered caps.
24850         * gst/gstutils.h:
24851         * gst/gstvalue.c: Add serialization/deserialization of caps
24852         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
24853         requires fixing so that the filter caps notation creates
24854         a capsfilter element and sets the filter_caps property.  I
24855         think everyone probably wants to keep the shorthand notation.
24856         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24857         * docs/gst/tmpl/gstpad.sgml:
24858
24859         * gst/elements/gstelements.c: Register capsfilter element.
24860         * gst/Makefile.am: fix spacing
24861         * docs/random/ds/0.9-suggested-changes: random
24862
24863 2005-04-23  David Schleef  <ds@schleef.org>
24864
24865         * gst/elements/Makefile.am:
24866         * gst/elements/gstcapsfilter.c: New element that acts like an
24867         identity, but filters caps.  Will eventually replace filtered
24868         caps in pad linking.
24869         * gst/gstutils.c: (gst_element_create_all_pads): New function
24870         to create all the ALWAYS pads that are registered with an
24871         element class.  This functionality should eventually be
24872         merged in with GstElement initialization.
24873         * gst/gstutils.h:
24874         * testsuite/trigger/README: part of trigger test code that should
24875         have been checked in a long time ago.
24876
24877 2005-04-23  David Schleef  <ds@schleef.org>
24878
24879         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
24880         needed with new versions of libtool (nobody will confirm this),
24881         and hard to carry around.
24882         * gst/autoplug/Makefile.am:
24883         * gst/base/Makefile.am:
24884         * gst/elements/Makefile.am:
24885         * gst/indexers/Makefile.am:
24886         * gst/schedulers/Makefile.am:
24887         * libs/gst/bytestream/Makefile.am:
24888         * libs/gst/control/Makefile.am:
24889         * libs/gst/dataprotocol/Makefile.am:
24890         * libs/gst/getbits/Makefile.am:
24891
24892 2005-04-21  Wim Taymans  <wim@fluendo.com>
24893
24894         * docs/design/draft-push-pull.txt:
24895         * docs/design/part-MT-refcounting.txt:
24896         * docs/design/part-TODO.txt:
24897         * docs/design/part-caps.txt:
24898         * docs/design/part-events.txt:
24899         * docs/design/part-gstbus.txt:
24900         * docs/design/part-gstpipeline.txt:
24901         * docs/design/part-messages.txt:
24902         * docs/design/part-push-pull.txt:
24903         * docs/design/part-query.txt:
24904         Some more docs.
24905
24906 2005-04-21  Wim Taymans  <wim@fluendo.com>
24907
24908         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24909         (gst_message_new), (gst_message_new_error),
24910         (gst_message_new_warning), (gst_message_new_tag),
24911         (gst_message_new_state_changed), (gst_message_new_application),
24912         (gst_message_get_structure):
24913         * gst/gstmessage.h:
24914         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24915         (gst_structure_copy_conditional):
24916         Use parent refcount in GstMessage to ensure GstStructure
24917         consistency.
24918         Cleaned up headers a bit.
24919         
24920
24921 2005-04-20  Wim Taymans  <wim@fluendo.com>
24922
24923         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24924         (gst_basesink_pad_getcaps), (gst_basesink_init),
24925         (gst_basesink_chain_unlocked):
24926         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24927         (gst_type_find_helper):
24928         * gst/elements/gsttypefindelement.c:
24929         (gst_type_find_element_have_type), (gst_type_find_element_init),
24930         (stop_typefinding), (gst_type_find_element_handle_event),
24931         (find_suggest), (gst_type_find_element_chain),
24932         (gst_type_find_element_checkgetrange),
24933         (gst_type_find_element_getrange), (do_typefind),
24934         (gst_type_find_element_activate):
24935         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24936         (gst_buffer_default_free), (gst_buffer_default_copy),
24937         (gst_buffer_set_caps):
24938         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24939         (gst_caps_replace):
24940         * gst/gstmessage.c: (gst_message_new),
24941         (gst_message_new_state_changed):
24942         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24943         (gst_pad_set_checkgetrange_function),
24944         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24945         (gst_pad_set_caps), (gst_pad_check_pull_range),
24946         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24947         * gst/gstpad.h:
24948         * gst/gsttypefind.c: (gst_type_find_register):
24949         Make gst_caps_replace() work like other _replace() functions.
24950         Use _caps_replace() where possible.
24951         Make sure _message_new() initialises its field.
24952         Add gst_static_pad_template_get_caps()
24953
24954
24955 2005-04-18  Andy Wingo  <wingo@pobox.com>
24956
24957         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24958         on the peer, not the pad. I think that was a typo. Pass an extra
24959         arg to see if random access is possible. Activate the pads as
24960         PULL_RANGE if possible.
24961
24962         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24963
24964         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
24965         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24966         to PROP_....
24967
24968 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24969
24970         * docs/faq/using.xml:
24971           Add note on gstreamer-properties (#154996).
24972
24973 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24974
24975         * docs/random/bbb/optional-properties:
24976           Some analysis on optional properties.
24977
24978 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24979
24980         * docs/gst/tmpl/gstelementfactory.sgml:
24981         * gst/gstelement.h:
24982         * gst/gstelementfactory.c: (gst_element_factory_init),
24983         (gst_element_factory_cleanup), (gst_element_register),
24984         (__gst_element_factory_add_static_pad_template),
24985         (gst_element_factory_get_static_pad_templates),
24986         (gst_element_factory_can_src_caps),
24987         (gst_element_factory_can_sink_caps):
24988         * gst/registries/Makefile.am:
24989         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24990         (gst_xml_registry_class_init), (gst_xml_registry_init),
24991         (gst_xml_registry_new), (gst_xml_registry_set_property),
24992         (gst_xml_registry_get_property), (get_time), (make_dir),
24993         (gst_xml_registry_get_perms_func),
24994         (plugin_times_older_than_recurse), (plugin_times_older_than),
24995         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24996         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24997         (add_to_char_array), (read_string), (read_uint), (read_enum),
24998         (load_pad_template), (load_feature), (load_plugin), (load_paths),
24999         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25000         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25001         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25002         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25003         (gst_xml_registry_rebuild):
25004         * gst/registries/gstlibxmlregistry.h:
25005         * tools/gst-compprep.c: (main):
25006         * tools/gst-inspect.c: (print_pad_templates_info):
25007         * tools/gst-xmlinspect.c: (print_element_info):
25008           Use libxml2 for registry parsing, use staticpadtemplates in
25009           elementfactories. Makes gst_init() +/- 10x faster.
25010
25011 2005-04-12  Wim Taymans  <wim@fluendo.com>
25012
25013         * gst/base/Makefile.am:
25014         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25015         (gst_basesink_pad_getcaps), (gst_basesink_init),
25016         (gst_basesink_event), (gst_basesink_change_state):
25017         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25018         (gst_basesrc_init), (gst_basesrc_query),
25019         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25020         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25021         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25022         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25023         (gst_basesrc_stop), (gst_basesrc_activate),
25024         (gst_basesrc_change_state):
25025         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25026         (helper_find_suggest), (gst_type_find_helper):
25027         * gst/base/gsttypefindhelper.h:
25028         * gst/elements/Makefile.am:
25029         * gst/elements/gstelements.c:
25030         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25031         (gst_fakesink_get_times), (gst_fakesink_event),
25032         (gst_fakesink_preroll), (gst_fakesink_render):
25033         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25034         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25035         (gst_fakesrc_get_property), (gst_fakesrc_create),
25036         (gst_fakesrc_start), (gst_fakesrc_stop):
25037         * gst/elements/gstfakesrc.h:
25038         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25039         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25040         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25041         (gst_filesrc_create_read), (gst_filesrc_create),
25042         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25043         (gst_filesrc_start):
25044         * gst/elements/gsttypefindelement.c:
25045         (gst_type_find_element_have_type), (gst_type_find_element_init),
25046         (start_typefinding), (stop_typefinding), (push_buffer_store),
25047         (gst_type_find_element_handle_event),
25048         (gst_type_find_element_chain),
25049         (gst_type_find_element_checkgetrange),
25050         (gst_type_find_element_getrange), (do_typefind),
25051         (gst_type_find_element_activate),
25052         (gst_type_find_element_change_state):
25053         * gst/elements/gsttypefindelement.h:
25054         * gst/gstpipeline.c: (pipeline_bus_handler):
25055         Added typefind helper.
25056         Small preroll fix in the base sink.
25057         Disable typefind code in basesrc.
25058         Crude port of typefindelement.
25059         Fakesrc cleanups.
25060
25061
25062 2005-04-11  Wim Taymans  <wim@fluendo.com>
25063
25064         * check/gst/gstbus.c: (gstbus_suite):
25065         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25066         * check/gstcheck.h:
25067           Fix up the timeout so that the test does not fail.
25068
25069 2005-04-06  Wim Taymans  <wim@fluendo.com>
25070
25071         * gst/base/README:
25072         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25073         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25074         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25075         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25076         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25077         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25078         (gst_basesrc_stop), (gst_basesrc_activate),
25079         (gst_basesrc_change_state), (basesrc_find_peek),
25080         (basesrc_find_suggest), (gst_basesrc_type_find):
25081         * gst/base/gstbasesrc.h:
25082         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25083         (gst_filesrc_class_init), (gst_filesrc_init),
25084         (gst_filesrc_finalize), (gst_filesrc_set_location),
25085         (gst_filesrc_set_property), (gst_filesrc_get_property),
25086         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25087         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25088         (gst_filesrc_create_read), (gst_filesrc_create),
25089         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25090         * gst/elements/gstfilesrc.h:
25091         * gst/gstelement.c: (gst_element_get_state_func),
25092         (gst_element_lost_state), (gst_element_pads_activate):
25093         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25094         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25095         (gst_pad_pull_range):
25096         * gst/gstpad.h:
25097         More work on the generic source base class, implement seeking,
25098         query.
25099         Make filesrc extend the base source class.
25100         Added gst_pad_set_checkgetrange_function to GstPad.
25101
25102 2005-04-06  Andy Wingo  <wingo@pobox.com>
25103
25104         * pkgconfig/gstreamer-base.pc.in:
25105         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25106
25107         * pkgconfig/Makefile.am:
25108         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25109
25110 2005-04-04  Wim Taymans  <wim@fluendo.com>
25111
25112         * gst/base/Makefile.am:
25113         * gst/base/README:
25114         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25115         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25116         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25117         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25118         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25119         (gst_basesrc_base_init), (gst_basesrc_class_init),
25120         (gst_basesrc_init), (gst_basesrc_get_formats),
25121         (gst_basesrc_get_query_types), (gst_basesrc_query),
25122         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25123         (gst_basesrc_set_property), (gst_basesrc_get_property),
25124         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25125         (gst_basesrc_loop), (gst_basesrc_activate),
25126         (gst_basesrc_change_state):
25127         * gst/base/gstbasesrc.h:
25128         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25129         (gst_fakesrc_class_init), (gst_fakesrc_init),
25130         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25131         (gst_fakesrc_get_property), (gst_fakesrc_create):
25132         * gst/elements/gstfakesrc.h:
25133         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25134         (gst_filesrc_open_file), (gst_filesrc_loop),
25135         (gst_filesrc_activate), (filesrc_find_peek),
25136         (gst_filesrc_type_find):
25137         Made base source class, make fakesrc extend it.
25138         Add comments to basesink class.
25139         Some filesrc cleanup.
25140
25141 2005-03-31  David Schleef  <ds@schleef.org>
25142
25143         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25144         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25145         expected to link against libgstreamer.
25146         * gst/base/Makefile.am: link against libgstreamer
25147         * gst/elements/Makefile.am: same
25148
25149 2005-03-31  Andy Wingo  <wingo@pobox.com>
25150
25151         * tests/instantiate/Makefile.am:
25152         * tests/instantiate/caps.c: Add test to test speed of caps copy
25153         and free.
25154
25155         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25156         GMemChunk to be fair.
25157
25158         * gst/gsttrashstack.h: Remove warning about using the fallback
25159         trash stack implementation, it's still faster than malloc.
25160
25161 2005-03-30  Andy Wingo  <wingo@pobox.com>
25162
25163         * tests/complexity.c: Add a copyright.
25164
25165 2005-03-31  Wim Taymans  <wim@fluendo.com>
25166
25167         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25168         (gst_base_transform_class_init), (gst_base_transform_init),
25169         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25170         (gst_base_transform_get_property),
25171         (gst_base_transform_sink_activate),
25172         (gst_base_transform_src_activate),
25173         (gst_base_transform_change_state):
25174         * gst/base/gstbasetransform.h:
25175         * gst/elements/gstidentity.c: (gst_identity_class_init),
25176         (gst_identity_event), (gst_identity_check_perfect),
25177         (gst_identity_transform), (gst_identity_start),
25178         (gst_identity_stop):
25179         Added start/stop methods to transform base class so subclasses 
25180         don't need to deal with state changes even.
25181
25182 2005-03-31  Wim Taymans  <wim@fluendo.com>
25183
25184         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25185         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25186         * gst/gstevent.h:
25187         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25188         (gst_pad_pull_range):
25189         Added rate to the discont event to prepare for variable speed
25190         and reverse playback.
25191
25192 2005-03-29  David Schleef  <ds@schleef.org>
25193
25194         * configure.ac:
25195         * testsuite/trigger/Makefile.am:
25196         * testsuite/trigger/trigger.c: A little example program to show
25197         how trigger-based elements can work.
25198
25199 2005-03-29  Wim Taymans  <wim@fluendo.com>
25200
25201         * gst/base/Makefile.am:
25202         * gst/base/README:
25203         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25204         (gst_basesink_base_init), (gst_basesink_class_init),
25205         (gst_basesink_pad_getcaps), (gst_basesink_init),
25206         (gst_basesink_activate), (gst_basesink_change_state):
25207         * gst/base/gstbasesink.h:
25208         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25209         (gst_base_transform_base_init), (gst_base_transform_finalize),
25210         (gst_base_transform_class_init), (gst_base_transform_init),
25211         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25212         (gst_base_transform_event), (gst_base_transform_getrange),
25213         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25214         (gst_base_transform_set_property),
25215         (gst_base_transform_get_property),
25216         (gst_base_transform_sink_activate),
25217         (gst_base_transform_src_activate),
25218         (gst_base_transform_change_state):
25219         * gst/base/gstbasetransform.h:
25220         * gst/elements/gstidentity.c: (gst_identity_finalize),
25221         (gst_identity_class_init), (gst_identity_init),
25222         (gst_identity_event), (gst_identity_check_perfect),
25223         (gst_identity_transform), (gst_identity_set_property),
25224         (gst_identity_get_property), (gst_identity_change_state):
25225         * gst/elements/gstidentity.h:
25226         * gst/gstelement.c: (gst_element_get_state_func),
25227         (gst_element_lost_state), (gst_element_pads_activate):
25228         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25229         (gst_pad_check_pull_range), (gst_pad_pull_range):
25230         * gst/gstpad.h:
25231         Simplify pad activation.
25232         Added function to check if pull_range can be performed.
25233         Error out when pulling inactive or flushing pads.
25234         Removed const from refcounted types as it does not make sense.
25235         Simplify pad templates in basesink
25236         Added base class for simple 1-to-1 transforms.
25237         Make identity subclass the base transform.
25238
25239 2005-03-29  Andy Wingo  <wingo@pobox.com>
25240
25241         * docs/libs/gstreamer-libs-overrides.txt: 
25242         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25243         really don't understand what's going on, but like whatever. I want
25244         green buildbot!
25245
25246         * docs/gst/Makefile.am:
25247         * docs/libs/Makefile.am: Dist the overrides files.
25248
25249         * check/Makefile.am (clean-local): Remove .libs directories.
25250
25251         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25252         elements to EXTRA_DIST, so po/ files are happy.
25253
25254         * po/POTFILES.in: Er, remove it here.
25255
25256         * po/POTFILES: Remove gstspider.c.
25257
25258         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25259
25260         * docs/libs/gstreamer-libs-docs.sgml: 
25261         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25262         bytestream.
25263
25264         * tests/complexity.c (main): Set the length of the preroll queue
25265         on the sinks to prevent a lockup.
25266
25267         * libs/gst/dataprotocol/Makefile.am: 
25268         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25269         the same as the one in check/gst-libs/gdp.c.
25270
25271         * po/, docs/gst/: Commit automatic changes to docs and po files.
25272
25273         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25274         the versioned libgstbase.
25275
25276         * check/Makefile.am: Depend on an unversioned gst-register, seems
25277         to make autoconf happier.
25278
25279         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25280
25281 2005-03-28  Wim Taymans  <wim@fluendo.com>
25282
25283         * configure.ac:
25284         * docs/design/part-gstelement.txt:
25285         * docs/design/part-negotiation.txt:
25286         * docs/design/part-preroll.txt:
25287         * docs/design/part-scheduling.txt:
25288         * docs/design/part-states.txt:
25289         * gst/Makefile.am:
25290         * gst/base/Makefile.am:
25291         * gst/base/README:
25292         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25293         (gst_basesink_base_init), (gst_basesink_class_init),
25294         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25295         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25296         (gst_basesink_set_pad_functions),
25297         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25298         (gst_basesink_set_property), (gst_basesink_get_property),
25299         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25300         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25301         (gst_basesink_preroll_queue_push),
25302         (gst_basesink_preroll_queue_empty),
25303         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25304         (gst_basesink_event), (gst_basesink_get_times),
25305         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25306         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25307         (gst_basesink_loop), (gst_basesink_activate),
25308         (gst_basesink_change_state):
25309         * gst/base/gstbasesink.h:
25310         * gst/elements/Makefile.am:
25311         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25312         (gst_fakesink_class_init), (gst_fakesink_init),
25313         (gst_fakesink_set_property), (gst_fakesink_get_property),
25314         (gst_fakesink_get_times), (gst_fakesink_event),
25315         (gst_fakesink_preroll), (gst_fakesink_render),
25316         (gst_fakesink_change_state):
25317         * gst/elements/gstfakesink.h:
25318         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25319         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25320         * gst/gstelement.c: (gst_element_add_pad),
25321         (gst_element_get_state_func), (gst_element_abort_state),
25322         (gst_element_commit_state), (gst_element_lost_state),
25323         (gst_element_set_state), (gst_element_pads_activate):
25324         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25325         * gst/gstpipeline.c: (gst_pipeline_send_event),
25326         (gst_pipeline_change_state):
25327         Added state change code.
25328         Added/updated docs.
25329         Added sink base class, make fakesink extend the base class.
25330         Small cleanups in GstPipeline.
25331
25332 2005-03-26  David Schleef  <ds@schleef.org>
25333
25334         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25335         is broken and should be implemented in a different library.
25336         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25337         * gst/gst.h: remove gstcpu.h
25338         * gst/gstcpu.c: remove
25339         * gst/gstcpu.h: remove
25340         * gst/Makefile.am.future: Remove this file.  It's ancient.
25341
25342 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25343
25344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25345         (gst_bin_send_event):
25346           Add default event/set_manager handlers. The set_manager handler
25347           takes care that the manager is distributed over kids that were
25348           already in the bin before the manager was set. The event handler
25349           is a utility virtual function that sends the event over all sinks,
25350           so that gst_element_send_event (bin, event); has the expected
25351           behaviour.
25352         * gst/gstpad.c: (gst_pad_event_default):
25353           Re-install default event handling for discontinuities, so that
25354           seeking works without requiring hacks in applications or extra
25355           code in sinks.
25356         * gst/gstpipeline.c: (gst_pipeline_class_init),
25357         (gst_pipeline_send_event):
25358           Half hack, half utility: set a pipeline to PAUSED for seek events,
25359           since that is the only way we can guarantee a/v sync. Means that
25360           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25361           and it "just works".
25362
25363 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25364
25365         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25366           Lock/unlock mismatch.
25367
25368 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25369
25370         * docs/faq/gst-uninstalled:
25371           add gst-plugins-base
25372         * docs/gst/Makefile.am:
25373           don't error out until docs are fixed
25374         * docs/gst/gstreamer.types:
25375           remove thread
25376
25377 2005-03-22  Wim Taymans  <wim@fluendo.com>
25378
25379         * check/Makefile.am:
25380         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25381         * gst/gststructure.c: (gst_structure_set_valist),
25382         (gst_structure_copy_conditional):
25383         Activated more tests.
25384         Added message test.
25385         Added G_TYPE_POINTER to GstStructure.
25386         
25387
25388 2005-03-22  Wim Taymans  <wim@fluendo.com>
25389
25390         * docs/design/part-TODO.txt:
25391         * docs/design/part-events.txt:
25392         * docs/design/part-gstbin.txt:
25393         * docs/design/part-gstbus.txt:
25394         * docs/design/part-gstpipeline.txt:
25395         * docs/design/part-messages.txt:
25396         * gst/gstbus.c:
25397         * gst/gstmessage.c:
25398         Docs updates
25399
25400 2005-03-21  Wim Taymans  <wim@fluendo.com>
25401
25402         * gst/gstbus.c: (gst_bus_post):
25403         Fix copy-and-paste error.
25404
25405 2005-03-21  Wim Taymans  <wim@fluendo.com>
25406
25407         * check/Makefile.am:
25408         * gst/Makefile.am:
25409         * gst/elements/Makefile.am:
25410         * gst/elements/gstelements.c:
25411         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25412         (gst_fakesink_event), (gst_fakesink_chain):
25413         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25414         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25415         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25416         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25417         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25418         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25419         (gst_fakesrc_loop), (gst_fakesrc_activate),
25420         (gst_fakesrc_change_state):
25421         * gst/elements/gstfakesrc.h:
25422         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25423         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25424         (gst_filesrc_open_file), (gst_filesrc_loop),
25425         (gst_filesrc_activate), (gst_filesrc_change_state),
25426         (filesrc_find_peek), (filesrc_find_suggest),
25427         (gst_filesrc_type_find):
25428         * gst/elements/gstidentity.c: (gst_identity_finalize),
25429         (gst_identity_class_init), (gst_identity_init),
25430         (gst_identity_proxy_getcaps), (identity_queue_push),
25431         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25432         (gst_identity_getrange), (gst_identity_chain),
25433         (gst_identity_sink_loop), (gst_identity_src_loop),
25434         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25435         (gst_identity_set_property), (gst_identity_get_property),
25436         (gst_identity_change_state):
25437         * gst/elements/gstidentity.h:
25438         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25439         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25440         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25441         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25442         (gst_tee_sink_activate):
25443         * gst/elements/gsttee.h:
25444         * gst/gst.c: (gst_register_core_elements), (init_post):
25445         * gst/gst.h:
25446         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25447         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25448         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25449         (gst_bin_change_state):
25450         * gst/gstbin.h:
25451         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25452         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25453         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25454         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25455         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25456         (bus_watch_callback), (bus_watch_destroy),
25457         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25458         (poll_timeout), (gst_bus_poll):
25459         * gst/gstbus.h:
25460         * gst/gstcaps.h:
25461         * gst/gstdata.h:
25462         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25463         (gst_element_post_message), (gst_element_message_full),
25464         (gst_element_get_state_func), (gst_element_get_state),
25465         (gst_element_abort_state), (gst_element_commit_state),
25466         (gst_element_lost_state), (gst_element_set_state),
25467         (gst_element_pads_activate), (gst_element_change_state),
25468         (gst_element_dispose), (gst_element_set_manager_func),
25469         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25470         (gst_element_set_manager), (gst_element_get_manager),
25471         (gst_element_set_bus), (gst_element_get_bus),
25472         (gst_element_set_scheduler), (gst_element_get_scheduler):
25473         * gst/gstelement.h:
25474         * gst/gstevent.c: (gst_event_new_segment_seek),
25475         (gst_event_new_flush):
25476         * gst/gstevent.h:
25477         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25478         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25479         (gst_message_new_eos), (gst_message_new_error),
25480         (gst_message_new_warning), (gst_message_new_tag),
25481         (gst_message_new_state_changed), (gst_message_new_application),
25482         (gst_message_get_structure), (gst_message_parse_tag),
25483         (gst_message_parse_state_changed), (gst_message_parse_error),
25484         (gst_message_parse_warning):
25485         * gst/gstmessage.h:
25486         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25487         (gst_real_pad_set_property), (gst_pad_set_active),
25488         (gst_pad_is_active), (gst_pad_set_blocked_async),
25489         (gst_pad_set_blocked), (gst_pad_is_blocked),
25490         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25491         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25492         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25493         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25494         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25495         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25496         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25497         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25498         (gst_pad_set_caps), (gst_pad_configure_sink),
25499         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25500         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25501         (gst_real_pad_dispose), (gst_real_pad_finalize),
25502         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25503         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25504         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25505         * gst/gstpad.h:
25506         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25507         (pipeline_bus_handler), (gst_pipeline_change_state),
25508         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25509         * gst/gstpipeline.h:
25510         * gst/gstprobe.h:
25511         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25512         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25513         (gst_queue_link_src), (gst_queue_bufferalloc),
25514         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25515         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25516         (gst_queue_loop), (gst_queue_handle_src_event),
25517         (gst_queue_handle_src_query), (gst_queue_src_activate),
25518         (gst_queue_change_state):
25519         * gst/gstqueue.h:
25520         * gst/gstscheduler.c: (gst_scheduler_init),
25521         (gst_scheduler_dispose), (gst_scheduler_create_task),
25522         (gst_scheduler_factory_create):
25523         * gst/gstscheduler.h:
25524         * gst/gststructure.c: (gst_structure_get_type),
25525         (gst_structure_copy_conditional):
25526         * gst/gststructure.h:
25527         * gst/gsttaginterface.h:
25528         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25529         (gst_task_init), (gst_task_dispose), (gst_task_create),
25530         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25531         (gst_task_pause):
25532         * gst/gsttask.h:
25533         * gst/gstthread.c:
25534         * gst/gstthread.h:
25535         * gst/gsttypes.h:
25536         * gst/schedulers/Makefile.am:
25537         * gst/schedulers/cothreads_compat.h:
25538         * gst/schedulers/entryscheduler.c:
25539         * gst/schedulers/faircothreads.c:
25540         * gst/schedulers/faircothreads.h:
25541         * gst/schedulers/fairscheduler.c:
25542         * gst/schedulers/gstbasicscheduler.c:
25543         * gst/schedulers/gstoptimalscheduler.c:
25544         * gst/schedulers/gthread-cothreads.h:
25545         * gst/schedulers/threadscheduler.c:
25546         (gst_thread_scheduler_task_get_type),
25547         (gst_thread_scheduler_task_class_init),
25548         (gst_thread_scheduler_task_init),
25549         (gst_thread_scheduler_task_start),
25550         (gst_thread_scheduler_task_stop),
25551         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25552         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25553         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25554         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25555         (plugin_init):
25556         * libs/gst/Makefile.am:
25557         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25558         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25559         (gst_file_pad_parent_set):
25560         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25561         (gst_dp_event_from_packet):
25562         * tests/complexity.c: (main):
25563         * tests/mass_elements.c: (main):
25564         * testsuite/states/locked.c: (message_received), (main):
25565         * testsuite/states/parent.c: (main):
25566         * tools/gst-inspect.c: (print_element_flag_info),
25567         (print_implementation_info), (print_pad_info):
25568         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25569         (main):
25570         * tools/gst-md5sum.c: (event_loop), (main):
25571         * tools/gst-typefind.c: (main):
25572         * tools/gst-xmlinspect.c: (print_element_info):
25573         Next big merge.
25574         Added GstBus for mainloop integration.
25575         Added GstMessage for sending notifications on the bus.
25576         Added GstTask as an abstraction for pipeline entry points.
25577         Removed GstThread.
25578         Removed Schedulers.
25579         Simplified GstQueue for multithreaded core.
25580         Made _link threadsafe, removed old capsnego.
25581         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25582         Added pad blocking functions.
25583         Reworked scheduling functions in GstPad to prepare for
25584         scheduling updates soon.
25585         Moved events out of data stream.
25586         Simplified GstEvent types.
25587         Added return values to push/pull.
25588         Removed clocking from GstElement.
25589         Added prototypes for state change function for next merge.
25590         Removed iterate from bins and state change management.
25591         Fixed some elements, disabled others for now.
25592         Fixed -inspect and -launch.
25593         Added check for GstBus.
25594
25595 2005-03-10  Wim Taymans  <wim@fluendo.com>
25596
25597         * docs/design/part-MT-refcounting.txt:
25598         * docs/design/part-clocks.txt:
25599         * docs/design/part-gstelement.txt:
25600         * docs/design/part-gstobject.txt:
25601         * docs/design/part-standards.txt:
25602         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25603         (gst_bin_remove_func), (gst_bin_remove):
25604         * gst/gstbin.h:
25605         * gst/gstbuffer.c:
25606         * gst/gstcaps.h:
25607         * testsuite/clock/clock1.c: (main):
25608         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25609         (main):
25610         * testsuite/dlopen/loadgst.c: (do_test):
25611         * testsuite/refcounting/bin.c: (add_remove_test1),
25612         (add_remove_test2), (main):
25613         * testsuite/refcounting/element.c: (main):
25614         * testsuite/refcounting/element_pad.c: (main):
25615         * testsuite/refcounting/pad.c: (main):
25616         * tools/gst-launch.c: (sigint_handler_sighandler):
25617         * tools/gst-typefind.c: (main):
25618         Doc updates.
25619         Added doc about clock.
25620         removed gst_bin_iterate_recurse_up(), marked methods
25621         for removal.
25622         Fix more testsuites.
25623
25624 2005-03-09  Wim Taymans  <wim@fluendo.com>
25625
25626         * gst/gstpad.c: (gst_pad_get_direction),
25627         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25628         (gst_pad_collect_valist):
25629         * testsuite/bins/interface.c: (main):
25630         * testsuite/caps/audioscale.c: (test_caps):
25631         * testsuite/caps/caps.c: (test1), (test2), (test3):
25632         * testsuite/caps/deserialize.c: (main):
25633         * testsuite/caps/enumcaps.c: (main):
25634         * testsuite/caps/filtercaps.c: (main):
25635         * testsuite/caps/intersect2.c: (main):
25636         * testsuite/caps/random.c: (main):
25637         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25638         * testsuite/caps/sets.c: (check_caps):
25639         * testsuite/caps/simplify.c: (check_caps), (main):
25640         * testsuite/caps/subtract.c: (check_caps):
25641         Fix _pad_get_direction wrt ghostpads.
25642         Fix caps testsuite.
25643
25644 2005-03-09  Wim Taymans  <wim@fluendo.com>
25645
25646         * check/Makefile.am:
25647         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25648         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25649         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25650         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25651         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25652         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25653         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25654         (bin_element_is_sink), (gst_bin_iterate_sinks),
25655         (gst_bin_iterate_all_by_interface):
25656         * gst/gstbin.h:
25657         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25658         (gst_element_change_state), (gst_element_dispose),
25659         (gst_element_finalize), (gst_element_set_loop_function):
25660         * gst/gstelement.h:
25661         * gst/gstiterator.c: (find_custom_fold_func):
25662         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25663         (gst_pad_collectv), (gst_pad_collect_valist),
25664         (gst_pad_template_new):
25665         * gst/gstpipeline.c: (gst_pipeline_class_init),
25666         (gst_pipeline_dispose), (gst_pipeline_set_property),
25667         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25668         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25669         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25670         * gst/gstutils.h:
25671         * gst/schedulers/entryscheduler.c:
25672         * gst/schedulers/gstbasicscheduler.c:
25673         (gst_basic_scheduler_cothreaded_chain),
25674         (gst_basic_scheduler_chain_add_element):
25675         * testsuite/bins/interface.c: (main):
25676         Added GstBin test.
25677         Added GstSystemClock test.
25678         Implemented clock distribution code in GstBin.
25679         Implemented iterate sinks method for future use.
25680         Rearranged gstelement.h
25681         Fix GstIterator comparison bug.
25682         Moved some code to GstPipeline, mostly clocking related.
25683
25684 2005-03-09  Wim Taymans  <wim@fluendo.com>
25685
25686         * configure.ac:
25687         * gst/gst_private.h:
25688         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25689         (gst_bin_remove_func), (gst_bin_remove),
25690         (gst_bin_get_by_name_recurse_up):
25691         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25692         (gst_clock_id_compare_func), (gst_clock_id_wait),
25693         (gst_clock_id_wait_async), (gst_clock_init),
25694         (gst_clock_adjust_unlocked), (gst_clock_get_time):
25695         * gst/gstelement.h:
25696         * gst/gstinfo.c: (_gst_debug_init):
25697         * gst/gstobject.h:
25698         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25699         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25700         * gst/gstpad.h:
25701         Bump version number, we're now 0.9.0
25702         Add future debugging category.
25703         Fix NULL _unref() in _get_by_name_recurse_up
25704         Rearrange gstpad.h.
25705         Update some docs.
25706
25707 2005-03-08  Wim Taymans  <wim@fluendo.com>
25708
25709         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25710         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25711         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25712         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25713         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25714         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25715         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25716         * gst/elements/gstidentity.c: (gst_identity_class_init):
25717         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25718         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25719         * gst/elements/gstshaper.c: (gst_shaper_class_init):
25720         * gst/elements/gststatistics.c: (gst_statistics_class_init):
25721         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25722         (gst_tee_link):
25723         * gst/gstelement.c: (gst_element_class_init),
25724         (gst_element_base_class_init), (gst_element_init),
25725         (gst_element_get_random_pad), (gst_element_wait_state_change),
25726         (gst_element_change_state), (gst_element_dispose),
25727         (gst_element_finalize), (gst_element_set_loop_function):
25728         * gst/gstelement.h:
25729         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25730         * gst/gstthread.c: (gst_thread_class_init),
25731         (gst_thread_release_children_locks), (gst_thread_change_state):
25732         * gst/schedulers/gstbasicscheduler.c:
25733         (gst_basic_scheduler_loopfunc_wrapper),
25734         (gst_basic_scheduler_chain_wrapper),
25735         (gst_basic_scheduler_src_wrapper),
25736         (gst_basic_scheduler_remove_element):
25737         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25738         Remove threadsafe properties. Fix elements because GObject
25739         complains when installing a property before declaring a
25740         set/get_property handler.
25741         Rearrange gstelement.h file, use STATE macros for state locks.
25742         Free mutexes in the finalize method instead of dispose.
25743
25744 2005-03-08  Wim Taymans  <wim@fluendo.com>
25745
25746         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25747         * gst/gstthread.c: (gst_thread_release_children_locks):
25748         Added parentage check.
25749         Fix build og GstThread again.
25750
25751 2005-03-08  Wim Taymans  <wim@fluendo.com>
25752
25753         * docs/design/part-MT-refcounting.txt:
25754         * docs/design/part-conventions.txt:
25755         * docs/design/part-gstobject.txt:
25756         * docs/design/part-relations.txt:
25757         * docs/design/part-standards.txt:
25758         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25759         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25760         (gst_bin_get_by_name), (gst_bin_get_by_interface),
25761         (gst_bin_iterate_all_by_interface):
25762         * gst/gstbuffer.h:
25763         * gst/gstclock.h:
25764         * gst/gstelement.c: (gst_element_class_init),
25765         (gst_element_change_state), (gst_element_set_loop_function):
25766         * gst/gstelement.h:
25767         * gst/gstiterator.c:
25768         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25769         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25770         (gst_object_dispatch_properties_changed), (gst_object_set_name),
25771         (gst_object_set_parent), (gst_object_unparent),
25772         (gst_object_check_uniqueness):
25773         * gst/gstobject.h:
25774         Docs updates, clean up some headers.
25775
25776 2005-03-07  Wim Taymans  <wim@fluendo.com>
25777
25778         * check/.cvsignore:
25779         * check/Makefile.am:
25780         * check/gst-libs/.cvsignore:
25781         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25782         * check/gst/.cvsignore:
25783         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25784         (START_TEST), (gstbus_suite), (main):
25785         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25786         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25787         (gst_data_suite), (main):
25788         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25789         (add_fold_func), (gstiterator_suite), (main):
25790         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25791         (thread_name_object), (thread_name_object_default),
25792         (gst_object_name_compare), (gst_object_suite), (main):
25793         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25794         (gst_pad_suite), (main):
25795         * check/gstcheck.c: (gst_check_log_message_func),
25796         (gst_check_log_critical_func), (gst_check_init):
25797         * check/gstcheck.h:
25798         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25799         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25800         Added checks.
25801
25802 2005-03-07  Wim Taymans  <wim@fluendo.com>
25803
25804         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25805         (gst_list_iterator_next), (gst_list_iterator_resync),
25806         (gst_list_iterator_free), (gst_iterator_new_list),
25807         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25808         (gst_iterator_free), (gst_iterator_push), (filter_next),
25809         (filter_resync), (filter_uninit), (filter_free),
25810         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25811         (gst_iterator_foreach), (find_custom_fold_func),
25812         (gst_iterator_find_custom):
25813         * gst/gstiterator.h:
25814         Added missing files.
25815
25816 2005-03-07  Wim Taymans  <wim@fluendo.com>
25817
25818         * Makefile.am:
25819         * configure.ac:
25820         * docs/design/part-MT-refcounting.txt:
25821         * docs/design/part-conventions.txt:
25822         * docs/design/part-gstobject.txt:
25823         * docs/design/part-relations.txt:
25824         * examples/mixer/mixer.c: (main):
25825         * examples/thread/thread.c: (eos), (main):
25826         * gst/Makefile.am:
25827         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25828         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25829         (gst_spider_plug_from_srcpad):
25830         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25831         (gst_spider_identity_change_state),
25832         (gst_spider_identity_sink_loop_type_finding):
25833         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25834         * gst/elements/gstidentity.c: (gst_identity_init):
25835         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25836         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25837         * gst/elements/gsttypefindelement.c: (free_entry):
25838         * gst/gst.c:
25839         * gst/gst.h:
25840         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25841         (gst_bin_set_clock_func), (gst_bin_auto_clock),
25842         (gst_bin_set_index), (gst_bin_set_element_sched),
25843         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25844         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25845         (gst_bin_iterate_elements), (iterate_child_recurse),
25846         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25847         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25848         (compare_interface), (gst_bin_get_by_interface),
25849         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25850         * gst/gstbin.h:
25851         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25852         (gst_buffer_default_free), (gst_buffer_default_copy),
25853         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25854         (gst_buffer_create_sub):
25855         * gst/gstbuffer.h:
25856         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25857         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25858         (gst_caps_unref), (gst_static_caps_get),
25859         (gst_caps_remove_and_get_structure), (gst_caps_append),
25860         (gst_caps_append_structure), (gst_caps_remove_structure),
25861         (gst_caps_copy_nth), (gst_caps_set_simple),
25862         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25863         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25864         (gst_caps_structure_intersect_field), (gst_caps_intersect),
25865         (gst_caps_structure_subtract_field), (gst_caps_subtract),
25866         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25867         (gst_caps_structure_figure_out_union),
25868         (gst_caps_switch_structures), (gst_caps_do_simplify),
25869         (gst_caps_replace), (gst_caps_from_string),
25870         (gst_caps_copy_conditional):
25871         * gst/gstcaps.h:
25872         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25873         (_gst_clock_id_free), (gst_clock_id_unref),
25874         (gst_clock_id_compare_func), (gst_clock_id_wait),
25875         (gst_clock_id_wait_async), (gst_clock_class_init),
25876         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25877         (gst_clock_get_time), (gst_clock_set_time_adjust),
25878         (gst_clock_set_property), (gst_clock_get_property):
25879         * gst/gstclock.h:
25880         * gst/gstcompat.h:
25881         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25882         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25883         * gst/gstdata.h:
25884         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25885         (gst_element_requires_clock), (gst_element_provides_clock),
25886         (gst_element_set_clock), (gst_element_clock_wait),
25887         (gst_element_wait), (gst_element_set_time_delay),
25888         (gst_element_is_indexable), (gst_element_add_pad),
25889         (gst_element_add_ghost_pad), (gst_element_remove_pad),
25890         (pad_compare_name), (gst_element_get_static_pad),
25891         (gst_element_request_pad), (gst_element_get_request_pad),
25892         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25893         (gst_element_class_get_pad_template_list),
25894         (gst_element_class_get_pad_template), (gst_element_error_func),
25895         (gst_element_get_random_pad), (gst_element_get_event_masks),
25896         (gst_element_send_event), (gst_element_seek),
25897         (gst_element_get_query_types), (gst_element_query),
25898         (gst_element_get_formats), (gst_element_convert),
25899         (gst_element_is_locked_state), (gst_element_set_locked_state),
25900         (gst_element_sync_state_with_parent), (gst_element_change_state),
25901         (gst_element_finalize), (gst_element_yield),
25902         (gst_element_interrupt), (gst_element_set_scheduler),
25903         (gst_element_get_scheduler), (gst_element_set_loop_function):
25904         * gst/gstelement.h:
25905         * gst/gstevent.h:
25906         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25907         (gst_format_get_by_nick), (gst_format_get_details),
25908         (gst_format_iterate_definitions):
25909         * gst/gstformat.h:
25910         * gst/gstindex.c: (gst_index_gtype_resolver):
25911         * gst/gstinfo.c:
25912         * gst/gstinfo.h:
25913         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25914         (gst_mem_chunk_free):
25915         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25916         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25917         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25918         (gst_object_dispatch_properties_changed),
25919         (gst_object_set_name_default), (gst_object_set_name),
25920         (gst_object_get_name), (gst_object_set_name_prefix),
25921         (gst_object_get_name_prefix), (gst_object_set_parent),
25922         (gst_object_get_parent), (gst_object_unparent),
25923         (gst_object_check_uniqueness), (gst_object_save_thyself),
25924         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25925         (gst_object_set_property), (gst_object_get_property),
25926         (gst_object_get_path_string):
25927         * gst/gstobject.h:
25928         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25929         (gst_real_pad_init), (gst_real_pad_get_property),
25930         (gst_pad_custom_new), (gst_pad_get_direction),
25931         (gst_pad_set_active), (gst_pad_is_active),
25932         (gst_pad_set_event_function), (gst_pad_is_linked),
25933         (gst_pad_link_free), (gst_pad_link_intersect),
25934         (gst_pad_link_fixate), (gst_pad_set_caps),
25935         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25936         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25937         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25938         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25939         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25940         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25941         (gst_pad_realize), (gst_pad_get_allowed_caps),
25942         (gst_real_pad_dispose), (gst_real_pad_finalize),
25943         (gst_pad_collectv), (gst_pad_collect_valist),
25944         (gst_pad_template_dispose), (gst_pad_template_new),
25945         (gst_pad_get_internal_links):
25946         * gst/gstpad.h:
25947         * gst/gstpipeline.c: (gst_pipeline_dispose),
25948         (gst_pipeline_change_state):
25949         * gst/gstpipeline.h:
25950         * gst/gstplugin.c:
25951         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25952         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25953         * gst/gstpluginfeature.h:
25954         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25955         * gst/gstquery.c: (_gst_query_type_initialize),
25956         (gst_query_type_register), (gst_query_type_get_by_nick),
25957         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25958         * gst/gstquery.h:
25959         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25960         * gst/gstscheduler.c: (gst_scheduler_add_element),
25961         (gst_scheduler_factory_create):
25962         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25963         (gst_structure_free), (gst_structure_set_name),
25964         (gst_structure_id_set_value), (gst_structure_set_value),
25965         (gst_structure_set_valist), (gst_structure_remove_field),
25966         (gst_structure_remove_fields),
25967         (gst_structure_remove_fields_valist),
25968         (gst_structure_remove_all_fields), (gst_structure_foreach),
25969         (gst_structure_map_in_place),
25970         (gst_caps_structure_fixate_field_nearest_int),
25971         (gst_caps_structure_fixate_field_nearest_double):
25972         * gst/gststructure.h:
25973         * gst/gstsystemclock.c: (gst_system_clock_class_init),
25974         (gst_system_clock_init), (gst_system_clock_dispose),
25975         (gst_system_clock_async_thread),
25976         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25977         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25978         * gst/gstsystemclock.h:
25979         * gst/gsttag.c: (gst_tag_list_add_value_internal),
25980         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25981         * gst/gsttaginterface.c:
25982         * gst/gstthread.c: (gst_thread_dispose),
25983         (gst_thread_release_children_locks), (gst_thread_change_state),
25984         (gst_thread_main_loop):
25985         * gst/gsttrashstack.h:
25986         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25987         * gst/gsttypes.h:
25988         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25989         (gst_element_request_pad), (gst_element_get_pad_from_template),
25990         (gst_element_request_compatible_pad),
25991         (gst_element_get_compatible_pad_filtered),
25992         (gst_element_get_compatible_pad), (gst_element_state_get_name),
25993         (gst_element_link_pads_filtered), (gst_element_link_filtered),
25994         (gst_element_link_many), (gst_element_link),
25995         (gst_element_link_pads), (gst_element_unlink_pads),
25996         (gst_element_unlink_many), (gst_element_unlink),
25997         (gst_pad_can_link_filtered), (gst_pad_can_link),
25998         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25999         (gst_object_default_error), (gst_bin_add_many),
26000         (gst_bin_remove_many), (gst_element_populate_std_props),
26001         (gst_element_class_install_std_props), (gst_buffer_merge),
26002         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26003         (link_fold_func), (gst_pad_proxy_setcaps):
26004         * gst/gstutils.h:
26005         * gst/gstvalue.c: (gst_value_deserialize_string):
26006         * gst/parse/grammar.y:
26007         * gst/schedulers/gstbasicscheduler.c:
26008         (gst_basic_scheduler_cothreaded_chain),
26009         (gst_basic_scheduler_chain_recursive_add),
26010         (gst_basic_scheduler_pad_link):
26011         * gst/schedulers/gstoptimalscheduler.c:
26012         (get_group_schedule_function),
26013         (gst_opt_scheduler_state_transition),
26014         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26015         * libs/gst/bytestream/bytestream.c:
26016         * libs/gst/dataprotocol/dataprotocol.c:
26017         (gst_dp_header_from_buffer):
26018         * po/nb.po:
26019         * po/ru.po:
26020         * tests/threadstate/threadstate2.c: (eos):
26021         * tools/gst-compprep.c: (main):
26022         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26023         (print_pad_info), (print_children_info):
26024         * tools/gst-launch.c: (idle_func), (main):
26025         * tools/gst-md5sum.c: (idle_func), (main):
26026         * tools/gst-xmlinspect.c: (print_element_info):
26027         First THREADED backport attempt, focusing on adding locks and
26028         making sure the API is threadsafe. Needs more work. More docs
26029         follow this week.
26030
26031 2005-02-24  Andy Wingo  <wingo@pobox.com>
26032
26033         * tests/bench-complexity.scm:
26034         * tests/complexity.gnuplot: New files, good for running complexity
26035         benchmarks.
26036
26037         * tests/Makefile.am:
26038         * tests/complexity.c: New test, sets up N elements, at each level
26039         teeing into M streams per element. Eeeenteresting.
26040
26041         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26042         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26043         running bench-mass_elements.scm.
26044
26045         * tests/bench-mass_elements.scm: New script, runs mass_elements
26046         for various numbers of identities, outputting the results to a
26047         file. Requires guile 1.6. Just for testing.
26048
26049 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26050
26051         * gst/schedulers/fairscheduler.c:
26052           compile with debug disabled
26053
26054 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26055
26056         * configure.ac:
26057           hunting season on 0.9 is now OPEN